Phantasy Star II Improvement v4.4 | ReConstruct: Phantasy Star IV v1.2

Started by FlamePurge, May 21, 2012, 03:45:02 PM

Previous topic - Next topic

PresidentLeever

Mini-reviews, retro sound chip tribute, romhacks and general listage at my site: Mini-Revver.

FlamePurge

I thought about it, and you know, I don't see why Phantasy Star IV Proper-caser wouldn't combine with other mods, PresidentLeever! Unlike Phantasy Star II, I haven't changed anything but text in PSIV. Just make sure that when you combine patches, whether you're combining PSII mods or PSIV mods, to fix the ROM with the program FixCheckSum.

Edit - It looks like Sixfortyfive changed some item names in PSIV: Arranged. If you're so inclined to put them in proper case, here's how I'd name them.

BLOODAX > GoreAxe (All axes are spelled "Axe" in PSIV Proper-caser, so this is for consistency.)
SP-SLSH > Spirang <Spiral Boomerang> (There's barely enough room to name it properly...)
ALGOMAP > AlgoMap
ELECBARRIR > VolticShld <Voltic Shield> (It's hard to come up with names and avoid abbreviations.)

He also renamed the STUN-SHOT to the PULSESTUN (I'd call it the PulseStun.) for some reason.
Check out and discuss my projects

lory1990

vivify93, here are a few other things:

- There's a very small chance to run away from boss battles. It's around 1% or less but that depends on how the number generator works. Enemies have, along with
  other properties, a byte which affect the chances of you escaping: the higher the number the higher the chances are to escape. When a random number is
  generated, it compares this number with the value of the escape rate byte. If the number generated is less or equal than the escape rate byte then you can run
  away otherwise you get attacked. Bosses have this escape byte with value 0 so if the random number is 0 the code checks if they are less or equal (in this case only
  the latter applies) so it exits the battle. This is very rare but it counts as a won battle, and this could be a problem for Army Eye: there would be no trigger and you
  are stuck. The fix is simple: we just make it so that it checks only if the number generated is less than the escape value. The side effect is of course that you have
  one chance less to escape the other battles. A workaround would be to increase the escape value by 1, but there are a couple of enemies that have value FF so
  it's not possible to increase it since it's only 1 byte, unless of course you include a check in the code...

- Do you want to remove slow motion? I think you know what it is: it's activated when you hold B or press C when the game is paused. No issue here. Just a design
  choice. Let me know what you wanna do.

- Do you want to remove the checksum test? Well, I'm not going to remove the whole function of testing the checksum, I'm talking about removing the condition
  that makes you end up with a red screen should the checksum be wrong. Again, just a little convenience but nothing serious since fixing it is easy. The emulators
  will still report that the checksum is wrong if the auto-apply-checksum option is turned off, but the game will still work normally.

I'm making a list of other bugs and little annoyances and I found other unused text, although fixing them (especially with only a hex editor) will be hard. In any case
I also thought I would share the info I found out.

tryphon

IIRC, slow-motion disables ennemies encounters.

I'm implementing a proportionnal font (VWF) for PSIII. Maybe I'll be able to port it to PSII. It would allow to use longer names.

I also documented on the wiki how the windows are built (for PSII). I plan to reorganize the menus, then again to use full length names. But it's really boring.

FlamePurge

lory1990 - I don't really mind it if there's a small chance to escape all battles. If there was a chance to remove the 1% from the Army Eye battle and that only, I'd do it just to prevent that error. But I want to keep the chance to escape from the boss at Climatrol. Adding to that, I like the slow motion Easter egg and I don't mind having to fix the checksum of the ROM when I combine patches or update the mod. Thanks for your input, though--keep it coming! :)

Quote from: tryphon on August 08, 2014, 04:37:50 AMIIRC, slow-motion disables ennemies encounters.
Nope, I've gotten into battles in slow-mo mode before.

Quote from: tryphon on August 08, 2014, 04:37:50 AMI'm implementing a proportionnal font (VWF) for PSIII. Maybe I'll be able to port it to PSII. It would allow to use longer names.

I also documented on the wiki how the windows are built (for PSII). I plan to reorganize the menus, then again to use full length names. But it's really boring.
Wouldn't we also need to expand the strings to fit in the menus though? Regarding expansions, to be honest, I'm mostly only interested in expanding the Use / Giv / Tos menu to actually say Give and Toss. I'm not sure how difficult that would be though.
Check out and discuss my projects

lory1990

Quote from: tryphon on August 08, 2014, 04:37:50 AM
IIRC, slow-motion disables ennemies encounters.

I re-read my post and I worded it poorly: when I said slow motion was a design choice I meant whether vivify93 wanted to leave it or not in his hack as it's not an issue per se. My bad.

Slow motion was used mainly for developers to test what would happen each frame. There could be other reasons I'm not aware of... In any case apart from the speed the whole code processing is the same so random encounters are not disabled. The only thing is that the music that was playing before pausing is the same regardless of which map you are in.

Quote from: vivify93 on August 08, 2014, 05:20:42 AM
lory1990 - I don't really mind it if there's a small chance to escape all battles. If there was a chance to remove the 1% from the Army Eye battle and that only, I'd do it just to prevent that error. But I want to keep the chance to escape from the boss at Climatrol. Adding to that, I like the slow motion Easter egg and I don't mind having to fix the checksum of the ROM when I combine patches or update the mod. Thanks for your input, though--keep it coming! :)
Nope, I've gotten into battles in slow-mo mode before.
Wouldn't we also need to expand the strings to fit in the menus though? Regarding expansions, to be honest, I'm mostly only interested in expanding the Use / Giv / Tos menu to actually say Give and Toss. I'm not sure how difficult that would be though.

For the Army Eye battle I would need to add checks in the code... Very hard for just hex editors.

I actually tried to expand the Use/Giv/Tos before and it looks neater. Do you want to see a pic of it? It's not hard in itself, but I (and the same goes for tryphon as well I think) can edit the code like expand and reduce it without problems because of the assembler relocating every pointer through the use of labels. For just a hex editor it's not very easy...

FlamePurge

I'll skip those two changes, then. Thanks for the input.
Check out and discuss my projects

lory1990

Hey vivify93, if you're really interested in expanding the USE/GIV/TOS window, we can use the same workaround as the music freeze fix: basically we create a new, larger window in an empty space in ROM. We just need to change the pointer to this new window. Of course if you're OK with having some bits of data scattered around in the ROM...

FlamePurge

I appreciate the thought, but I'm going to have to decline unless you started working on a patch already. (In which case, I'll use it to not be rude!) I'm not a fan of having extraneous strings throughout game modifications. It's so "hacky." J2e's Final Fantasy IV translation did something similar, and it has four or five different strings for item names throughout the ROM! Urgh.
Check out and discuss my projects

