|
Post by ZTarget on Jun 11, 2021 20:44:08 GMT
Here is a small Fix in the disasm you can apply to your mod.
So if you are walking right and change directions to the left you change directions about 5 frames too fast. (Walking to the left and changing directions to the right is correct)
I believe this is a small error by the developers. (Correct me if I'm wrong of course)
go to loc_9BC8
loc_9BC8:; facing left, holding left but not run, moving right sub.l $18(a0),d0 rts
change $18 to $C
loc_9BC8:; facing left, holding left but not run, moving right sub.l $C(a0),d0 rts
now down in unk_9C0A you can change comments that read
; Brake walking-left rate
; Brake walking-right/running rate
to
; Brake walking ; Brake walking-running rate
|
|
|
Post by ZTarget on Sept 6, 2022 17:40:21 GMT
Tweak Extend Red Stealth sword distance
Red Stealths sword swing could be a tad farther so you don't have to get quite so close to the enemies, lets try this.
go to sub_868E: at the bottom of this chunk
moveq #$1C,d7 ;sword distance right tst.b $16(a0) beq.w loc_86CE moveq #-$1C,d7 ;sword distance left (1C =28) we are going to add 3 more pixels of reach here for starters
moveq #$1F,d7 ;sword distance right tst.b $16(a0) beq.w loc_86CE moveq #-$1F,d7 ;sword distance left posting so i don't forget about this
this still needs testing and also need to test the max distance this still looks and feels ok at
|
|
|
Post by ZTarget on Sept 6, 2022 18:06:06 GMT
Mod
Only load one level in a romhack
Lets say you want people to test/play only one level from your rom hack.
First edit maporder.asm in the levels folder to start on the level you want (default is 4A Blue Lake Woods)
Next,
go to loc_D7F4:
beq.w End_Credits addq.w #1,(Current_LevelID).w ;next level adder clr.w ($FFFFFBCC).w st ($FFFFFC36).w bra.w Teleport
Comment the line addq.w #1,Current_LevelID.w with a semicolon
beq.w End_Credits ;addq.w #1,(Current_LevelID).w ;next level adder clr.w ($FFFFFBCC).w st ($FFFFFC36).w bra.w Teleport Now your rom should not progress past the first level.
Posting this here since it was talked about in the discord a while back. This could use more testing I only briefly tried it.
|
|
|
Post by ZTarget on Sept 13, 2023 22:11:39 GMT
FixFix Kid flip reveal Here is the original behavior; a bug where kid will reveal a block above his head on a kidflip/pullup. To fix we are going to move the change to standing still up ten lines (move.w #MoveID_Standingstill,(Character_Movement).w) right before (move.w d6,y_pos(a3)) first copy and paste the line 10 lines up, then comment out the original Here it is in action. So the idea for this is kid can't reveal when standing still so we move it up before the movement takes place, note its possible the move line may be able to be on a lower line, this is just where I placed it when it appeared to fix the bug. Thanks to StealthC for the info on the reveal behavior. I have a second part to this for when we want to reveal a block above kids head when jumping coming soon
|
|
|
Post by ZTarget on Sept 18, 2023 23:36:02 GMT
Fix/Mod Reveal blocks that are right above Kids head when jumping.
Here is the solution I came up with go to loc_E00E: we are going to replace this location with the code below. note: you can comment out the original chunk encase you want to switch back. And never hurts to make another backup of you project.
loc_E00E: cmp.w d7,d6 ;compare last frame location to current -this is new moving up check bge.w loc_EAE4 ;if kid is moving up continue, else if moving down or same y location exit
sub.w d0,d1 sub.w (a5),d6 bmi.w loc_EAE4 ;top of screen check exit subq.w #1,d6 asr.w #4,d6 ;convert current location y to blocks
tst.b ($FFFFFA6A).w ;upside down skycutter bne.s blockcheck ;branch to block check if upside down tst.b (Cyclone_flying).w bne.s blockcheck ;branch to block check if flying bra.s + ;else skip block check and continue on blockcheck ;run vanilla block check for Cyclone flying and Skycutter upside down sub.w (a5),d7 subq.w #1,d7 asr.w #4,d7 cmp.w d7,d6 ;compare current block y d6 to last block d7 bge.w loc_EAE4 ;if current block greater or = to last block exit + lea ($FFFF4A04).l,a2 move.w d6,d2 add.w d2,d2 move.w (a2,d2.w),a2 move.w d0,d2 add.w d2,d2 add.w d2,a2 Here it is in action. We changed it so now it checks to see if the character is moving upward using his current location and location last frame with the exception of cyclone flying and skycutter upside down, they get the old method of checking blocks current and last frame. Optional
ok so I also have an optimization we can try assuming it doesn't brake something. The green bars show the changes, we moved/copied 4 lines of code then commented out the original lines. Now the subroutine starts with, are we jumping and then are we moving upward.
all this could use some testing Also thanks again to StealthC for the info on the reveal behavior he posted on discord.
|
|
|
Post by ZTarget on Jan 29, 2024 22:38:54 GMT
On Discord superduck10 pointed out a bug that creeps up when playing a modded KC game. If the Kid dies in the attract demo play that plays in the intro and you start a game after that, you will begin on the demo level instead of level 1.
Here is a quick fix, in kid.asm search to location Title_InputLoop: and add in the highlighted line, then save and test it out.
(again only briefly tested this)
|
|