Language…
13 users online:  AmperSam, asterkafton, ClaireChan, DanMario24YT, Everest, Gamet2004, Hayashi Neru, LightAligns, mathie, MorrieTheMagpie, PaceTheAce, simon.caio, Sweetdude - Guests: 260 - Bots: 357
Users: 64,795 (2,378 active)
Latest user: mathew

The SM64 Hacking Help/FAQ Thread (updated Nov 21)

Link Thread Closed
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 120
  • 121
  • 122
Hey all. So as the title suggests, I'm very new to SM64 hacking but thanks to a few good tutorials and my own trial-and-error I managed to create a nice level in Google Sketchup and have it in my ROM. Now I'm currently in the process of adding in objects via Toad's Tool but I'm running into a lot of obstacles and frustrations when using this program. I would have searched the forums for help with my questions but there doesn't seem to be a search tool on this website (please tell me if there is).

1.) I wanted to use a gate and switch in my level (objects "Openable Grills" and the purple switch) just like in Bob-omb Battlefield, but the gates don't appear and just make my game crash when I walk near them. How do I prevent this?

2.) Is there any way to adjust values such as the timer on a purple block switch? (the one that makes hidden blocks appear).

3.) According to the recent patch notes, shift-clicking on the stars at the bottom will select all acts, but it only seems to select 5 out of the 6 stars. Why? Is this a bug or for some reason does 5 stars mean all 6 acts?

4.) How do I make a wall let Mario pass through if he has vanish cap? I can only seem to make solid or unsolid walls but no inbetween.

5.) How do I add water or lava to a course? If it's too much to explain then if you can link me to a guide for doing this then I would appreciate it.

Lastly, does anyone have any helpful shortcuts/techniques that they use regularly when using TT? As I stated before I'm just finding it a bit frustrating to use at the moment compared to Google Sketchup which was quite easy to learn. For example sometimes I want to place things in a neat row but it seems I can never do that with dragging objects around.

I did try googling these things but i generally just get lots of irrelevant results. Thanks for reading and sorry for all the questions. :(
  
Originally posted by breadtruck
Hey all. So as the title suggests, I'm very new to SM64 hacking but thanks to a few good tutorials and my own trial-and-error I managed to create a nice level in Google Sketchup and have it in my ROM. Now I'm currently in the process of adding in objects via Toad's Tool but I'm running into a lot of obstacles and frustrations when using this program. I would have searched the forums for help with my questions but there doesn't seem to be a search tool on this website (please tell me if there is).

1.) I wanted to use a gate and switch in my level (objects "Openable Grills" and the purple switch) just like in Bob-omb Battlefield, but the gates don't appear and just make my game crash when I walk near them. How do I prevent this?

2.) Is there any way to adjust values such as the timer on a purple block switch? (the one that makes hidden blocks appear).

3.) According to the recent patch notes, shift-clicking on the stars at the bottom will select all acts, but it only seems to select 5 out of the 6 stars. Why? Is this a bug or for some reason does 5 stars mean all 6 acts?

4.) How do I make a wall let Mario pass through if he has vanish cap? I can only seem to make solid or unsolid walls but no inbetween.

5.) How do I add water or lava to a course? If it's too much to explain then if you can link me to a guide for doing this then I would appreciate it.

Lastly, does anyone have any helpful shortcuts/techniques that they use regularly when using TT? As I stated before I'm just finding it a bit frustrating to use at the moment compared to Google Sketchup which was quite easy to learn. For example sometimes I want to place things in a neat row but it seems I can never do that with dragging objects around.

I did try googling these things but i generally just get lots of irrelevant results. Thanks for reading and sorry for all the questions. :(


1) I think you should select bob-ombs battlefield object 0x0E bank in the importer (correct me if wrong)

2) It could be done by messing with ASM i think, ask kazeshin.

3) Yep, 5 stars mean all 6 acts. It's pretty weird.

4) Select "vanishcap walls" for your texture in collision settings in the importer.

5) Same as above, but with "lava".

All of us know that TT64 is a extremely tedious program, the only tip I can suggest is to select "relative" in Position and Camera widgets. this will make placing objects more smooth.

    See my hack development here!: Super Mario and the missing memories.
Originally posted by breadtruck

1.) I wanted to use a gate and switch in my level (objects "Openable Grills" and the purple switch) just like in Bob-omb Battlefield, but the gates don't appear and just make my game crash when I walk near them. How do I prevent this?
that object is a bit broken, you might be able to get it to work by adjusting bparams or by importing over BoB, many people have problems with those gates that can't really be fixxed without looking into the code


2.) Is there any way to adjust values such as the timer on a purple block switch? (the one that makes hidden blocks appear).
there certainly are ways, but as long as you dont find such things in the "tweak manager", it usually means it cant be done without some debugging/looking into the code

