| |||
Views: 88,490,885 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 04-27-24 03:33 AM |
|
Guest: Register | Login |
0 users currently in ROM Hacking | 1 guest | 4 bots |
Main - ROM Hacking - Introducing Kid Icarus Level Editing | New thread | New reply |
DahrkDaiz |
| ||
Nipper Plant Sandwich Artist Level: 46 Posts: 20/417 EXP: 674489 Next: 37285 Since: 02-22-07 Last post: 3487 days Last view: 3407 days |
Editing of 1-1, 1-2, 1-3, 2-1, 2-2, and 2-3 are supported. Save supported. I'm not making a release yet, but any suggestions would help. I would this to be a development thread until the first major release. |
Xkeeper |
| ||
Level: 105 Posts: 1161/2846 EXP: 12028906 Next: 233354 Since: 02-19-07 Last post: 6060 days Last view: 2798 days |
Assuming this works anything like LA (objects with lengths), colored boxes to denote the object type would be grand.
That, and a 2x zoom mode ____________________ I dealt with it. |
DahrkDaiz |
| ||
Nipper Plant Sandwich Artist Level: 46 Posts: 21/417 EXP: 674489 Next: 37285 Since: 02-22-07 Last post: 3487 days Last view: 3407 days |
Unfortunately, the objects don't work based on length. Zoom 2X? you got it.
I studed MetEdit a bit to see how snowbro did his editor, but I don't like his GUI very much at all. |
Darkdata |
| ||
Mole Level: 43 Posts: 137/366 EXP: 554748 Next: 10298 Since: 02-19-07 From: Last post: 6126 days Last view: 6124 days |
Right click.. if it's not being used for anything, to copy a tile...
Also, a undo command would be heaven, too many editors do not have one. ____________________ |
RT-55J |
| ||
Armor Guardian Level: 81 Posts: 28/1562 EXP: 4889471 Next: 103378 Since: 02-23-07 From: Wild Side Arcade Last post: 314 days Last view: 55 days |
Posted by Darkdata Kid Icarus does not have a tile based level format. |
Googie |
| ||
Giant Red Paratroopa Level: 77 Posts: 31/1407 EXP: 4181328 Next: 9801 Since: 02-19-07 From: Brooklyn, NY Last post: 9 days Last view: 9 days |
Another game I gotta put on my hacking list, the editor looks nice so far DahrkDaiz. Kid Icarus was one of my favorite games back in the 80's. ____________________ My Linktree |
DahrkDaiz |
| ||
Nipper Plant Sandwich Artist Level: 46 Posts: 22/417 EXP: 674489 Next: 37285 Since: 02-22-07 Last post: 3487 days Last view: 3407 days |
Current Update:
Can now display all non-dungeon levels (cept the very last one). Added support of object deletion, created a right click menu, bringing an object to the top of all other items. Keyboard controls are in place, still working out a few of the mouse controls. |
Raccoon Sam |
| ||
Cobrat Level: 56 Posts: 118/672 EXP: 1380102 Next: 18074 Since: 02-19-07 From: Hi Last post: 3468 days Last view: 2699 days |
Does it load the tile graphics from the ROM or are they just ordinary PNGs in the source? ____________________ |
DahrkDaiz |
| ||
Nipper Plant Sandwich Artist Level: 46 Posts: 23/417 EXP: 674489 Next: 37285 Since: 02-22-07 Last post: 3487 days Last view: 3407 days |
Graphics are loaded from the rom. I've added scroll bars to the editing area and display t he curret palette at the top. I should have a relesable beta by the end of the week. |
Raccoon Sam |
| ||
Cobrat Level: 56 Posts: 120/672 EXP: 1380102 Next: 18074 Since: 02-19-07 From: Hi Last post: 3468 days Last view: 2699 days |
[quote="DahrkDaiz" id="23635Graphics are loaded from the rom. I've added scroll bars to the editing area and display t he curret palette at the top. I should have a relesable beta by the end of the week. Awesome! What's it made with, by the way? VB6 or C++ or such? ____________________ |
DahrkDaiz |
| ||
Nipper Plant Sandwich Artist Level: 46 Posts: 24/417 EXP: 674489 Next: 37285 Since: 02-22-07 Last post: 3487 days Last view: 3407 days |
being made with C/C++ and Window's API.
Another update! Now you can change a level's tile palette on the fly! Right click the appropriate square and the palette menu will appear. No seperate palette edting dialogs here |
Ice Ranger |
| ||
Newcomer Level: 8 Posts: 3/8 EXP: 1792 Next: 395 Since: 02-21-07 Last post: 6110 days Last view: 5542 days |
I'm starting to get interested in seeing what the first release is going to look like. I have no idea how the objects work in this game. It looks like it's tile based, but I'd think something more similar to Metroid or Super Mario Bros. 1.
I'm one of the people that never used the old editor for DOS. Any major ASM hack plans for this game... or at least changing the point values needed for the gods' rooms? Figuring out what you needed for those had to be the biggest pain, never figured out what was required for the first god's room in 1-1. |
Raccoon Sam |
| ||
Cobrat Level: 56 Posts: 128/672 EXP: 1380102 Next: 18074 Since: 02-19-07 From: Hi Last post: 3468 days Last view: 2699 days |
Posted by DahrkDaiz C++, alright! Are you planning on releasing the source code for everyone to use or as an exclusive for Linux/OS X porters? If, you're going to release it, at all, of course. ____________________ |
DahrkDaiz |
| ||
Nipper Plant Sandwich Artist Level: 46 Posts: 25/417 EXP: 674489 Next: 37285 Since: 02-22-07 Last post: 3487 days Last view: 3407 days |
Of course I'm gonna release it. Source and all
More Screen goodness |
Googie |
| ||
Giant Red Paratroopa Level: 77 Posts: 33/1407 EXP: 4181328 Next: 9801 Since: 02-19-07 From: Brooklyn, NY Last post: 9 days Last view: 9 days |
I love the progress DahrkDaiz, now it's official, I'm gonna hack this game when the editor's released.
Somma the levels are already in my head. ____________________ My Linktree |
DahrkDaiz |
| ||
Nipper Plant Sandwich Artist Level: 46 Posts: 26/417 EXP: 674489 Next: 37285 Since: 02-22-07 Last post: 3487 days Last view: 3407 days |
Well I'm having a really difficult time making heads of tails of this enemy data. If anybody wants to take a stab at it, be my guest!
0x1A691: This value affects the snakes on the first screen of the first level. Changing it to 01 changes the enemies into monsters the rise out of the ground. Other than that, I can't figure out what the other values do, how to change it to something else (like the flying eyeballs). |
RT-55J |
| ||
Armor Guardian Level: 81 Posts: 29/1562 EXP: 4889471 Next: 103378 Since: 02-23-07 From: Wild Side Arcade Last post: 314 days Last view: 55 days |
Are you sure that the enemy data is not right after the object data like Metroid or am I underestimating your intelligence? |
DahrkDaiz |
| ||
Nipper Plant Sandwich Artist Level: 46 Posts: 27/417 EXP: 674489 Next: 37285 Since: 02-22-07 Last post: 3487 days Last view: 3407 days |
It's not right after it, screens are placed side by side after each other, linearly. The enemy data is located elsewhere. |
NetSplit |
| ||
Level: 32 Posts: 3/178 EXP: 188042 Next: 18400 Since: 02-26-07 Last post: 2218 days Last view: 2143 days |
Posted by RT-55J Enemy data is stored independantly of screen data to give the game more variety. If they were stored together, the game would probably seem a hell of a lot more repetetive. It's sort of interesting, though; it's been a long while since I've messed with Kid Icarus (most of what I found is probably useless to DD by now, unfortunately), but if I recall correctly, the level format still actually has the enemy data format from Metroid incorporated into it. I'm in a bit of a rush now and can't check for sure, but I recall it terminating screens with FDFF or something of that sort. In Metroid, the object section would be terminated with one byte (signalling the enemy/door data section) and then the entire screen with another byte. Here both bytes are placed next to each other, so no screen (as far as I know) winds up using the space between them. This makes the extra byte unnnecessary, and a small change to the code could allow for more object space by removing that one unnecessary byte from each screen. (Efficiency is key, in my opinion. You can sometimes add levels and other such things in games by shuffling data between different banks, which I'm a huge fan of. ) Kid Icarus is definitely a favorite of mine. If/when I finish up my current hacks, I might tackle Kid Icarus, as there are a number of cool assembly hacks I'm very interested in doing. As for the enemy data, I'll check it out within the next few days. Maybe I'll be able to figure it out. *shrugs* |
NetSplit |
| ||
Level: 32 Posts: 4/178 EXP: 188042 Next: 18400 Since: 02-26-07 Last post: 2218 days Last view: 2143 days |
[Note that all my ROM addresses are for the standard headered ROM]
Wow, that enemy format is indeed confusing. What all do you know about it? So far, I know that there are 4 sets of data in that area, each about #$2F bytes long, and each set is preceeded by 3 pointers (all of this data is loaded into the area around $7D00 in RAM). That stuff starts at 1A620. Despite following the code that deals with this, I'm still pretty confused, but then again I didn't spend very much time on it last night. It multiplies those values in that area by 8 and checks to see if it equals 2 special values. If it does, it does one of two special things, and if it doesn't, then it does the standard stuff. It winds up putting the sprite data in the $0700 range; the snakes, for example, go into 07C9, 07D9, 07C1, and 07D1 slots (the flying eyeball things wind up going elsewhere in that area). It looks like each winds up taking up 6 bytes of RAM in that area. 10 signifies that a snake exists but is dead, 11 is a live snake, and 12 is a collectible heart. I'm sure you can figure out the rest of the stuff in this particular area, as it should be simple enough. One interesting thing I did find is that the door stuff starts around $1A540 in the ROM. Looks like it starts with 3 pointers that point to door pointers in the following table (the table goes from 1A540 to the beginning of the first set of the enemy data (?) stuff that I already talked about, at 1A620). I think the door pointers basically tell the game where in the level data to drop you off. It'll keep loading the rest of the level as usual, but the object data of the screen you start on after leaving a door is defined by these pointers. Again, I didn't spend very much time on this, so I don't know too much about it. I will conjecture, though, that the fact that there are 3 pointers preceeding all of this data is likely due to the fact that there are 3 sections in each world, plus the maze section (which is done entirely differently, so it makes sense that there would be no pointer for it). If I find out anything more, I'll post it, but as it is now the weekend, I intend to spend it playing poker, LAN StarCraft, and maybe even (god forbid) doing problem sets. Hope this helps. |
Main - ROM Hacking - Introducing Kid Icarus Level Editing | New thread | New reply |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 107, rows: 147/147, time: 0.018 seconds. |