Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
1 user currently in Rom Hacking: |
Acmlm's Board - I2 Archive - Rom Hacking - Proposing universal byte-data editor; DRDHack | | | |
Pages: 1 2 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
Matrixz Goomba Level: 8 Posts: 12/20 EXP: 2186 For next: 1 Since: 03-15-04 From: Norway Since last post: 12 hours Last activity: 7 hours |
| ||
I was working on MegaFLE X, planning to implement editing of miscanneleous data in Megaman 5 that has nothing with level-specific data to do. But instead of having TONS of textboxes for each byte data, i wanted a TreeView box where the user would choose what data to edit, then edit it in one single textbox. I thought the idea was good, and it would use a database file containing the offsets i needed and other info. Then i came to the idea that if i made it a seperate program, the user would be able to edit any rom this way, if there were an offset database aviable for the rom that was compitable the program. Well, the result is DRDXML and DRDHack. DRDXML is the database format used, which is XML-based. Quoted from the DRDXML documentation: "DRDXML is an XML-based format for structuring a database of data offsets in a ROM. (hence Data Reference Database=DRD). Information includes a pointer, description, a choice of a set of interface types data should be edited in, and other optional information." DRDHack is a simple program that loads a rom, a DRDXML file for it, and you get a nice overview of documented offsets in the database, and directly editable. So the point of this is really to create a universal editor (but limited to hexidecimal smal-scale data), where anyone could contribute. Current version is downloadable here: http://elazulspad.net/matrixz/drdhack.zip The pack includes DRDHack, the VB6 source code to DRDHack, a detailed documentation of the DRDXML file format, and a sample XML for Megaman 5. The Megaman 5 sample is an early progress. I want to improve DRDHack also, for more types of rom editing, and maybe eventually editing of DRDXML files. But the file format will always be backwards-compitable, so feel free to start creating db's |
|||
Cat Lover Level: 11 Posts: 39/50 EXP: 4928 For next: 1057 Since: 04-22-05 Since last post: 2 days Last activity: 2 days |
| ||
Good work! | |||
Kyoufu Kawa I'm not bad. I'm just drawn that way. Level: 70 Posts: 2367/2481 EXP: 3008456 For next: 7355 Since: 03-19-04 From: Catgirl Central Since last post: 14 hours Last activity: 13 hours |
| ||
A bit like Nightmare then, but better. I like it already. | |||
Smallhacker Green Birdo SMW Hacking Moderator Level: 68 Posts: 2158/2273 EXP: 2647223 For next: 81577 Since: 03-15-04 From: Söderhamn, Sweden Since last post: 10 hours Last activity: 9 hours |
| ||
Must... make... an... SMW... database... | |||
Matrixz Goomba Level: 8 Posts: 13/20 EXP: 2186 For next: 1 Since: 03-15-04 From: Norway Since last post: 12 hours Last activity: 7 hours |
| ||
Haha, so there's already made something like this. Strange, i completely missed that, but i found the thread about Nightmare. Its module system with txt files seems a lot more simplier. Oh well, i will keep working on DRDHack towards the ideas i have for it. | |||
Kyoufu Kawa I'm not bad. I'm just drawn that way. Level: 70 Posts: 2372/2481 EXP: 3008456 For next: 7355 Since: 03-19-04 From: Catgirl Central Since last post: 14 hours Last activity: 13 hours |
| ||
Nightmare's interface loses to DRDHack. Unfortunately, with great interfaces comes great file formats. (edited by Kawa-oneechan on 10-08-05 08:37 PM) |
|||
AnyoneEB Level: 3 Posts: 1/5 EXP: 55 For next: 73 Since: 10-09-05 Since last post: 9 days Last activity: 7 hours |
| ||
Cool idea. Anything that helps non-programmers make editors sounds good to me. Actually, this looks a bit different from Nightmare. Nightmare is for editing tables, this is for editing miscellaneous bytes around a ROM. I guess you could tell Nightmare that you have a single entry and get the same functionality, but I like the idea of using an XML file to allow putting everything into one file. Perhaps you could add a Also, type requests: 1. Binary flags like the "ownership" byte in EarthBound's items table (http://pkhack.fobby.net/misc/txt/items_table.txt). (I believe that is a feature request for Nightmare.) You would have to specify the meaning of each bit. 2. Being able to edit a string by specifying in the XML that it is ASCII+something text would be nice. I probably will not be doing any coding for another few months, but when I have time I plan to implement Nightmare in Java. Maybe I will look into implementing DRDHack, too. Or maybe just whichever one is still around. |
|||
Jigglysaint Red Cheep-cheep Level: 24 Posts: 207/215 EXP: 76907 For next: 1218 Since: 03-17-04 Since last post: 7 days Last activity: 3 days |
| ||
Looks pretty sweet. What might be neat is if it's possible to implement graphical representation for certain bytes. For example, say I have a game where 1 byte is one tile. I want to be able to see those tiles in the rom and edit them as is. Perhaps it just might meaning that you need to rip the tiles and store them in the file, but that's better than nothing at all. Also, instant pointer calulations. I'd like something that could decompress, but that's really beyond this type of editor. | |||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 7561/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
Hm... a full-blown game editor that uses XML and some sort of Javascript-like language to edit anything in any game (use XML to give it data locations/formats and script to do math and such). I wonder... | |||
Matrixz Goomba Level: 8 Posts: 14/20 EXP: 2186 For next: 1 Since: 03-15-04 From: Norway Since last post: 12 hours Last activity: 7 hours |
| ||
Originally posted by AnyoneEB As it stands, data types can be an array where user choose the index (and each index can have a relative offset to the main one), so it works like a table. I recently improved it so each index can each have a name/label displayed in a textbox too. But your idea (if i got it right) is a good alternative, so i will support that. Originally posted by AnyoneEB Great idea. Ill make it as an addition to the byte types, so you can have either bits, byte, or both. Originally posted by AnyoneEB Planning on it. Maybe ill just make .tbl files includable for this purpose Originally posted by Jigglysaint Or it could use pointers in the XML to specify where in the rom the CHR is, and what type it is (nes, gb, snes..). Hm, shouldnt be too hard to do, but ill stick to NES first. Originally posted by Jigglysaint You mean, instead of having static pointers in the XML, read and calculate pointers from the rom? Im gonna have to implement that. Decompression.. not sure how that would be useful for what this thing does. |
|||
DahrkDaiz Red Super Koopa Acmlm's Mosts 2005 Best ROM Hacker Level: 45 Posts: 851/885 EXP: 643520 For next: 16644 Since: 03-15-04 From: K-Town Since last post: 4 hours Last activity: 4 hours |
| ||
A bit of a bump but I wanted to express my endorsement for this thing. I've started to create a database for Super Mario Bros. 3 using this program, so I'm now relying on you Matrixz to update this thing regularly! This would be a perfect answer for me to release my knowledge of SMB3 without having to write long explanations or write it in neat notes (plus makes it a lot easier for people to use the knowledge). | |||
drjayphd Beamos What's that spell? pimp! Level: 56 Posts: 1430/1477 EXP: 1387410 For next: 10766 Since: 03-15-04 From: CT Since last post: 2 hours Last activity: 2 hours |
| ||
(services Matrixz) I might do a database for Wheel of Fortune, if I can figure out how to handle the puzzles. I know their format, it's just a matter of how to translate it into something you can edit intuitively. |
|||
Matrixz Goomba Level: 8 Posts: 15/20 EXP: 2186 For next: 1 Since: 03-15-04 From: Norway Since last post: 12 hours Last activity: 7 hours |
| ||
Great, good that this is catching on. It motivates me to keep active updates on this project. http://elazulspad.net/matrixz/drd/drd.htm That place is where i will keep all latest updates on DRDHack and my own database files. I updated the specifications for DRDXML files, (which is also aviable there). I hope to release a new version of DRDHack today to support the changes. Here's a little preview: Yep, palette support |
|||
Smallhacker Green Birdo SMW Hacking Moderator Level: 68 Posts: 2187/2273 EXP: 2647223 For next: 81577 Since: 03-15-04 From: Söderhamn, Sweden Since last post: 10 hours Last activity: 9 hours |
| ||
Please tell me that there will be SNES palette support too. | |||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 7697/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
That'd be easy if the program allows for variable-bit-length fields. SNES colours are just 5 bits of each colour and one left over. | |||
DahrkDaiz Red Super Koopa Acmlm's Mosts 2005 Best ROM Hacker Level: 45 Posts: 857/885 EXP: 643520 For next: 16644 Since: 03-15-04 From: K-Town Since last post: 4 hours Last activity: 4 hours |
| ||
It's about time that good ideas and programs get attention, this, this sucker is going to get stickied for a while. | |||
dan Snap Dragon Level: 43 Posts: 763/782 EXP: 534516 For next: 30530 Since: 03-15-04 Since last post: 20 hours Last activity: 14 hours |
| ||
Does DRDHack have support for signed data types? | |||
Matrixz Goomba Level: 8 Posts: 16/20 EXP: 2186 For next: 1 Since: 03-15-04 From: Norway Since last post: 12 hours Last activity: 7 hours |
| ||
Originally posted by dan No.. but does NES games ever use signed bytes, though? I guess SNES games uses signed integers commonly. I will support 16-bit integers anyway, and decimal bytes and integers. SNES (and GBC) palettes will be no problem Im familiar with those. Hm.. variable-length-bit fields.. i think thats a good idea. Now to just think up how to organize support for all those combinations of byte and integer data :p Btw, that new version of DRDHack is now aviable. |
|||
dan Snap Dragon Level: 43 Posts: 767/782 EXP: 534516 For next: 30530 Since: 03-15-04 Since last post: 20 hours Last activity: 14 hours |
| ||
Super Mario Bros uses signed bytes for things like running left, jumping, etc. | |||
Imzogelmo Blue Octorok Level: 11 Posts: 41/41 EXP: 5292 For next: 693 Since: 09-22-04 From: (Longview) Starkville, MS, USA Since last post: 15 days Last activity: 1 day |
| ||
I like the relative pointer capability, but is there a way (or are you planning a way) to edit 2x2 arrays of data? Basically I'm picturing relative pointers that work like (TableStart+Length*Index+FieldOffset). I'm thinking that there is a way, but I don't see it yet. |
Pages: 1 2 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Rom Hacking - Proposing universal byte-data editor; DRDHack | | | |