XREF: main+31DP ; o_kernelSetFunctions+76P var_24= byte ptr -24h var_A= word ptr -0Ah var_8= word ptr -8 var_6= word ptr -6 var_4= word ptr -4 var_2= word ptr -2 enter 24h, 0 loc_AF6_1FA: push di push si loc_AF6_1FC: sub cx, cx mov si, 1 lea di, [bp+var_24] loc_AF6_204: ; CODE XREF: processActors+21j mov al, _currentRoom loc_AF6_207: cmp actor_room[si], al jnz loc_AF6_213 inc di inc di mov [di-2], si loc_AF6_212: inc cx loc_AF6_213: ; CODE XREF: processActors+15j inc si cmp si, 13 loc_AF6_217: jb loc_AF6_204 or cx, cx jnz loc_AF6_220 jmp return ; --------------------------------------------------------------------------- loc_AF6_220: ; CODE XREF: processActors+25j mov [bp+var_6], 0 or cx, cx jz loc_AF6_277 lea ax, [bp+var_24] loc_AF6_22C: mov [bp+var_4], ax mov [bp+var_A], cx loc_AF6_232: ; CODE XREF: processActors+7Fj mov [bp+var_2], 0 or cx, cx jnz loc_AF6_240 mov di, [bp+var_4] jmp short loc_AF6_26D ; --------------------------------------------------------------------------- loc_AF6_240: ; CODE XREF: processActors+43j lea bx, [bp+var_24] mov dx, cx mov di, [bp+var_4] mov [bp+var_8], cx loc_AF6_24B: ; CODE XREF: processActors+72j mov si, [di] shl si, 1 mov ax, actor_y[si] mov si, [bx] shl si, 1 cmp actor_y[si], ax jle loc_AF6_265 mov cx, [di] mov ax, [bx] mov [di], ax mov [bx], cx loc_AF6_265: ; CODE XREF: processActors+65j inc bx inc bx dec dx jnz loc_AF6_24B mov cx, [bp+var_8] loc_AF6_26D: ; CODE XREF: processActors+48j inc di inc di mov [bp+var_4], di dec [bp+var_A] jnz loc_AF6_232 loc_AF6_277: ; CODE XREF: processActors+31j mov [bp+var_6], 0 or cx, cx jnz loc_AF6_283 jmp return ; --------------------------------------------------------------------------- loc_AF6_283: ; CODE XREF: processActors+88j lea di, [bp+var_24] mov [bp+var_2], cx mov [bp+var_8], cx draw_actors: ; CODE XREF: processActors+123j mov si, [di] mov bx, si shl bx, 1 cmp actor_costume[bx], 0 jz loc_AF6_312 mov bx, si shl bx, 1 mov ax, actor_x[bx] sub ax, virtScreenData.xtart mov cost_actorX, ax mov ax, actor_y[bx] mov cost_actorY, ax mov al, actor_mask[si] mov cost_zbuf, al sub ah, ah cmp ax, _numZBuffer jbe loc_AF6_2C4 mov al, byte ptr _numZBuffer mov cost_zbuf, al loc_AF6_2C4: ; CODE XREF: processActors+C6j cmp actor_forceClip[si], 0 jz loc_AF6_2D2 mov al, actor_forceClip[si] mov cost_zbuf, al loc_AF6_2D2: ; CODE XREF: processActors+D3j push si push cs call near ptr setupActorScale add sp, 2 mov al, actor_scaleX[si] sub ah, ah mov cost_scaleX, ax mov al, actor_scaleY[si] mov cost_scaleY, ax mov ax, si shl si, 1 mov cx, actorElevation[si] sub cost_actorY, cx push ax mov si, ax push cs loc_AF6_2FA: call near ptr setActorCostPalette add sp, 2 push si call drawActorCostume add sp, 2 push si call actorAnimate add sp, 2 loc_AF6_312: ; CODE XREF: processActors+A1j inc di inc di dec [bp+var_2] jz return jmp draw_actors ; --------------------------------------------------------------------------- return: ; CODE XREF: processActors+27j ; processActors+8Aj processActors+121j pop si pop di leave retf processActors endp