Kuribo64
Views: 19,851,989 Home | Forums | Uploader | Wiki | Object databases | IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search
03-28-24 07:28 PM
Guest:

Main - Posts by Sparsite

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Sparsite
Posted on 08-07-16 09:12 AM, in ask shit to StapleButter, get answer 3 months later Link | #75802
Opinions on Skelux?

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-07-16 07:11 PM, in SM64DS Editor Help Thread - Post your questions here Link | #75824
Posted by pacmainia&luigi
Nope. didn't work. I got the same error.


Try importing it as an obj

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-09-16 07:17 PM, in SM64DS Editor Help Thread - Post your questions here Link | #75910
Posted by pacmainia&luigi
Since version 2.1, I think- or maybe always. It's been there for a long time.


It would be in the change logs. Im pretty sure Fiachra added it

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-09-16 08:35 PM, in Need some help with the title screen heads Link | #75914
If the .btp didn't work, then its probably the .bca animations. (and also the
btps) You can either animate yourself and import the animations and head model, or you can export the mario head model as a .dae and keep all the bones (armature) but delete the mario head model and put yours.

Info on option 2 can be found here

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-10-16 05:39 AM, in Normal Day in SM64DS Link | #75945
Piranha Plant doesn't wanna eat his vegtables

[image]

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-12-16 01:08 AM, in SM64DS Behaviour Documentation (rev. 16 of 08-22-16 10:38 AM) Link | #76022
So lately, I've been looking into object behaviours, and it's pretty wacky in sm64ds.

Many thanks to Fiachra for all the offsets.

I'll release a .txt file when there are more behaviours documented (presumably by me, lol)

Misc. Info and Offsets:

Structure:
Each object has a class that handles both its behavior and its rendering

SpawnActor = 0x02010E2C
DespawnObject = 0x02043824


const byte BMD_FILE_ID_OFFSET = 0x68
const byte KCL_FILE_ID_OFFSET = 0x6A

const short int OBJ_X_LOC_OFFSET = 0x5C;
const short int OBJ_Y_LOC_OFFSET = 0x60;
const short int OBJ_Z_LOC_OFFSET = 0x64;
const short int OBJ_X_ROT_OFFSET = 0x8C;
const short int OBJ_Y_ROT_OFFSET = 0x8E;
const short int OBJ_Z_ROT_OFFSET = 0x90;
const short int OBJ_X_SPEED_OFFSET = 0xA4;
const short int OBJ_Y_SPEED_OFFSET = 0xA8;
const short int OBJ_Z_SPEED_OFFSET = 0xAC;
const short int OBJ_FORWARD_DIRECTION_OFFSET = 0x94;
const short int OBJ_FORWARD_SPEED_OFFSET = 0x98;
const short int OBJ_DRAW_DISTANCE_OFFSET = 0xBC;
const short int OBJ_PARAMETER_01_OFFSET = 0x08;
const short int OBJ_PARAMETER_02_OFFSET = 0x8C;
const short int OBJ_PARAMETER_03_OFFSET = 0x90;
const short int OBJ_UPDATE_MARIO_POS_OFFSET = 0x13C;

const unsigned int UPDATE_MARIO_POS_METHOD = 0x0203923C
const unsigned int UPDATE_MARIO_POS_ON_ROT_METHOD = 0x0203929C

Add these with an object's address to use (ie. 0xZZZZZZZZ + OBJ_PARAMETER_01_OFFSET = 0x0000)

Finding an object's address:

In no$gba debugger, place a breakpoint on 0x02010E2C, and scroll down from 0x02010E2C and look for a ldmfd op code and break on that too. Go into a level and it should break twice for each object loaded. The first break will tell you the actor ID in R0 (get them from the object database) so you know which object it is, and the second break will have the object's address in r0.

Some Behaviours:

