Posted on 07-31-16, 05:58 pm


Karma: 19458
Posts: 540/1091
Since: 04-02-13
I haven't actually shown the super fast star coins hack from the Ghost Coin patch on video. Here it is:


Well, it's not identical, I suppose.
Posted on 07-31-16, 06:00 pm
a

Karma: 1244
Posts: 1186/1290
Since: 02-12-13
This looks awesome and you're doing an awesome job, both of you. c: These are all super useful!
also skawo you're scaring him skawo
Posted on 07-31-16, 06:01 pm
Red Goomba


Karma: 45
Posts: 2/40
Since: 07-29-16
Is this just a test or will it be in the final game?
Posted on 07-31-16, 06:02 pm (rev. 1 by ImageBot on 11-21-16, 03:22 am)
Death by cuteness

Karma: 6434
Posts: 505/598
Since: 05-01-13
>Super fast
>is actually instantaneous

Damn…

Well, I suppose you can still take the first function of my code lol
Posted on 07-31-16, 06:17 pm


Karma: 19458
Posts: 541/1091
Since: 04-02-13
Here's that retexture thing, BTW:
Posted on 08-01-16, 05:06 am
Administrator

Karma: 5369
Posts: 1935/2709
Since: 01-17-13
I have a request to those capable enough for this.

Would you be able to make a specific view/area freeze the timer?

For example, a view/area with a certain parameter.


Thanks in advance to whoether helps.
Posted on 08-01-16, 08:40 am (rev. 3 by  MeroMero on 08-01-16, 08:47 am)
Death by cuteness

Karma: 6434
Posts: 506/598
Since: 05-01-13
Include setting to freeze Timer per View:
repl_020A2758_ov_00: STMFD SP!, {R1-R4, LR} LDR R1, =0x208B35C LDR R1, [R1] LDRB R1, [R1, #0x2BE] LDR R4, =0x2086A2C LDR R4, [R4] LDR R2, [R4, #0x38] ADD R2, R4, R2 LDR R3, [R4, #0x3C] ADD R3, R2, R3 .LoopGetView: LDRB R4, [R2, #0x8] CMP R4, R1 BEQ .OutLoopGetView ADD R2, R2, #0x10 CMP R2, R3 BCC .LoopGetView .OutLoopGetView: LDRB R1, [R2, #0xA] LDRB R2, [R0] TST R1, #0x80 ORRNE R2, R2, #0x40 BICEQ R2, R2, #0x40 STRB R2, [R0] LDRB R0, [R0] LDMFD SP!, {R1-R4, PC} repl_0201E07C: LDRNEB R0, [R0, #0xA] BIC R0, R0, #0x80 BX LR repl_0201FCC0: BIC R0, R0, #0x80 STRB R0, [R5] BX LR


How to use?
_click Hex Edit on the level you want to modify
_go to Block 8
_rearrange the window so that each row (View) contains 16 bytes of data
_go to byte 10 (counting from 0)
_this byte is for the music, since any music equal or above 0x70 is mute (according to the code anyway), this is the byte I chose to change
_to freeze the timer for the selected View, set Music bit 7 at 1, or simply put add 0x80 to the music number.



This is best used in tandem with this mod, who was also updated!


Works on a NDS.
Posted on 08-01-16, 09:22 am


Karma: 19458
Posts: 542/1091
Since: 04-02-13
MeroMero, could you ASMTemplatify the Luigi physics hack?
Posted on 08-01-16, 10:22 am
Death by cuteness

Karma: 6434
Posts: 507/598
Since: 05-01-13
The code loads after the Level Intro.

NSLU physics for Luigi:
repl_0215EAD4_ov_36: STMFD SP!, {R2-R9, LR} MOV R0, R5, LSL R9 LDR R2, =0x2085A50 LDRB R2, [R2] LDR R3, =0x212E2D8 CMP R2, #1 LDRNE R4, =0x3A80 MOVNE R5, #0x90 MOVNE R6, #0xB0 MOVNE R7, #0x80 MOVNE R8, #0x60 MOVNE R9, #0x180 LDREQ R4, =0x4080 MOVEQ R5, #0x60 MOVEQ R6, #0x78 MOVEQ R7, #0x54 MOVEQ R8, #0x40 MOVEQ R9, #0x100 STR R4, [R3] STR R4, [R3, #0x40] STR R4, [R3, #0x80] STR R5, [R3, #0xE0] STR R5, [R3, #0x100] STR R6, [R3, #0xE4] STR R6, [R3, #0x104] STR R7, [R3, #0xE8] STR R7, [R3, #0x108] STR R8, [R3, #0xEC] STR R8, [R3, #0x10C] STR R9, [R3, #0xFC] LDMFD SP!, {R2-R9, PC}

Posted on 08-01-16, 10:22 am (rev. 1 by  KingYoshi on 08-01-16, 10:23 am)
Hammer Brother


Karma: 3504
Posts: 922/1073
Since: 11-29-11
I have two requests.

1.)