lory1990

No, don't worry. I only work on patches when someone tells me to. I don't like having random data throughout the rom either.

Edit - As I said earlier I'll be posting some miscellaneous findings like bugs, unused text or art, etc.. Some of these are most likely known but I'll mention them anyway, also to confirm what's been found or assumed over all these years.

- Ghost party

   Sak can be used on the caster as well. On the map screen, when he/she uses this technique on himself/herself and all characters are dead, there won't be a game
   over, you can still scroll the screen as usual. When you enter a battle, though, and start fighting, it'll be game over instantly (of course).
   This bug can also occur when you enter any shop or central tower with only Shir alive and she steals an item.

- Anna unused battle sprite

  In the list of the character sprites in battle is also an unused sprite for Anna: it's the animation for guns. Here's a screenshot:

 

- No wall collision

  In Menobe you can walk through a wall on the third floor:



  Once I have a clearer understanding of maps and collision, I should be able to fix the bug without too much trouble.

- Intro screen dams

  After the ending credits you're taken back to the Sega screen. When you are in the title screen and wait until you get to the Motavia intro screen,  some flags don't
  get cleared and you'll see this:

Spoiler


   The dams show as opened but they shouldn't be.
[close]

- There is an used piece of dialogue for the inventor in Kueri:

  "Now, let me see, what can I work on?"

  This was probably meant to be used after
