mirror of https://github.com/nmlgc/ReC98.git
[Reverse-engineering] [th04/th05] Input → player movement
Completes P0033, funded by zorg.
This commit is contained in:
parent
7f971a0d1c
commit
6cdd2296bb
|
@ -92,9 +92,10 @@ bin\th04\main.exe: bin\th04\main.obj bin\th04\scoreupd.obj
|
||||||
$**
|
$**
|
||||||
|
|
|
|
||||||
|
|
||||||
|
bin\th05\playermv.obj: th05\playermv.asm
|
||||||
bin\th05\hud_bar.obj: th05\hud_bar.asm
|
bin\th05\hud_bar.obj: th05\hud_bar.asm
|
||||||
bin\th05\scoreupd.obj: th04\scoreupd.asm
|
bin\th05\scoreupd.obj: th04\scoreupd.asm
|
||||||
bin\th05\main.exe: bin\th05\main.obj bin\th05\hud_bar.obj bin\th05\scoreupd.obj th05\main012.cpp
|
bin\th05\main.exe: bin\th05\main.obj bin\th05\playermv.obj bin\th05\hud_bar.obj bin\th05\scoreupd.obj th05\main012.cpp
|
||||||
$(CC) $(CFLAGS) -ml -3 -Z -DGAME=5 -nbin\th05\ -eMAIN.EXE @&&|
|
$(CC) $(CFLAGS) -ml -3 -Z -DGAME=5 -nbin\th05\ -eMAIN.EXE @&&|
|
||||||
$**
|
$**
|
||||||
|
|
|
|
||||||
|
|
|
@ -14,8 +14,15 @@ INPUT_CANCEL = 1000h
|
||||||
INPUT_OK = 2000h
|
INPUT_OK = 2000h
|
||||||
INPUT_Q = 4000h
|
INPUT_Q = 4000h
|
||||||
|
|
||||||
INPUT_MOVEMENT = INPUT_UP or INPUT_DOWN or INPUT_LEFT or INPUT_RIGHT
|
INPUT_MOVEMENT = \
|
||||||
|
INPUT_UP or INPUT_DOWN or INPUT_LEFT or INPUT_RIGHT or \
|
||||||
|
INPUT_UP_LEFT or INPUT_UP_RIGHT or INPUT_DOWN_LEFT or INPUT_DOWN_RIGHT
|
||||||
|
|
||||||
if GAME eq 5
|
if GAME eq 5
|
||||||
INPUT_REPLAY_END = 0F0F0h
|
INPUT_REPLAY_END = not INPUT_MOVEMENT
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
; move_ret_t
|
||||||
|
MOVE_INVALID = 0
|
||||||
|
MOVE_VALID = 1
|
||||||
|
MOVE_NOINPUT = 2
|
||||||
|
|
|
@ -0,0 +1,117 @@
|
||||||
|
; move_ret_t pascal near player_move(int input);
|
||||||
|
public PLAYER_MOVE
|
||||||
|
player_move proc near
|
||||||
|
@@input_local = word ptr -2
|
||||||
|
@@input = word ptr 4
|
||||||
|
|
||||||
|
enter 2, 0
|
||||||
|
mov dl, MOVE_VALID
|
||||||
|
mov ax, [bp+@@input]
|
||||||
|
mov [bp+@@input_local], ax
|
||||||
|
mov cx, @@num_cases
|
||||||
|
mov bx, offset @@switch_table
|
||||||
|
|
||||||
|
@@case_lookup:
|
||||||
|
mov ax, cs:[bx]
|
||||||
|
cmp ax, [bp+@@input_local]
|
||||||
|
jz short @@switch
|
||||||
|
add bx, 2
|
||||||
|
loop @@case_lookup
|
||||||
|
jmp short @@default
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@switch:
|
||||||
|
jmp word ptr cs:[bx+@@case_to_target] ; switch jump
|
||||||
|
|
||||||
|
@@standing_still:
|
||||||
|
mov dl, MOVE_NOINPUT
|
||||||
|
jmp short @@ret
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@left:
|
||||||
|
mov player_pos.velocity.x, -playchar_speed_aligned
|
||||||
|
jmp short @@ret
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@down_left:
|
||||||
|
mov player_pos.velocity.x, -playchar_speed_diagonal
|
||||||
|
mov player_pos.velocity.y, playchar_speed_diagonal
|
||||||
|
jmp short @@ret
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@down:
|
||||||
|
mov player_pos.velocity.y, playchar_speed_aligned
|
||||||
|
jmp short @@ret
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@down_right:
|
||||||
|
mov player_pos.velocity.x, playchar_speed_diagonal
|
||||||
|
mov player_pos.velocity.y, playchar_speed_diagonal
|
||||||
|
jmp short @@ret
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@right:
|
||||||
|
mov player_pos.velocity.x, playchar_speed_aligned
|
||||||
|
jmp short @@ret
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@up_right:
|
||||||
|
mov player_pos.velocity.x, playchar_speed_diagonal
|
||||||
|
jmp short @@up_left_y
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@up:
|
||||||
|
mov player_pos.velocity.y, -playchar_speed_aligned
|
||||||
|
jmp short @@ret
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@up_left:
|
||||||
|
mov player_pos.velocity.x, -playchar_speed_diagonal
|
||||||
|
|
||||||
|
@@up_left_y:
|
||||||
|
mov player_pos.velocity.y, -playchar_speed_diagonal
|
||||||
|
jmp short @@ret
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@default:
|
||||||
|
mov dl, MOVE_INVALID
|
||||||
|
|
||||||
|
@@ret:
|
||||||
|
mov al, dl
|
||||||
|
leave
|
||||||
|
retn 2
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
db 0
|
||||||
|
@@switch_table label word
|
||||||
|
; value table for switch statement
|
||||||
|
dw INPUT_NONE
|
||||||
|
dw INPUT_UP
|
||||||
|
dw INPUT_DOWN
|
||||||
|
dw INPUT_LEFT
|
||||||
|
dw INPUT_UP or INPUT_LEFT
|
||||||
|
dw INPUT_DOWN or INPUT_LEFT
|
||||||
|
dw INPUT_RIGHT
|
||||||
|
dw INPUT_UP or INPUT_RIGHT
|
||||||
|
dw INPUT_DOWN or INPUT_RIGHT
|
||||||
|
dw INPUT_UP_LEFT
|
||||||
|
dw INPUT_UP_RIGHT
|
||||||
|
dw INPUT_DOWN_LEFT
|
||||||
|
dw INPUT_DOWN_RIGHT
|
||||||
|
@@case_to_target = $ - @@switch_table
|
||||||
|
@@num_cases = @@case_to_target shr 1
|
||||||
|
; jump table for switch statement
|
||||||
|
dw offset @@standing_still
|
||||||
|
dw offset @@up
|
||||||
|
dw offset @@down
|
||||||
|
dw offset @@left
|
||||||
|
dw offset @@up_left
|
||||||
|
dw offset @@down_left
|
||||||
|
dw offset @@right
|
||||||
|
dw offset @@up_right
|
||||||
|
dw offset @@down_right
|
||||||
|
dw offset @@up_left
|
||||||
|
dw offset @@up_right
|
||||||
|
dw offset @@down_left
|
||||||
|
dw offset @@down_right
|
||||||
|
player_move endp
|
|
@ -0,0 +1,2 @@
|
||||||
|
public PLAYER_POS
|
||||||
|
player_pos motion_t <?>
|
|
@ -1,2 +1,5 @@
|
||||||
GAME = 4
|
GAME = 4
|
||||||
include th04/shared.inc
|
include th04/shared.inc
|
||||||
|
|
||||||
|
playchar_speed_aligned = 4 shl 4
|
||||||
|
playchar_speed_diagonal = 3 shl 4
|
||||||
|
|
123
th04_main.asm
123
th04_main.asm
|
@ -11118,113 +11118,7 @@ loc_10894:
|
||||||
retn
|
retn
|
||||||
sub_107E2 endp
|
sub_107E2 endp
|
||||||
|
|
||||||
|
include th04/player/move.asm
|
||||||
; =============== S U B R O U T I N E =======================================
|
|
||||||
|
|
||||||
; Attributes: bp-based frame
|
|
||||||
|
|
||||||
sub_10898 proc near
|
|
||||||
|
|
||||||
var_2 = word ptr -2
|
|
||||||
arg_0 = word ptr 4
|
|
||||||
|
|
||||||
enter 2, 0
|
|
||||||
mov dl, 1
|
|
||||||
mov ax, [bp+arg_0]
|
|
||||||
mov [bp+var_2], ax
|
|
||||||
mov cx, 0Dh ; switch 13 cases
|
|
||||||
mov bx, offset table_10898
|
|
||||||
|
|
||||||
loc_108AA:
|
|
||||||
mov ax, cs:[bx]
|
|
||||||
cmp ax, [bp+var_2]
|
|
||||||
jz short loc_108B9
|
|
||||||
add bx, 2
|
|
||||||
loop loc_108AA
|
|
||||||
jmp short loc_10913 ; default
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_108B9:
|
|
||||||
jmp word ptr cs:[bx+1Ah] ; switch jump
|
|
||||||
|
|
||||||
loc_108BD:
|
|
||||||
mov dl, 2 ; jumptable 000108B9 case 0
|
|
||||||
jmp short loc_10915
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_108C1:
|
|
||||||
mov player_pos.velocity.x, -64 ; jumptable 000108B9 case 4
|
|
||||||
jmp short loc_10915
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_108C9:
|
|
||||||
mov player_pos.velocity.x, -48 ; jumptable 000108B9 cases 6,1024
|
|
||||||
mov player_pos.velocity.y, 48
|
|
||||||
jmp short loc_10915
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_108D7:
|
|
||||||
mov player_pos.velocity.y, 64 ; jumptable 000108B9 case 2
|
|
||||||
jmp short loc_10915
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_108DF:
|
|
||||||
mov player_pos.velocity.x, 48 ; jumptable 000108B9 cases 10,2048
|
|
||||||
mov player_pos.velocity.y, 48
|
|
||||||
jmp short loc_10915
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_108ED:
|
|
||||||
mov player_pos.velocity.x, 64 ; jumptable 000108B9 case 8
|
|
||||||
jmp short loc_10915
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_108F5:
|
|
||||||
mov player_pos.velocity.x, 48 ; jumptable 000108B9 cases 9,512
|
|
||||||
jmp short loc_1090B
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_108FD:
|
|
||||||
mov player_pos.velocity.y, -64 ; jumptable 000108B9 case 1
|
|
||||||
jmp short loc_10915
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_10905:
|
|
||||||
mov player_pos.velocity.x, -48 ; jumptable 000108B9 cases 5,256
|
|
||||||
|
|
||||||
loc_1090B:
|
|
||||||
mov player_pos.velocity.y, -48
|
|
||||||
jmp short loc_10915
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_10913:
|
|
||||||
mov dl, 0 ; default
|
|
||||||
|
|
||||||
loc_10915:
|
|
||||||
mov al, dl
|
|
||||||
leave
|
|
||||||
retn 2
|
|
||||||
sub_10898 endp
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
db 0
|
|
||||||
table_10898 dw 0, 1, 2, 4 ; value table for switch statement
|
|
||||||
dw 5, 6, 8, 9
|
|
||||||
dw 0Ah, 100h, 200h, 400h
|
|
||||||
dw 800h
|
|
||||||
dw offset loc_108BD ; jump table for switch statement
|
|
||||||
dw offset loc_108FD
|
|
||||||
dw offset loc_108D7
|
|
||||||
dw offset loc_108C1
|
|
||||||
dw offset loc_10905
|
|
||||||
dw offset loc_108C9
|
|
||||||
dw offset loc_108ED
|
|
||||||
dw offset loc_108F5
|
|
||||||
dw offset loc_108DF
|
|
||||||
dw offset loc_10905
|
|
||||||
dw offset loc_108F5
|
|
||||||
dw offset loc_108C9
|
|
||||||
dw offset loc_108DF
|
|
||||||
|
|
||||||
; =============== S U B R O U T I N E =======================================
|
; =============== S U B R O U T I N E =======================================
|
||||||
|
|
||||||
|
@ -11384,8 +11278,8 @@ sub_10988 endp
|
||||||
|
|
||||||
sub_10ABF proc near
|
sub_10ABF proc near
|
||||||
|
|
||||||
var_2 = byte ptr -2
|
@@move_ret = byte ptr -2
|
||||||
var_1 = byte ptr -1
|
var_1 = byte ptr -1
|
||||||
|
|
||||||
enter 2, 0
|
enter 2, 0
|
||||||
push si
|
push si
|
||||||
|
@ -11421,15 +11315,14 @@ loc_10B11:
|
||||||
mov player_pos.velocity.x, 0
|
mov player_pos.velocity.x, 0
|
||||||
mov player_pos.velocity.y, 0
|
mov player_pos.velocity.y, 0
|
||||||
mov ax, _input
|
mov ax, _input
|
||||||
and ax, 0F0Fh
|
and ax, INPUT_MOVEMENT
|
||||||
mov si, ax
|
mov si, ax
|
||||||
mov [bp+var_1], 1
|
mov [bp+var_1], 1
|
||||||
|
|
||||||
loc_10B32:
|
loc_10B32:
|
||||||
push si
|
call main_01:player_move pascal, si
|
||||||
call main_01:sub_10898
|
mov [bp+@@move_ret], al
|
||||||
mov [bp+var_2], al
|
cmp [bp+@@move_ret], 0
|
||||||
cmp [bp+var_2], 0
|
|
||||||
jnz short loc_10B58
|
jnz short loc_10B58
|
||||||
cmp [bp+var_1], 0
|
cmp [bp+var_1], 0
|
||||||
jz short loc_10B58
|
jz short loc_10B58
|
||||||
|
@ -41529,7 +41422,7 @@ public _stage_vm
|
||||||
_stage_vm dd ?
|
_stage_vm dd ?
|
||||||
word_2598A dw ?
|
word_2598A dw ?
|
||||||
word_2598C dw ?
|
word_2598C dw ?
|
||||||
player_pos motion_t <?>
|
include th04/player/pos[bss].asm
|
||||||
word_2599A dw ?
|
word_2599A dw ?
|
||||||
word_2599C dw ?
|
word_2599C dw ?
|
||||||
word_2599E dw ?
|
word_2599E dw ?
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
; All values are signed. (Yes, allowing you to invert the controls with
|
; All values are signed. (Yes, allowing you to invert the controls with
|
||||||
; negative values!)
|
; negative values!)
|
||||||
public _playchar_speed_aligned, _playchar_speed_diagonal
|
public _PLAYCHAR_SPEED_ALIGNED, _PLAYCHAR_SPEED_DIAGONAL
|
||||||
_playchar_speed_aligned dw ?
|
_playchar_speed_aligned dw ?
|
||||||
dw ?
|
dw ?
|
||||||
_playchar_speed_diagonal dw ?
|
_playchar_speed_diagonal dw ?
|
||||||
|
|
|
@ -0,0 +1,120 @@
|
||||||
|
.186
|
||||||
|
locals
|
||||||
|
|
||||||
|
include libs/master.lib/macros.inc
|
||||||
|
include th04/math/motion.inc
|
||||||
|
include th04/hardware/input.inc
|
||||||
|
|
||||||
|
extrn player_pos:motion_t
|
||||||
|
extrn _playchar_speed_aligned:word
|
||||||
|
extrn _playchar_speed_diagonal:word
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
main_01_TEXT segment word public 'CODE' use16
|
||||||
|
assume cs:main_01_TEXT
|
||||||
|
|
||||||
|
; move_ret_t pascal near player_move(int input);
|
||||||
|
public PLAYER_MOVE
|
||||||
|
player_move proc near
|
||||||
|
@@input = word ptr ss:[bx+2]
|
||||||
|
|
||||||
|
@@diagonal_x equ ax
|
||||||
|
@@diagonal_y equ cx
|
||||||
|
@@aligned equ dx
|
||||||
|
|
||||||
|
mov bx, sp
|
||||||
|
mov bx, @@input
|
||||||
|
cmp bl, INPUT_RIGHT or INPUT_DOWN
|
||||||
|
ja short @@invalid
|
||||||
|
mov @@diagonal_y, _playchar_speed_diagonal
|
||||||
|
mov @@diagonal_x, @@diagonal_y
|
||||||
|
mov @@aligned, _playchar_speed_aligned
|
||||||
|
and bh, low INPUT_MOVEMENT
|
||||||
|
jz short @@switch
|
||||||
|
or bl, bl
|
||||||
|
jnz short @@invalid
|
||||||
|
shr bx, 8
|
||||||
|
cmp bl, 8
|
||||||
|
ja short @@invalid
|
||||||
|
add bl, 11
|
||||||
|
|
||||||
|
@@switch:
|
||||||
|
add bx, bx
|
||||||
|
jmp word ptr cs:@@switch_table[bx]
|
||||||
|
|
||||||
|
@@up:
|
||||||
|
neg @@aligned
|
||||||
|
|
||||||
|
@@down:
|
||||||
|
mov player_pos.velocity.y, @@aligned
|
||||||
|
jmp short @@moved
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@left:
|
||||||
|
neg @@aligned
|
||||||
|
|
||||||
|
@@right:
|
||||||
|
mov player_pos.velocity.x, @@aligned
|
||||||
|
jmp short @@moved
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@up_right:
|
||||||
|
neg @@diagonal_y
|
||||||
|
jmp short @@down_right
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@up_left:
|
||||||
|
neg @@diagonal_y
|
||||||
|
|
||||||
|
@@down_left:
|
||||||
|
neg @@diagonal_x
|
||||||
|
|
||||||
|
@@down_right:
|
||||||
|
mov player_pos.velocity.x, @@diagonal_x
|
||||||
|
mov player_pos.velocity.y, @@diagonal_y
|
||||||
|
jmp short @@moved
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@standing_still:
|
||||||
|
mov al, MOVE_NOINPUT
|
||||||
|
jmp short @@ret
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@invalid:
|
||||||
|
xor al, al
|
||||||
|
jmp short @@ret
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@moved:
|
||||||
|
mov al, MOVE_VALID
|
||||||
|
|
||||||
|
@@ret:
|
||||||
|
retn 2
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
@@switch_table label word
|
||||||
|
dw @@standing_still
|
||||||
|
dw @@up
|
||||||
|
dw @@down
|
||||||
|
dw @@invalid
|
||||||
|
dw @@left
|
||||||
|
dw @@up_left
|
||||||
|
dw @@down_left
|
||||||
|
dw @@invalid
|
||||||
|
dw @@right
|
||||||
|
dw @@up_right
|
||||||
|
dw @@down_right
|
||||||
|
dw @@invalid
|
||||||
|
dw @@up_left
|
||||||
|
dw @@up_right
|
||||||
|
dw @@invalid
|
||||||
|
dw @@down_left
|
||||||
|
dw @@invalid
|
||||||
|
dw @@invalid
|
||||||
|
dw @@invalid
|
||||||
|
dw @@down_right
|
||||||
|
player_move endp
|
||||||
|
main_01_TEXT ends
|
||||||
|
|
||||||
|
end
|
107
th05_main.asm
107
th05_main.asm
|
@ -12973,13 +12973,12 @@ loc_12188:
|
||||||
mov player_pos.velocity.x, 0
|
mov player_pos.velocity.x, 0
|
||||||
mov player_pos.velocity.y, 0
|
mov player_pos.velocity.y, 0
|
||||||
mov ax, _input
|
mov ax, _input
|
||||||
and ax, 0F0Fh
|
and ax, INPUT_MOVEMENT
|
||||||
mov si, ax
|
mov si, ax
|
||||||
mov [bp+var_1], 1
|
mov [bp+var_1], 1
|
||||||
|
|
||||||
loc_121A9:
|
loc_121A9:
|
||||||
push si
|
call player_move pascal, si
|
||||||
call sub_142F8
|
|
||||||
or al, al
|
or al, al
|
||||||
jnz short loc_121CA
|
jnz short loc_121CA
|
||||||
cmp [bp+var_1], 0
|
cmp [bp+var_1], 0
|
||||||
|
@ -17557,106 +17556,10 @@ loc_142D4:
|
||||||
locret_142F6:
|
locret_142F6:
|
||||||
retn
|
retn
|
||||||
sub_14266 endp
|
sub_14266 endp
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
nop
|
nop
|
||||||
|
|
||||||
; =============== S U B R O U T I N E =======================================
|
PLAYER_MOVE procdesc pascal near \
|
||||||
|
input:word
|
||||||
|
|
||||||
sub_142F8 proc near
|
|
||||||
mov bx, sp
|
|
||||||
mov bx, ss:[bx+2]
|
|
||||||
cmp bl, 0Ah
|
|
||||||
ja short loc_1434D
|
|
||||||
mov cx, _playchar_speed_diagonal
|
|
||||||
mov ax, cx
|
|
||||||
mov dx, _playchar_speed_aligned
|
|
||||||
and bh, 0Fh
|
|
||||||
jz short loc_14321
|
|
||||||
or bl, bl
|
|
||||||
jnz short loc_1434D
|
|
||||||
shr bx, 8
|
|
||||||
cmp bl, 8
|
|
||||||
ja short loc_1434D
|
|
||||||
add bl, 0Bh
|
|
||||||
|
|
||||||
loc_14321:
|
|
||||||
add bx, bx
|
|
||||||
jmp word ptr cs:table_14356[bx]
|
|
||||||
|
|
||||||
loc_14328:
|
|
||||||
neg dx
|
|
||||||
|
|
||||||
loc_1432A:
|
|
||||||
mov player_pos.velocity.y, dx
|
|
||||||
jmp short loc_14351
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_14330:
|
|
||||||
neg dx
|
|
||||||
|
|
||||||
loc_14332:
|
|
||||||
mov player_pos.velocity.x, dx
|
|
||||||
jmp short loc_14351
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_14338:
|
|
||||||
neg cx
|
|
||||||
jmp short loc_14340
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_1433C:
|
|
||||||
neg cx
|
|
||||||
|
|
||||||
loc_1433E:
|
|
||||||
neg ax
|
|
||||||
|
|
||||||
loc_14340:
|
|
||||||
mov player_pos.velocity.x, ax
|
|
||||||
mov player_pos.velocity.y, cx
|
|
||||||
jmp short loc_14351
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_14349:
|
|
||||||
mov al, 2
|
|
||||||
jmp short locret_14353
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_1434D:
|
|
||||||
xor al, al
|
|
||||||
jmp short locret_14353
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
loc_14351:
|
|
||||||
mov al, 1
|
|
||||||
|
|
||||||
locret_14353:
|
|
||||||
retn 2
|
|
||||||
sub_142F8 endp
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
table_14356 dw loc_14349
|
|
||||||
dw loc_14328
|
|
||||||
dw loc_1432A
|
|
||||||
dw loc_1434D
|
|
||||||
dw loc_14330
|
|
||||||
dw loc_1433C
|
|
||||||
dw loc_1433E
|
|
||||||
dw loc_1434D
|
|
||||||
dw loc_14332
|
|
||||||
dw loc_14338
|
|
||||||
dw loc_14340
|
|
||||||
dw loc_1434D
|
|
||||||
dw loc_1433C
|
|
||||||
dw loc_14338
|
|
||||||
dw loc_1434D
|
|
||||||
dw loc_1433E
|
|
||||||
dw loc_1434D
|
|
||||||
dw loc_1434D
|
|
||||||
dw loc_1434D
|
|
||||||
dw loc_14340
|
|
||||||
|
|
||||||
HUD_BAR_PUT procdesc near
|
HUD_BAR_PUT procdesc near
|
||||||
HUD_SCORE_PUT procdesc near
|
HUD_SCORE_PUT procdesc near
|
||||||
SCORE_UPDATE_AND_RENDER procdesc near
|
SCORE_UPDATE_AND_RENDER procdesc near
|
||||||
|
@ -45141,7 +45044,7 @@ _stage_title dd ?
|
||||||
_stage_bgm_title dd ?
|
_stage_bgm_title dd ?
|
||||||
_boss_bgm_title dd ?
|
_boss_bgm_title dd ?
|
||||||
word_2CE9E dw ?
|
word_2CE9E dw ?
|
||||||
player_pos motion_t <?>
|
include th04/player/pos[bss].asm
|
||||||
include th05/playchar_speed[bss].asm
|
include th05/playchar_speed[bss].asm
|
||||||
dword_2CEB4 dd ?
|
dword_2CEB4 dd ?
|
||||||
dword_2CEB8 dd ?
|
dword_2CEB8 dd ?
|
||||||
|
|
Loading…
Reference in New Issue