Banner
Views: 828,162,378
Time:
8 users online: IBagel, Medic, qantuum, RAFAEL_M_C_, S.U, SAMYR DUTRA ARAUJO, underway, Zidan3 - Guests: 59 - Bots: 76 Users: 44,335 (2,545 active)
Latest: MollyEskam
Tip: Avoid making large, flat, boring stretches of land. Vary up the architecture and spritework in your levels.Not logged in.
Editing Behaviors
Forum Index - Non-SMW Hacking - Super Mario 64 Hacking - ASM and Data Repository - Editing Behaviors
Pages: « 1 »
  Well, I was thinking of making a topic about the game behaviors because It never seen so much touched. So everyone here can post it own discoveries #ab{;)} .

So, here I go:

for example:

Code
ROM Addr: 0021E52C Hex Behav: 1300472C
Description: Goomba Walk
21E52C/00472C  00 05 00 00
21E530/004730  11 01 20 49
21E534/004734  1E 00 00 00
21E538/004738  27 26 00 00 08 01 DA 4C
21E540/004740  2D 00 00 00
21E544/004744  30 00 00 00 00 28 FE 70 FF CE 03 E8 03 E8 00 00 00 00 00 00
21E558/004758  0C 00 00 00 80 2F F4 08
21E560/004760  08 00 00 00
21E564/004764  0C 00 00 00 80 2F F9 6C
21E56C/00476C  09 00 00 00


-All the behaviors start with a [0x00] Command, as you see.

- [0x27 26] is the animation data, for example a goomba moving like a fly-guy.

- [0x30] Commands are related something with the gravity.

- [0x0C] Calls ASM functions (I have no idea what they are). adresses are in the 4 last bytes. (802Ff408 & 802FF96C in this case).

Another example:

Code
ROM Addr: 0021AE30 Hex Behav: 13001030
Description: Tilting Platform
21AE30/001030  00 09 00 00
21AE34/001034  11 01 00 49
21AE38/001038  2A 00 00 00 07 01 52 38
21AE40/001040  2D 00 00 00
21AE44/001044  0C 00 00 00 80 2B CF 40
21AE4C/00104C  08 00 00 00
21AE50/001050  0C 00 00 00 80 2B D0 58
21AE58/001058  0C 00 00 00 80 38 39 CC
21AE60/001060  09 00 00 00


This behavior have a [0x2A] Command that calls collision (the solid thing) where:

[2A] [00 00 00] [07] [01 52 38]

[0]= 0x2A is the command byte.
[1,2,3]= Always zero, unused?
[4]= Bank number (07 is the main level MIO0 bank)
[5,6,7]= Offset of the collision data in the bank.

So here end my discoveries about behaviors! Post you ones! #ab{:D}

    See my hack development here!: Super Mario and the missing memories.
LOL, that was precisely the subject of my problem in hacking right now ( mysterious behavior commands ).

But there's this ( tremendously old ) document from VL-Tone that should give plenty of useful information too:

SM64Behaviors.txt

Btw, I'm pretty sure that it's the "1E 00 00 00" command that is gravity related, not the "30 XX XX XX ..." command, can't remember where I read this.

EDIT: and the commands "08 00 00 00" and "09 00 00 00" mark respectively the beginning and the end of the loop called every frame.

--------------------
Uber Mario 64 Demo released, 16 awesomely challenging stars awaits YOU!
I guess while we're on the subject, I'll teach one of the most basic behavior edits: getting rid of the child behavior in an object (like the wooden logs connected to Chain Chomps for example)

Now according to this doc, commands 0x1C, 0x29 and 0x2C create sub-objects that have their own behavior. If you want to get rid of these commands, simply replace a line that starts with one of those commands with 0's

Example:
Code
Description: Chain Chomp
21E58C/00478C  00 04 00 00
21E590/004790  11 01 20 C9
21E594/004794  1E 00 00 00
21E598/004798  27 26 00 00 06 02 51 78
21E5A0/0047A0  28 00 00 00
21E5A4/0047A4  30 00 00 00 00 00 FE 70 FF CE 00 00 03 E8 00 C8 00 00 00 00
21E5B8/0047B8  22 00 00 00
21E5BC/0047BC  2D 00 00 00
21E5C0/0047C0  0E 15 00 F0
21E5C4/0047C4  32 00 00 C8
21E5C8/0047C8  29 00 00 00 00 00 00 6B 13 00 48 1C <---Here's a 0x29 command. Replace that line with 0's in a hex editor.
21E5D4/0047D4  08 00 00 00
21E5D8/0047D8  0C 00 00 00 80 30 0E 40
21E5E0/0047E0  09 00 00 00
Lol Kaze. The most of your command list was made by skelux. i added some extra informations.

--------------------
My Channel - http://www.youtube.com/skilllux64
  I was messing around with Bparams on the behaviors, and discovered that they can really alterate the function!

For example:

-Thwomp Bparam 2 sets Height

-Amp Bparam 2 can alterate the radio of rotation

