![]() | ||
Views: 23,848,086 |
Home
| Forums
| Uploader
| Wiki
| Object databases
| IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search |
02-17-25 11:15 PM |
Guest: |
0 users reading SM64DS Editor Help Thread - Post your questions here | 2 bots |
Main - General SM64DS hacking - SM64DS Editor Help Thread - Post your questions here | Hide post layouts | New reply |
Fiachra |
| ||
Local moderator Level: 65 Posts: 938/1065 EXP: 2317734 Next: 17894 Since: 12-15-12 From: Ireland Last post: 2458 days ago Last view: 408 days ago |
Posted by pacmainia&luigi Can you list exactly what was changed in your ROM? Posted by isceptul Use DeDmuME's "RAM search" feature to find the address of the Silver Star count. You'd then read it using: const unsigned int SILVER_STARS = 0xZZZZZZZZ; ... if (*((volatile byte*)(SILVER_STARS)) > 0) { ... } |
isceptul |
| ||
![]() Red Paragoomba Sparsite dupe Level: 17 Posts: 43/54 EXP: 23120 Next: 1623 Since: 11-03-15 Last post: 3193 days ago Last view: 3045 days ago |
So would that be the same for writing values? Ex.
(*((volatile byte*)(SILVER_STARS)) = 0)
also what if i wanted to increment by 1? ex. SILVER_STARS = SILVER_STARS + 1, would it be: (*((volatile byte*)(SILVER_STARS)) = (*((volatile byte*)(SILVER_STARS)) + 1
? |
pacmainia&luigi |
| ||
![]() Red Paratroopa Hacker Level: 29 ![]() Posts: 50/178 EXP: 138456 Next: 9429 Since: 10-29-15 From: The Grandfather Paradox Time Loop Last post: 2115 days ago Last view: 1755 days ago |
Posted by Fiachra well, here's a list: 1.changed marios textures 2.imported custom level model 3.imported multicolored pianta but did not do asm step (where can I learn assembly hacking, anyway?) 4. applied "skip intro" patch ____________________ Waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka......... |
isceptul |
| ||
![]() Red Paragoomba Sparsite dupe Level: 17 Posts: 44/54 EXP: 23120 Next: 1623 Since: 11-03-15 Last post: 3193 days ago Last view: 3045 days ago |
@pacmainia&luigi im currently still learning asm, but look up ARM Assembly, study it closely, and play around with it. To do stuff in game you will need to use both no$gba debugger, and desmumes ram search feature. Also, you can learn a lot from NSMBHD, http://nsmbhd.net/forum/8-asm-hacking/ make sure you read the ASM hacking files that come with the patch template too like SM64DS.h, Hover example, etc.
I'm currently still pretty noob-ish with asm, but the above steps have helped me learn. Fiachra has helped me a lot. Go check my "Custom behaviour" thread. Fiachra explains some of the basics and you can try an ASM excercise. |
pacmainia&luigi |
| ||
![]() Red Paratroopa Hacker Level: 29 ![]() Posts: 51/178 EXP: 138456 Next: 9429 Since: 10-29-15 From: The Grandfather Paradox Time Loop Last post: 2115 days ago Last view: 1755 days ago |
Posted by isceptul Thanks! ____________________ Waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka......... |
Fiachra |
| ||
Local moderator Level: 65 Posts: 939/1065 EXP: 2317734 Next: 17894 Since: 12-15-12 From: Ireland Last post: 2458 days ago Last view: 408 days ago |
Posted by isceptul You don't need those brackets at the start and end but yes: *((volatile byte*)(SILVER_STARS)) = 0;
Posted by isceptul You could just use: *((volatile byte*)(SILVER_STARS)) += 1;
Posted by pacmainia&luigi Can you try undoing the "Skip Introduction" patch (make a backup first)? |
isceptul |
| ||
![]() Red Paragoomba Sparsite dupe Level: 17 Posts: 45/54 EXP: 23120 Next: 1623 Since: 11-03-15 Last post: 3193 days ago Last view: 3045 days ago |
Ok @fiachra I have made the asm code you pmd me to make, it compiles correctly and works too! It gives 2 coins instead of 1. |
pacmainia&luigi |
| ||
![]() Red Paratroopa Hacker Level: 29 ![]() Posts: 52/178 EXP: 138456 Next: 9429 Since: 10-29-15 From: The Grandfather Paradox Time Loop Last post: 2115 days ago Last view: 1755 days ago |
Posted by Fiachra Nope, that didn't work either. ____________________ Waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka......... |
Fiachra |
| ||
Local moderator Level: 65 Posts: 941/1065 EXP: 2317734 Next: 17894 Since: 12-15-12 From: Ireland Last post: 2458 days ago Last view: 408 days ago |
Can you send me an xDelta patch of your ROM and specify which ROM version it is? |
isceptul |
| ||
![]() Red Paragoomba Sparsite dupe Level: 17 Posts: 46/54 EXP: 23120 Next: 1623 Since: 11-03-15 Last post: 3193 days ago Last view: 3045 days ago |
I imported my level, and got a white screen, so I removed all texture animations, and now the character falls right through the floor of the map and dies instantly. This was a unmodified rom (before i imported the level.) |
Hiccup |
| ||
Normal user Level: 58 Posts: 480/815 EXP: 1568993 Next: 8553 Since: 09-06-12 Last post: 1989 days ago Last view: 67 days ago |
What is that box that appears when you double click on "All stars"? Is it a feature to-do with the missions, or some kind of Easter egg? |
Fiachra |
| ||
Local moderator Level: 65 Posts: 942/1065 EXP: 2317734 Next: 17894 Since: 12-15-12 From: Ireland Last post: 2458 days ago Last view: 408 days ago |
Posted by isceptul It sounds like you haven't imported your collision map correctly. This could be a few things: 1. The scale is wrong - did you change import the collision map separately and use a different scale value? 2. You've set "drop faces below" to a value greater than zero and the editor has removed faces whose size is below that threshold upon which Mario tries to land. Try setting it to zero or else merging very small faces together. 3. You've tried to import a collision map with a triangle that is too big for the KCL format to handle. Try subdividing any huge triangles. 4. You havne't assigned a "solid" collision type to the collision map. Posted by Hiccup Should probably remove that, Mega-Mario added that in very early versions of the editor to allow access to the unstable model importer to those that knew the password. Since the model importer is now available to everyone, there's no need for that screen. Don't actually know the password. |
isceptul |
| ||
![]() Red Paragoomba Sparsite dupe Level: 17 Posts: 47/54 EXP: 23120 Next: 1623 Since: 11-03-15 Last post: 3193 days ago Last view: 3045 days ago |
Posted by Fiachra The collision map isnt scaling with the model. I dont see any option to set the collision scale. EDIT: Went into kcl editor and imported my obj as a collision map and scaled it to the same scale and it gives me a white screen. EDIT#2: I'm having a problem with my code. I'm trying to use the position values in sm64ds.h but when i try to compile it in Msys it says xPos was not declared in this scope (same for Y and Z) I have #include "SM64DS.h" at the very top of my code. and also I have a line that goes: unsigned int spawnedObject = SpawnActor(OBJ_ZZZ_ACTOR_ID, param01, TmpPos, TmpRot);
but it says that spawnedObject is an unused variable, how do I fix these errors? |
pacmainia&luigi |
| ||
![]() Red Paratroopa Hacker Level: 29 ![]() Posts: 54/178 EXP: 138456 Next: 9429 Since: 10-29-15 From: The Grandfather Paradox Time Loop Last post: 2115 days ago Last view: 1755 days ago |
Posted by Fiachra It's a European ROM. Download xdelta ____________________ Waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka......... |
shibboleet |
| ||
![]() Fire Mario DROP TABLE users; Level: 124 Posts: 4050/4661 EXP: 21601976 Next: 234625 Since: 07-07-12 Last post: 1647 days ago Last view: 660 days ago |
thanks for this amazing editor treeki ____________________ a |
isceptul |
| ||
![]() Red Paragoomba Sparsite dupe Level: 17 Posts: 48/54 EXP: 23120 Next: 1623 Since: 11-03-15 Last post: 3193 days ago Last view: 3045 days ago |
Anyone know why my input isnt working? Its supposed to give me 5 coins when I press Y but nothing happens.
my code: #include "SM64DS.h"
#include "keys.h" const unsigned int COINS = 0x0209F358; void hook_020e50ac() { if (CHARACTER == CHAR_Mario) { myScanKeys(); if(keysDw & KEY_Y); { *((volatile byte*)(COINS)) += 5; } } } my keys.h file: #include<nds.h> static int keys, oldKeys, keysDw; static bool first = true; void myScanKeys() { first = false; int keys = ~REG_KEYINPUT; if(first) oldKeys = keys; keysDw = keys & ~oldKeys; oldKeys = keys; } int myKeysHeld() { return keys; } int myKeysDown() { return keysDw; } |
Hiccup |
| ||
Normal user Level: 58 Posts: 491/815 EXP: 1568993 Next: 8553 Since: 09-06-12 Last post: 1989 days ago Last view: 67 days ago |
I tried replacing the BitDW-fight model with the battle fort one, by using the XML export feature (but not replacing the overlay), but it crashes for some reason. Any idea why? |
Fiachra |
| ||
Local moderator Level: 65 Posts: 947/1065 EXP: 2317734 Next: 17894 Since: 12-15-12 From: Ireland Last post: 2458 days ago Last view: 408 days ago |
isceptul: Have you actually tried debugging your code? Instead of just providing your code and asking others to do all the investigation you should have at least tried to step through the code to see where the issue is. It's probably going to be that one of your conditional statements is evaluating to false instead of true. Try to work out which it is and why.
Hiccup: What if you try changing the act selector ID to match that of the original level? Maybe the game is hard-coding stuff again. |
isceptul |
| ||
![]() Red Paragoomba Sparsite dupe Level: 17 Posts: 50/54 EXP: 23120 Next: 1623 Since: 11-03-15 Last post: 3193 days ago Last view: 3045 days ago |
Fiachra, ye ive tried. I looked through some of the devkit pro files for the ds inputs and found the inputs listed as "KEY_A, KEY_B, etc." but I couldnt get those to work, so I asked a thread and some guy told me to use the keys.cpp that comes with nsmb so I did it and it still doesnt work. I couldnt find anything else about key presses. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 948/1065 EXP: 2317734 Next: 17894 Since: 12-15-12 From: Ireland Last post: 2458 days ago Last view: 408 days ago |
Have you tried adding a breakpoint at 0x020E50AC and seeing what's happening? |
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: 234/234, time: 0.015 seconds. ![]() © 2005-2008 Acmlm, Xkeeper, blackhole89 et al. |