diff --git a/Rom.py b/Rom.py index 4741f457..b1c57e45 100644 --- a/Rom.py +++ b/Rom.py @@ -43,7 +43,7 @@ from source.enemizer.Enemizer import write_enemy_shuffle_settings JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '184ebc6920dd7b6ba985827017bfd9c0' +RANDOMIZERBASEHASH = '030a90f43980701de227341dd1a78a50' class JsonRom(object): diff --git a/asm/owrando.asm b/asm/owrando.asm index 2b9eab12..4c8a5082 100644 --- a/asm/owrando.asm +++ b/asm/owrando.asm @@ -446,6 +446,7 @@ OWBonkDropSparkle: LDA.l OWFlags+1 : AND.b #!FLAG_OW_BONKDROP : BEQ .nosparkle LDA.w $0E90,X : BEQ .nosparkle LDA.w SprRedrawFlag,X : BNE .nosparkle + LDA.b GameMode : CMP.b #$0E : BEQ .nosparkle JSL Sprite_SpawnSparkleGarnish ; move sparkle down 1 tile PHX : TYX : PLY @@ -594,15 +595,13 @@ OWBonkDrops: PLX : BEQ + : LDA.b #$00 : STA.w SpriteAITable,Y : BRA .return ; S = FlagBitmask, X (row + 2) + PHA - LDA.b #$EB : STA.l MiniGameTime + LDA.b #$EB JSL Sprite_SpawnDynamically+15 ; +15 to skip finding a new slot, use existing sprite - LDA.b #$01 : STA.w SprRedrawFlag,Y - - PLA - JSL AttemptItemSubstitution - STA.w SpriteItemType,Y - STA.w SpriteID,Y + PLA : STA.w SprSourceItemId, Y + PHX : TYX : PLY + JSL RequestStandingItemVRAMSlot + PHY : TXY : PLX ; affects the rate the item moves in the Y/X direction LDA.b #$00 : STA.w SpriteVelocityY,Y @@ -667,7 +666,7 @@ OWBonkDropCollected: RTS } -; A = SpriteID, Y = Sprite Slot Index, X = free/overwritten +; A = SprItemReceipt, Y = Sprite Slot Index, X = free/overwritten OWBonkSpritePrep: { STA.w SpriteTypeTable,Y diff --git a/data/base2current.bps b/data/base2current.bps index 2586d909..cfd41138 100644 Binary files a/data/base2current.bps and b/data/base2current.bps differ