Spoiler
he gives you the gum so that you don't have to hear the initial dialogue since it doesn't make sense
[close]
  This text does get loaded in the code but is immediately overwritten by the initial text. Most likely they wanted to include a check and see if you're done with that
  event but they seem to have stopped halfway through.

- This is well known, but I can confirm this: Luck, Strength and Mental stats don't do anything at all!

- Shift increases attack, agility and dexterity by 20; Shu and Sashu increase defense by 20; Ner and Saner increase agility by 10;

- Trimate, Nares and Nasar heal 10,000 HP (kind of a lot, huh?)

There's more than that, but I'll continue another time since I'm tired

FlamePurge

- Never knew about it 'til now, but I'd like to fix the wall in Menobe very much, so I'd appreciate your findings. :)

- I don't think it'd be easy to fix Sak, but I'd like to if it's possible. If not, I won't mind, since, as far as I know, only Nei and Amy learn it, and it's a little hard to pull off a fully-dead party.

- The dams are another bug I'd kind of like to fix, but it's really not a priority, since it's just cosmetic in a way that's not even a detriment to the game.

- I don't mind that Strength, Mental, and Luck don't do anything, mostly because, unless they're already taken into account in damage formulae or other formulae, we'd have to overhaul how the entire battle engine works just to fix these small oddities. Even if that were the case, it probably wouldn't be easy... I remember the Intelligence Patch for Final Fantasy I; if I recall right, the creator had to do some ASM magic.

- Would it be easy to lower Trimate, Nares, and Nasar's healing to just 999? 10,000 HP is overkill.

I'm not really concerned with Anna's gun sprite or the unused piece of dialogue in Kueri, and the stat-increasing techs are fine as they are.
Check out and discuss my projects

lory1990

For Trimate, Nares and Nasar go to address $239A and $239B and you'll see the values 27 and 10 (basically 10000). Change the two values to 03 and E7 (999) respectively and it's done. This logic is only applied in battle. When used on the map screen it will just take the maximum HP and add it to the current HP (capped to max HP).

You know I was wondering... To have certain bugs fixed, we need to change the ASM code. If you feel like it, I can edit my ASM code to accommodate the changes you made in your hack. Then I can add all the code necessary to fix the bugs and whatnot, and I will create a patch for you to apply to a clean ROM. All pointers will be adjusted accordingly so the game will work just as fine. A couple of things though: I didn't test the whole game (from start to finish) when applying changes like this (adding or removing asm code). It should work fine, but you never know... Also save states that you have for the original game won't work because of all the data being shifted, so a new game must be started. If you feel uneasy, it's OK, I was only suggesting that. So how about it?

Edit - Another thing but this should be obvious: applying other patches will not work due to data being shifted.

FlamePurge