-In beavior 13001B88 (that I use for SMG2 platforms) Bparam 2 can make a elevator function

-Three goombas behavior Bparam 2 set amount & size (00 is 3 normals, 01 is 3 Giants, 02 is 3 minis, 04 is 4 normals, 05 is 4 Giants, etc...)

-A lot more, but I have no time to post |-O

    See my hack development here!: Super Mario and the missing memories.
  
Originally posted by Kazeshin
i just found out, that command 0x28 animates objects.


How, like 0x26 27 ??

    See my hack development here!: Super Mario and the missing memories.
Originally posted by Kazeshin
Originally posted by Mariohacker14
Originally posted by Kazeshin
i just found out, that command 0x28 animates objects.


How, like 0x26 27 ??

she will just lay around retardly


I lol'd about your choice of words.

--------------------
Tarek701 is dead.
Originally posted by The unreadable documents of Cellar Dwellar made readable
0x00
8038b9b4: 8038425c
8038b9b8: 803841b8
8038b9bc: 80384224
8038b9c0: 8038438c

0x04 - jump
8038b9c4: 80384450

8038b9c8: 803844c0
8038b9cc: 80384554

8038b9d0: 803845e8

0x08 - save location on stack
8038b9d4: 80384634

0x09 - jump to location on top of stack w/o popping and yield
8038b9d8: 80384188
8038b9dc: 803841a0

8038b9e0: 80384678

0x0c - just calls a function
8038b9e4: 80384c5c

8038b9e8: 803846d0

8038b9ec: 80384cf0
8038b9f0: 8038475c

0x10
8038b9f4: 80384d70

8038b9f8: 80384e04

8038b9fc: 803849f8

8038ba00: 80384854

0x14
8038ba04: 80384928

8038ba08: 80384ab4

8038ba0c: 80384b90

8038ba10: 8038503c

0x18
8038ba14: 803850cc

8038ba18: 80385084

8038ba1c: 80383f24

8038ba20: 80383f94

0x1c
8038ba24: 80384164

8038ba28: 80384f8c

8038ba2c: 80385114

8038ba30: 803851d0

0x20
8038ba34: 80383ee4

8038ba38: 80383e5c

8038ba3c: 8038528c

8038ba40: 8038546c

0x24
8038ba44: 803842e4

8038ba48: 803843e0

8038ba4c: 80384e9c

0x27 - sets value (used for init pose)

8038ba50: 80384f08

0x28
8038ba54: 803840b4

8038ba58: 803856a0

8038ba5c: 803853ac

8038ba60: 8038401c

0x2c
8038ba64: 80385700

8038ba68: 8038531c

8038ba6c: 8038575c
8038ba70: 8038586c

0x30
8038ba74: 803857a0

8038ba78: 803857e4

8038ba7c: 80385a60

8038ba80: 80385b4c

0x34
8038ba84: 80383ea0

8038ba88: 803847d4

8038ba8c: 80385af0


probably interesting.
i want help to make new levels '-'

MOD NOTE: Final warning! Please check your PM Inbox

--------------------
guest6777's Youtube Channel

--------------------



Kario: Hello, i love much this site Smw Central!

Since no one really explain much about the 0x0C To revive this thread,when I was trying to code my own note block with a little help from kaze 0x0c command where the most important especially in custom behaviours some important functions 0x0c commands call

80 38 39 cc[solidity]

0c 00 00 00 80 [XX XX XX]<----Asm address,to get this XX XX XX-245000 in hexadec
Sometimes getting thse values could be time consuming, in this behaviour
Code
219F88/000188 0C 00 00 00 80 2A 6C F4

The original asm address needs to be used cause you will never know if you replace an important asm address the original asm address in mine is 2A6CF4-245000=xxxxx the 0x0C will point to the asm address and execute it in game when making solid objects make room and input a 0x0C command calling this command
Code
80 38 39 cc
its time consuming because one little mistake and you'll get the wrong asm address I am still trying to get mine!
the 0x0C command is really simple, actually. i explained it here:
https://sites.google.com/site/kazemario64/home/all-behavior-commands
the "subtract 0x80245000" just works for behaviors in the checksum. so for everything, that is between 80246000 and 80330000. i count everything above 80378800 to the "engine".You have to subtract 80283280 for these. even though i strongly recommend to not change anything there.
Originally posted by Kazeshin
the 0x0C command is really simple, actually. i explained it here:
https://sites.google.com/site/kazemario64/home/all-behavior-commands
the "subtract 0x80245000" just works for behaviors in the checksum. so for everything, that is between 80246000 and 80330000. i count everything above 80378800 to the "engine".You have to subtract 80283280 for these. even though i strongly recommend to not change anything there.

Yeah I also said that :-replace the original asm addresses not anyone,I read from your site to learn it and from ready our chat 0.o
Pages: « 1 »
Forum Index - Non-SMW Hacking - Super Mario 64 Hacking - ASM and Data Repository - Editing Behaviors

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2020 - SMW Central
Legal Information - Privacy Policy - Link To Us


Total queries: 14

Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy