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 - Mario 64 - Amazing Stuff | | | |
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
DJ Bouche Level: 11 Posts: 34/35 EXP: 5060 For next: 925 Since: 03-15-04 From: Bligh Park, NSW, Australia Since last post: 108 days Last activity: 14 days |
| ||
Wouldn't repointing the actual MIO0 files themselves be a better idea? Or am I underestimating N64 pointers? :x | |||
The Kins Kodondo Level: 38 Posts: 539/595 EXP: 354733 For next: 15714 Since: 03-15-04 From: Melbourne, VIC, Australia Since last post: 2 days Last activity: 9 hours |
| ||
Just out of interest, VL-Tone mentioned that he could squash and stretch Mario's "parts". Would it somehow be possible to load models from other characters in place of those parts? This is just something that interests me because I find the idea of Mario with a Goomba head funny for some obscure reason. | |||
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: 5801/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's an idea (change the 'MIO0' text to an address), but it seems like it shouldn't be a huge problem to find the pointers. A lot easier than N64 ASM hacking, for sure. | |||
VL-Tone Red Cheep-cheep Level: 23 Posts: 118/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
HyperHacker you are probably right, but I was under the impression that some pointers might be very hard to find. There are a lot of them to be found, and if some happens to be a byte sequence that is used for something else repeatedly through the ROM , we could have a hard time determining which ones are pointers. There may be more than 200+ pointers to be located and confirmed and they don't seem to have a central location. My solution would only take a few bytes of ASM code. Anyway... I'll learn n64 ASM and I'll do it myself The Kins yeah that could be possible, but I'm not sure it would be easy. If you look earlier in this thread you'll see that I found the pointers for Mario's heads inside its MIO0 file. I could change these pointers to the ones for Goombas but I would have to change the pointer to the Mario MIO0 file to the Goomba file and that would likely crash the game since other Mario parts couldn't be loaded. Also it could only work inside levels that have Goombas in it. A better solution might be to swap the polygon data inside the Mario file, but it could cause many problems that would prevent it to work since it would move around other data. Edit: I updated my online level viewer so that it includes the Haunted House level, complete with textures! More screenshots in the "General Project Screenshot Thread" (edited by VL-Tone on 07-17-05 02:26 AM) |
|||
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: 5839/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
The thing about ASM hacking on N64, though, is that if you add any code you have to find a place in ROM to put it and then figure out how to get that code loaded into RAM. Plus, it's a pain. | |||
VL-Tone Red Cheep-cheep Level: 23 Posts: 120/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
Ok then! Forget about all this hacking of the MIO0 decompressor I will concentrate on things I already know about, like the polygon format and 1824 objects. By the way the Haunted House geometry is in the 371C40 MIO0 file. Here is a quick list I did of all the occurrences of a 1824 Mario start position object (behavior 13 74 2F), in the ROM.
The addresses point to the beginning of each Mario start position 1824 objects. There are 16 of them and since there must be one for each main level? I'm not sure about that yet. Here is a list of behaviors I found at two places in the ROM (I don't remember where though but you can search for it)
(little additional note, it's all cool now between me and stag019) |
|||
Yoshi Master Red Koopa Level: 17 Posts: 33/138 EXP: 23333 For next: 1410 Since: 04-09-05 From: I don't know... Since last post: 2 days Last activity: 3 hours |
| ||
Is there an editor for release now or sometime in the future? | |||
VL-Tone Red Cheep-cheep Level: 23 Posts: 121/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
There is a very very basic Mario 64 editor on my page, it only works on Level 1, and only can move and rotate objects, change their type and behavior. You cannot change the level geometry, only objects in the level. Not all objects are editable, trees, coins and other objects are not editable now. Actually, it's more of a hacking tool for now, and you need to know at least hexadecimal to use it. |
|||
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: 5865/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, I'm having a problem with the editor. It won't show a lot of objects (nothing near the start point), and the camera moves really slow. It was fine with the last version, though. Anyway, has anyone tried having 2 start points? One that shows on a certain act, and one that shows on other acts? Could be pretty cool... |
|||
Cymoro PATRICK DUFFY WILL LASER YOUR SOUL Level: 67 Posts: 1874/2216 EXP: 2549743 For next: 43129 Since: 03-15-04 From: Cymoro Gaming Since last post: 6 hours Last activity: 4 hours |
| ||
Wow. Let me tell you, this is amazing stuff going on here. Mind if I just put stuff down for my own notes? I've been messing around with the start position and which way Mario faces when he starts. 405DA0: 06 1F 02 F0 - 00 FC 00 00 - 03 87 00 00 - 00 0A 00 00 Of course, you know that the first six are the XYZ coordinates (which I currently have set for behind Chain Chomp's gate).However, after that is peculiar. The next two, 00 and 00, don't seem to do anyhting when I change the values. 03 (which should appear as 00) sets the direction that he faces when he starts. 00 is away from the camera, 01 is 90 degrees, 02 is 180 degrees, and 03 is 270. Likewise, 04-07 are 45, 135, 225, and 315. After that, 87 rotates Mario in smaller increments counter-clockwise. What I have above rotates him 270 degrees clockwise, then 129 degrees counter-clockwise. 00: Don't know, nothing is happening. Same with the 00 after it, and the 00 after that. 0A, when changed to 00-09, makes the screen go blank. Same with every other value put in there that isn't 0A. The next 00 doesn't seem to do anything, unless you set it to a ridiculously high value (like FF), at which point it goes blank on entry. The last one does nothing as far as I could tell. If you want a really neat entrance into the first star, try making it 06 1F 7F F0 EC FC. That'll send you flying into King Bob-Omb's arena, and looks neat if you switch to Mario's camera. (edited by Cymoro on 07-18-05 08:42 PM) (edited by Cymoro on 07-18-05 08:44 PM) (edited by Cymoro on 07-18-05 09:06 PM) (edited by Cymoro on 07-18-05 09:16 PM) (edited by Cymoro on 07-18-05 09:38 PM) (edited by Cymoro on 07-18-05 09:58 PM) |
|||
VL-Tone Red Cheep-cheep Level: 23 Posts: 122/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
(Extra space added to get around layout bug) If you look earlier in the thread, you'll see that I discovered that already, the three next pairs of bytes after the xyz coordinates are rotation angles in degrees (16 bits signed integers). They are for rotation around the X, Y and Z axis. For some behaviors, like most animated enemies, changing rotation values may not have any effect on particular axis since the behavior code takes over these. It seems that you discovered that the Mario start behavior only allows rotation around the Y axis. Anyway welcome aboard the Super Mario 64 hacking train , don't hesitate to add new things you found. About the 0A value it's a parameter for this particular behavior, did you really try all the other 255 possibilities? I updated my editor so that you can see and edit the rotation values as signed integers (it means they can be negative values), instead of hexadecimal. Also, I discovered many interesting things today in the ROM. HyperHacker mentioned in the first post in this thread: "2AC0EE - some kind of pointer table?" Actually I figured out this pointer table, it starts at 2AC094:
This list looks like it's actually part level layout data for some level... Could this be from the inside of the castle, and those are the pointer addresses for all paintings and levels found there? Edit: it sure is ! I just confirmed that you can swap around each of these "10 00 0E 00 " delimited groups to make any painting warp to any level! For example, if you replace 10 00 0E 00 40 00 60 5A 40 00 B0 5F 00 0E 64 02 04 07 00 00 with 10 00 0E 00 3F 00 90 B9 3F 00 B0 C2 00 0E B8 02 04 07 00 00 at $2AC0F8 in the ROM, you will enter Shifting Sand Land instead of Bob-ombs battlefield when you jump into the Level 1 painting! I'll continue documenting which pointer is which level. The only thing is that when Mario dies, it get ejected out of the swaped level instead of the original, so the "exit level" pointer may be part of the layout data. It seems that the level layout data pointed by this list really describes the whole scene, loading geometry, textures and positioning objects like enemies etc. Some objects starting with length 0C load (decompress) MIO0 files in RAM banks, these 0C object's last 8 bytes are two address, that are sometimes MIO0 files addresses. After these 04,08,0C and 24 bytes long commands, comes another list of another kind of objects. They are usually 4 bytes objects Here is the list of other kind of objects for level 1 (which is just after the other list with 1824 objects). It starts at 405E9C in the ROM:
The "15" objects are 8 bytes long and their last 4 bytes are pointers to each entry points to every parts of the level geometry inside bank 7, the current level data bank. These kind of pointers are what I had to found manually inside each MIO0 files, and that's why I couldn't decode all levels yet... I guess that will change now since we have pointers to just about every levels and every meshes inside the MIO0 files (Edit:Is it just me or Cymoro's layout causes it's "edited:" messages to spill over the top of my message?) Yet another edit, I forgot to reply to HyperHacker: Since your post was before my new release, I guess your problem was for version 0.23? Maybe 0.25 will fix it, but I really don't know. Could you tell me one thing if you still have this problem: is the sky very pixelated (squarish pixels) or is it blurry like it's supposed to be? (edited by VL-Tone on 07-19-05 01:02 AM) (edited by VL-Tone on 07-19-05 01:10 AM) (edited by VL-Tone on 07-19-05 02:20 AM) (edited by VL-Tone on 07-19-05 03:02 AM) (edited by VL-Tone on 07-19-05 03:06 AM) (edited by VL-Tone on 07-19-05 03:16 AM) |
|||
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: 5882/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
No, the sky looks alright except at the top and bottom. Have a screenshot. | |||
Thomas Buzz Blob Level: 26 Posts: 179/298 EXP: 98852 For next: 3423 Since: 10-29-04 From: United States Since last post: 88 days Last activity: 83 days |
| ||
This is insane! Are you guys actually editing Mario 64!? | |||
VL-Tone Red Cheep-cheep Level: 23 Posts: 123/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
HyperHacker, my guess is that you didn't open the right version of the ROM...I'll implement a check function that will warn you if you don't have the right version. As for the slowness, I'll look for the problem, but I think that my program is a little too sensitive to CPU usage by other applications. On the more positive side, I documented all of the levels in the pointer list that starts at 2AC094 in the ROM!
So far, no lost levels found A few weird things happens though when you replace level 1 with some other levels. For example, Mario starts the wing cap course without a cap, so he'll fall down and die! If you replace level 1 with a Bowser Platform , you'll find that Bowser doesn't greet you and is in "tired" mode and won't attack you until you grab it's tail at least once. If you replace level 1 with the castle interior, you'll start in a weird place, in the little box behind the Princess secret slide painting. If you replace it with the castle backyard, Mario will be seen jumping out of the fountain, with little Stars around him, but then the game freezes. Another thing, I didn't find the Penguin slide in the list, I guess it's because you can't access it directly from inside the castle. Edit: Thomas, the short answer is: yes, we are decoding and editing Super Mario 64 (edited by VL-Tone on 07-19-05 04:31 PM) (edited by VL-Tone on 07-19-05 04:32 PM) |
|||
Cymoro PATRICK DUFFY WILL LASER YOUR SOUL Level: 67 Posts: 1881/2216 EXP: 2549743 For next: 43129 Since: 03-15-04 From: Cymoro Gaming Since last post: 6 hours Last activity: 4 hours |
| ||
A quick question: Is there any way to make it so that entering a portrait for one world (Let's say, Bob-Omb Battlefield) brings you to another world? Likewise, let's say you get a star. When it normally brings you back to the main castle, can you re-route it so that it can then go to another world? If so, then I've got one hell of an idea for a boss run. |
|||
VL-Tone Red Cheep-cheep Level: 23 Posts: 124/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
Cymoro, what I did to document all these is exactly that: to replace the line for Bob-Omb's Battlefield with each of the other lines. So yes when I entered the Bob-Omb's Battlefield portrait, it was going to other levels instead. As I mentioned before, when you die or exit a level by getting a start, Mario jumps out of the portrait of the level he was into, not the original level (not the Bob-Omb's Battlefield portrait in that example) So your question is actually to know if instead of being ejected of the painting you could go directly to another level? It's probably possible, as the layout data for each levels likely contains the address of the castle insides, with a parameter that tells which painting to exit from, this could be replaced with another level address. I'll have to check for that. |
|||
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: 5924/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
I guess the freeze in the courtyard is because you didn't get a star. Perhaps these levels contain multiple starting points, with different behaviours or scripts, and the game chooses one depending what exit you used. Also, I think I recall you saying the penguin slide is in the same file as level 4. I don't see the mountain slide, either. |
|||
VL-Tone Red Cheep-cheep Level: 23 Posts: 125/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
There is a star in the courtyard? There must be some parameters that set which start point is used, something in parallel with the act number, since both can be used independently. I forgot about the mountain slide but this pretty much confirms that the list I found is really all the possible exits from inside the castle, being triggered by the paintings and some doors. I would guess that the go-outside-level-door command inside the level layout data sets a position, then gets the destination level address found in that list, but the painting warp command uses the destination level's included Mario start position. (edited by VL-Tone on 07-21-05 04:13 AM) |
|||
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: 5948/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
If there is, it's new to me. I meant you usually come out of the fountain when you got a star in level 5. | |||
VL-Tone Red Cheep-cheep Level: 23 Posts: 126/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
Ok you got me there HyperHacker Thank you for reminding me that information, It's been a long time since I got all 120 stars in the game, maybe I should do it again, it would refresh my memory I have less time these days though to continue hacking the game. My next project though is to make a program that will generate a list of all the possible "1824" objects in the game. I'll make my program group them by type, so that each possible behavior associated with each type is listed. I'll also make another sub list for objects that have the same behavior but different parameters, so that we can have an idea of possible parameter values for each behaviors. Here is a little picture to keep less technologically inclined people interested! This is the low polygon version of Mario's head. In case you didn't know, Mario switches to a low polygon version when he's far enough from the camera. Now you can see how ugly this version looks when seen up close |
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Rom Hacking - Mario 64 - Amazing Stuff | | | |