Kuribo64
Views: 19,850,337 Home | Forums | Uploader | Wiki | Object databases | IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search
03-28-24 10:06 AM
Guest:

0 users reading SM64DS Editor Help Thread - Post your questions here | 1 bot

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

Pages: 1 2 3 4 5 ... 41 42 43 44 45 46 47 48 49 ... 62 63 64 65 66
Fiachra
Posted on 01-17-16 10:06 AM Link | #67069
Posted by FireMario74
I followed the tutorial and the map ended up looping once and it didn't show the entire map on the screen.
...
I tried to line it up and I even tried changing the scaling but no dice. Any ideas? Sorry to be a pain. Thanks!


What was the minimap size of the original level? Whichever it is, you'll need to ensure that the image you're importing is the same size. The tutorial above covers all 3 scenarios:
128x128 minimap
256x256 minimap
128x128 minimap with a hardcoded extra portion

FireMario74
Posted on 01-17-16 04:33 PM Link | #67072
It's a 128x128 minimap. I followed the tutorial for that specific one and it ended up just like the screenshot did. The main issue is the fact that it got stretched in such an odd way. Also whenever I move with Yoshi he moves REALLY fast on the map, he moves normal speed in the model but not on the map.

Fiachra
Posted on 01-17-16 05:11 PM Link | #67075
Which level are you replacing and with image are you replacing the minimap?

To fix the issue with Yoshi, play about with the scale setting within the minimap editor - not the minimap scale object.

FireMario74
Posted on 01-17-16 08:19 PM Link | #67080
I'm replacing Peach's secret slide.

Fiachra
Posted on 01-19-16 07:34 PM Link | #67099
Peach's Secret Slide is very straightforward - standard 128x128:
- Open the minimap editor
- Ensure that the image you want to import has dimensions 128x128
- Click on "Import" and select your image

FireMario74
Posted on 01-19-16 09:31 PM Link | #67101
I did just that and I was resulted with the exact same issue. I figured out one problem though! I fixed Yoshi moving too fast on the map by changing the Co-ordibate Scale to 1.6.

Fiachra
Posted on 01-20-16 08:59 PM (rev. 2 of 01-20-16 09:00 PM) Link | #67119
Posted by FireMario74
I did just that and I was resulted with the exact same issue. I figured out one problem though! I fixed Yoshi moving too fast on the map by changing the Co-ordibate Scale to 1.6.

I tried importing this sample 128x128 image from the tutoriall and it worked fine:
[thumbnail]

FireMario74
Posted on 01-21-16 01:44 AM Link | #67126
Something must have gone wrong when it imported. It works fine for me when I import the map into a test rom.

Fiachra
Posted on 01-21-16 07:25 AM Link | #67128
Try exporting the level to XML and re-importing it - if something's gone wrong in the overlay this should fix it as it'll generate a completely new one.

FireMario74
Posted on 01-21-16 05:19 PM (rev. 3 of 01-27-16 02:10 PM) Link | #67134
It seems to have worked! Thank you for taking the time and patience!

EDIT:
Well I think I figured out exactly what the issue was. I changed the act selector ID in the level settings to 29 instead of 21 in the level when I first modified it. That ended up causing the glitch. Sorry for the trouble, but thanks for the help!

EDIT 2:
I have another question. How do I modify the required stars to open a star door? Thanks!

Fiachra
Posted on 01-27-16 08:49 PM Link | #67290
Posted by FireMario74
I have another question. How do I modify the required stars to open a star door? Thanks!

That'll require assembly hacking. You can use the following AR code as a starting point:
All Castle Doors Unlocked
1209caa4 0000ffff
2209caa6 000000ff

