News: 11 March 2016 - Forum Rules

Author Topic: Trying to give "Dark Mode" to Dragon Warrior 3 GBC, but hitting some issues...  (Read 760 times)

Tsukiyomaru0

  • Sr. Member
  • ****
  • Posts: 413
  • I have no regrets!
    • View Profile
Thanks to a streamer who pointed out how harsh on the eyes the game is nowadays, I have found interest in trying to hack this particular game to give it a "dark mode", at least to text boxes and menus... But there are a number of issues I came on:

First and foremost, the fading. I can't figure how to turn the fade to/from white into a fade to/from black. Tracing it is a huge pain, and it always slips between my fingers.

Second... Some areas that used to be black are now white and vice versa. Most jarring cases:



Ideally in the first case it should be obvious what I want, but I probably need to find the specific tile it references to flip the color and achieve this:


The second case on the other hand I seek two different solutions I'll need to test through the game. First is this:

Simply have the white strip in the area where enemies tiles are rendered, so they don't stand out awkwardly. But it might mess up if any enemy leaves to the top, black, strip. Fearing this other possibility I would want the second solution:

Only text boxes becoming "dark mode" in battle.

If anyone knows what to do, wants to help, or is willing to continue from where I currently am, please hit me on PM or in here. For reference, I'm using BGB.

USC

  • Submission Reviewer
  • Sr. Member
  • *****
  • Posts: 347
  • Obviously Outdated
    • View Profile
Regarding the whitespace in the dungeon border, that may not be a specific tile so much as the result of "clearing" the screen.
E.g. Before you draw dialog on the screen, there's usually a function that writes 00 or FF a certain number of times to clear out any old graphics from the prior screen.

Assuming you've flipped the palette to achieve the dark mode effect, you might set a Write breakpoint at the address where the tiles for the dungeon are drawn, and see if there is an initial function that runs as "clean-up".

Tsukiyomaru0

  • Sr. Member
  • ****
  • Posts: 413
  • I have no regrets!
    • View Profile
Still baffles me how that is done and the lack of debugger emulators with rewind features. And now I hit another snag: Need to edit the Enix logo to fix rogue now-black pixels inside the logo behind "Enix Presents", but seems that thing is either compressed... Or hardcoded.

Partially solved the fading... It now fades to/from black proper, BUT there's a white flash that's from LCD being turned off

Found the location of the "Enix Presents" logo around 0FF404. However it's awkwardly compressed, can't correct some points thanks to that.

Aaaand I found out two things:
1. The logo uses Run-Length Encoding. A LOT. I still don't know how to work around this.
2. Run-Length Encoding is also used on the all-black tile that appears outside certain buildings. This one must be simpler to understand.
« Last Edit: February 15, 2021, 10:13:50 pm by Tsukiyomaru0 »