Miscellaneous > Projects

kof98 ratio

<< < (2/4) > >>

I enjoy following your progress, very cool

best regards,
- dink


--- Quote from: dink on September 04, 2021, 12:36:52 PM ---I enjoy following your progress, very cool

--- End quote ---

thank you! hopefully people will find this effort to be informative and maybe it can help others get into the exciting world of romhacking.

now I'm digging into the character IDs and the cursor. as you may or may not know, KOF98 has a whole bunch of alternate versions of characters that are accessed by holding start prior to selecting. on the 3 "orochi" characters, their icon changes when you hold start, but for the other 9 "old versions", their icon does not change. as well, on the AES home version only, the boss character omega rugal is selectable using this method. one of the rules of the game under the 'ratio' system is that omega rugal is banned, so I would like to remove him completely from the game if possible. https://srk.shib.live/w/The_King_of_Fighters_%2798/FAQ

the omega rugal exclusion should be easy, but the more significant challenge I'm facing is that the normal/old versions of characters play differently and at least some are different in the points cost. so I need to see how the game categorizes them and make sure that the respective costs are able to be read.

after a little while I came across this piece of code and it seems to correspond with the ex/orochi characters:

well as I said previously I expected to be able to return to the timer function - this code is actually initialization and not only for timer but also for other things like an aspect of random select. so I chopped out 34 bytes, which I will need for at least one purpose but hopefully I will have room for a second as well.

I'm going to be writing my new code at the end of the file, where they put FF padding to fill up the ROM. there's tons of space there, and I need to have lots of space to write my spaghetti! because I'm jumping a certain distance, basically from about 25% into the ROM to around the last 15%, I need to write out the full address I'm jumping to. so I'll need 6 or 8 bytes for that, and I only had 4 to replace at the injection site of where the player presses a button to select a character. so what I'm doing is putting code in the timer initialization area which will jump to my free code writing area at the end. and I can use 4 bytes to jump from button press to timer initialization area.

if I still have room left over after doing that, I will put the points initialization code in the initialization timer area - it's a perfect fit. I need to call this only once at the beginning of character select to give both players 20 points. so we'll see what happens, I'm playing with vasm now.

This is a really interesting thread!


--- Quote from: Kev on September 06, 2021, 08:16:38 AM ---This is a really interesting thread!

--- End quote ---

thanks for the feedback!

sorry I haven't been posting here lately, got busy with IRL stuff. tonight I finally finished the first "phase" of the mod - the points/cost system is fully functional and working properly.


the next phase, and the one that could potentially take just as long or longer than the actual points/cost system, is hacking the text to display how many points each player has and to draw the cost for the characters at each player's cursor.

I have to say that writing the 68000 ASM code for the points/cost injection was really satisfying. there were a lot of little complications too - like for example, because this cost list does not have a zero cost character, I had to make it so that upon a player's second character pick, they temporarily had to lose 2 points. otherwise, a player could spend all 20 of their points on characters one and two and put the game into a softlock state. it's possible that players will find this frustrating or unintuitive when the game states that they have X points and they're only able to spend X-2 points, but that's the only way I can think about doing it.

also, I have decided to change the labeling of the mod. I would love any feedback on this point. well after finishing my mvc2 ratio mod I thought about what the 'ratio' actually meant and I don't necessarily think it is an appropriate label. the translation of the Chinese title of the points/cost list is
--- Quote ---restricted points system character points table
--- End quote ---
right now I've changed it to POINTS MOD (title) and POINTS SYSTEM (during gameplay), but I'd love to hear any other ideas. alternatives I thought of are 'COST MOD' and 'POINTS BATTLE'.

edit: added the Chinese cost list


[0] Message Index

[#] Next page

[*] Previous page

Go to full version