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 | ||
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: 5404/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
Anything that's not part of the level geometry itself (eg anything movable) should be defined in the objects list. You sure it's 12 bytes? I know they use float values for coords in memory, so I don't see how they couldn't in ROM, and those are 4 bytes each. Just the coordinates alone should be 12 bytes, then you have those other two properties, object ID (as in what the hell is it) and possibly size. It might have a type, too; I know the 3 types of ! boxes are one object that just use a certain byte to determine what colour/cap they are. |
|||
Someguy Buzzy Beetle It seems as though the girl you've fallen for is also a pyromaniac. Level: 32 Posts: 328/397 EXP: 193329 For next: 13113 Since: 03-15-04 From: I'm proud to be an American... I think... Since last post: 1 day Last activity: 5 hours |
| ||
Can you give a list of objects you have found out? I changed Koopa the Quick to show up on act 1 and changed his object so I can see the different ones, but I skipped around alot in the beginning, and I was thinking I could fill in empty spaces with your data if possible, and vice versa. | |||
BGNG Snifit Level: 22 Posts: 108/276 EXP: 56579 For next: 1771 Since: 06-03-05 Since last post: 8 days Last activity: 3 hours |
| ||
Kinda off-topic, but it's approperiate nonetheless. In my layout/signature, you can see that I've used some images to show which projects I'm involved in here at Acmlm's Board. There's F-Zero X Level Editing and Super Mario 64 Level Editing. The latter may be useful to others. Here it is if you have layouts disabled: I offer to anyone who wants to, take that image and use it in your own layouts/signatures. I recommend taking it and hosting it somewhere yourself, as I'm likely to remove the image without notice. But there it is, and I'm using it to show all of Acmlm who cares to look this project of ours, so we should perhaps be able to rally more support that way. And besides... It took me all of 15 minutes to make that sucker. You'd better appreciate it! (-: |
|||
Chickenlump Level: 41 Posts: 615/722 EXP: 474192 For next: 5953 Since: 03-15-04 From: Columbia City Indiana Since last post: 3 hours Last activity: 4 min. |
| ||
Thanks for the sig image BGNG, it's very nicely done. I uploaded it to my own photobucket account so as not to leach off of yours. |
|||
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: 5409/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 you don't mind I'm just gonna use yours. | |||
Sokarhacd Ball and Chain Trooper Resistance is Futile You Will Be Assimilated Hab SoSlI' Quch Level: 61 Posts: 1397/1757 EXP: 1799888 For next: 76708 Since: 03-15-04 Since last post: 6 days Last activity: 4 hours |
| ||
cool, ill put it in my sig, just because its very interesting, if anyone wants to use it from my host instead of uploading it, then its here http://dcah.us.to/sm64le.gif | |||
VL-Tone Red Cheep-cheep Level: 23 Posts: 85/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
Hyperhacker, I was mistaken, these are 24 bytes after all, but some other type of objects have different length. I'm sure though that the start positions for objects are 16-bits (2 bytes) for each axis. This is the format used by the geometry data. I cannot see why they would have used 4 bytes for this as it would be an overkill and take more space (remember, SM64 had to be a very compact game). It's very possible that 4-bytes coords are used in RAM for precise movements, but just looking at the data it's obvious (to me) that the start positions are 16-bits signed integers for x,y and z just like the level geometry vertices. Here is a really useful way of finding order in a chaos of hex data. If you already know about this technique, I hope others can learn from this because I rarely (or never) seen it explained anywhere. The trick is to use a good old text editor, like the notepad... It's a really great draft tool to find the format of data with objects of different byte sizes. This is actually what I mostly used to find the polygon and level format for StarFox, and recently the Mario 64 polygon format (that and a custom program that evolved as I found more data). It's really simple and it beats an hex editor when you have to deal with this type of hacking IMHO. Still the hex editor should be used in parallel with the text editor. First you copy some not too small chunk of data from an hex editor, then paste it in the text editor. The pasted format has to be bytes separated by spaces with no carriage returns (you'll add those manually). So you look at the data in the text editor, and try to find patterns, reoccurring bytes at fixed intervals. Let's say you see that 1824 repeats every 24 bytes. Position the cursor just before the next 1824 and hit return. Repeat the operation for every other patterns you see. Remember though that the reoccurring bytes are not necessarily the first bytes of the object "container", maybe it's in the middle of the object. In this case it seems that 1824 are the first bytes of the objects since the 04 07 00 00 is sandwiched between the two 1824... groups. But it doesn't matter at much first, just insert returns to create lines with each part of a repeating patterns. Along the way you may find other evidences that confirm that the carriage returns are inserted at the right place. You can also delete returns if you have to. Here is what you find starting at 405A60 (reversed bytes order)
I put the Bob-ombs boss object in brackets.
56 is the object type for the boss 01 is the act in which it appears (3F and 1F have other meanings?) Then you clearly see 3 16-bits signed integers which are most likely the x,y,z coordinates. Here are the coordinates in correct byte order. 0664 1092 EA41 the last one is a negative value. Ok so that's it for now, let me just feed this into my program to confirm all this. Sorry for the long post, but it think it was useful to include that much data Hey look what I got in my signature (edited by VL-Tone on 07-01-05 01:58 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: 5416/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
Is there such thing as a 16-bit float? The format in memory generally sticks to values around 1.0 so I can't imagine why they would need to use a 16-bit value in ROM; even like 5.0 would be way out of the level area. You may be right on the precision idea; changing a float coordinate by anything less than 0x00010000 is barely noticeable. The coordinates might be stored using some sort of 'small float' that's less precise, and expand it to a full 32-bit float in memory so it doesn't have to do a lot of calculations later. Hm, come to think of it the lower 16 bits of these coordinates rarely changes. Maybe they're omitted? In the first byte sequence you posted, "18 24 36 1F B0 05 00 03 BE 01 00 00 46 01 00 00 00 00 00 00 00 13 68 48", which bytes would be the coordinates? |
|||
Cellar Dweller Flurry !!! Level: 27 Posts: 233/269 EXP: 107817 For next: 8342 Since: 03-15-04 From: Arkansas Since last post: 16 days Last activity: 34 min. |
| ||
Has anyone noticed that thr act number acts like a bit field? (e.g. 0x03 -> acts 1 and 2) | |||
VL-Tone Red Cheep-cheep Level: 23 Posts: 86/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
Hyperhacker, do you believe me now? I never said that they were 16 bit floats, they are 16-bits signed integers. They are values that can go from -32768 to 32767. For example $FFFE=-2 , $FFFF=-1, $0000=0, $0001=1 etc. The dividing point between negative and positive values is $8000 (32768), values higher than that are negative. (Edit: sorry forgot to answer that question: x=(B0 05), y=(00 03) , z=(BE 01) are the coordinates in the example you provided. In normal byte ordering it's $050B, $0300 and $01BE) Now about the picture... these are all the $1824 objects found in the level object data. The selected one is the Bob-Omb boss. You can see that warps and Mario's starting position are included... more about that soon (hopefully before I take my week vacation starting Monday) Cellar Dweller I think you are right about the act byte... it may be very simple: one bit per act, with a maximum of 8 acts per level (edited by VL-Tone on 07-01-05 06:34 AM) (edited by VL-Tone on 07-01-05 06:37 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: 5421/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
Wonder how hard it'd be to add acts to a level then. If they're not floats, though, what are they? The game translates them to a float that's rarely over 5.0. I can't grasp why or how you would use 16-bit integers for this. |
|||
Someguy Buzzy Beetle It seems as though the girl you've fallen for is also a pyromaniac. Level: 32 Posts: 329/397 EXP: 193329 For next: 13113 Since: 03-15-04 From: I'm proud to be an American... I think... Since last post: 1 day Last activity: 5 hours |
| ||
From what I see in that pic, does that mean it would be possible close to now to make the program allow you to move the objects and output the proper code and tell you the offset it was at, or atleast tell you where each object would be in the rom to help find what's what? If not I think I'll continue playing with it with this new found info, finding what object is what and trying to figure a tiny bit out on my own now that I know how many bytes each thing is. EDIT: A small bit of something I figured out, the last two bytes of the objects are the type bytes, they determen what the object acts like, but also appear to be quite sensitive. Minor changes crash the game, however copying bytes from other objects seem to make it okay. Some kind of pointer maybe? Changing bytes 17 and 18 seem to affect the status of Koopa the Quick when I used him as a test subject before going on to the last ones. Sometimes it made him act like a normal Koopa, or a shellless koopa, or a Koopa the Quick sized one, one time he acted like normal but said something like "Ehh hee hee hee" and the game crashed(either because I forgot to put the flagpole on act 1 or whatever he was set to crashed the game. Finally I may do some slight aid to the community! (edited by Someguy on 07-01-05 01:01 PM) |
|||
wario Micro-Goomba Level: 5 Posts: 2/11 EXP: 405 For next: 124 Since: 07-01-05 Since last post: 109 days Last activity: 83 days |
| ||
is anyone remake super smash bros 64? because i think of putting alot of charcters in there.sorry about being off topic though (edited by wario on 07-01-05 10:55 AM) |
|||
Chickenlump Level: 41 Posts: 616/722 EXP: 474192 For next: 5953 Since: 03-15-04 From: Columbia City Indiana Since last post: 3 hours Last activity: 4 min. |
| ||
Originally posted by wario I don't think anyone is hacking that game right now. The only thing I know of right now is a re-texturing project for the game, and that's pretty much it. http://emutalk.net/showthread.php?t=26284 |
|||
VL-Tone Red Cheep-cheep Level: 23 Posts: 87/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
Originally posted by HyperHacker Are you trolling me or something HyperHacker? The pic I posted proves that the coords are 16-bits signed integers. The sphere are plotted using the 16-bits signed integers found in each 18 24 object and they just happen to be at the same location as most of the objects in level 1, this ain't no coincidence. I also spent a great length of post to explain to you what 16-bits signed integers are. Tell me how you came to think that values from -32768 to 32768 are not suitable for points in 3d space? Someguy: Yes, I -may- publish such a program before my vacation... In my current version you can already click on the spheres to select them and see the related hex data. |
|||
Keitaro Iron Knuckle ウラシマ ケイタロウ Level: 54 Posts: 1234/1342 EXP: 1201569 For next: 32301 Since: 03-15-04 From: Hinata, Japan Since last post: 2 days Last activity: 2 days |
| ||
sweet jesus, mary and joseph...I lurk for a bit and this is what you guys come up with? Holy hell, I should go away more often, you'll probably have reverse engineered the game by that time kickass job to all who did whatever. You are truely what romhackers should be | |||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 1111/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
Looking at what you've said about act numbers, would that mean that if you had an object you wanted to appear on acts 1, ,2 and 4, you could type in the act number 0x0B? Anyways, I would realy like to help out, does anyone know of anything I can do to help? |
|||
Chickenlump Level: 41 Posts: 618/722 EXP: 474192 For next: 5953 Since: 03-15-04 From: Columbia City Indiana Since last post: 3 hours Last activity: 4 min. |
| ||
Sure, help out with the list I'm starting to compile. Were looking to build a list of 0 - 255 (in hex) of what each value is for each object's image. Go to the offset 405B9E and change that byte and save and write down what it becomes in the game. This byte changes the image of the first red bob-omb you come across in act 1 of level 1 (you start right next to it). I've made a savestate right before the begining of the level to make it easier. Here is my wip list: 64 - Pirahna Plant 65 - Chain Chomp chain link 66 - Chain Chomp 67 - Stone Boss 68 - koopa turtle 69 - nothing? 6A - Koopa the Quick's Flagpole 6B - Wooden Log 6C - nothing? 6D - nothing? 6E - nothing? 6F - Chain Chomp 70 - nothing 71 - nothing 72 - nothing A4 - Small round white drop on ground A5 - Small Rain Drop on ground A6 - Water Puddle on ground A7 - Cloud (flat) A8 - Small Bubble (flat) A9 - Nothing AA - Small Round Pinkish sphere (flat) AD - Nothing AE - Nothing AF - Nothing B0 - Nothing B1 - Nothing B2 - Nothing B3 - Nothing B4 - Top Half of round black rolling ball (flat) B5 - Nothing B6 - Nothing B7 - Nothing B8 - Nothing B9 - Little Blue Fish BA - Little Blue Fish BB - Little Pink Butterfly BC - Black Bob-omb BE - Koopa Shell BF - Shelless Koopa C0 - Goomba C1 - Nothing C2 - silver sparky ball with face C3 - Red Bobomb (edited by Chickenlump on 07-01-05 02:59 PM) (edited by Chickenlump on 07-01-05 03:24 PM) |
|||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 1113/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
OK, how about I do 0xD0 up? I should be able to handle that easily enough. | |||
Chickenlump Level: 41 Posts: 619/722 EXP: 474192 For next: 5953 Since: 03-15-04 From: Columbia City Indiana Since last post: 3 hours Last activity: 4 min. |
| ||
Cool, and I'll head the opposite way, and edit the list I made above as I go. |
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 | | | |