Posted by MarioFanatic64
I know how to change the Red Coin Ring blue!

-Go to the /enemy folder in the editor and export obj_e3_ring.nsbmd
-Open the nsbmd with a Hex Editor
-Go to offset 0x00000487 and change "31" into "32". Next, go to offset 0x00000497 and change "32" into "31". Next, go to offset 0x000004F7 and change "31" into "32". And finally, go to offset 0x00000507 and change "32" into "31".
-Save, import back into NSMB.

Orengefox taught me that little trick.


Could you* make something that makes you able to switch between the red and blue ring, by changing a nybble or something?

2.) There are two Halfwaypoint sprites: the first one looks at X-coordinates only; the second one only looks at the Y-coordinates. It would be great to have a Halfwaypoint sprite which looks at both X- and Y-coordinates, a la NSMBWii

*either Mero, Skawo or Hamza
Posted on 08-01-16, 10:49 am (rev. 5 by ImageBot on 11-21-16, 03:22 am)


Karma: 19458
Posts: 543/1091
Since: 04-02-13
Could you tell me what those values you're MOVing in that code are? I know R4, =0x4080 will be jump height, but what about the others?

Red Coin Ring Retexture Code:
repl_021534B4_ov_36: BL 0x02009C64 LDR R0, =0x5A4 MOV R1, #0 BL 0x02009C64 BX LR repl_02153408_ov_36: LDR R0, [R4, #8] AND R0, R0, #0xF CMP R0, #1 LDREQ R0, =0x5A4 LDRNE R0, =0x5A5 BX LR

Uses nybble 12 (the last one).


Posted on 08-01-16, 12:11 pm
Death by cuteness

Karma: 6434
Posts: 508/598
Since: 05-01-13
Posted by skawo
Could you tell me what those values you're MOVing in that code are? I know R4, =0x4080 will be jump height, but what about the others?


R4 => Jumping height
R5 => Deceleration
R6 => Acceleration (1st phase)
R7 => Acceleration (2nd phase)
R8 => Acceleration (3rd phase)
R9 => Traction

Acceleration is done in 3 phases.
Deceleration is used when the player stops running while not pressing any button.
Traction is used when braking.
Posted on 08-01-16, 02:10 pm (rev. 9 by  skawo on 08-01-16, 03:51 pm)