This indicates that 0x0209CAA6 contains information for unlocking the various castle doors. If you can find where that address is written to (add breakpoint "[0x0209CAA6]!" after unlocking a door, you should be able to work backwards and find where it performs a check on the number of stars you've unlocked.

FireMario74
Posted on 01-29-16 09:30 PM Link | #67362
Okay thanks! I'm going to look into that soon. I've stumbled across another issue. When I change the CLPS to water and assign it to my water terrain, I can walk through it. I ended up assign it to grass earlier by total accident and it worked fine then but it doesn't want to work on my water texture. And clue what the problem could be? Thanks!

Fiachra
Posted on 01-30-16 10:14 AM Link | #67381
What size are the polygons of the water terrain? I've found that they need to be smaller than they otherwise would for other terrain types for them to work correctly. Try selecting your water polygons and subdividing them.

FireMario74
Posted on 01-30-16 05:11 PM (rev. 4 of 02-05-16 10:05 PM) Link | #67385
It worked! It was a rather large body of water. Thank you! :D
EDIT: How do I assign the nodes to Koopa the Quick in a Koopa the Quick race? Thanks
EDIT2: I should have figured that part out myself. Sorry about that.

Fiachra
Posted on 01-31-16 11:02 AM Link | #67437
It's in the object database.

FireMario74
Posted on 02-05-16 10:28 PM Link | #67555
I have come across 2 new problems. I want to insert a custom background over"Foggy Forest" which is an existing one found in the level where you rescue Mario. I know I need to locate it within the file system but I can't find it. The other issue is I want to play a mini game song in one of my levels but I don't have the numbers that go in the level settings. Do you by chance have them? Thanks man! :D

Fiachra
Posted on 02-06-16 05:14 PM Link | #67558
The order of the "skybox"s is the same within the "/data/vrbox" directory as it is in the level settings dialogue. You can confirm you've the correct one by opening the level editor > 3d model > Import other model > Select the BMD file > Texture and BTP Editor.

No idea unfortunately. Try searching "Skelux"'s post history, he did some investigation around that sort of thing.

SuperMario64DS
Posted on 02-06-16 06:00 PM (rev. 2 of 02-06-16 06:01 PM) Link | #67559
@FireMario74

I don't quite remember either, but you should be able to locate the Minigame's Music IDs using Skelux's music tutorial (See the sticky) by listening to them. Unfortunately, any attempt I made to set minigame music within a level resulted in no BGM.

Skelux shouldn't be hard to locate, if he'll answer. I'm not sure if we're allowed to mention his forum (IIRC him and StapleButter had a falling out), but you'll find him if you look.

FireMario74
Posted on 02-08-16 06:10 PM Link | #67599
Okay thanks! I'll ask around about the music changing. Do you guys have any idea how to change the draw distance? Thanks!

Fiachra
Posted on 02-09-16 07:42 PM Link | #67624
Yes, objects' draw distance is stored at an offset of 0xBC. To change an object's draw distance you'll have to find the object's constructor and place a hook before the end of the method and after 0xBC is written to. To do this:
  1. Modify a level so that the only objects in it are Mario and the object whose draw distance you want to edit
  2. Open the ROM in no$gba debugger
  3. Save a snapshot just before you select/enter your level. This'll save time
  4. Place a breakpoint at 020110EC
  5. Load your level
  6. Your breakpoint will be hit every frame for every object whose address will be in r4. Since there are only two it will be easy to find which is the one you want to edit. If the first four bytes are 0x0210A83C then it's Mario and yours will be the next one.
  7. Once you have the address of your object make a note of the first four bytes - it's an address.
  8. "Goto" that address. You've got another address - this is the address of the object's constructor. It's within this method that you'll want to place your hook.
  9. Pause the emulation and set the following breakpoint "r15=0xXXXXXXXX" where XXXXXXXX is the constructor address. Load the snapshot you took and resume emulation.
  10. Step over the code until you see that the (integer) value at offset 0xBC has been modified. You'll need to place your hook at some point after this.
  11. Find a safe place to place your hook ie. not on a branch, ldr or cmp instrcution and ensure that the object's address is available in one of the registers.
  12. Locate the overlay in which the constructor resides. To do this, create a new ROM and open it in SM64DSe and select "More" > "Decompress Overlays Within Game". Now select "More" > "Dump All Overlays". Next open each overlay in a hex editor and perform a search on the instructions within the constructor, note that you'll need to reverse the order of bytes when entering the search text, repeating until you've found a match (I intend to add a search feature for this).
  13. Now you can write your hook in the format of the below example, replacing XXXXXXXX with the address at which the hook is to be placed, YY with the hexadecimal representation of the overlay ID in which XXXXXXXX is found, 0xZZZZZZZZ with the draw distance and W with the register containing the object's address:
    void hook_XXXXXXXX_ov_YY()
    {
    asm
    (
    "mov r1, #0xZZZZZZZZ \t\n"
    "str r1, [rW, #0xBC] \t\n"
    );
    }
  14. Use NSMBe editor to compile and insert your patch.
Pages: 1 2 3 4 5 ... 41 42 43 44 45 46 47 48 49 ... 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.036 seconds. (2048KB of memory used)
MySQL - queries: 28, rows: 236/236, time: 0.016 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.