Ticket #1864: ft_processActors.txt

File ft_processActors.txt, 2.5 KB (added by cyxx, 15 years ago)
Line 
1processActors proc near ; CODE XREF: main+317p
2 ; smlayer_overrideDrawActorAt+1Bp
3
4actors_num= dword ptr -0F8h
5actors_num_= dword ptr -0F4h
6sort_criteria= dword ptr -7Ch
7var_4= dword ptr -4
8
9 push ebx
10 push esi
11 push edi
12 push ebp
13 sub esp, 0F4h
14 mov eax, 1
15 mov edx, 4
16 mov ecx, 2
17 xor edi, edi
18 xor ebx, ebx
19 lea eax, [eax+0]
20
21loc_223B4: ; CODE XREF: processActors+52j
22 movzx esi, actor_room[eax]
23 cmp esi, _currentRoom
24 jnz short loc_223DC
25 add ebx, 4
26 movsx esi, actor_y[ecx]
27 inc edi
28 sub esi, actor_layer[edx]
29 mov [esp+ebx+0F4h+actors_num], eax
30 mov [esp+edx+0F4h+sort_criteria], esi
31
32loc_223DC: ; CODE XREF: processActors+2Dj
33 add edx, 4
34 inc eax
35 add ecx, 2
36 cmp eax, 30
37 jl short loc_223B4
38 test edi, edi
39 jz loc_2246B
40 jle short loc_22440
41 lea eax, ds:0[edi*4]
42 xor ebp, ebp
43 mov [esp+0F4h+var_4], eax
44
45loc_22402: ; CODE XREF: processActors+AAj
46 test edi, edi
47 jle short loc_22434
48 mov edx, ebp
49 lea esi, ds:0[edi*4]
50 xor eax, eax
51
52loc_22411: ; CODE XREF: processActors+9Ej
53 mov ebx, [esp+edx+0F4h+actors_num_]
54 mov ecx, [esp+eax+0F4h+actors_num_]
55 mov ebx, [esp+ebx*4+0F4h+sort_criteria]
56 cmp ebx, [esp+ecx*4+0F4h+sort_criteria]
57 jge short loc_2242D
58 mov ebx, [esp+eax+0F4h+actors_num_]
59 mov ecx, [esp+edx+0F4h+actors_num_]
60 mov [esp+edx+0F4h+actors_num_], ebx
61 mov [esp+eax+0F4h+actors_num_], ecx
62
63loc_2242D: ; CODE XREF: processActors+8Bj
64 add eax, 4
65 cmp eax, esi
66 jl short loc_22411
67
68loc_22434: ; CODE XREF: processActors+70j
69 add ebp, 4
70 cmp ebp, [esp+0F4h+var_4]
71 jl short loc_22402
72
73loc_22440: ; CODE XREF: processActors+5Cj
74 test edi, edi
75 jle short loc_2246B
76 lea edi, ds:0[edi*4]
77 xor ebx, ebx
78
79loc_2244D: ; CODE XREF: processActors+D5j
80 mov eax, [esp+ebx+0F4h+actors_num_]
81 cmp actor_costume[eax*2], 0
82 jz short loc_22464
83 push eax
84 call drawActorCostume
85 add esp, 4
86
87loc_22464: ; CODE XREF: processActors+C5j
88 add ebx, 4
89 cmp ebx, edi
90 jl short loc_2244D
91
92loc_2246B: ; CODE XREF: processActors+56j processActors+AEj
93 add esp, 0F4h
94 pop ebp
95 pop edi
96 pop esi
97 pop ebx
98 retn
99processActors endp