Register - Login
Views: 89082001
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
02-25-18 12:42:02 PM

Jul - Game Research/Hacking/Modding - Sanqui Hacks Harvest Moon 3 New poll - New thread - New reply
Next newer thread | Next older thread
Sanqui
1690
🦉
Level: 76


Posts: 1679/1699
EXP: 3828915
For next: 177145

Since: 12-20-09
From: Czechia (NEW!)

Since last post: 1 day
Last activity: 8 hours

Posted on 02-07-18 05:07:41 PM (last edited by Sanqui at 02-07-18 06:16:25 PM) Link | Quote


Just a sort of visual hack log for fun. I like making screenshots when I'm working.

2018-02-05
Working on making the .tbl file


Got the first text table dumped


These strings are sorta ugly


Disassembling the control code... code. You can see a script I quickly made for dumping pointer tables in use.
Full desktop screenshot 1!

It's the character names! Quick hack - negative numbers actually reference RAM (e.g. for the player or partner names).


Figuring out all the text tables is a pain in the ass. I've had to rewrite this table since I discovered these are all metatables.


2018-02-06

Are you a brgil?


Apparently I'm horrible at choosing commit messages.


The text in this game is soooo cheeeesy....


Oh hey it's a bit of unreferenced, unterminated text! Gotta remember to put it on TCRF later.


Now my screen makes me look like a real hacker. You can see me using vbindiff in the bottom right corner to see where I messed up when trying to replicate the original ROM.
Full desktop screenshot 2!

And here we go, the first text replacement (read from a CSV) is a success!


Wikipedia claims the game came out in two, separate versions in Japanese for each gender, but the gender selection is there anyway, so I'm really confused. Can anybody enlighten this?


2018-02-07
The new font is in! As you can see, a lot of the menus don't actually use the font, instead having baked in tiles...


When labelling, I need to read the code, determine what's useful for me, and turn all the "Call_29fd" stuff into pretty labels like "DialogueNextChar".


And basic VWF for dialogue boxes is implemented! It wasn't too difficult. I mostly reused my old code.


Successfully reinserted the original text with new formatting. This will still need some work though. If you're wondering what happens if the player's name is longer than A... yeah.


---

The repo lives at https://github.com/Sanqui/hm3.

Feel free to ask questions. Otherwise I'll just keep on posting screenshots I find interesting.
a tiny fairy

Level: 10


Posts: 52/71
EXP: 3777
For next: 637

Since: 01-16-18


Since last post: 2 days
Last activity: 7 hours

Posted on 02-07-18 05:37:31 PM Link | Quote
Whenever I see something like the word "seeds" repeated over and over in item names, especially next to abbreviations like "W.Melon", I think back to how hard it is to read early Final Fantasy item lists in Japanese
(the English version made icons using the extra space for characters so stuff like "Blood sword" could be "🗡BLOOD")
Sanqui
1690
🦉
Level: 76


Posts: 1680/1699
EXP: 3828915
For next: 177145

Since: 12-20-09
From: Czechia (NEW!)

Since last post: 1 day
Last activity: 8 hours

Posted on 02-08-18 05:30:42 PM (last edited by Sanqui at 02-08-18 05:31:18 PM) Link | Quote
2018-02-08
Lotsa work today! But most of it was spent wrestling the text storage to enable relocation and reinserting of longer strings. This code is a nightmare now...


Wrong, wrong, wrong!


Whoops!


Now the names are VWF and longer, too! And I finally fixed a long-standing oversight in my VWF making it use an extra tile sometimes.


I wanted to document the unused strings (there aren't many) on TCRF but of course the day I want to add something to TCRF, it's down. I read the page though and thought I'd try out the debug menu.



There are apparently "movies" in this game and the debug menu lets you see the slides!



Oh no...



Actually this is a super impressive scene editor which lets you place sprites!


That's it for today!
Sanqui
1690
🦉
Level: 76


Posts: 1681/1699
EXP: 3828915
For next: 177145

Since: 12-20-09
From: Czechia (NEW!)

Since last post: 1 day
Last activity: 8 hours

Posted on 02-09-18 01:51:37 PM Link | Quote
2018-02-09

Today, I set off to do menus. And menus I did!

It's beautiful!


And the definitions are so clean.


All the screens went by quickly.


...except for the naming screen. Had to disassemble a bunch of code too, since I wanted to add new characters and lengthen the names.


Holes and targets, oh my. My terminology is awful sometimes.


But here we are, eight character names just by changing a NAME_LENGTH variable!


It's all there!
Sanqui
1690
🦉
Level: 76


Posts: 1686/1699
EXP: 3828915
For next: 177145

Since: 12-20-09
From: Czechia (NEW!)

Since last post: 1 day
Last activity: 8 hours

Posted on 02-12-18 09:30:55 AM (last edited by Sanqui at 02-12-18 10:45:41 AM) Link | Quote
2018-02-10

According to git I touched up some of the menus. Booring.

2018-02-11

Well this won't do. And look at those tiles wasted just for a few pixels! I shall widen the menu by one tile but not two, so I'll shrink the text graphics by hand.


A bit of Gimp work and here we are! Perfect!


Oh and I also replaced the Press Start! graphics. This was actually a bigger pain than I had expected. The graphics are compressed - I'm not going to bother writing a (de)compressor so I figured I'd just overwrite them while the title screen is loading. But I couldn't find a single entry point, everything was called every frame. So I ended up writing a hack for the decompression routine which lets me "redirect" any compressed graphics I want.


The list of replacement graphics in question. Only one entry so far, but it should come in handy in the future.
Next newer thread | Next older thread
Jul - Game Research/Hacking/Modding - Sanqui Hacks Harvest Moon 3 New poll - New thread - New reply




Rusted Logic

Acmlmboard - commit 25b5dc1 [2018-02-01]
©2000-2018 Acmlm, Xkeeper, Inuyasha, et al.

28 database queries.
Query execution time: 0.154374 seconds
Script execution time: 0.068312 seconds
Total render time: 0.222686 seconds