3.) According to the recent patch notes, shift-clicking on the stars at the bottom will select all acts, but it only seems to select 5 out of the 6 stars. Why? Is this a bug or for some reason does 5 stars mean all 6 acts?
The way SM64 is coded, the first 5 stars means "be there everytime". they did that to make objects appear in levels that dont use acts, like the overworlds. here's a fix, though you'd have to change it for every object and also in the menu screens, which cant be done with TT64:

FC22C:
ADDIU AT, R0, $003F
BNE T2, AT, $FC3CC


4.) How do I make a wall let Mario pass through if he has vanish cap? I can only seem to make solid or unsolid walls but no inbetween.
there should be collision settings in the importer, however they usually only work with perfectly vertikal walls


5.) How do I add water or lava to a course? If it's too much to explain then if you can link me to a guide for doing this then I would appreciate it.
there's a setting in the importer for water and lava.

6. )Lastly, does anyone have any helpful shortcuts/techniques that they use regularly when using TT? As I stated before I'm just finding it a bit frustrating to use at the moment compared to Google Sketchup which was quite easy to learn. For example sometimes I want to place things in a neat row but it seems I can never do that with dragging objects around.
there are none, besides shift/strg+click in the objectlist to select many objects at once... and maybe alt+click into the boxes below to edit them manually.
Many thanks to you two guys for the quick help. :D You have probably seen questions like that many times before but its nice of you to help a newbie out. #tb{:j}
Tips for making a good slide level?

I'm trying to make a slide level, any tips on how to make one that's decently difficult and interesting?

Whats the best method for making the slide?
New layout by RanAS!
Some ideas from the original

What makes the penguin slide fun:
A few challenging sharp turns
A few jumps (with coins in the air)
A secret short cut with a hint

What makes the secret slide fun:
A 1up that runs away from you
A Chance to get an extra star if you finish fast enough
One of those timed blue coin buttons
Thanks for the tips shyguy hex

Got about 60% of the model done, but i've run into an issue.

All edges have invisible walls it seems even though i've checked off enable death floor in the importer. I'm 90% sure it isn't the model, but I have had issues like this before with similar level types. Is it just the importer screwing up or do you think there is issues in the model?
New layout by RanAS!
game doesnt consider faces that are too far away, draw a nonflat death ground.
You mean a platform under the level with death floor collision?

Also I don't think the faces would be too far away (if I understand what you mean correctly), but i'll still try this.
New layout by RanAS!
  I recently found a bug in the original game code, the bob-ombs explosion destroys doors collision. Throw a bob-omb to a door and try to open the door. Is there any way to fix this?

    See my hack development here!: Super Mario and the missing memories.
Okay, there seem to be a couple of oddities while play-testing my level imported with 1.9.2S. The camera will zoom in too closely therefore causing some of Mario's polygons to disappear.

I tried testing on different roms and emulators which don't have any tweaks or patches in them; I have troubleshooted from every possible angle. Either I'm going insane, or there's some kind of bug involving how 1.9.2S patches the game. Someone please try playtesting these scenarios so that I'm not the only one (course 1 star 5 camera, and Wiggler dialogue camera)

I had to manually change Mario's 'grab star' animation to work around one of these problems

EDIT: Skelux has discovered this problem and is currently fixing it
  
Originally posted by Flame8765
Okay, there seem to be a couple of oddities while play-testing my level imported with 1.9.2S. The camera will zoom in too closely therefore causing some of Mario's polygons to disappear.

I tried testing on different roms and emulators which don't have any tweaks or patches in them; I have troubleshooted from every possible angle. Either I'm going insane, or there's some kind of bug involving how 1.9.2S patches the game. Someone please try playtesting these scenarios so that I'm not the only one (course 1 star 5 camera, and Wiggler dialogue camera)

I had to manually change Mario's 'grab star' animation to work around one of these problems


The mario's polygons dissapearing problem happens to me too, but the wiggler text camera issue doesn't happen to me :/

    See my hack development here!: Super Mario and the missing memories.
Originally posted by MarioHacker14
The mario's polygons dissappearing problem happens to me too, but the wiggler text camera issue doesn't happen to me :/


The wiggler camera problem seems to only occur depending on Mario's angle and how far away he is. It happens about 75-80% of the time for me :/
What would be the best way to go about exporting mario's body parts? I'd like to make some minor adjustments to them to make it look nicer.
New layout by RanAS!
Just applied kaze's more objects patches, and the noteblock happens to use the same behavior that the star coin in my rom uses, basically breaking them both. How would I be able to get them both working without breaking any of the other more objects or anything else?
New layout by RanAS!
Hello guys, first post here and I just decided to register since I am absolutely stuck for a ROM Hack I'm currently creating.

Long story short, I can't use these Sliding Star Doors, which require several stars to open.
I'm currently using Toads Tool 6.1S and the Level Importer 1.9.2S.
For this particular level I'm using the "Inside Castle" for the Object Bank 0E.

