OaksLab deobfuscation

This commit is contained in:
deak311andris 2019-10-03 15:19:30 +02:00
parent bfd1d53d84
commit 8d2afb7c13

View file

@ -201,9 +201,9 @@ OaksLabScript8:
ld de, .MiddleBallMovement1 ld de, .MiddleBallMovement1
ld a, [wYCoord] ld a, [wYCoord]
cp $4 ; is the player standing below the table? cp $4 ; is the player standing below the table?
jr z, .asm_1ccf3 jr z, .moveBlue
ld de, .MiddleBallMovement2 ld de, .MiddleBallMovement2
jr .asm_1ccf3 jr .moveBlue
.MiddleBallMovement1 .MiddleBallMovement1
db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN
@ -225,9 +225,9 @@ OaksLabScript8:
ld de, .RightBallMovement1 ld de, .RightBallMovement1
ld a, [wYCoord] ld a, [wYCoord]
cp $4 ; is the player standing below the table? cp $4 ; is the player standing below the table?
jr z, .asm_1ccf3 jr z, .moveBlue
ld de, .RightBallMovement2 ld de, .RightBallMovement2
jr .asm_1ccf3 jr .moveBlue
.RightBallMovement1 .RightBallMovement1
db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN
@ -251,7 +251,7 @@ OaksLabScript8:
ld de, .LeftBallMovement1 ld de, .LeftBallMovement1
ld a, [wXCoord] ld a, [wXCoord]
cp $9 ; is the player standing to the right of the table? cp $9 ; is the player standing to the right of the table?
jr nz, .asm_1ccf3 jr nz, .moveBlue
push hl push hl
ld a, $1 ld a, $1
ld [H_SPRITEINDEX], a ld [H_SPRITEINDEX], a
@ -270,7 +270,7 @@ OaksLabScript8:
ld [hl], $9 ld [hl], $9
ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that
pop hl pop hl
jr .asm_1ccf3 jr .moveBlue
.LeftBallMovement1 .LeftBallMovement1
db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN
@ -279,7 +279,7 @@ OaksLabScript8:
db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT
db $FF db $FF
.asm_1ccf3 .moveBlue
ld a, $1 ld a, $1
ld [H_SPRITEINDEX], a ld [H_SPRITEINDEX], a
call MoveSprite call MoveSprite
@ -304,17 +304,17 @@ OaksLabScript9:
call DisplayTextID call DisplayTextID
ld a, [wRivalStarterBallSpriteIndex] ld a, [wRivalStarterBallSpriteIndex]
cp $2 cp $2
jr nz, .asm_1cd28 jr nz, .rivalDidNotChoseBall1
ld a, HS_STARTER_BALL_1 ld a, HS_STARTER_BALL_1
jr .asm_1cd32 jr .hideBallAndContinue
.asm_1cd28 .rivalDidNotChoseBall1
cp $3 cp $3
jr nz, .asm_1cd30 jr nz, .rivalChoseBall3
ld a, HS_STARTER_BALL_2 ld a, HS_STARTER_BALL_2
jr .asm_1cd32 jr .hideBallAndContinue
.asm_1cd30 .rivalChoseBall3
ld a, HS_STARTER_BALL_3 ld a, HS_STARTER_BALL_3
.asm_1cd32 .hideBallAndContinue
ld [wMissableObjectIndex], a ld [wMissableObjectIndex], a
predef HideObject predef HideObject
call Delay3 call Delay3
@ -473,7 +473,7 @@ OaksLabScript13:
OaksLabScript14: OaksLabScript14:
ld a, [wd730] ld a, [wd730]
bit 0, a bit 0, a
jr nz, .asm_1ce8c jr nz, .checkRivalPosition
ld a, HS_OAKS_LAB_RIVAL ld a, HS_OAKS_LAB_RIVAL
ld [wMissableObjectIndex], a ld [wMissableObjectIndex], a
predef HideObject predef HideObject
@ -484,21 +484,21 @@ OaksLabScript14:
ld [wOaksLabCurScript], a ld [wOaksLabCurScript], a
jr .done jr .done
; make the player keep facing the rival as he walks away ; make the player keep facing the rival as he walks away
.asm_1ce8c .checkRivalPosition
ld a, [wNPCNumScriptedSteps] ld a, [wNPCNumScriptedSteps]
cp $5 cp $5
jr nz, .asm_1cea8 jr nz, .turnPlayerDown
ld a, [wXCoord] ld a, [wXCoord]
cp $4 cp $4
jr nz, .asm_1cea1 jr nz, .turnPlayerLeft
ld a, SPRITE_FACING_RIGHT ld a, SPRITE_FACING_RIGHT
ld [wSpriteStateData1 + 9], a ld [wSpriteStateData1 + 9], a
jr .done jr .done
.asm_1cea1 .turnPlayerLeft
ld a, SPRITE_FACING_LEFT ld a, SPRITE_FACING_LEFT
ld [wSpriteStateData1 + 9], a ld [wSpriteStateData1 + 9], a
jr .done jr .done
.asm_1cea8 .turnPlayerDown
cp $4 cp $4
ret nz ret nz
xor a ; ld a, SPRITE_FACING_DOWN xor a ; ld a, SPRITE_FACING_DOWN
@ -767,17 +767,17 @@ OaksLabText1:
jr nz, .asm_1d0de jr nz, .asm_1d0de
ld hl, OaksLabGaryText1 ld hl, OaksLabGaryText1
call PrintText call PrintText
jr .asm_1d0f0 jr .done
.asm_1d0de .asm_1d0de
bit 2, a bit 2, a
jr nz, .asm_1d0ea jr nz, .asm_1d0ea
ld hl, OaksLabText40 ld hl, OaksLabText40
call PrintText call PrintText
jr .asm_1d0f0 jr .done
.asm_1d0ea .asm_1d0ea
ld hl, OaksLabText41 ld hl, OaksLabText41
call PrintText call PrintText
.asm_1d0f0 .done
jp TextScriptEnd jp TextScriptEnd
OaksLabGaryText1: OaksLabGaryText1: