processActors proc near ; CODE XREF: main+317p ; smlayer_overrideDrawActorAt+1Bp actors_num= dword ptr -0F8h actors_num_= dword ptr -0F4h sort_criteria= dword ptr -7Ch var_4= dword ptr -4 push ebx push esi push edi push ebp sub esp, 0F4h mov eax, 1 mov edx, 4 mov ecx, 2 xor edi, edi xor ebx, ebx lea eax, [eax+0] loc_223B4: ; CODE XREF: processActors+52j movzx esi, actor_room[eax] cmp esi, _currentRoom jnz short loc_223DC add ebx, 4 movsx esi, actor_y[ecx] inc edi sub esi, actor_layer[edx] mov [esp+ebx+0F4h+actors_num], eax mov [esp+edx+0F4h+sort_criteria], esi loc_223DC: ; CODE XREF: processActors+2Dj add edx, 4 inc eax add ecx, 2 cmp eax, 30 jl short loc_223B4 test edi, edi jz loc_2246B jle short loc_22440 lea eax, ds:0[edi*4] xor ebp, ebp mov [esp+0F4h+var_4], eax loc_22402: ; CODE XREF: processActors+AAj test edi, edi jle short loc_22434 mov edx, ebp lea esi, ds:0[edi*4] xor eax, eax loc_22411: ; CODE XREF: processActors+9Ej mov ebx, [esp+edx+0F4h+actors_num_] mov ecx, [esp+eax+0F4h+actors_num_] mov ebx, [esp+ebx*4+0F4h+sort_criteria] cmp ebx, [esp+ecx*4+0F4h+sort_criteria] jge short loc_2242D mov ebx, [esp+eax+0F4h+actors_num_] mov ecx, [esp+edx+0F4h+actors_num_] mov [esp+edx+0F4h+actors_num_], ebx mov [esp+eax+0F4h+actors_num_], ecx loc_2242D: ; CODE XREF: processActors+8Bj add eax, 4 cmp eax, esi jl short loc_22411 loc_22434: ; CODE XREF: processActors+70j add ebp, 4 cmp ebp, [esp+0F4h+var_4] jl short loc_22402 loc_22440: ; CODE XREF: processActors+5Cj test edi, edi jle short loc_2246B lea edi, ds:0[edi*4] xor ebx, ebx loc_2244D: ; CODE XREF: processActors+D5j mov eax, [esp+ebx+0F4h+actors_num_] cmp actor_costume[eax*2], 0 jz short loc_22464 push eax call drawActorCostume add esp, 4 loc_22464: ; CODE XREF: processActors+C5j add ebx, 4 cmp ebx, edi jl short loc_2244D loc_2246B: ; CODE XREF: processActors+56j processActors+AEj add esp, 0F4h pop ebp pop edi pop esi pop ebx retn processActors endp