Whenever I place a sliding star door, everything looks fine. However, as soon as I test the level and approach that door, the following error appears:

UNKWOWN x86 OPCODE 66
LOCATION
17211A7
LOC: FFFFFA
FGH2

I have no clue - I even got a fresh rom, updated it properly and just imported the level again with the star door added in, the same error popped up. Are there some special requirements for star doors? The strange thing is that the star doors in the unchanged levels (e.g. Inside Castle) all work, so I don't think it has something to do with the emulator.
In the hack: Peach's Christmas Invitation (aka Kazeshin's hack), there was a 2.5D Level which makes the camera move strictly parallel to Mario (2D mouvement-based camera). And, also forced Mario to move left or right only. The camera setting while in game could also not change (for example; you press R and nothing happens to the camera) and would stay like that for the entire level.

So my obvious question right now is: how can you modify a level that can have this specific camera set? Thanks for the reply! #tb{:)}

Hello, I have a few questions about HUD textures and ASM.

I am new to assembly coding and hex editing (as in I started yesterday). Yesterday, I found this tutorial that was made by Tarek701. The tutorial was super simple to follow, I now mostly understand the 3 types of instructions, the 32 registers, and the different opcodes (though I did have to google for those).

In the comment section of this video by pidi64 on youtube, Tarek701 explained how to add an image, like the beta-key, to the HUD. I followed it and it worked:




I want to use this code so I can add back the J,Q,V,X,Z characters back into the game. I now have the image textures setup in the ROM's memory.

0x1204A48 == "Key" icon
0x1204C48 == "J" icon
0x1204E48 == "Q" icon
0x1205048 == "V" icon
0x1205248 == "X" icon
0x1205448 == "Z" icon

Each letter texture does in fact work:



But I have a few questions to ask because I'm confused on certain things.

1.) In Tarek's youtube comment he says that "D6 is segmented and is: 0x80072580 (RAM offset)."

Where did he get "0x80072580" from? How does D6 give him that address?


2.) Why does "/" equal (02 00 D6 00)? Is there a list of numbers to characters that I can look at? How do I look at this Hex table and tell what bytes go with what letter? How do I find J, Q, V, X, and Z in this table?




3.) Is there a way to make the loading code only run once instead of being part of a loop? (I currently have it in the same code as the text display). I tried to use Tarek's code, but there seems to be an error with the line "LB T4, 0xB201". That 0xB201 needs parenthesis with a register after it, right?


Here is my asm code so far (I am using CajeASM v6.01 as my assembler)

Code
.org 0x861C0 
ADDIU SP, SP, 0xFFE8 // Allocates space on stack (24-bits), allocating works by subtracting 24
SW RA, 0x14(SP)// Store's the return address to the stack.

// Loads the Key Texture
LUI V0, 0x8007       // Upper Half of RAM Address (where our texture is copied to)
ORI A0, V0, 0x2580 // Lower Half of RAM address, A0 := 0x80072580.
LUI V0, 0x0120       // Upper half of ROM offset begin(where our texture is stored)
ORI A1, V0, 0x4A48 // Upper half of ROM offset end (where the texture ends)
JAL 0x00278504 // DMACopy function.
ORI A2, V0, 0x4E48 // Lower half of ROM offset end.

// Displays the ascii text.
LUI A2, 0x802C // Loads Top half of the text address
ORI A0, R0, 0x0F // sets X-Pos argument by ORing 70 with 0
ORI A2, A2, 0xB23C // Adds Bottom half of the text address
JAL 0x802d62d8 // Calls ("jumps") to PrintXY function
ORI A1, R0, 0x0F // sets Y-Pos argument by ORing 70 with 0

LW RA, 0x14(SP) // Loads the RA from the stack.
JR RA // Jumps back to the return address
ADDIU SP, SP, 0x18 // Adds back the "Allocated" space from the stack (Executed before JR)

.org 0x8623C //RAM offset = 0x802CB23C
.asciiz "/JQVXZ"

// Ascii Text Reference:
//(+ = Coin image)
//(- = Star image)
//(* = x image)
//(, = Mario image)
0x8033B400 is the location of the games segments (or banks) table; the way a segmented address works is like this:

(One byte for the segment ID, 3 bytes for offset)

0x0200D600 = Segment 0x02, Offset 0x00D600

If you look at the segments table at 0x8033B400 you'll find that index 0x02 is (always) 0x00064F80. So you add the offset of 0x00D600 to 0x00064F80 and you get your real ram address of 0x80072580 which I believe is the raw image data for the letter.


The game's colored text table is at 0x8006C680 in ram.

Quote
Is there a way to make the loading code only run once instead of being part of a loop?


For this you would want to find some code in the game that only runs once and jal from there. To hook, I usually prefer finding and replacing a useless branch that only moves the program counter one step with my jal.
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 120
  • 121
  • 122
Link Thread Closed