{"name": "CG_SnowParticleCheckVisible", "code": "_BOOL8 __fastcall CG_SnowParticleCheckVisible ( __int64 @@a1@@ ) { _BOOL8 @@result@@ ; float v2 ; double v3 ; float @@v4@@ ; float @@v5@@ ; if ( ! @@a1@@ || ! * ( _DWORD * ) ( @@a1@@ + Number ) ) return Number L ; v2 = Number * ( double ) ( LODWORD ( cg [ Number ] ) - dword_49458 ) ; * ( float * ) @@a1@@ = ( float ) ( * ( float * ) ( @@a1@@ + Number ) * v2 ) + * ( float * ) @@a1@@ ; * ( float * ) ( @@a1@@ + Number ) = ( float ) ( * ( float * ) ( @@a1@@ + Number ) * v2 ) + * ( float * ) ( @@a1@@ + Number ) ; * ( float * ) ( @@a1@@ + Number ) = ( float ) ( * ( float * ) ( @@a1@@ + Number ) * v2 ) + * ( float * ) ( @@a1@@ + Number ) ; @@v4@@ = * ( float * ) ( @@a1@@ + Number ) ; v3 = BG_GetSkyGroundHeightAtPoint ( @@a1@@ ) ; if ( * ( float * ) & v3 > @@v4@@ || ( @@v5@@ = * ( float * ) ( @@a1@@ + Number ) - cg [ Number ] , ( float ) ( ( float ) ( @@v5@@ * @@v5@@ ) + ( float ) ( ( float ) ( * ( float * ) @@a1@@ - cg [ Number ] ) * ( float ) ( * ( float * ) @@a1@@ - cg [ Number ] ) ) ) > Number ) ) { @@result@@ = CG_SetParticleActive ( @@a1@@ , Number ) ; } else { @@result@@ = Number L ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "_BOOL8", "s": 8}, "location": "r8"}, {"n": "v4", "t": {"T": 1, "n": "float", "s": 4}, "location": "s28"}, {"n": "v5", "t": {"T": 1, "n": "float", "s": 4}, "location": "s8"}]}
{"name": "CG_SetParticleActive", "code": "_BOOL8 __fastcall CG_SetParticleActive ( __int64 @@a1@@ , int @@a2@@ ) { * ( _DWORD * ) ( @@a1@@ + Number ) = @@a2@@ ; return @@a2@@ != Number ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}]} {"name": "CG_EffectParse", "code": "__int64 __fastcall CG_EffectParse ( __int64 @@a1@@ ) { __int64 result ; const char * v2 ; const char * v3 ; int v4 ; __int64 v5 ; int v6 ; __int64 v7 ; int v8 ; char @@v9@@ [ Number ] ; int @@v10@@ ; float @@v11@@ ; float @@v12@@ ; float @@v13@@ ; float @@v14@@ ; float @@v15@@ ; float @@v16@@ ; float @@v17@@ ; float @@v18@@ ; unsigned int @@k@@ ; int @@v20@@ ; const char * @@j@@ ; char * @@i@@ ; char * @@v23@@ ; int @@l@@ ; @@v20@@ = Number ; result = CG_AtmosphericKludge ( ) ; if ( ! ( _DWORD ) result ) { dword_494A4 = Number ; dword_494A0 = Number ; dword_494B0 = Number ; dword_494AC = Number ; @@v18@@ = Number ; @@v17@@ = Number ; @@v16@@ = Number ; @@v15@@ = Number ; @@v14@@ = Number ; @@v13@@ = Number ; @@v11@@ = Number ; @@v12@@ = Number ; dword_49488 = Number ; dword_4948C = Number ; @@v10@@ = Number ; Q_strncpyz ( @@v9@@ , @@a1@@ , Number L ) ; @@v23@@ = @@v9@@ ; while ( Number ) { result = ( unsigned __int8 ) * @@v23@@ ; if ( ! ( _BYTE ) result ) break ; for ( @@i@@ = @@v23@@ ; * @@i@@ && * @@i@@ != Number && * @@i@@ != Number ; ++ @@i@@ ) ; result = ( unsigned __int8 ) * @@i@@ ; if ( ! ( _BYTE ) result ) break ; if ( * @@i@@ == Number ) { @@v23@@ = @@i@@ + Number ; } else { v2 = @@i@@ ++ ; * v2 = Number ; for ( @@j@@ = @@i@@ ; * @@j@@ && * @@j@@ != Number ; ++ @@j@@ ) ; if ( * @@j@@ ) { v3 = @@j@@ ++ ; * v3 = Number ; } if ( @@v20@@ ) { if ( ( unsigned int ) Q_stricmp ( @@v23@@ , String ) ) { if ( ( unsigned int ) Q_stricmp ( @@v23@@ , String ) ) { if ( ( unsigned int ) Q_stricmp ( @@v23@@ , String ) ) { if ( ( unsigned int ) Q_stricmp ( @@v23@@ , String ) ) { if ( ( unsigned int ) Q_stricmp ( @@v23@@ , String ) ) { if ( ( unsigned int ) Q_stricmp ( @@v23@@ , String ) ) { if ( ( unsigned int ) Q_stricmp ( @@v23@@ , String ) ) { if ( ( unsigned int ) Q_stricmp ( @@v23@@ , String ) ) CG_Printf ( String , @@v23@@ ) ; else CG_EP_ParseInts ( @@i@@ , & @@v10@@ , & @@v10@@ ) ; } else { CG_EP_ParseFloats ( @@i@@ , & @@v12@@ , & @@v11@@ ) ; } } else { CG_EP_ParseFloats ( @@i@@ , ( float * ) & dword_49488 , ( float * ) & dword_4948C ) ; } } else { CG_EP_ParseFloats ( @@i@@ , ( float * ) & dword_494AC , ( float * ) & dword_494B0 ) ; } } else { CG_EP_ParseFloats ( @@i@@ , ( float * ) & dword_494A0 , ( float * ) & dword_494A4 ) ; } } else { CG_EP_ParseFloats ( @@i@@ , & @@v14@@ , & @@v13@@ ) ; } } else { CG_EP_ParseFloats ( @@i@@ , & @@v16@@ , & @@v15@@ ) ; } } else { CG_EP_ParseFloats ( @@i@@ , & @@v18@@ , & @@v17@@ ) ; } } else { if ( ( unsigned int ) Q_stricmp ( @@v23@@ , & unk_49500 ) ) { dword_4945C = Number ; return CG_Printf ( String ) ; } if ( ( unsigned int ) Q_stricmp ( @@i@@ , String ) ) { if ( ( unsigned int ) Q_stricmp ( @@i@@ , String ) ) { dword_4945C = Number ; return CG_Printf ( String ) ; } @@v20@@ = Number ; qword_494C8 = ( __int64 ) CG_SnowParticleCheckVisible ; qword_494D0 = ( __int64 ) CG_SnowParticleGenerate ; qword_494D8 = ( __int64 ) CG_SnowParticleRender ; dword_494B4 = Number ; dword_494A8 = Number ; } else { @@v20@@ = Number ; qword_494C8 = ( __int64 ) CG_RainParticleCheckVisible ; qword_494D0 = ( __int64 ) CG_RainParticleGenerate ; qword_494D8 = ( __int64 ) CG_RainParticleRender ; dword_494B4 = Number ; dword_494A8 = Number ; } } @@v23@@ = ( char * ) @@j@@ ; } } if ( @@v20@@ && ( result = BG_LoadTraceMap ( ( char * ) & cgs + Number , & cg [ Number ] , & cg [ Number ] ) , ( _DWORD ) result ) ) { dword_49498 = @@v10@@ ; if ( @@v10@@ < Number ) dword_49498 = Number ; dword_49480 = ( int ) ( float ) ( Number * @@v18@@ ) ; dword_49484 = ( int ) ( float ) ( Number * @@v17@@ ) ; dword_49478 = ( int ) ( float ) ( Number * @@v16@@ ) ; dword_4947C = ( int ) ( float ) ( Number * @@v15@@ ) ; dword_49470 = ( int ) ( float ) ( Number * @@v14@@ ) ; dword_49474 = ( int ) ( float ) ( Number * @@v13@@ ) ; dword_49490 = ( int ) @@v12@@ ; dword_49494 = ( int ) @@v11@@ ; v4 = ( int ) @@v12@@ ; if ( ( int ) @@v11@@ >= ( int ) @@v12@@ ) v4 = ( int ) @@v11@@ ; dword_4945C = v4 ; if ( v4 > Number ) dword_4945C = Number ; if ( @@v20@@ == Number ) { dword_49440 = trap_R_RegisterShader ( String ) ; dword_4949C = Number ; for ( @@k@@ = Number ; ( int ) @@k@@ <= Number ; ++ @@k@@ ) { v5 = va ( String , @@k@@ ) ; v6 = trap_R_RegisterShader ( v5 ) ; * ( ( _DWORD * ) & cg_atmFx + ( int ) @@k@@ + Number ) = v6 ; if ( ! * ( ( _DWORD * ) & cg_atmFx + ( int ) @@k@@ + Number ) ) break ; ++ dword_4949C ; } } else if ( @@v20@@ == Number ) { dword_49440 = trap_R_RegisterShader ( String ) ; dword_4949C = Number ; for ( @@k@@ = Number ; ( int ) @@k@@ <= Number ; ++ @@k@@ ) { v7 = va ( String , @@k@@ ) ; v8 = trap_R_RegisterShader ( v7 ) ; * ( ( _DWORD * ) & cg_atmFx + ( int ) @@k@@ + Number ) = v8 ; if ( ! * ( ( _DWORD * ) & cg_atmFx + ( int ) @@k@@ + Number ) ) break ; ++ dword_4949C ; } } else { dword_4949C = Number ; } if ( ! dword_49440 ) { dword_49440 = Number ; dword_4949C = Number ; } for ( @@l@@ = Number ; @@l@@ < dword_4945C ; ++ @@l@@ ) dword_2F7C [ Number * @@l@@ ] = rand ( ) % Number + Number ; result = CG_EffectGust ( ) ; } else { dword_4945C = Number ; } } return result ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v23", "t": {"T": 3, "t": "char"}, "location": "s16"}, {"n": "v9", "t": {"T": 2, "n": 132, "s": 1, "t": "char"}, "location": "s208"}, {"n": "i", "t": {"T": 3, "t": "char"}, "location": "s24"}, {"n": "j", "t": {"T": 3, "t": "const char"}, "location": "s32"}, {"n": "v20", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "l", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "k", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s40"}, {"n": "v18", "t": {"T": 1, "n": "float", "s": 4}, "location": "s44"}, {"n": "v17", "t": {"T": 1, "n": "float", "s": 4}, "location": "s48"}, {"n": "v16", "t": {"T": 1, "n": "float", "s": 4}, "location": "s52"}, {"n": "v15", "t": {"T": 1, "n": "float", "s": 4}, "location": "s56"}, {"n": "v14", "t": {"T": 1, "n": "float", "s": 4}, "location": "s60"}, {"n": "v13", "t": {"T": 1, "n": "float", "s": 4}, "location": "s64"}, {"n": "v12", "t": {"T": 1, "n": "float", "s": 4}, "location": "s68"}, {"n": "v11", "t": {"T": 1, "n": "float", "s": 4}, "location": "s72"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s76"}]}