Author
|
Topic: I'm Very New and need help understanding... (Read 726 times)
|
CrazyNumbskull
Guest
|
|
« on: August 06, 2007, 04:48:29 pm » |
|
Hiya, I'm gonna be honest I'm totally clueless about Hexdecimal, Binaries etc but I'm willing to learn I've been reading about it because I think it's a really cool idea that you can literally edit a games contents. I got an idea in mind, I firstly would like to edit Street Fighter 2 and Alpha and also street racer by adding new characters, tracks and graphics. The problem is I have HexWorkshop and I do not have a clue where I'd start editing the contents, I need to know what all of the Hex Code means... I know your probably thinking why bother but I'd really love to give it a go... But could somebody explain please how I'd know which part of the rom was character details, graphics, text etc and how's I'd go about changing it??
|
|
« Last Edit: August 06, 2007, 04:53:32 pm by CrazyNumbskull »
|
|
|
|
Nightcrawler
Guest
|
|
« Reply #1 on: August 06, 2007, 04:53:55 pm » |
|
How about you look over to your left. See that menu bar. Read it over from top to bottom. You'll find a Getting Started Section. Go there...
|
|
|
|
CrazyNumbskull
Guest
|
|
« Reply #2 on: August 09, 2007, 03:09:29 pm » |
|
Thanks for the sarci bit! :laugh: Well I'm starting to understand it abit, I've read all the documents but it does still seem really complicated to me, I've only been able to change some text in about 3 games, but nothing major at all. i'd like to be able to change quite alot like adding new characters or editing existing characters (i.e Street Fighter games, Street Racer, Mario Kart), adding new levels, race tracks, changing some graphics elsewhere in the game and for RPG's change the story line. I still don't know where to start, I understand to locate the title screen in some SNES games using hexeditor by searching for words such as 'Press Start' etc I can also locate some in game text i.e character names, dialogue or other text i.e menu text etc. But it doesn't always change, like I'd tried changing Hodja's name in Street Racer by Replacing all of the Hodja's with another name but it didn;t change it on the character select screen and stuff. When it comes to graphics ediitng I'm even more clueless, I've downloaded the program Fatality and only been able to recognise some in game graphics on some of the pallette screen but most of the graphics is unbelievably scrambled and makes no sense at all. If anyone can give any help for brain dead dummy dogs who have one brain cell I'd appreciate it regarding TEXT, GRAPHICS and maybe even sound and if someone could suggest some more programs other than the ones on the site that'd be great!
|
|
|
|
RedComet
Guest
|
|
« Reply #3 on: August 09, 2007, 03:20:58 pm » |
|
Read everything on the site, then read it again until you understand it. Romhacking isn't something you pick up from one or two docs over a couple days. It takes time, dedication and a certain amount of stubborn persistence.
|
|
|
|
Shadowtroid
Guest
|
|
« Reply #4 on: August 09, 2007, 03:43:09 pm » |
|
Unless you use certain utilities. Then it's really easy. Drawback: You can't do much with those. Like Metedit. You can't add anything. Only change the existing stuff.
|
|
|
|
CrazyNumbskull
Guest
|
|
« Reply #5 on: August 09, 2007, 04:35:45 pm » |
|
Yeah I've found some utilities for Mario Kart that I've got to learn how to use, so things can be added some how??? But I'm guessing that's really hard... anyway I've tried some silly things like giving Mario rabbit ears on Mario Kart and it showed up on the game but was flickering and wasn't there most of the time, but I understand that's cos I didn't insert the ears in every mario data block, so anyway something works, but I've gotta understand it much more before I can do anything decent! Thanks for everyones help, anything more would be great!
|
|
|
|
Disch
Guest
|
|
« Reply #6 on: August 10, 2007, 11:31:33 am » |
|
Usually, in ROM hacking the primary thing you're doing is editing game data structures. This is especially true for when you're just starting out -- since data structures are usually layed out in a predictable and logical manner in the ROM... they're the easiest thing to start with.
By "data structures" I mean blocks of information that the game engine (ie: the actual code) reads from for the meat of the game. This includes (but isn't limited to) things like stats, text, graphics, levels, and even music. Game specific utilities [usually] simply abstract this process so that it's easier for the user (working in a utility with everything labelled and organized is easier than working in a hex editor where all you see is random numbers -- but really, you're editing the same thing the same way).
Adding new things to the game can get complicated -- since it usually involves expanding on what the engine normally does. Sure you may be able to add a new level to a game by expanding every relevent data structure so that it has information for the new level -- but unless you also make the game access that new level -- it'll just be extra crap in the ROM that never gets accessed.
Space is another issue. Sometimes there simply isn't enough room in the ROM to add more information for a new character or level or whatever. So to do so, you might have to move the info from one area of the ROM to another that has more space (and possibly even making the ROM bigger in the process). Or you can split the info up so that it takes up two seperate areas. Both of these methods, however, will probably involve a bit of changes to the engine. After all -- moving the data doesn't do any good if the code still has the game looking in the old area.
Another (and probably the biggest issue) with adding new stuff is that sometimes it's not always obvious what information is used -- and thus what data structures need to be enlarged/changed. If you want to add a new character to a game... just adding a new set of character stats and graphics probably isn't enough. There may be other areas the game looks to for each character... and unless you put new information in each and every one of those areas -- your new character won't work properly (or at all).
Plus other things creep up... like redrawing appropriate screens. Having 10 racers in Mario Kart doesn't do a lot of good when the character select screen only lets you pick from 8 -- so there's another thing you have to change. And what about when racing? Do you want to have all 10 racers in each race? Maybe there isn't enough processing time for that -- or maybe there aren't enough free sprites or RAM. Etc, etc. Or if you just want to keep 8 racers in the race... which 2 do you discard? How do you have the game choose which 8 to pick and which 2 to leaveout? There's another routine you have to code into the game.
So yeah -- adding new things does tend to get a bit complicated. Until you've got a firm grasp on exactly what you're editing and how it impacts the game -- I would recommend you stick to just looking into how to edit what's already there.
I have always said having previous experience in programming (even brief experience with something like QBasic or something) is a tremendous help in grasping ROM hacking. Not that it's necessary -- even if you have no prior experience you can still learn how to do it. I'm not recommending you go out and learn a programming language -- but if you have in the past, try to draw back the things you learned -- ROM hacking is strikingly similar.
</ramble>
|
|
|
|
CrazyNumbskull
Guest
|
|
« Reply #7 on: August 10, 2007, 03:21:58 pm » |
|
Thanks for that, I don't think I'm cut out 4 this stuff much to be honest I'm finding it very complicated, I've been trying to edit some characters in Mario Kart (SNES) by using Tile Layer Pro I've been editing Donkey Kong, reason being is that I don't think it looks like him at all! I've added a tuft of hair to the head and I'm trying to reshape his eyes so it gives him a more stern look and all! I've also given Mario Rabbit ears lol! Anyway it does seem to show up on screen I'm starting to understand that say for example I use Green for a pallette it doesn't mean it'll be green when its on the game I'm understanding what colours turn into, when in the game! Anyway I'm able to do some small graphics editing so far and some very small and random text, I'm gonna keep trying but I'm gonna sweat over it anymore anyway most of the tiles in the ROM when on graphics are unbelievable scatterd and most of them mean nothing to me at all, like editing a title screen I wouldn't know where to start! Thanks anyway!
|
|
|
|
creaothceann
Guest
|
|
« Reply #8 on: August 10, 2007, 05:07:46 pm » |
|
You should load a palette from the game to get the correct colors.
|
|
|
|
CrazyNumbskull
Guest
|
|
« Reply #9 on: August 12, 2007, 02:38:20 pm » |
|
You should load a palette from the game to get the correct colors.
HIya, I know this sounds INCREDIBLY thick but do you mean load a save state file from say ZnesW or a screen shot file? I've been doing some graphics hacking it was going well but I think I've messed it up a little because I can't seem to get the colours right, I'm probs having deciphering what colour turns into what when on emu, like when I use purple for a Princess Peach crown it just comes out red on the game, alot of the colours aren't matching up. I know light green is Red and white/beige is brown and white is grey/black well for certain charcters on Mario Kart anyway....
|
|
|
|
creaothceann
Guest
|
|
« Reply #10 on: August 12, 2007, 04:34:52 pm » |
|
You can load a palette file into TileLayer Pro.
vSNES (see sig) should be able to convert palettes from savestates into TLP's format. You just need to change the palette format in the options.
|
|
|
|
|
|