summaryrefslogtreecommitdiff
path: root/reverse-engineering/work/seg_code_0208.txt
diff options
context:
space:
mode:
Diffstat (limited to 'reverse-engineering/work/seg_code_0208.txt')
-rw-r--r--reverse-engineering/work/seg_code_0208.txt30
1 files changed, 15 insertions, 15 deletions
diff --git a/reverse-engineering/work/seg_code_0208.txt b/reverse-engineering/work/seg_code_0208.txt
index 0efbed8..21a4ca0 100644
--- a/reverse-engineering/work/seg_code_0208.txt
+++ b/reverse-engineering/work/seg_code_0208.txt
@@ -1736,7 +1736,7 @@ main_loop_ingame:
00000F49 3C30 cmp al,0x30 if ( al == 0x30 ) goto no_lemm_left;
00000F4B 7502 jnz 0xf4f //
00000F4D EB57 jmp short 0xfa6 //
-00000F4F 803E2800FF cmp byte [0x28],0xff if ( ! [0x28] ) {
+00000F4F 803E2800FF cmp byte [0x28],0xff if ( ! paused ) {
00000F54 7437 jz 0xf8d //
00000F56 FE0E8200 dec byte [0x82] [0x82]--;
00000F5A 7531 jnz 0xf8d if ( [0x82] == 0 ) {
@@ -2769,7 +2769,7 @@ no_lemm_left:
0000182E C3 ret
void move_lemmings() {
-0000182F 803E2800FF cmp byte [0x28],0xff if ([0x28] == 0xff) { #
+0000182F 803E2800FF cmp byte [0x28],0xff if ( paused ) {
00001834 7503 jnz 0x1839
00001836 E9DC00 jmp word 0x1915 [0x4d] = 0; #
return;
@@ -2800,7 +2800,7 @@ no_lemm_left:
0000186F 7403 jz 0x1874 //
00001871 E9350E jmp word 0x26a9 //
00001874 8B4408 mov ax,[si+0x8] //
-00001877 23C0 and ax,ax if ( lemm->state.word == 0x0 )
+00001877 23C0 and ax,ax if ( lemm->state.raw == 0x0 )
00001879 7503 jnz 0x187e goto lbl_walking;
0000187B E9DF00 jmp word 0x195d //
0000187E A90200 test ax,0x2 if ( lemm->state.bits.s_exploding )
@@ -2882,7 +2882,7 @@ label1:
0000193A 7506 jnz 0x1942 //
0000193C FE064900 inc byte [0x49] //
00001940 EBD9 jmp short 0x191b //
-00001942 F744080380 test word [si+0x8],0x8003 if ( lemm->state.word & (s_exploding2 | s_splatting | s_exploding) == 0 ) {
+00001942 F744080380 test word [si+0x8],0x8003 if ( lemm->state.raw & (s_exploding2 | s_splatting | s_exploding) == 0 ) {
00001947 7504 jnz 0x194d lemm.expl_countdown = 79;
00001949 C644204F mov byte [si+0x20],0x4f }
0000194D FE064900 inc byte [0x49] [0x49]++;
@@ -4087,7 +4087,7 @@ lbl_anim_but_no_move:
000026B3 7403 jz 0x26b8 if ( lemm->spr_frame != 7 ) {
000026B5 E949F2 jmp word 0x1901 goto next_lemming;
}
-000026B8 C744080000 mov word [si+0x8],0x0 lemm->state.word = s_walking;
+000026B8 C744080000 mov word [si+0x8],0x0 lemm->state.raw = s_walking;
000026BD C7440A0000 mov word [si+0xa],0x0 //???
000026C2 C7440C0000 mov word [si+0xc],0x0 lemm->spr_data_ptr = 0;
000026C7 C744105A00 mov word [si+0x10],0x5a //???
@@ -4108,7 +4108,7 @@ lbl_anim_but_no_move:
000026F8 B001 mov al,0x1
000026FA FE4C20 dec byte [si+0x20] lemm.expl_countdown--;
000026FD 7555 jnz 0x2754 if ( lemm.expl_countdown == 0 ) {
-000026FF F744080454 test word [si+0x8],0x5404 if ( lemm->state.word == 0x5404 ) { //WTF?? #
+000026FF F744080454 test word [si+0x8],0x5404 if ( lemm->state.raw == 0x5404 ) { //WTF?? #
00002704 7551 jnz 0x2757 //
00002706 814C080080 or word [si+0x8],0x8000 lemm->state.bits.s_exploding2 = 1;
0000270B C7440A0800 mov word [si+0xa],0x8 // ??? #
@@ -4333,7 +4333,7 @@ lbl_on_exit:
00002997 CD61 int 0x61
00002999 C3 ret
void spawn_lemming() {
-0000299A 803E2800FF cmp byte [0x28],0xff if ( ![0x28] || ![0x52] ) return; #
+0000299A 803E2800FF cmp byte [0x28],0xff if ( paused || ![0x52] ) return; #
0000299F 7503 jnz 0x29a4 //
000029A1 E99F00 jmp word 0x2a43 //
000029A4 803E5200FF cmp byte [0x52],0xff //
@@ -4390,7 +4390,7 @@ lbl_on_exit:
00002A43 C3 ret return;
}
void apply_skill() {
-00002A44 803E2800FF cmp byte [0x28],0xff if ( [0x28] || [0x4d] || ![0x60] ) return;
+00002A44 803E2800FF cmp byte [0x28],0xff if ( paused || [0x4d] || ![0x60] ) return;
00002A49 7463 jz 0x2aae //
00002A4B 803E4D00FF cmp byte [0x4d],0xff //
00002A50 7502 jnz 0x2a54 //
@@ -4441,7 +4441,7 @@ lbl_apply_exploder:
00002ABA 7441 jz 0x2afd //
00002ABC 807C2000 cmp byte [si+0x20],0x0 //
00002AC0 753B jnz 0x2afd //
-00002AC2 F7440803C0 test word [si+0x8],0xc003 if ( lemm->state.word & (s_exploding2 | s_dying | s_exploding | s_splatting) !=0 )
+00002AC2 F7440803C0 test word [si+0x8],0xc003 if ( lemm->state.raw & (s_exploding2 | s_dying | s_exploding | s_splatting) !=0 )
00002AC7 7534 jnz 0x2afd return;
00002AC9 FE0E6D00 dec byte [0x6d] sk_bomber--;
00002ACD C6066F0000 mov byte [0x6f],0x0 sk_bomber_tag=0;
@@ -5679,7 +5679,7 @@ try_other_candidate_for_mining:
000037EC 3C0C cmp al,0xc
000037EE 7503 jnz 0x37f3
000037F0 E99B00 jmp word 0x388e
-000037F3 803E2800FF cmp byte [0x28],0xff
+000037F3 803E2800FF cmp byte [0x28],0xff if ( ! paused )
000037F8 7503 jnz 0x37fd
000037FA E98C00 jmp word 0x3889
000037FD 803E810000 cmp byte [0x81],0x0
@@ -5734,7 +5734,7 @@ try_other_candidate_for_mining:
00003888 C3 ret
00003889 C6065F00FF mov byte [0x5f],0xff
0000388E C3 ret
-0000388F 803E2800FF cmp byte [0x28],0xff
+0000388F 803E2800FF cmp byte [0x28],0xff if ( paused )
00003894 74F8 jz 0x388e
00003896 C606CC1F00 mov byte [0x1fcc],0x0
0000389B A0CF1F mov al,[0x1fcf]
@@ -5753,10 +5753,10 @@ try_other_candidate_for_mining:
000038C1 80FB02 cmp bl,0x2
000038C4 7302 jnc 0x38c8
000038C6 EBC6 jmp short 0x388e
-000038C8 80362800FF xor byte [0x28],0xff
+000038C8 80362800FF xor byte [0x28],0xff paused = !paused;
000038CD A25000 mov [0x50],al
000038D0 EBBC jmp short 0x388e
-000038D2 803E2800FF cmp byte [0x28],0xff
+000038D2 803E2800FF cmp byte [0x28],0xff if ( paused )
000038D7 74B5 jz 0x388e
000038D9 22C0 and al,al
000038DB 742B jz 0x3908
@@ -12418,8 +12418,8 @@ try_other_candidate_for_mining:
000070B3 C3 ret
}
void unk_03() {
-000070B4 803E2800FF cmp byte [0x28],0xff
-000070B9 745A jz 0x7115
+000070B4 803E2800FF cmp byte [0x28],0xff if ( paused ) return;
+000070B9 745A jz 0x7115 //
000070BB BEC817 mov si,0x17c8
000070BE BFE80F mov di,0xfe8
000070C1 B92000 mov cx,0x20