From e36d15da613aae1a0bd6245b8cc23c3ac5ebf95f Mon Sep 17 00:00:00 2001 From: lpouzenc Date: Sat, 7 Sep 2013 19:19:32 +0200 Subject: Tout le reverse est regroupe a present. Manque le makefile car .gitignore un peu violent --- reverse-engineering/work/seg_code_0208.txt | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'reverse-engineering/work/seg_code_0208.txt') 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 -- cgit v1.2.3