Nah, I think I'm good with just the few bugs we fixed. I'll implement the Trimate / Nares / Nasar tweak and if there's nothing else found today, I'll submit the new release to the RHDN database around 12:00 PM. (It's 7:21 AM as of this post.)
Check out and discuss my projects

lory1990

Here's some other stuff:

- there's some text in the Central Tower section:

Spoiler
"Something is rotten in the state of Mota! Neifirst is dead and the Biohazards have been destroyed... But why was a creature like Neifirst created in the first place? Who is behind all of this?"
[close]

  I have no clue as to who was supposed to have this piece of dialogue. Probably the commander? Or some generic person in one of the towns?

- I was never able to achieve this bug, but I read up on the internet that you can duplicate items. It requires some precise timing and it's kinda complex. Since it's
  very rare and hard to pull off, I'll probably leave this alone since I cannot even do or wanna do it.

- Stats are not capped at 999. Once they go over 999, the hexadecimal value will be displayed, and wrong to boot. For example if you'are at 999 HP and they go up
  5 points, A04 will be displayed.

- There some music bugs I would like to fix, but as of now I don't anything about sound for Genesis/Megadrive or in general. I'll get to that sooner or later thought
  since I wanna have a good understanding of the hardware in general. When A Place of Death (boss battle music) plays, and there's a sound like when you attack,
  some instruments are suppressed; or when you pause the game at Rolf's house, you hear an annoying beeping noise.

More will come later.

FlamePurge

I think that unused line of dialogue is meant to be narration. By the way, Lorenzo, do you think that the reason the healing for Trimates, Nasar, and Nares is so high is because enemies can heal? I know enemy HP can go over 999.
Check out and discuss my projects

tryphon

Quote from: lory1990 on August 09, 2014, 06:54:41 AM
You know I was wondering... To have certain bugs fixed, we need to change the ASM code. If you feel like it, I can edit my ASM code to accommodate the changes you made in your hack. Then I can add all the code necessary to fix the bugs and whatnot, and I will create a patch for you to apply to a clean ROM. All pointers will be adjusted accordingly so the game will work just as fine. A couple of things though: I didn't test the whole game (from start to finish) when applying changes like this (adding or removing asm code). It should work fine, but you never know... Also save states that you have for the original game won't work because of all the data being shifted, so a new game must be started. If you feel uneasy, it's OK, I was only suggesting that. So how about it?

Edit - Another thing but this should be obvious: applying other patches will not work due to data being shifted.

If you place your asm hack to the end of the ROM and make jumps so as you don't shift code bytes, most will work. In particular, savestates (which deal only with RAM and processors states), or cumulating patches (as long as they don't have extra code of course, in case you just have to put your own a little further) will work.

I am interested in this idea, and I have the project to do this with a French retranslation of the game. So if you feel inclined to do it, I can say it won't be lost :)

August 09, 2014, 10:22:24 AM - (Auto Merged - Double Posts are not allowed before 7 days.)

Vivify93 : I've not played your version (not too much time now) but you may be interested by the fact that I'm currently working on the French and English translation of the PS2 remake.

In particular, we had several discussions on the translation of the japanese script. Some of them can be found here : http://pscave.com/forums/viewtopic.php?f=14&t=3175

If you or Lory1990 are interested by an in-depth hack of the Genesis version, I have other private links that may be interesting (send pm).

FlamePurge

I never really intended PSII Improvement to go that far, honestly. I'm pretty content with how it is now. I'm aware of Phantasy Star generation:2's fan translation. I was actually playing generation:1, but I heard you were going to improve it so that it doesn't have the T e r r a n i g m a thing going on with its font, so I decided to take a break.

I think I'll take you up on that PM though.
Check out and discuss my projects

lory1990

Quote from: tryphon on August 09, 2014, 09:59:14 AM
If you place your asm hack to the end of the ROM and make jumps so as you don't shift code bytes, most will work. In particular, savestates (which deal only with RAM and processors states), or cumulating patches (as long as they don't have extra code of course, in case you just have to put your own a little further) will work.

In previous posts vivify93 said he didn't want to do this, that's why I made that suggestion. I try to propose all solutions and workarounds I can think of to get rid of as many bugs as possible. It's all up to the creator of the hack, though.

Quote from: tryphon on August 09, 2014, 09:59:14 AM
If you or Lory1990 are interested by an in-depth hack of the Genesis version, I have other private links that may be interesting (send pm).

I'm interested in the links as well, so send them over.

Quote from: vivify93 on August 09, 2014, 08:44:28 AM
I think that unused line of dialogue is meant to be narration. By the way, Lorenzo, do you think that the reason the healing for Trimates, Nasar, and Nares is so high is because enemies can heal? I know enemy HP can go over 999.

The value 10,000 in this case only applies to the techniques, so there's no problem. One theory I have is that they probably wanted the characters' HP to be much, much higher (even over 999) so that healing value would be a guaranteed full HP recovery. It's a stretch though. If it makes you feel uneasy, you can revert it back to the original value.

FlamePurge

I think I'll leave it be, it'll be full healing either way. I'm going to get v1.2 up right now, I'll edit this post when I receive the notification.

Edit - I didn't get the upload notification yet, but I forgot to change the version number on the RHDN page, as I usually do these days... I'll fix it after I get the notif. :)

Edit - It's up! Gotta fix the version number but otherwise it's fine
Check out and discuss my projects