Skip to content

Commit

Permalink
v1.0.2
Browse files Browse the repository at this point in the history
  • Loading branch information
JuniorDjjr committed Nov 7, 2020
1 parent 015ab7a commit 52ff202
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 12 deletions.
9 changes: 5 additions & 4 deletions CLEOPlus/CLEOPlus.cpp
Expand Up @@ -78,12 +78,12 @@ CdeclEvent <AddressList<0x618F51, H_CALL>, PRIORITY_BEFORE, ArgPickNone, void()>
ThiscallEvent <AddressList<0x5E49EF, H_CALL>, PRIORITY_AFTER, ArgPickN<CPed*, 0>, void(CPed*) > pedAfterSetModelIndex;
ThiscallEvent <AddressList<0x6D6494, H_CALL>, PRIORITY_AFTER, ArgPickN<CVehicle*, 0>, void(CVehicle*)> vehiclePreRenderEvent;
ThiscallEvent <AddressList<0x4F77DA, H_CALL>, PRIORITY_AFTER, ArgPickN<CVehicle*, 0>, void(CVehicle*)> vehicleAfterCtor;
ThiscallEvent <AddressList<0x58D568, H_CALL>, PRIORITY_AFTER, ArgPickNone, void()> drawAfterFade;
CdeclEvent <AddressList<0x53EB9D, H_CALL>, PRIORITY_AFTER, ArgPickNone, void()> drawAfterFade;
CdeclEvent <AddressList<0x57C2B0, H_CALL>, PRIORITY_AFTER, ArgPickNone, void()> onMenu;
CdeclEvent <AddressList<0x53BF4E, H_CALL>, PRIORITY_BEFORE, ArgPickNone, void()> beforeGameProcess;
ThiscallEvent <AddressList<0x53E98B, H_CALL>, PRIORITY_BEFORE, ArgPickNone, void(void*)> afterGameProcess;
CdeclEvent <AddressList<0x53E4FA, H_CALL>, PRIORITY_AFTER, ArgPickNone, void()> beforeHud;
CdeclEvent <AddressList<0x53E504, H_CALL>, PRIORITY_BEFORE, ArgPickNone, void()> afterHud;
CdeclEvent <AddressList<0x53E298, H_CALL>, PRIORITY_AFTER, ArgPickNone, void()> beforeHud;
ThiscallEvent <AddressList<0x53E52B, H_JUMP>, PRIORITY_AFTER, ArgPickNone, void(void*)> afterHud;
void CacheOnePedTask(CPed *ped, PedExtended &xdata, int &activeTaskIndex, CTask *task, bool isSecondary);
void ClearScriptLists();

Expand Down Expand Up @@ -444,7 +444,7 @@ class CLEOPlus
return;
}

Events::initRwEvent +=[]
Events::initRwEvent.after +=[]
{
if (initialized) return;

Expand Down Expand Up @@ -1340,6 +1340,7 @@ class CLEOPlus
UpdateKeyPresses(); // It's better to update all keys and buttons after all game processing, to make it compatible with script events
};


CLEO_AddScriptDeleteDelegate(ScriptDeleteEvent);
}

Expand Down
6 changes: 3 additions & 3 deletions CLEOPlus/CLEOPlus.vcxproj
Expand Up @@ -164,13 +164,13 @@
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>$(PLUGIN_SDK_DIR)\plugin_sa\;$(PLUGIN_SDK_DIR)\plugin_sa\game_sa\;$(PLUGIN_SDK_DIR)\shared\;$(PLUGIN_SDK_DIR)\shared\game\;$(CLEO_SDK_SA_DIR)\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS;GTASA;GTAGAME_NAME="San Andreas";GTAGAME_ABBR="SA";GTAGAME_ABBRLOW="sa";GTAGAME_PROTAGONISTNAME="CJ";GTAGAME_CITYNAME="San Andreas";_LA_SUPPORT;PLUGIN_SGV_10US;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<LanguageStandard>Default</LanguageStandard>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<Link>
<GenerateDebugInformation>Debug</GenerateDebugInformation>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalLibraryDirectories>$(PLUGIN_SDK_DIR)\output\lib\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>plugin_d.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(PLUGIN_SDK_DIR)\output\lib\;$(CLEO_SDK_SA_DIR)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>plugin_d.lib;CLEO.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
Expand Down
4 changes: 2 additions & 2 deletions CLEOPlus/Drawing.cpp
Expand Up @@ -147,7 +147,7 @@ void DrawMySprites(vector<MySprite*> &spritesList)
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATESHADEMODE, (void*)1); //D3DSHADE_FLAT
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATEZTESTENABLE, (void*)1); //rwRENDERSTATETEXTURERASTER
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATEZWRITEENABLE, 0);
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, 0);
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, (void*)1);
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATETEXTUREADDRESS, (void*)3); //D3DTADDRESS_CLAMP
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATETEXTUREPERSPECTIVE, 0);
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATEALPHATESTFUNCTION, (void*)5);
Expand All @@ -160,7 +160,7 @@ void DrawMySprites(vector<MySprite*> &spritesList)
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATEDESTBLEND, (void*)6u);
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATETEXTUREFILTER, (void*)2u);
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATESHADEMODE, (void*)1); //D3DSHADE_FLAT
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, 0);
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, (void*)1);
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATETEXTUREADDRESS, (void*)2); //D3DTADDRESS_CLAMP
RwEngineInstance->dOpenDevice.fpRenderStateSet(rwRENDERSTATETEXTUREPERSPECTIVE, 0);
}
Expand Down
8 changes: 5 additions & 3 deletions CLEOPlus/Misc.cpp
Expand Up @@ -1326,21 +1326,23 @@ OpcodeResult WINAPI GENERATE_RANDOM_INT_IN_RANGE_WITH_SEED(CScriptThread* thread
int seed = CLEO_GetIntOpcodeParam(thread);
int min = CLEO_GetIntOpcodeParam(thread);
int max = CLEO_GetIntOpcodeParam(thread) - 1;
unsigned int resetSeed = rand() / 2;
srand(seed);
CLEO_SetIntOpcodeParam(thread, Random(min, max));
srand(time(0)); // reset
srand((time(0) / 2) + resetSeed); // reset
return OR_CONTINUE;
}

// 0xEBD=4,generate_random_float_in_range_with_seed %1d% min %2d% max %3d% store_to %4d%
OpcodeResult WINAPI GENERATE_RANDOM_FLOAT_IN_RANGE_WITH_SEED(CScriptThread* thread)
{
int seed = CLEO_GetIntOpcodeParam(thread);
float min = CLEO_GetFloatOpcodeParam(thread);
float max = CLEO_GetFloatOpcodeParam(thread);
unsigned int resetSeed = rand() / 2;
srand(seed);
CLEO_SetFloatOpcodeParam(thread, fmaf((float)rand() / RAND_MAX, max - min, min));
srand(time(0)); // reset
srand((time(0) / 2) + resetSeed); // reset
return OR_CONTINUE;
}

Expand Down

0 comments on commit 52ff202

Please sign in to comment.