Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- text:00720640 ; CSkidmarks::Render(void)
- .text:00720640 _ZN10CSkidmarks6RenderEv proc near ; CODE XREF: NewTileRendererCB(RwCamera *,int,int,void *):loc_53DE61↑p
- .text:00720640 ; RenderEffects(void)+5↑p
- .text:00720640
- .text:00720640 var_1D = byte ptr -1Dh
- .text:00720640 var_1C = dword ptr -1Ch
- .text:00720640 var_18 = dword ptr -18h
- .text:00720640 var_14 = dword ptr -14h
- .text:00720640 var_10 = dword ptr -10h
- .text:00720640 var_C = dword ptr -0Ch
- .text:00720640 var_8 = dword ptr -8
- .text:00720640 var_4 = dword ptr -4
- .text:00720640
- .text:00720640 000 sub esp, 20h
- .text:00720643 020 mov eax, _RwEngineInstance
- .text:00720648 020 push ebx
- .text:00720649 024 push ebp
- .text:0072064A 028 push esi
- .text:0072064B 02C push edi
- .text:0072064C 030 push 0
- .text:0072064E 034 push 8
- .text:00720650 038 call dword ptr [eax+20h]
- .text:00720653 038 mov ecx, _RwEngineInstance
- .text:00720659 038 push 1
- .text:0072065B 03C push 0Ch
- .text:0072065D 040 call dword ptr [ecx+20h]
- .text:00720660 040 mov edx, _RwEngineInstance
- .text:00720666 040 push 5
- .text:00720668 044 push 0Ah
- .text:0072066A 048 call dword ptr [edx+20h]
- .text:0072066D 048 mov eax, _RwEngineInstance
- .text:00720672 048 push 6
- .text:00720674 04C push 0Bh
- .text:00720676 050 call dword ptr [eax+20h]
- .text:00720679 050 mov ecx, _RwEngineInstance
- .text:0072067F 050 push 1
- .text:00720681 054 push 0Eh
- .text:00720683 058 call dword ptr [ecx+20h]
- .text:00720686 058 mov edx, _texParticleskid
- .text:0072068C 058 mov eax, [edx]
- .text:0072068E 058 mov ecx, _RwEngineInstance
- .text:00720694 058 push eax
- .text:00720695 05C push 1
- .text:00720697 060 call dword ptr [ecx+20h]
- .text:0072069A 060 mov esi, offset unk_C79BF4
- .text:0072069F 060 add esp, 30h
- .text:007206A2 030 mov [esp+30h+var_10], esi
- .text:007206A6
- .text:007206A6 loc_7206A6: ; CODE XREF: CSkidmarks::Render(void)+2A6↓j
- .text:007206A6 030 mov bl, [esi+0Ah]
- .text:007206A9 030 test bl, bl
- .text:007206AB 030 mov [esp+30h+var_1D], bl
- .text:007206AF 030 jz loc_7208D6
- .text:007206B5 030 mov bp, [esi+8]
- .text:007206B9 030 cmp bp, 1
- .text:007206BD 030 jl loc_7208D6
- .text:007206C3 030 mov eax, [esi+4]
- .text:007206C6 030 cmp eax, 3 ; switch 4 cases
- .text:007206C9 030 mov byte ptr [esp+30h+var_1C], 0
- .text:007206CE 030 mov byte ptr [esp+30h+var_1C+1], 0
- .text:007206D3 030 mov byte ptr [esp+30h+var_1C+2], 0
- .text:007206D8 030 ja short loc_72070A ; default
- .text:007206DA 030 jmp ds:off_720920[eax*4] ; switch jump
- .text:007206E1 ; ---------------------------------------------------------------------------
- .text:007206E1
- .text:007206E1 loc_7206E1: ; CODE XREF: CSkidmarks::Render(void)+9A↑j
- .text:007206E1 ; DATA XREF: .text:off_720920↓o
- .text:007206E1 030 mov edx, dword_8D5D84 ; jumptable 007206DA case 3
- .text:007206E7 030 jmp short loc_720706
- .text:007206E9 ; ---------------------------------------------------------------------------
- .text:007206E9
- .text:007206E9 loc_7206E9: ; CODE XREF: CSkidmarks::Render(void)+9A↑j
- .text:007206E9 ; DATA XREF: .text:off_720920↓o
- .text:007206E9 030 mov eax, dword_8D5D80 ; jumptable 007206DA case 1
- .text:007206EE 030 mov [esp+30h+var_1C], eax
- .text:007206F2 030 jmp short loc_72070A ; default
- .text:007206F4 ; ---------------------------------------------------------------------------
- .text:007206F4
- .text:007206F4 loc_7206F4: ; CODE XREF: CSkidmarks::Render(void)+9A↑j
- .text:007206F4 ; DATA XREF: .text:off_720920↓o
- .text:007206F4 030 mov ecx, dword_8D5D7C ; jumptable 007206DA case 2
- .text:007206FA 030 mov [esp+30h+var_1C], ecx
- .text:007206FE 030 jmp short loc_72070A ; default
- .text:00720700 ; ---------------------------------------------------------------------------
- .text:00720700
- .text:00720700 loc_720700: ; CODE XREF: CSkidmarks::Render(void)+9A↑j
- .text:00720700 ; DATA XREF: .text:off_720920↓o
- .text:00720700 030 mov edx, dword_8D5D78 ; jumptable 007206DA case 0
- .text:00720706
- .text:00720706 loc_720706: ; CODE XREF: CSkidmarks::Render(void)+A7↑j
- .text:00720706 030 mov [esp+30h+var_1C], edx
- .text:0072070A
- .text:0072070A loc_72070A: ; CODE XREF: CSkidmarks::Render(void)+98↑j
- .text:0072070A ; CSkidmarks::Render(void)+B2↑j
- .text:0072070A ; CSkidmarks::Render(void)+BE↑j
- .text:0072070A 030 fld ds:fOne ; default
- .text:00720710 030 movzx eax, byte ptr [esp+30h+var_1C]
- .text:00720715 030 fsub _daylightLightingState
- .text:0072071B 030 mov [esp+30h+var_14], eax
- .text:0072071F 030 fmul ds:flt_858CC8
- .text:00720725 030 fadd ds:flt_858EE8 ; 0.4f
- .text:0072072B 030 fild [esp+30h+var_14]
- .text:0072072F 030 fmul st, st(1)
- .text:00720731 030 call __ftol2
- .text:00720736 030 movzx ecx, byte ptr [esp+30h+var_1C+1]
- .text:0072073B 030 mov [esp+30h+var_14], ecx
- .text:0072073F 030 mov byte ptr [esp+30h+var_1C], al
- .text:00720743 030 fild [esp+30h+var_14]
- .text:00720747 030 fmul st, st(1)
- .text:00720749 030 call __ftol2
- .text:0072074E 030 movzx edx, byte ptr [esp+30h+var_1C+2]
- .text:00720753 030 mov [esp+30h+var_14], edx
- .text:00720757 030 mov byte ptr [esp+30h+var_1C+1], al
- .text:0072075B 030 fild [esp+30h+var_14]
- .text:0072075F 030 fmul st, st(1)
- .text:00720761 030 call __ftol2
- .text:00720766 030 fstp st
- .text:00720768 030 cmp bl, 1
- .text:0072076B 030 mov cl, al
- .text:0072076D 030 jz short loc_720791
- .text:0072076F 030 mov edx, _ZN6CTimer22m_snTimeInMillisecondsE ; CTimer::m_snTimeInMilliseconds
- .text:00720775 030 cmp edx, [esi-4]
- .text:00720778 030 jb short loc_720791
- .text:0072077A 030 mov edi, [esi]
- .text:0072077C 030 mov eax, edi
- .text:0072077E 030 sub eax, edx
- .text:00720780 030 mov edx, [esi-4]
- .text:00720783 030 imul eax, 0FFh
- .text:00720789 030 sub edi, edx
- .text:0072078B 030 xor edx, edx
- .text:0072078D 030 div edi
- .text:0072078F 030 jmp short loc_720796
- .text:00720791 ; ---------------------------------------------------------------------------
- .text:00720791
- .text:00720791 loc_720791: ; CODE XREF: CSkidmarks::Render(void)+12D↑j
- .text:00720791 ; CSkidmarks::Render(void)+138↑j
- .text:00720791 030 mov eax, 0FFh
- .text:00720796
- .text:00720796 loc_720796: ; CODE XREF: CSkidmarks::Render(void)+14F↑j
- .text:00720796 030 movsx edx, bp
- .text:00720799 030 xor edi, edi
- .text:0072079B 030 test edx, edx
- .text:0072079D 030 mov [esp+30h+var_14], edx
- .text:007207A1 030 mov [esp+30h+var_18], edi
- .text:007207A5 030 jl loc_720895
- .text:007207AB 030 movzx edx, byte ptr [esp+30h+var_1C+1]
- .text:007207B0 030 movsx ebx, ax
- .text:007207B3 030 movzx eax, byte ptr [esp+30h+var_1C]
- .text:007207B8 030 mov [esp+30h+var_C], eax
- .text:007207BC 030 movzx eax, cl
- .text:007207BF 030 mov [esp+30h+var_8], edx
- .text:007207C3 030 mov [esp+30h+var_4], eax
- .text:007207C7 030 lea edx, [esi-144h]
- .text:007207CD 030 add esi, 0FFFFFFB4h
- .text:007207D0 030 mov eax, offset TempVertexBuffer.objVertex.y
- .text:007207D5 030 jmp short loc_7207E0
- .text:007207D5 ; ---------------------------------------------------------------------------
- .text:007207D7 030 align 10h
- .text:007207E0
- .text:007207E0 loc_7207E0: ; CODE XREF: CSkidmarks::Render(void)+195↑j
- .text:007207E0 ; CSkidmarks::Render(void)+24B↓j
- .text:007207E0 030 cmp eax, offset TempVertexBuffer.objVertex.y
- .text:007207E5 030 mov ebp, 80h
- .text:007207EA 030 jz short loc_7207F9
- .text:007207EC 030 cmp edi, [esp+30h+var_14]
- .text:007207F0 030 jnz short loc_7207FB
- .text:007207F2 030 cmp [esp+30h+var_1D], 2
- .text:007207F7 030 jnz short loc_7207FB
- .text:007207F9
- .text:007207F9 loc_7207F9: ; CODE XREF: CSkidmarks::Render(void)+1AA↑j
- .text:007207F9 030 xor ebp, ebp
- .text:007207FB
- .text:007207FB loc_7207FB: ; CODE XREF: CSkidmarks::Render(void)+1B0↑j
- .text:007207FB ; CSkidmarks::Render(void)+1B7↑j
- .text:007207FB 030 fld dword ptr [esi-40h]
- .text:007207FE 030 movsx ecx, bp
- .text:00720801 030 fadd dword ptr [edx-8]
- .text:00720804 030 mov ebp, [esp+30h+var_C]
- .text:00720808 030 imul ecx, ebx
- .text:0072080B 030 fstp dword ptr [eax-4]
- .text:0072080E 030 fld dword ptr [esi]
- .text:00720810 030 fadd dword ptr [edx-4]
- .text:00720813 030 fstp dword ptr [eax]
- .text:00720815 030 fld dword ptr [edx]
- .text:00720817 030 fadd ds:flt_858B1C ; 0.1f
- .text:0072081D 030 sar ecx, 8
- .text:00720820 030 movsx ecx, cx
- .text:00720823 030 fst dword ptr [eax+4]
- .text:00720826 030 fild [esp+30h+var_18]
- .text:0072082A 030 shl ecx, 8
- .text:0072082D 030 or ecx, ebp
- .text:0072082F 030 fmul ds:flt_8729AC
- .text:00720835 030 mov ebp, [esp+30h+var_8]
- .text:00720839 030 shl ecx, 8
- .text:0072083C 030 or ecx, ebp
- .text:0072083E 030 mov ebp, [esp+30h+var_4]
- .text:00720842 030 fst dword ptr [eax+1Ch]
- .text:00720845 030 fld dword ptr [edx-8]
- .text:00720848 030 shl ecx, 8
- .text:0072084B 030 fsub dword ptr [esi-40h]
- .text:0072084E 030 or ecx, ebp
- .text:00720850 030 mov [eax+14h], ecx
- .text:00720853 030 mov dword ptr [eax+18h], 0
- .text:0072085A 030 mov [eax+38h], ecx
- .text:0072085D 030 mov ecx, [esp+30h+var_14]
- .text:00720861 030 fstp dword ptr [eax+20h]
- .text:00720864 030 fld dword ptr [edx-4]
- .text:00720867 030 inc edi
- .text:00720868 030 fsub dword ptr [esi]
- .text:0072086A 030 mov dword ptr [eax+3Ch], 3F800000h
- .text:00720871 030 add esi, 4
- .text:00720874 030 add eax, 48h
- .text:00720877 030 fstp dword ptr [eax-24h]
- .text:0072087A 030 add edx, 0Ch
- .text:0072087D 030 cmp edi, ecx
- .text:0072087F 030 fxch st(1)
- .text:00720881 030 fstp dword ptr [eax-20h]
- .text:00720884 030 mov [esp+30h+var_18], edi
- .text:00720888 030 fstp dword ptr [eax-8]
- .text:0072088B 030 jle loc_7207E0
- .text:00720891 030 mov esi, [esp+30h+var_10]
- .text:00720895
- .text:00720895 loc_720895: ; CODE XREF: CSkidmarks::Render(void)+165↑j
- .text:00720895 030 call _Z10LittleTestv ; _B73708++;
- .text:0072089A 030 movsx ecx, word ptr [esi+8]
- .text:0072089E 030 push 1 ; flags
- .text:007208A0 034 push 0 ; ltm
- .text:007208A2 038 lea edx, [ecx+ecx+2]
- .text:007208A6 038 push edx ; numVerts
- .text:007208A7 03C push offset TempVertexBuffer ; pVerts
- .text:007208AC 040 call _Z15RwIm3DTransformP18RxObjSpace3DVertexjP11RwMatrixTagj ; RwIm3DTransform(RxObjSpace3DVertex *,uint,RwMatrixTag *,uint)
- .text:007208B1 040 add esp, 10h
- .text:007208B4 030 test eax, eax
- .text:007208B6 030 jz short loc_7208D6
- .text:007208B8 030 movsx eax, word ptr [esi+8]
- .text:007208BC 030 lea eax, [eax+eax*2]
- .text:007208BF 030 shl eax, 1
- .text:007208C1 030 push eax ; numIndices
- .text:007208C2 034 push offset unk_C799C8 ; indices
- .text:007208C7 038 push 3 ; primType
- .text:007208C9 03C call _RwIm3DRenderIndexedPrimitive
- .text:007208CE 03C add esp, 0Ch
- .text:007208D1 030 call _Z9RwIm3DEndv ; RwIm3DEnd(void)
- .text:007208D6
- .text:007208D6 loc_7208D6: ; CODE XREF: CSkidmarks::Render(void)+6F↑j
- .text:007208D6 ; CSkidmarks::Render(void)+7D↑j
- .text:007208D6 ; CSkidmarks::Render(void)+276↑j
- .text:007208D6 030 add esi, 158h
- .text:007208DC 030 cmp esi, offset dword_C7C6F4
- .text:007208E2 030 mov [esp+30h+var_10], esi
- .text:007208E6 030 jl loc_7206A6
- .text:007208EC 030 mov ecx, _RwEngineInstance
- .text:007208F2 030 push 0
- .text:007208F4 034 push 0Ch
- .text:007208F6 038 call dword ptr [ecx+20h]
- .text:007208F9 038 mov edx, _RwEngineInstance
- .text:007208FF 038 push 1
- .text:00720901 03C push 8
- .text:00720903 040 call dword ptr [edx+20h]
- .text:00720906 040 mov eax, _RwEngineInstance
- .text:0072090B 040 push 1
- .text:0072090D 044 push 6
- .text:0072090F 048 call dword ptr [eax+20h]
- .text:00720912 048 add esp, 18h
- .text:00720915 030 pop edi
- .text:00720916 02C pop esi
- .text:00720917 028 pop ebp
- .text:00720918 024 pop ebx
- .text:00720919 020 add esp, 20h
- .text:0072091C 000 retn
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement