Kuribo64
Views: 19,854,928 Home | Forums | Uploader | Wiki | Object databases | IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search
03-29-24 07:33 AM
Guest:

0 users reading SM64DS Editor Help Thread - Post your questions here | 1 guest | 2 bots

Main - General SM64DS hacking - SM64DS Editor Help Thread - Post your questions here Hide post layouts | New reply

Pages: 1 2 3 4 5 6 7 8 9 ... 62 63 64 65 66
Cackletta
Posted on 02-06-14 07:13 PM Link | #38302
What assembly syntax does the DS use? Like the N64 uses Mips R4300i

____________________
Subscribe to my youtube channel
Follow me on twitter
My Modification's progress thread here

Fiachra
Posted on 02-06-14 08:53 PM Link | #38304
It's ARM assembly. It's documented here:

http://nocash.emubase.de/gbatek.htm

Cackletta
Posted on 02-07-14 06:08 AM Link | #38313
Posted by Fiachra
It's ARM assembly. It's documented here:

http://nocash.emubase.de/gbatek.htm

Great! Now what's left to do is to find sm64ds checksum area, I may upload it for the crew to make it easier to asm hack sm64ds

____________________
Subscribe to my youtube channel
Follow me on twitter
My Modification's progress thread here

skawo
Posted on 02-21-14 05:44 PM (rev. 3 of 02-21-14 05:50 PM) Link | #38798
I'm having trouble locating where the "what level to return to" values are for the Play Room levels and the Bowser levels (i.e Princess' Slide, Sunshine Islands, Goomboss Battle, Bowser at the Fire Sea). Anyone got any idea?

Fiachra
Posted on 02-21-14 05:52 PM Link | #38799
After completing getting a star? Is it not just the level you were in before entering it?

skawo
Posted on 02-21-14 06:24 PM Link | #38800
That's what happens with levels inside the castle lobby's first floor...but not for the ones listed for some reason.

Fiachra
Posted on 02-21-14 06:51 PM Link | #38801
It might be hard coded which level to return to for Castle Secret Stars, or it could be hard coded for those levels. If that's the case you'd have to debug through the ROM to find out where. For the EUR ROM the level ID will end up in memory address 0209f2f8 (from AR code to load a particular level). I worked back and was able to find where the 'Exit Course' and starting level ID's were hardcoded. The same could possibly be done for these levels.

It could also be something simpler like the parameters of the Exit objects to those levels.

skawo
Posted on 02-21-14 07:51 PM Link | #38807
Well, it's definitely not the entrance settings...
I've tried searching memory for the return value, but it doesn't seem to be always loaded into the same place...Gyah.

Fiachra
Posted on 02-21-14 08:00 PM Link | #38808
Place a breakpoint at 0209f2f8 for when the level ID of the returned level gets written to it, eg. [0209F2F8]=2 will create a breakpoint for when the level to load is set to 2 (Castle 1st Floor). Then keep working backwards. The value in R14 should usually contain the calling method.

xjonx
Posted on 02-21-14 08:21 PM (rev. 2 of 02-21-14 08:21 PM) Link | #38809
when I import a minimap in the minimap editor I get a error:

************** Exception Text **************
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at SM64DSe.INitroROMBlock.Read32(UInt32 addr)
at SM64DSe.NitroFile..ctor(NitroROM rom, UInt16 id)
at SM64DSe.NitroROM.GetFileFromInternalID(UInt16 intid)
at SM64DSe.MinimapEditor.RedrawMinimap(LevelEditorForm _owner)
at SM64DSe.MinimapEditor.importBMP(String filename)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Here is my bitmap image thats the right size for Bob-Omb Battlefield (128x128):

Fiachra
Posted on 02-21-14 08:50 PM Link | #38810
I wasn't able to get the error but it just appeared black - the problem is that your image needs to be indexed (Image>Mode>Indexed for GIMP and Photoshop).

http://www.sendspace.com/file/n8mawq

skawo
Posted on 02-21-14 08:55 PM (rev. 2 of 02-21-14 08:57 PM) Link | #38812
Uh, heh, I unfortunately must admit I don't really have an idea of what I'm doing there.