Karma: 19458
Posts: 544/1091
Since: 04-02-13
X/Y Tracking, Event-Activated Midway Point:
repl_021622B8_ov_36: LDR R0, [R4, #8] AND R0, R0, #0xF CMP R0, #0 BLEQ 0x2020608 BEQ 0x21622BC CMP R0, #2 BLLT .Normal BLEQ .Precise CMP R0, #3 BLGE .Event .Normal: MOV R0, #0 BL 0x2020608 LDRH R1, [R0,#0x62] LDRH R2, [R4,#0x62] CMP R1, R2 MOVNE R0, #0 LDMNEFD SP!, {R4,PC} LDRH R1, [R0,#0x66] ADD R1, R1, #2 LDRH R2, [R4,#0x66] CMP R1, R2 MOVLT R0, #0 LDMLTFD SP!, {R4,PC} MOVGE R0, #1 LDMFD SP!, {R4,PC} .Precise: MOV R0, #0 BL 0x2020608 LDRH R1, [R0,#0x62] LDRH R2, [R4,#0x62] CMP R1, R2 MOVNE R0, #0 LDMNEFD SP!, {R4,PC} LDRH R1, [R0,#0x66] ADD R1, R1, #2 LDRH R2, [R4,#0x66] CMP R1, R2 MOVNE R0, #0 LDMNEFD SP!, {R4,PC} MOVEQ R0, #1 LDMFD SP!, {R4,PC} .Event: LDR R1, =0x208AF3C LDR R12, [R1] LDR R0, [R4, #0x334] AND R0, R12, R0 CMP R0, #0 LDMEQFD SP!, {R4,PC} MOVNE R0,#1 LDMNEFD SP!, {R4,PC}

Replaces the Vertical Midway point.
If Nybble 12 = 0, works like normal,
If Nybble 12 = 1, will activate when Mario's Y position is greater or equal to the midway point's, and X is exactly the same. Meaning, if Mario's feet touch the place where the midpoint stake is inserted in NSMBe, or the air above it, it'll activate.
If Nybble 12 = 2, will activate when Mario's Y and X position are precisely the same midway point's. Meaning, if Mario's feet touch the place where the midpoint stake is inserted in NSMBe, it'll activate.
If Nybble 12 = 3, will activate when Nybble 1-2's Event ID is activated.

Mind, you'll probably need some sort of physical marker for this either way.
Posted on 08-01-16, 02:55 pm (rev. 1 by  MeroMero on 08-01-16, 02:59 pm)
Death by cuteness

Karma: 6434
Posts: 509/598
Since: 05-01-13
I hope you don't mind me improving the Red Ring code,  skawo.

This incarnation doesn't need to add nor replace a file.
It instead reads directly the value in nybble 11, multiplied by 4 and then the result is added to offset 0x7C from obj_e3_ring.nsbtp to get the right palette.

Improved Red Ring colors (updated from Skawo's code):
repl_02153110_ov_36: LDRH R0, [R4, #0xC] CMP R0, #0x97 BNE .Return LDR R0, [R4, #8] AND R0, R0, #3 ADD R0, R0, #1 LDR R1, =RedRingStack STRB R0, [R1] .Return: ADD R0, R4, #0x3F4 BX LR repl_02153124_ov_36: MOV R0, #0 LDR R1, =RedRingStack STRB R0, [R1] LDR R1, =0x20391F8 BX LR repl_0205A6E0: LDR R4, =RedRingStack LDRB R5, [R4] CMP R5, #0 BEQ .Return2 SUB R2, R5, #1 MOV R5, #0 STRB R5, [R4] .Return2: ADD R0, R3, R2, LSL #2 BX LR .data .balign 1 RedRingStack: .byte 0x0


How to use?
Nybble 11:
_0: blue, white & purple
_1: red
_2: green
_3: red & green
modulo 4
Posted on 08-01-16, 02:57 pm (rev. 2 by  KingYoshi on 08-01-16, 03:04 pm)
Hammer Brother


Karma: 3504
Posts: 923/1073
Since: 11-29-11
Thanks for the ASM Hacks

I still find it funny that the Red Ring is actually the Blue Rings of Manta Ray from SM64DS.

(but then red )


@Hiccup
I think we're able now to recreate the Beta Midwaypoint
Posted on 08-01-16, 02:59 pm


Karma: 19458
Posts: 545/1091
Since: 04-02-13
Ah, you wanted to use these two hacks to recreate the midpoint, huh?
Well, I'd say it's a bit TOO precise for that. But, hold on, I might fix that.
Posted on 08-01-16, 03:05 pm (rev. 2 by  KingYoshi on 08-01-16, 03:13 pm)
Hammer Brother


Karma: 3504
Posts: 924/1073
Since: 11-29-11
O, no, I was actually going to use it to make something similar to the NSMBWii Midway Flag. But I just thought: O, we can use this for that Blue Ring thing as well.

EDIT: Or you should make something so you can change the width and height of the sprite. That might be hard to make tho.
Posted on 08-01-16, 03:52 pm


Karma: 19458
Posts: 546/1091
Since: 04-02-13
There you go. Event-activation should take care of everything
Posted on 08-01-16, 04:06 pm (rev. 1 by  Pedroalone on 08-01-16, 04:08 pm)
Paratroopa


Karma: 422
Posts: 138/147
Since: 07-03-13
I also have two requests..

Could someone make it so broozers need to take 3 fireballs to be killed?
And big grounded piranha plants spawn less coins when killed with fireballs?

By the way, meromero, did you forget about the "killing grounded fire piranha plant with shell" fix? I'm sorry if this sounds rude, maybe you just... forgot.
_________________________
New Super Mario Bros. The Next Levels.
Progress:
W1: 100% | W2: 100% | W3: 33% | W4: 100%
Posted on 08-02-16, 01:01 pm (rev. 1 by ImageBot on 11-21-16, 03:22 am)
Panser


Karma: 572
Posts: 119/332
Since: 04-09-16
you can have this Alternatively using the texture of a lift?
(using an ASM hack course)