skawo |
Posted on 08-09-14, 09:57 pm in Rips from Newer NSMB Titles
|
Karma: 19757 Posts: 37/1100 Since: 04-02-13 |
Posted by TRS Actually, I was told by someone that Newer tilesets were free to use as long as you give credit. I haven't confirmed this for myself, but if it's true then I was planning on maybe doing some Newer tilesets. I can confirm it. Hooray? |
skawo |
Posted on 04-20-15, 07:42 am in Newer Super Mario Bros. DS
|
Karma: 19757 Posts: 129/1100 Since: 04-02-13 |
Posted by SaturnYoshi I'm gonna have to agree with Mariomaster, that background looks really bad. What's even wrong with it? It's the same idea as in NSMBW's airship and of course it is going to move around when the boss is zooming around, that would happen to every single background I could put there. Posted by SaturnYoshi
My only other complaint would be that the level does not have a very large variety of enemies, there are only a couple bob-ombs and everything else is just fire cannons. (I forget their name ) What is this even. A set of four enemies for a level is perfectly fine. There's levels in NSMBDS with only one. In fact, the longest level in NSMBDS (The final castle) has the same amount as that airship. The most varied of levels have five.In fact, news flash: if you're putting a large enemy variety into your levels, you're doing it wrong. Wrong, wrong, wrongity wrong. |
skawo |
Posted on 12-11-15, 07:34 pm in Newer Super Mario Bros. DS
|
Karma: 19757 Posts: 219/1100 Since: 04-02-13 |
Go eat a hat, you programmer extraordinaire
|
skawo |
Posted on 12-31-15, 11:00 pm in tutorial Resize (looped) SWAVs (rev. 2 by skawo on 12-31-15, 11:10 pm)
|
Karma: 19757 Posts: 226/1100 Since: 04-02-13 |
Before I begin, I should mention that this process is quite crummy and you'll have to fiddle with the results to get it working quite right. The point of this is to get songs that wouldn't quite fit into the RAM to the point of doing so.
1. Convert the swavs to WAV using either VGMTrans or Kiwi.ds. Keep a copy of the unconverted swavs somewhere, as well. 2. Open the wav corresponding to the swav you want to resize in audacity. Change the "Project rate(Hz)" to something lower than it is. Export the result as an Uncompressed 8-Bit PCM WAV. (Yes, this will lower quality, but that's unfortunately how it'll have to be) 3. Reconvert the WAV to SWAV using wav2swav 4. Open the original, unmodified swav and your newly made one simultaneously in a Hex Editor. 5. Take note at 0x19 in the unmodified swav. If it's 0, skip to step 15. If it's 1, keep going. 6. From the unmodified swav, note down: 2 bytes at 0x8 (Overall filesize) 2 bytes at 0x1e (Loop Point) 2 bytes at 0x20 (Non-Looped Size) From the newly created swav, note down the 2 bytes at 0x8. 7. Change the order of the bytes in each case (so, if you have "0E56" noted, change it to "560E" 8. Change the hex values you now have to decimals (use, eg. Windows' Calculator's Programmer mode) 9. Calculate what percent the loop point and the non-looped size are of the overall filesize of the unmodified swav (Divide the loop point and the non-looped size by the overall filesize). Note down the results to the fourth number after the dot. 10. Multiply the overall filesize of the newly created swav individually by the values you came to in step 9. 11. Change the results you come to in step 10 to hex. 12. Change the number of bytes of the hex values you arrived to in step 11 (So, if you have "0012", change it to "1200") 13. Insert the byte-order changed hexadecimal you arrived at by multiplying new SWAV's filesize by the percent the original loop point was of the original filesize at 0x1e of the new SWAV. 14. Insert the byte-order changed hexadecimal you arrived at by multiplying new SWAV's filesize by the precent the original non-looped size was of the original filesize at 0x20 of the new SWAV. 15. Save the new SWAV. Rebuild the SWAR using SWAV2SWAR. 16. Test the song. If there's something wrong, and your song has 0x1 at 0x19, subtract 0x10 from the loop point (i.e decrease value at 0x1e) in the new swav and try testing again. |
skawo |
Posted on 03-10-16, 02:24 am in release Super Mario: Endless Earth (rev. 3 by skawo on 03-10-16, 02:30 am)
|
Karma: 19757 Posts: 291/1100 Since: 04-02-13 |
Progress on that
You press A and it shows an enpg from a list. Woot. Timing/details/fades/music player/the A button prompt graphics to be worked out. If you could, please send me your slides so I can adjust it to work nicely with them. |
skawo |
Posted on 04-20-16, 05:28 pm in Newer Super Mario Bros. DS
|
Karma: 19757 Posts: 327/1100 Since: 04-02-13 |
No demos.
|
skawo |
Posted on 07-12-16, 12:54 pm in Additional boot credit
|
Karma: 19757 Posts: 428/1100 Since: 04-02-13 |
Code updated; will now check if the save data is blank. If it is, it won't proceed until A has been pressed. You can also define the amount of time the screen has to stay on before it can be dismissed with the A press.
|
skawo |
Posted on 07-25-16, 03:47 pm in Nintendo's amazing level design (rev. 1 by ImageBot on 11-21-16, 03:22 am)
|
Karma: 19757 Posts: 485/1100 Since: 04-02-13 |
Posted by Hiccup Its just decoration. If you want to see what appears to be actual tiling problems, see NSMB2. E.g. World Flower-Castle I always enjoy this little collage I made: |
skawo |
Posted on 07-27-16, 04:06 pm in Ghost Star Coin (rev. 9 by skawo on 09-06-16, 12:38 pm)
|
Karma: 19757 Posts: 507/1100 Since: 04-02-13 |
If you ever played Newer Wii, you know the drill. It's a star coin that disappears when collected, but doesn't count toward level completion. Plays a Boo laugh and some fancy effects while at it; needs sound set to have the boo laugh enabled, of course.
Ghost Star Coin: #Always spawn
repl_02154690_ov_36:
LDR R2, [R5,#8]
LSR R2, R2, #28
AND R2, R2, #0xF
CMP R2, #1
MOVEQ R2, #0
LDRNEB R2, [R0]
#Don't ever look collected
repl_02154678_ov_36:
CMP R0, #0
BXEQ LR
LDR R0, [R5, #8]
LSR R0,R0,#28
AND R0, R0, #0xF
CMP R0, #1
MOVEQ R0, #0
BX LR
#Spin counterclockwise
repl_02154B78_ov_36:
LDR R0, [R4, #8]
LSR R0,R0,#28
AND R0, R0, #0xF
CMP R0, #1
LDR R0,=0x0212945C
LDRSH R0, [R0,#0x6]
RSBEQ R0,#0x1
BX LR
#Don't count towards level completion
repl_02154C54_ov_36:
MOV R4, R0
LDR R0, [R4, #8]
LSR R0,R0,#28
AND R0, R0, #0xF
CMP R0, #1
BEQ 0x02154CA8
BXNE LR
#Play Boo Laugh
repl_02154CB0_ov_36:
STMFD SP!, {LR}
BL 0x02012398
LDR R0, [R4, #8]
LSR R0,R0,#28
AND R0, R0, #0xF
CMP R0, #1
LDREQ R0, =0xA2
ADDEQ R1, R4, #0x5C
BLEQ 0x02012398
LDMFD SP!, {PC}
#Particle 1 replacement
repl_02154D08_ov_36:
LDR R0, [R4, #8]
LSR R0,R0,#28
AND R0, R0, #0xF
CMP R0, #1
LDRNE R0, =0xF8
LDREQ R0, =0x1D
BX LR
#Particle 2 replacement
repl_02154D28_ov_36:
LDR R0, [R4, #8]
LSR R0,R0,#28
AND R0, R0, #0xF
CMP R0, #1
LDRNE R0, =0xF9
LDREQ R0, =0xFA
BX LR
#Particle 3 replacement
repl_02154D34_ov_36:
LDR R0, [R4, #8]
LSR R0,R0,#28
AND R0, R0, #0xF
CMP R0, #1
LDRNE R0, =0xFA
LDREQ R0, =0x6B
BX LR
#Destroy itself
repl_02154D3C_ov_36:
LDR R0, [R4,#0x508]
CMP R0, #0
BXNE LR
LDR R0, [R4, #8]
LSR R0,R0,#28
AND R0, R0, #0xF
CMP R0, #1
MOVLT R0, #0
BX LR To put into a level - Nybble 5 (counting from 1): 0 - Regular star coin 1 - Ghost star coin 2 - Appear on bottom screen immediately without spinning down Tested on NDS. |
skawo |
Posted on 07-30-16, 08:31 pm in Misc. patches thread (rev. 2 by skawo on 07-30-16, 08:43 pm)
|
Karma: 19757 Posts: 536/1100 Since: 04-02-13 |
Timed Podoboos:
repl_021480D0_ov_30:
STMFD SP!, {R1,LR}
LDR R1, [R4, #8]
LSR R1,R1,#0
AND R1, R1, #0xFF
CMP R1, #0
STREQH R0,[R3,#0xCA]
LDMEQFD SP!, {R1,PC}
CMP R1, #1
MOVGE R0,#0x5
STREQH R0,[R3,#0xCA]
LDMEQFD SP!, {R1,PC}
MUL R0, R1, R0
STRH R0, [R3,#0xCA]
LDMFD SP!, {R1,PC} Uses nybbles 11 and 12 (the two last ones). If 0, it'll use the timer the game calculates (i.e a random one). If not, it'll do 5 ticks * nybble. |
skawo |
Posted on 08-07-16, 11:00 am in Newer Super Mario Bros. DS
|
Karma: 19757 Posts: 559/1100 Since: 04-02-13 |
I just finished this completely pointless addition to the game:
I sure know how to prioritize. |
skawo |
Posted on 09-01-16, 10:08 pm in Newer Super Mario Bros. DS (rev. 1 by skawo on 09-01-16, 10:18 pm)
|
Karma: 19757 Posts: 631/1100 Since: 04-02-13 |
Here's another custom sprite preview:
Something I implemented a while back. And yes, the game crashes if you stomp a too- big one, simply due to the amount of polygons it's trying to display. I may limit the amount of Goombas it spawns to make the larger ones usable, but I wasn't planning on using those super giant ones in NerDS anyway. |
skawo |
Posted on 09-03-16, 10:05 am in Misc. patches thread (rev. 2 by skawo on 09-03-16, 10:06 am)
|
Karma: 19757 Posts: 646/1100 Since: 04-02-13 |
Posted by Asproek Also, swako, could you implement six more players, the Koopalings, the Falcon punch and a three-layer tileset mode? YEP NO PROB HER: Posted by skawo Seven Player Co-Op, Koopalings, Falcon Punch, Yoshi and Three Tileset Layers: nsub_01FFD524_main:
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
LDR R0, [R1]
LDR R1, [R0]
BX LR |
skawo |
Posted on 09-20-16, 12:59 pm in Misc. patches thread (rev. 5 by skawo on 09-28-16, 06:21 pm)
|
Karma: 19757 Posts: 694/1100 Since: 04-02-13 |
Level Darkness Setting:
#include "nsmb.h"
vu8 *Brightness = (vu8*)(0x400006C);
bool *MenuOpen = (bool*)(0x020CA870);
void hook_020A2ED0()
{
int CurrentView = (((*(getPtrToPlayerActor()+0xAF)>>16)&0xFF));
if ((MygetUnk2ForView(CurrentView) != 2))
{
if (*Brightness != 0) setBrightness(1,0);
return;
}
if (((*Brightness) < (MygetUnk1ForView((CurrentView)))) && !(*MenuOpen))
{
setBrightness(1,-((*Brightness)+1));
}
if ((*Brightness) != 0)
{
if (*MenuOpen)
{
setBrightness(1,-((*Brightness)-1));
}
}
return;
}
void hook_020A134C() // Restore brightness on world map
{
setBrightness(1, 0);
return;
} This goes into a .cpp file. You also need the "Disable broken Unk functionality" from this post. By setting Unk 2 in view settings to 2, you enable darkness, the intensity of which is controlled by Unk 1. |
skawo |
Posted on 09-23-16, 12:09 pm in My name is Earl
|
Karma: 19757 Posts: 705/1100 Since: 04-02-13 |
Congrats on having the highest pointless arbitrary number, bro!
|
skawo |
Posted on 10-10-16, 01:01 pm in release Super Mario: Endless Earth
|
Karma: 19757 Posts: 745/1100 Since: 04-02-13 |
What a twat
hope he stabs himself in the eye with them |
skawo |
Posted on 11-05-16, 07:36 pm in Newer Super Mario Bros. DS
|
Karma: 19757 Posts: 784/1100 Since: 04-02-13 |
me too,
me too. <- has just spent three days on asm for one level |
skawo |
Posted on 11-13-16, 09:17 pm in Music Swapper Sprite (rev. 1 by ImageBot on 11-21-16, 03:25 am)
|
Karma: 19757 Posts: 808/1100 Since: 04-02-13 |
This lets you play an external SSEQ/SWAR/SBNK combo, essentially allowing for virtually unlimited music variation.
How to setup 1. Setup the ASM Hacking Template, 2. Copy the contents of the SOURCE folder in the zip into the source folder of the ASM Hacking Template. 3. Copy the symbols.x into ASM Hacking Template root 4. Replace any three (or two, which should be enough for most purposes) songs (their SSEQ/SWAR/SBNK) in the original SDAT with the ones provided in the SDATA folder. 6. Add some files to the rom. Import your custom theme SSEQ/SWAR/SBNK into three files in a row (in that order). 7. Open MusicModifier.c in a text editor. On lines 29, 32 and 35 change "FIRST SONG FILE ID HERE" to the ID of the first new file in the ROM 8. Compile the code in and replace the SDAT in the ROM. 9. Place sprite 143 into every zone you wish to swap the music in. The three last nybbles define the song ID. This means, if, for instance, your first song occupies slots 2000, 2001, 2002, it should be set to 0. If set to 1, it'll play a song occupying the files 2003, 2004, 2005. Etc. 10. Change the Music ID in the zone settings to that of the one of the replaced songs. If you wish to swap songs in between zones or areas, the IDs have to differ in each (which is why multiple songs were replaced with the dummy ones) LIMITATIONS: 1. The external SSEQ, SWAR and SBNK have to be smaller than the ones included in the package. This isn't much of a problem, as the ones included are pretty much the maximum you can have anyway. 2. Doesn't work in levels that load the boss victory music. 3. Doesn't let you swap music mid-zone. Download: http://nsmbhd.net/file/qUbYK0xTMq6Ofi43/MusicModifier.zip |
skawo |
Posted on 11-15-16, 08:27 pm in Newer Super Mario Bros. DS
|
Karma: 19757 Posts: 818/1100 Since: 04-02-13 |
My Mario bathes everyday I'll have you know
|
skawo |
Posted on 11-19-16, 08:42 pm in Misc. patches thread
|
Karma: 19757 Posts: 829/1100 Since: 04-02-13 |
Shift Podoboo By Half Tile Right Nybble:
repl_02147F14_ov_30:
MOV R4, R0
LDR R1, [R4, #8]
LSR R1, #0x8
ANDS R1, R1, #0xF
BXEQ LR
MOV R1, #0x8000
LDR R0, [R4, #0x60]
ADD R0, R1
STR R0, [R4, #0x60]
BX LR Nybble 10 |