I found out that the level value gets put into 0x02097360 in USv1 ROM, and toggled a breakpoint there and it changed where the player went (to Cool Cool Mountain for some reason), but I have no idea where to go from here.

I shall try some more I guess.

xjonx
Posted on 02-21-14 08:55 PM Link | #38813
Posted by Fiachra
I wasn't able to get the error but it just appeared black - the problem is that your image needs to be indexed (Image>Mode>Indexed for GIMP and Photoshop).

http://www.sendspace.com/file/n8mawq

Thanks :)

Fiachra
Posted on 02-21-14 09:03 PM Link | #38814
skawo: Decompiling the ROM in IDA Pro with the NDS plugin might make it easier, it'll show you where methods get called from etc. - the problem with it though is that it won't decompile the overlays as well (unless I've been doing something wrong).

I recently updated the patch 'Change Exit Course' to also include the US and JAP ROM's. Debugging through from that value may help give you an understanding of the level loading.

xjonx
Posted on 02-21-14 11:19 PM Link | #38819
How can I make warps, I don't mean tube warps I mean warps the teleport you when staying still?

skawo
Posted on 02-22-14 09:18 AM (rev. 4 of 02-22-14 09:47 AM) Link | #38828
Allrighty!

0x208FCBC -> Which level to return to value

0x2073310 - Goomboss Battle Map Return
0x2073304 - Bowser Fire Sea return

and in ROM that would be...
0x73310 < Goomboss Battle (Original is 2c 32 03...) [2c -> level you're in, 32 -> level to go to, 03 -> entrance to go to)
0x73305 < Bowser Fire Sea (Original is 23 02 0a...)

Seems like at that point there's some table with all of these.

...unfortunately this still leaves finding the values that take you to specific entrances when you get the key from those.

Fiachra
Posted on 02-22-14 09:51 AM Link | #38829
/\/\/-\RI0|_0\/3R: Add objects of type Teleport Source (where you want to teleport from) and Teleport Destination (where you want to teleport to). For Teleport Source parameter 2 should be set to the ID (zero-based index) of the Teleport Destionation followed by zero. Eg. if you wanted a Teleport Source to warp to the third Teleport Destination set parameter 2 to 20.

skawo: Good job!
I'll try and include this in the level overlay (like what was done for the music bytes) and (either way) make it editable through the Level Settings form.

skawo
Posted on 02-22-14 10:50 AM (rev. 2 of 02-22-14 10:52 AM) Link | #38830
20C006C < Goomboss key return level (0xcad50) [32 30 a0 e3 98] (32 is the level you go to)
20C0074 < Goomboss key return entrance (0xcad58) [03 20 a0 e3 20] (03 is the level you go to)
20C0034 < Bowser in the fire sea key return level (0xcad18) [02 30 a0 e3 d0] (02 is the level you go to)
20C003C < Bowser in the fire sea key return entrance (0xcad20) [0a 20 a0 e3 20] (0a is the level you go to)

Again, seems like there's some table around there with all the key exits.
Just remember that this is for USv1 ROM, so just search for the stuff in []s and you'll know where it is in other roms.

Fiachra
Posted on 02-22-14 11:52 AM Link | #38832
Posted by me
I'll try and include this in the level overlay

The table doesn't have an entry for each level in the game, it seems to only be for levels such as Bowser and other bosses.

I'll add them as patches so you can change them more easily as well as the key return levels. Useful for people making full hacks.

skawo
Posted on 02-22-14 11:54 AM (rev. 2 of 02-22-14 12:06 PM) Link | #38833
Indeed.

And, yet another issue. It seems that the big star doors...don't have collision? It looks like the barrier that blocks you from entering is...hardcoded. Sigh.

Edit: Wait, whaaaa? It actually just has a collision that only lets you through if you're going through a door? That's effing weeeeird.
Pages: 1 2 3 4 5 6 7 8 9 ... 62 63 64 65 66

Main - General SM64DS hacking - SM64DS Editor Help Thread - Post your questions here Hide post layouts | New reply

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