News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: obscurumlux01's addendum patches for Dragoon X Omega 1 & 2  (Read 786 times)

Sliver X

  • Hero Member
  • *****
  • Posts: 1037
  • EX•CINERIBVS•IGNIS•EXCITABITVR
    • View Profile
    • Panicus - A Fragment of Memory
obscurumlux01's addendum patches for Dragoon X Omega 1 & 2
« on: September 24, 2015, 01:10:21 pm »
I just noticed these patches on the front page and was somewhat surprised somebody bothered to do them.

I tried playing through both of the originals not too long ago and was frustratingly pissed off at how much grinding they involve, so I'll definitely be trying the addendum patches soon.

My big concern is in regards to how much you went through DXOII after modifying it in FFHackster, as there are two significant problems that can arise editing the game in that editor.

Some of what it considers "KAB" (Known Available Bytes) aren't actually available, and this isn't a problem typically, but we pushed the map data's total size so much that any additional changes to it that would increase the total map data size would start overwriting areas of the gear/player statistical tables since Hackster thought it was writing to free space.

The major one was also due to the size of the map data and a bug in the way FFH handles RLE compression. If map recompression is triggered at any point in the editor you'll run into a problem where entering a door/town/dungeon will hard lock the game (A black screen of silence). This is due to the RLE length specified in decoding the level data being oversized by one byte.

Any change to the map towards the end of the project, whether this increased or decreased total KAB (Hell, sometimes even just opening the map editor and looking at something), would require me to go through every exit in the game sequentially to trigger the crash, note what value was stored in the X register at the time then tracing where it loaded that value in ROM (It was always the last byte in the map data of the level being loaded) and subtracting 1 to fix it.
« Last Edit: September 24, 2015, 01:24:41 pm by Sliver X »