Sonic and Sega Retro Message Board: Best means to go about structuring data when making a hacking utility? - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
Page 1 of 1
    Locked Forum

Best means to go about structuring data when making a hacking utility? Another one of my dumbassed questions.

#1 User is offline Travelsonic 

Posted 01 February 2019 - 01:17 PM

  • Posts: 725
  • Joined: 01-March 05
For a while I have been reverse engineering (or rather, trying to anyways) Konami's DDR series. I feel like I have enough information where I can make a multipurpose utility (think equivalent to what GerbilSoft's Sonic Hacking Wiz Pro, or Esrael's ESE/ESEII was for Sonic games in the early-mid 2000s ... *nostalgic sigh* ... only for the Playstation2 DDR mixes).

One thing that I am struggling with is the best way to handle/manage the data for different games, as this utility will support multiple games starting with support for Playstation2 games. My problem comes specifically with managing the different places where the editor will look for data to edit within different parts of the program (coordinates for object positioning, color palettes for songwheel slot text on the music select screen, etc), Playstation2 games pre-SuperNOVA using largely the same engine only with data in different addresses (and features being added and / or removed in different mixes - beginner mode added to the U.S version of MAX2, Marvelous timing added in EXTREME, etc), SuperNOVA seeming to use a newer version of the engine. Also, EVENTUALLY (as my research continues) I would like to add support for Playstation1 mixes, and older arcade mixes (bemani system573 games)

I feel overwhelmed, and I probably shouldn't be. ~_~
This post has been edited by Travelsonic: 01 February 2019 - 01:26 PM

#2 User is offline van0014 

Posted 24 March 2019 - 04:43 AM

  • Posts: 3
  • Joined: 19-March 19
The first thought that comes to mind is using an array of addresses for each game. The array index would be used to select an address, independently of the data type. That means having one array per game, and choosing between arrays when the game is changed. A 2D array could be used for keeping information on the expected data length, or for other handy reasons.

What IDE will you use?
This post has been edited by van0014: 24 March 2019 - 04:43 AM

#3 User is offline Billy 

Posted 24 March 2019 - 12:16 PM

  • RIP Oderus Urungus
  • Posts: 1818
  • Joined: 24-June 05
  • Gender:Male
  • Location:Colorado, USA
  • - Give it a visit and tell me what you think!
  • Wiki edits:15
Assuming you're writing this in an object oriented language, I would suggest using a bridge design pattern, so as to swap out implementation for each game you support.

Page 1 of 1
    Locked Forum

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users