Kuribo64
Views: 19,850,838 Home | Forums | Uploader | Wiki | Object databases | IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search
03-28-24 01:48 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

Pages: 1 2 3 4 5 ... 44 45 46 47 48 49 50 51 52 ... 62 63 64 65 66
Fiachra
Posted on 04-27-16 08:03 PM (rev. 2 of 04-27-16 08:04 PM) Link | #70067
Posted by pacmainia&luigi
No, I didn't change the textures.

Can you list exactly what was changed in your ROM?

Posted by isceptul
ok i will experiment with position updating. On the other hand, is the "if silverstars > 0 {" line correct? Or is there some other way i have to check the value of an address?

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
Posted on 04-27-16 11:48 PM (rev. 5 of 04-28-16 12:32 AM) Link | #70069
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
Posted on 04-27-16 11:59 PM Link | #70070
Posted by Fiachra
Can you list exactly what was changed in your ROM?

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
Posted on 04-28-16 12:16 AM (rev. 2 of 04-28-16 12:17 AM) Link | #70071
@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
Posted on 04-28-16 07:49 PM Link | #70078
Posted by isceptul
@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.

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
Posted on 04-28-16 08:09 PM Link | #70079
Posted by isceptul
So would that be the same for writing values? Ex.

(*((volatile byte*)(SILVER_STARS)) = 0)
...

You don't need those brackets at the start and end but yes:
*((volatile byte*)(SILVER_STARS)) = 0;

Posted by isceptul
...
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
?

You could just use:
*((volatile byte*)(SILVER_STARS)) += 1;

Posted by pacmainia&luigi
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

Can you try undoing the "Skip Introduction" patch (make a backup first)?

isceptul
Posted on 04-28-16 08:24 PM Link | #70080
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
Posted on 04-29-16 08:29 PM Link | #70101
Posted by Fiachra
Can you try undoing the "Skip Introduction" patch (make a backup first)?

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
Posted on 04-30-16 08:57 AM Link | #70152
Can you send me an xDelta patch of your ROM and specify which ROM version it is?

isceptul
Posted on 05-01-16 05:25 PM (rev. 2 of 05-01-16 05:26 PM) Link | #70218
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
Posted on 05-01-16 06:44 PM (rev. 2 of 05-01-16 06:45 PM) Link | #70222
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
Posted on 05-02-16 10:48 AM Link | #70278
Posted by isceptul
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.)

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
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?

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
Posted on 05-04-16 07:30 AM (rev. 4 of 05-04-16 11:12 PM) Link | #70346
Posted by Fiachra
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.


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
Posted on 05-06-16 08:17 PM (rev. 2 of 05-29-16 05:43 PM) Link | #70442
Posted by Fiachra
Can you send me an xDelta patch of your ROM and specify which ROM version it is?

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
Posted on 05-08-16 02:27 PM Link | #70576
thanks for this amazing editor treeki

____________________
a

isceptul
Posted on 05-14-16 01:12 AM (rev. 2 of 05-14-16 01:22 AM) Link | #70715
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
Posted on 05-14-16 09:39 AM Link | #70718
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
Posted on 05-15-16 09:17 AM Link | #70726
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
Posted on 05-15-16 03:00 PM Link | #70729
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
Posted on 05-15-16 04:40 PM Link | #70731
Have you tried adding a breakpoint at 0x020E50AC and seeing what's happening?
Pages: 1 2 3 4 5 ... 44 45 46 47 48 49 50 51 52 ... 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.029 seconds. (2048KB of memory used)
MySQL - queries: 26, rows: 234/234, time: 0.011 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.