(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-18-24 01:36 AM
Acmlm's Board - I3 Archive - - Posts by rstewart215804
User Post
rstewart215804

Micro-Goomba








Since: 06-25-06

Last post: 6339 days
Last view: 6339 days
Posted on 07-01-06 08:19 PM, in General Super Mario 64 hacking / TT64 Progress thread Link
I have a question. While hex editing I added Mario behavors to the end of an
object and when I fired up Mario 64 all of mario's behavors ( Speed, fall rate, punches, exc) were dubble that of normal. Can anyone tell me why this happens?

mario's behavor data
0000 0001 1300 2EC0

0x004546b8 (old object data)
2418 1F00 1520 1194 0E35 0000 00E1 0000
000A 0000 1300 2F64

0x004546b8 (edited object data)
2418 1F00 1520 1194 0E35 0000 00E1 0000
0000 0001 1300 2EC0

Also do any of you guys know th behavor data for objects that mario can walk through with the vanash cap?

Thanks in advance.
rstewart215804

Micro-Goomba








Since: 06-25-06

Last post: 6339 days
Last view: 6339 days
Posted on 07-15-06 07:32 PM, in General Super Mario 64 hacking / TT64 Progress thread Link
While editing textures in tilemolester I noticed that every time you made you own bitmap that when you start up SM64 that the color seemed to bleed. After some experimenting I found out why this happens. As you probably all know, on computers all images are made up of red, green, and blue. When tilemolester starts up it reads those colors from the file and puts them on them on the screen. Where I found the error was when it reads the blue channel from the file it sets it one pixel forward. When it saves the file it moves the blue channel back where it is suppose to be. So whenever you draw a picture it separates the colors and moves the blue one pixel back.



For a temporary counter act to this problem move all the blue color to the right so it will be moved into the proper place when the file is saved.



I will look into a way on how to fix this. Any help will be greatly appreciated.
rstewart215804

Micro-Goomba








Since: 06-25-06

Last post: 6339 days
Last view: 6339 days
Posted on 07-15-06 08:07 PM, in General Super Mario 64 hacking / TT64 Progress thread Link
Thanks for the help Raccoon Sam. I am still new at posting and havent had much practice.

About the Tilemolester error, by looking at some of the picures in this forum I notice that other people have this problem too.


(edited by rstewart215804 on 07-15-06 07:14 PM)
rstewart215804

Micro-Goomba








Since: 06-25-06

Last post: 6339 days
Last view: 6339 days
Posted on 07-18-06 07:46 PM, in General Super Mario 64 hacking / TT64 Progress thread Link
Oops after checking some more I found out that I found in tile molester isn't the blue channel but in fact the red and green channel. You have to move all the red and green values to the left.

donrayiv, using Photoshop I edited the picture you wanted and got it to look pixel perfect in the game.

I am starting working on a image editor for SM64. So far I have made a program that takes HEX and turns it into RGBA values. Any help will be useful.

Attachments




(edited by rstewart215804 on 07-18-06 06:59 PM)
rstewart215804

Micro-Goomba








Since: 06-25-06

Last post: 6339 days
Last view: 6339 days
Posted on 07-24-06 09:52 PM, in General Super Mario 64 hacking / TT64 Progress thread Link
VL-Tone your screenshots look great. By the way how did you get so good at Lingo?

Keep up the good work.
rstewart215804

Micro-Goomba








Since: 06-25-06

Last post: 6339 days
Last view: 6339 days
Posted on 07-29-06 08:35 PM, in General Super Mario 64 hacking / TT64 Progress thread Link
Behaviors are a blast. With one behavior code and some parameter modifying I was able to load 30 Goombas!!!



On any object (preferably invisible) change the behavior code to 1300 4770 and the parameters to 0000 00## , ## being the number of Goombas times 4. For more fun you can add 1 or 2 to that number to get large or small Goombas.

Think that's interesting look at the next picture.



Star Chomp. Just add behavior code 1300 478C and parameters 0066 0000 to an object. Whatever object you attach the behavior to becomes the head. I used a star.

In the sprite behavior table at 0xEc7E0 you can find a lot of behaviors. Don't edit the table (inside the checksum). Just add them to 0x24 objects already found in the level. But be careful when changing behavior data. Some behaviors load other objects. If the loaded object is outside the data loaded for that level it will freeze the game when you get close.

(All numbers are in HEX.)


(edited by rstewart215804 on 07-29-06 07:36 PM)
rstewart215804

Micro-Goomba








Since: 06-25-06

Last post: 6339 days
Last view: 6339 days
Posted on 08-04-06 07:53 PM, in General Super Mario 64 hacking / TT64 Progress thread Link
Sorry I haven’t been able to reply to you guys about my screenshots.

The Goombas in my screenshot were all loaded with one behavior assigned to a 24 command. One interesting thing I did with the Chain Chomp is to assign it the object type of Mario. I will try to put several of my favorite behaviors into an IPS patch.

Right now I am trying to figure out all the behavior codes and there parameters. I attached a list of some of my favorites that don't freeze the game.

While looking at behaviors I noticed that there is 4 parameters not 2. Each parameter is one byte long.

I also found that the first 01 in 250C 0001 0000 0001 1300 2EC0 (it loads Mario) is the object type for Mario. So by substituting it for other numbers you can change Mario into other things. The only problem with this is the objects have to be ones that don't change their shape like stars and boxes. I changed Mario into a star without using a Gameshark code.

VL-Tone, in your post about the 0x43 sprite commands I noticed you mentioned object type 7A, 79 and 83. I came across them while recording my behavior list. 7A is the object type for stars you haven't gotten (gold). 79 is for ones that you have gotten (blue). 83 is for empty wing cap box (transparent).

Attachments

Behaviors.txt (3068b) - views: 692
rstewart215804

Micro-Goomba








Since: 06-25-06

Last post: 6339 days
Last view: 6339 days
Posted on 08-12-06 07:13 PM, in Super Mario 64 Hacking discussion thread - READ THE FIRST POST BEFORE POSTING! Link
I made an IPS patch consisting of several of my favorite behaviors. My Hex editor can’t insert data so I hade to remove the Rotating elevators and the warps inside the level. In the patch there is…



• 15 large Goombas on top of the mountain
• 1 Star Chomp
• 1 Flying Bowser Key
• 1 Flame thrower
• 1 Non-moving Cannon

I thought of an idea that might allow anyone to add objects easily. Since levels are loaded in jumps, you could create a jump to the end of the rom load any new objects then jump back to the level. I tried doing this with a 0x17 command then a 0x06 command but every time I tried it froze. If any one has a solution to this please post it.

Soon I will post the next version of my Behavior List. I have found about 250 behaviors at this time. Most freeze the game others I have no idea what they do.

Finally, the 0x17 command that loads bank number A is the one that loads the sky background for the level. By changing the Start and Stop offset you could change to sky in that level.

Attachments

Super Mario 64 (U) [!].ext.ips (133b) - views: 313
rstewart215804

Micro-Goomba








Since: 06-25-06

Last post: 6339 days
Last view: 6339 days
Posted on 08-18-06 08:31 PM, in Super Mario 64 Hacking discussion thread - READ THE FIRST POST BEFORE POSTING! Link
I found some thing interesting about the 0x39 behavior table at 0xEC7E0. Some behaviors have numbers in 2nd parameter place (there is 4 parameters each 1 byte long). After looking some of them I found the pattern. The second parameter is the object Number!!

For example. 1300 478C is the behavior code for Chain Chomp. In the table it has the parameters 00 66 00 00. 66 is its object number. Though if the 2nd parameter is 00, it probably defaults to the one used in 0x42 list.

This was probably to fix this:

Originally by VL-Tone

The sprite type and behavior pointer are fused in a single byte+ 1 bit from the horizontal rotation byte. This gives 512 possibilities. The table referred by this value is found at 0xEC7E0 in the ROM. Each entry in the table is 8 bytes long and contains a sprite type value (same kind as the 0x24 sprite type) and a behavior pointer (in bank 13) as well as 2 one byte parameters for the behavior.

The second parameter only holds true in the 1st table. If you use them in a 0x24 command they will not do anything. There is though some behaviors found in 0x24 commands that use those parameters for different things. Bob-ombs are a good example of this. They use the second parameter for the message they say.

Since there are behaviors that only work in 0x24 or both 0x24 and 0x39 I'd guess that there are 2 types of behaviors.

Also looking at the patch table at 0x0ed358 it seems that the 1st parameter is the location in 0xEC7E0 and the fourth parameter is the object type.

Remember though whenever you change either one of these tables you have to recalculate the checksum.

I also found that some behaviors like stars and star-doors use the 1st parameter to specify things related to stars or other variables. Behavior 1300 0000 (large star-door) with 46 00 00 00 as parameters use the 46 to specify how many stars it takes to open doors (46 is hex for 70 stars).

I have also updated my behavior list.

But I have one last thing that will wet your appetite. I have found out some of the Geometry layout commands.

[1301] [0000 0000 0000] [0502 1398]

1 Command
2 x,z,y offset
3 loaded object

Here is a picture that shows an edit in Yoshi's Geometry layout.



At offset 00180a38 you will find 1301 0000 0000 0000 0502 1398
Change the z offset to 0100 to make Yoshi look like this. The horns are actually part of his jaw.

Attachments

Behaviors.txt (4999b) - views: 156
rstewart215804

Micro-Goomba








Since: 06-25-06

Last post: 6339 days
Last view: 6339 days
Posted on 08-28-06 10:18 PM, in Super Mario 64 Hacking discussion thread - READ THE FIRST POST BEFORE POSTING! Link
After many experiments Toad finally invented the mega mushroom. Toad first test subject was Yoshi. The mushroom worked well... too well in fact. Yoshi grew and grew and grew. Now the castle is in danger from his big feet and hunger.



That is just some of the thing you can do with Geometry Layout commands. Imagine the possibilities.

I disassembled Yoshi geometry layout commands and created a list of how his hierarchy looks.



I created a list of geometry layouts.

Attachments

Geometry Layout.txt (3227b) - views: 112
rstewart215804

Micro-Goomba








Since: 06-25-06

Last post: 6339 days
Last view: 6339 days
Posted on 01-06-07 12:56 AM, in Requesting Approval Link
I am learning C++ and Visual Basic programming. I am into editing Super Mario 64. I have been reading the SM64 hacking thread since it was on page 3 but never registered until I knew enough about SM64 to actually feel like I could add valuable comments. I am currently disassembling 3D sprites and polygons in SM64. When the SM64 hacking thread reached 71 pages and it moved, my Object Behavior document was included in the first page of the new thread.

I am not very good at spelling so I compose all my posts offline and run them through spell-check to get most of the mistakes out before I post. Also I try not to offend anyone with off topic posts or with rude remarks.

If you have any questions, comments, or concerns I will gladly answer them.
rstewart215804

Micro-Goomba








Since: 06-25-06

Last post: 6339 days
Last view: 6339 days
Posted on 01-08-07 12:54 AM, in Super Mario 64 Hacking discussion thread - READ THE FIRST POST BEFORE POSTING! Link
While looking through the geometry layout objects at 0x2008D0 in the Rom, I discovered 2 beta objects that are not used in the game. The first is a beta green turtle shell. It is found at 2013D8. It is not the same as the in game green turtle shell which is found at 0x201380.

The second Beta Object is a red turtle shell. It is found at 0x2013AC.



I guess the designers created the objects but never finished them.




Mario Was very surprised when the Bob-omb King took out a cannon.

I have figured out most of the geometry layout commands and included a list of them next time. With the commands you can resize any character, and extra parts, and if you are good at hand coding the commands actually create new objects.




I have also found a way of easily adding a lot objects to a level with out shifting the data all around. After a little effort you can easily make new objects. You have to use an extended Rom because there is space between texture groups. You will use this space to add 0x24 command objects in.

First. In the level you want to add objects, find what a 0x17 command that loads texture data and save its address somewhere where you can easily access it.

Second. Find a 0x26 command and save that address as well.

Third. Go to the address at that is at the end of the 0x17 command. Go a few bytes forward and save that address.

Forth. Copy the 0x26 command that you saved the address of earlier, to the address after the textures that you just saved.

Fifth. Go to the original 0x26 and change it into a 0x6 command that jumps to the address after the textures.

The only thing left to do is add what ever 0x24 commands you want to the end of the new 0x26 command, after you add the new objects add a 0x7 command to jump back. Then change the end 0x17 command to whatever the address of the end of the 0x7 command is.

Confused? Well here is a diagram of what I did. I used the 1st bowser platform as my test.






One final interesting piece of information I found in the rom is at 0x265980 to 0x269c97, there is a long list of original commands used to program the actual game in text format. Here are a few of them.

dMakeObj()

dSetNodeGroup("%s")
proc_dynlist()
dSetRelPos()
dGetAttFlags()
dSetWorldPos()


Also at 000F4D30 I found this.

RSP SW Version: 2.0D, 04

-01-96.SGI U64 GFX SW TEAM: S Anderson, S Carr,
H Cheng, K Luster, R Moore, N Pooley, A Srinivasan


Finally at 2685f0 I found out that SM64 contains references to it originally being able to use a Mouse and Keyboard for input as well as a Joystick.

I hope these commands might useful to learn more of actually how the game is programmed.
Acmlm's Board - I3 Archive - - Posts by rstewart215804


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.011 seconds; used 408.36 kB (max 504.76 kB)