MCPcopy Create free account
hub / github.com/ThirteenAG/WidescreenFixesPack / OnModuleStart

Function OnModuleStart

source/GTALCS.PPSSPP.Project2DFX/main.c:175–314  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

173}
174
175int OnModuleStart() {
176 sceKernelDelayThread(100000); //added cuz game gets stuck on a loadscreen between islands otherwise, idk why
177
178 int RenderLodLights = inireader.ReadInteger("PROJECT2DFX", "RenderLodLights", 1);
179 int CoronaLimit = inireader.ReadInteger("PROJECT2DFX", "CoronaLimit", 1000);
180 fCoronaRadiusMultiplier = inireader.ReadFloat("PROJECT2DFX", "CoronaRadiusMultiplier", 1.0f);
181 fCoronaFarClip = inireader.ReadFloat("PROJECT2DFX", "CoronaFarClip", 1000.0f);
182
183 int SkyGfx = inireader.ReadInteger("PROJECT2DFX", "SkyGfx", 1);
184
185 uintptr_t ptr_15700 = pattern.get(0, "00 29 05 00 21 30 05 00 C0 28 05 00 21 30 C5 00 80 28 05 00 21 28 C5 00 21 20 A4 00 AC 01 84 84 10 00 05 34", -12);
186 TheCamera = (uintptr_t)((uint32_t)(*(uint16_t*)(ptr_15700 + 0)) << 16 | (uint32_t)(*(uint16_t*)(ptr_15700 + 4)));
187 pCamPos = (CVector*)(TheCamera + 0xA70); //0xA70 at 0xEB598
188
189 uintptr_t ptr_8806D58 = pattern.get(0, "25 28 00 00 09 00 04 34 ? ? ? ? 02 00 05 34 0E 00 04 34", -4);
190 RslRenderStateSet = (void(*)(int, int))injector.GetBranchDestination(ptr_8806D58);
191 uintptr_t ptr_8836EC8 = pattern.get(0, "00 F0 84 44 ? ? ? ? 01 00 04 34", -4);
192 CSprite__FlushSpriteBuffer = (void(*)())injector.GetBranchDestination(ptr_8836EC8);
193 uintptr_t ptr_894DA78 = pattern.get(0, "02 00 06 3C ? ? ? ? 1A 00 A6 00", -8);
194 base__Random = (int(*)())ptr_894DA78;
195 uintptr_t ptr_8A25970 = pattern.get(0, "20 00 B4 E7 24 00 B6 E7 28 00 B0 AF 2C 00 B1 AF 30 00 B2 AF 34 00 B3 AF 38 00 B4 AF 3C 00 BF AF 25 80 E0 00", -4);
196 CSprite__CalcScreenCoors = (int(*)(CVector*, CVector*, float*, float*, uint8_t))ptr_8A25970;
197 uintptr_t ptr_8A27098 = pattern.get(0, "58 00 B0 AF FF 00 90 30 64 00 B3 AF 00 9C 07 00 00 3F 04 3C 54 00 B4 E7 5C 00 B1 AF 60 00 B2 AF 68 00 B4 AF 6C 00 B5 AF", -4);
198 CSprite__RenderBufferedOneXLUSprite = (void(*)())ptr_8A27098;
199
200 if (CoronaLimit)
201 {
202 if (CoronaLimit > 1024)
203 CoronaLimit = 1024;
204
205 const int corona_struct_size = 112;
206 uintptr_t aCoronas = AllocMemBlock(corona_struct_size * CoronaLimit);
207
208 uintptr_t ptr_1F5ED0 = pattern.get(0, "24 00 B1 AF 2C 00 B3 AF 3C 60 0D 46", -4);
209 uintptr_t ptr_1F5EE4 = pattern.get(0, "3C 60 0D 46 21 28 A4 00", 8);
210 uintptr_t ptr_1F5F94 = pattern.get(0, "38 00 04 2A ? ? ? ? 70 00 52 26", 0);
211 uintptr_t ptr_1F6048 = pattern.get(0, "00 00 05 34 ? ? ? ? C0 31 05 00 00 39 05 00", -4); // count = 2
212 uintptr_t ptr_1F6050 = pattern.get(0, "C0 31 05 00 00 39 05 00 23 30 C7 00 21 30 C4 00", -4);
213 uintptr_t ptr_1F6070 = pattern.get(0, "38 00 A6 28 ? ? ? ? 00 00 00 00", 0);
214 uintptr_t ptr_1F6150 = pattern.get(0, "00 00 07 34 01 00 08 34", -4);
215 uintptr_t ptr_1F6160 = pattern.get(1, "00 00 00 00 ? ? ? ? C0 41 07 00", -8); // count = 2
216 uintptr_t ptr_1F6198 = pattern.get(0, "38 00 E8 28", 0);
217 uintptr_t ptr_1F619C = pattern.get(0, "38 00 04 34 ? ? ? ? 00 00 00 00 C0 21 07 00", 0);
218 uintptr_t ptr_1F71E0 = pattern.get(0, "64 00 B0 AF C0 40 04 3C", -8);
219 uintptr_t ptr_1F7208 = pattern.get(0, "06 00 17 34 68 00 A5 AF", -4);
220 uintptr_t ptr_1F78E0 = pattern.get(0, "38 00 C4 2B", 0);
221 uintptr_t ptr_1F7ADC = pattern.get(0, "38 00 04 2A ? ? ? ? 00 00 00 00", 0);
222 uintptr_t ptr_1F7B70 = pattern.get(1, "B4 00 B4 E7 B8 00 B6 E7 BC 00 B8 E7", -8); // count = 3
223 uintptr_t ptr_1F7BB0 = pattern.get(0, "00 00 05 34 BF FF 04 24", -4);
224 uintptr_t ptr_1F7BE4 = pattern.get(0, "38 00 A6 28 ? ? ? ? C0 31 05 00", 0);
225 uintptr_t ptr_1F7FF4 = pattern.get(0, "38 00 24 2A", 0);
226 uintptr_t ptr_1F8A3C = pattern.get(0, "00 00 0F 34 01 00 19 34", -4);
227 uintptr_t ptr_1F8A48 = pattern.get(0, "38 00 18 34", 0);
228 uintptr_t ptr_1F8A4C = pattern.get(0, "C0 C9 0F 00 00 81 0F 00 23 C8 30 03", -8); // count = 2
229 uintptr_t ptr_1F8A7C = pattern.get(0, "38 00 F9 29 ? ? ? ? 00 00 00 00", 0);
230 uintptr_t ptr_1F8AD0 = pattern.get(0, "38 00 F9 29 ? ? ? ? C0 C9 0F 00", 0);
231
232 injector.WriteInstr(ptr_1F5ED0, lui(s2, HIWORD(aCoronas)));

Callers 1

module_startFunction · 0.70

Calls 9

GetAbsoluteAddressFunction · 0.70
clampfFunction · 0.70
randfFunction · 0.70
AllocMemBlockFunction · 0.50
luiFunction · 0.50
addiuFunction · 0.50
sltiFunction · 0.50
liFunction · 0.50
getMethod · 0.45

Tested by

no test coverage detected