0x247d2c - mecha 11 object in rom // Rotating platform in Tick Tock Clock
+0x14 - draw distance
+0x48 - main behavior (02111934)
021118AC - Move object address into r0
021118B0 - Store X rotation in r1
021118B4 - Store Y rotation in r2
021118B8 - Store Z rotation in r3
021118BC - Move object address plus 0xF0 into r0
021118C0 - Call update object model roation function
------------------------------------------------
ct mecha 10 rotating // Rotating Clock Hand in Tick Tock Clock
02111a50 - bl instruction
021118a8 - stmfd instruction (main behaviour)
021118cc - store rotation at 0x114 from object
+0xb0 - 1a for inactive, 02 for active? (021905a0 in test)
------------------------------------------------
Orange Brick Block
020B35A0 - Main behaviour (When ground pounded/punched)
020B39A0 - how many coins spawn
020B39A4 - how far the coins shoot out
020B39AC - spawns coins
020B415C - Secondary behaviour (if a 1-Up tag, supershroom tag, etc. is placed inside)
------------------------------------------
Ground Pound Post
021335A0 - determine how many coins are spawned
021335A4 - how far the coins shoot out
021335B0 - spawn coins (branchs to some sort of spawn coin function 0x02010714, r2 = # of coins, r3 = launch distance of coins)
------------------------------------------
Coins
020B18D0 - Sets yellow coin value
020B16A4 - Sets blue coin value
020B1810 // 020B19A4 - Spawn 100 coin star?
020B189C - Camera Object Pointer related?
020B1990 - Set actor ID for 100 coin star
020B1994 - Set Paramater 1
020B199C - Set Parameter 2
020B1914 - Related to incrementing 1-up count when certain coin counts are met?
------------------------------------------
Thwomp
02132F04 - Main behaviour
02133038 - Set max height
02133050 - Store Y position in r1, offset by #0x60
02133054 - add 1 to Y position (moves them up and down)
------------------------------------------
Toad
021291AC - Main Behaviour
021291BC - Related to waiting for player input for text box to close [?]
021291E8 - Calls function to rotate Toad toward player
021291EC - Move Toad object address (r7) into r0
021291F0 - Move Player Address into (r5) into r0
021291EC - Calls Unknown Function
02129284 - Load Toads Y Position into r1, Y position for player to look at (for MarioTalkDirection)
02129288 - Load Toads Z Position into r3, Z position for player to look at
0212928C - Load Toads X Position, X position for player to look at
021292B0 - Move Player Address (r5) into r0
021292B4 - Move Toad object address into r1
021292B8 - Store Message ID in r2
021292C0 - Branch to OBJ_TalkToPlayer Function (Talk To Player)
------------------------------------------
Bullet Bill
02126F8C - Main Behaviour
02127020 - Load Y Position into r1
02127024 - Load Z Position into r2
02127028 - Load X Position into r0
02127058 - Set Actor ID for object thats spawned to Bullet Bill (0x00DE in r0)
02127058 - Set Parameter 1 for Bullet Bill Spawned in r1 (0x0000)
0212705C - Spawns A Bullet Bill inside the box launcher
------------------------------------------
LLL Bridge Related
0203BDF4 - Main Behaviour
0203BE14 - call y rotation update (for some reason)


____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-12-16 08:17 AM, in Normal Day in SM64DS (rev. 3 of 08-12-16 08:18 AM) Link | #76034
[image]
Super Box 64 DS

Technical Info:
SM64DS has a camera object pointer that is a 4 byte hex value. It points to the players address most of the time. However, I forced it to a box address, this is super useful for cutscenes.

EUR:
player base address = 0209B450
camera object pointer = base address value - A8

ALSO, the HUD glitch in the first post is possible to perform and you can still play. Force the address 0209F394 to 00000000

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-12-16 09:53 AM, in The LoZ: OOT/MM Mods Thread Link | #76035
what about Ocarina of Time 3rd Quest?!



____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-14-16 07:28 PM, in SM64DS Behaviour Documentation Link | #76129
Posted by Hiccup
Good work. Do you think you could find unused object code this way?


Probably not, the best way to find behaviour of a moving object is get their address, and then add 0x5C, 0x60, or 0x64 to their object address for their XYZ pos. Its similar for their speeds and rotations, just different offsets to add. It's pretty object specific. For other objects like coins, silver stars, etc. just simple []! breakpoints work to find code.

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-14-16 07:33 PM, in Need some help with the title screen heads Link | #76130
I know hes banned know but is it posisble that the .bca is trying to move non existent bones in his model or something?

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-18-16 10:10 AM, in Land Lord GB (Super Mario Land Editor Progress) (rev. 5 of 08-18-16 10:23 AM) Link | #76232
So I started making this tool a while back just for fun, but quit. Now I decided to bring it back. A Super Mario Land Hacking tool. It also comes with a list of compiled information such as: Level Structure, Object Data, ROM Map, RAM Map, Text Editing, etc. (almost all of it is not by me, I just compiled it, I contributed a tiny bit though)

Currently, Land Lord GB has no tile based interface, its written in C#, and I've only implemented object ID editing. (not position editing).

If I happen to want to do more after its done, Ill make an actual user interface where you can move around the actual tiles and stuff.

Don't know if/when this will be finished, just thought I'd show it off anyway.

[image]

[image]

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-19-16 09:18 AM, in Land Lord GB (Super Mario Land Editor Progress) (rev. 2 of 08-19-16 09:19 AM) Link | #76280
Posted by Anthe
I love Super Mario Land. This is my dream. Please continue!


I've continued since the first post, I've fixed a few bugs, and the program now reads object positions. However, I still need to implement writing object positions. The most time consuming part is going through the level data and finding which object is which.

I'd really like to make a tile based interface in the future, but we'll see. I have no clue how I would do any of that.

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-19-16 09:29 PM, in Super Mario Galaxy DS (rev. 2 of 08-19-16 09:30 PM) Link | #76306
Posted by Hiccup
That doesn't actually fix the problem of it being difficult to code. The calculations are still complicated and implementing it would require large amounts of RE'ing and recoding.


Even if you could somehow manage to get that working, getting objects and enemies to stay where they are supposed to be would be very finicky.

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-20-16 01:51 AM, in SM64DS Editor Help Thread - Post your questions here Link | #76320
I know its not sm64ds specific, but whenever I apply a .xdelta patch for sm64ds rom hacks, it gives me "xdelta3: target window checksum mismatch: XD3_INVALID_INPUT"

Patch is obviously the .xDelta file, tried source as a vanilla EUR SM64DS, didn't work, opened it in sm64dse, still get the same error. Path name is "blahblah.nds"

Patches are the reasons we can't have nice things.

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-20-16 08:26 AM, in coding Languages for hacking games. Link | #76325
Posted by MrRean
wrong, WiiU uses ARM too


Oh shit, I wanna look at Wii U roms now since I know a lot of ARM. Is there some sort of Wii U rom debugging emulator?

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-20-16 07:26 PM, in coding Languages for hacking games. Link | #76331
Well idk how to reverse engineer stuff without emulation (breakpoints specifically), guess ill just wait for no$you debugger :P

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-20-16 07:31 PM, in SM64DS Editor Help Thread - Post your questions here Link | #76332
happened with your deku link hack, which I know you use eur. And yes, I tried a clean rom, but it didnt work, so I opened it in sm64dse, and it gives the same error. Not exactly sure what it means, but I got the same error with the two star land xdelta patches, and another hack, cant remember the name of it.

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-24-16 05:49 AM, in Super Mario Galaxy DS Link | #76409
What ASM stuff do you want done specifically? I said I would never associate with any SMGDS projects, but I'm growing bored of making Misc. ASM hacks that aren't used in any hacks. All I ask is a credit in return.

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-24-16 06:05 AM, in Super Mario Sunshine 64 DS (rev. 2 of 08-24-16 06:06 AM) Link | #76410
So are you gonna give Yoshi eatable fruit power-ups? Doesn't seem very hard, just tedious.

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP

Sparsite
Posted on 08-25-16 04:25 AM, in Super Mario Galaxy DS Link | #76458
Posted by Resilixia
@Sparsite If there is something I'm fond of doing is credit people for their work (check first page), maybe (spin Wiimote) launch stars may help travelling more nicely from planets to planets instead of doors or pipes but I'm unsure about DS draw distances.


Those don't sound too hard to make, except the code would have to be very specific as I need to know where to shoot the player. I could just make several behaviours and based on parameter 1 of the object, it could shoot you to different places. I'll experiment and probably PM you about further development discussion.

____________________
ASMR:
*quietly whispers*
move r0 r7
push r4 to r14
load register r4 into r0
POP
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Main - Posts by Sparsite

Page rendered in 0.042 seconds. (2048KB of memory used)
MySQL - queries: 21, rows: 141/141, time: 0.012 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.