void POLFHack() { #if POLF_MAIN_HOOK EcuHacksMain(); #endif #if POLF_HACKS float OutputValue; #if POLF_RAM_TUNING if(pRamVariables->POLFRamFlag = 0x01) { OutputValue = Pull3DHooked(&FuelRamTable, *pEngineLoad, *pEngineSpeed); } else { #endif OutputValue = BlendAndSwitch(FuelTableGroup, *pEngineLoad, *pEngineSpeed); #if POLF_RAM_TUNING } #endif pRamVariables->LCFuelEnrich = Pull3DHooked(&LCFuelEnrichTable, *pVehicleSpeed, *pEngineSpeed) * pRamVariables->LCFuelEnrichMultiplier; if(pRamVariables->LCFuelMode == LCFuelModeCompensated) { OutputValue += pRamVariables->LCFuelEnrich; } //Now run existing code! pRamVariables->PolfTarget = OutputValue; if(pRamVariables->PolfHackEnabled == 0) pRamVariables->PolfOutput = pRamVariables->PolfTarget; else pRamVariables->PolfOutput = Pull3DHooked((void*)PrimaryOEMPolfTable, *pEngineLoad, *pEngineSpeed); #endif PolfHooked(); }
void WGDCHack() { #if WGDC_MAIN_HOOK EcuHacksMain(); #endif #if BOOST_HACKS //Calculated gear is a BYTE! float cgear = (char)*pCurrentGear; float PGWGInitial; float PGWGMax; float WGDCInitialComp; float WGDCMaxComp; #if PGWG_RAMTUNING if(pRamVariables->PGWGRamFlag = 0x01) { PGWGInitial = Pull3DHooked(&PGWGRamTable, cgear, *pEngineSpeed); PGWGMax = PGWGInitial; } else { #endif #if SWITCH_HACKS PGWGInitial = BlendAndSwitch(PGWGTableGroup, cgear, *pEngineSpeed); PGWGMax = PGWGInitial; #else PGWGInitial = Pull3DHooked(PGWGTable1i, cgear, *pEngineSpeed); PGWGMax = PGWGInitial; #endif #if PGWG_RAMTUNING } #endif #if WGDC_RAMTUNING if(pRamVariables->WGDCInitialRamFlag = 0x01) { WGDCInitialComp = Pull3DHooked(&WGDCInitialRamTable, *pReqTorque, *pEngineSpeed); WGDCMaxComp = Pull3DHooked(&WGDCMaxRamTable, *pReqTorque, *pEngineSpeed); } else { #endif #if SWITCH_HACKS WGDCInitialComp = BlendAndSwitch(WGDCInitialTableGroup, *pReqTorque, *pEngineSpeed); WGDCMaxComp = BlendAndSwitch(WGDCMaxTableGroup, *pReqTorque, *pEngineSpeed); #else WGDCInitialComp = Pull3DHooked(WGDCInitialTable1i, *pReqTorque, *pEngineSpeed); WGDCMaxComp = Pull3DHooked(WGDCMaxTable1i, *pReqTorque, *pEngineSpeed); #endif #if WGDC_RAMTUNING } #endif pRamVariables->PGWGMaxComp = WGDCMaxComp; pRamVariables->PGWGInitialComp = WGDCInitialComp; PGWGInitial *= WGDCInitialComp; PGWGMax *= WGDCMaxComp; pRamVariables->WGDCInitialTarget = PGWGInitial; pRamVariables->WGDCMaxTarget = PGWGMax; if(pRamVariables->BoostHackEnabled == HackEnabled) { #if PROG_MODE if(pRamVariables->ValetMode == ValetModeEnabled) { pRamVariables->WGDCInitialOutput = WGDCInitialComp * Pull3DHooked(&PGWGTableValetMode, *pReqTorque, *pEngineSpeed); pRamVariables->WGDCMaxOutput = WGDCMaxComp * Pull3DHooked(&PGWGTableValetMode, *pReqTorque, *pEngineSpeed); } #endif #if WGDC_LOCK #if PROG_MODE else #else else if #endif //Apply locks (*pEngineSpeed < RPMLockWGDC && *pThrottlePlate > ThrottleLockWGDC) { pRamVariables->WGDCInitialOutput = 100.0; pRamVariables->WGDCMaxOutput = 100.0; } #endif #if WGDC_LOCK || PROG_MODE else #endif { pRamVariables->WGDCInitialOutput = PGWGInitial; pRamVariables->WGDCMaxOutput = PGWGMax; } } else {
void WGDCHack() { EcuHacksMain(); #if BOOST_HACKS //Calculated gear is a BYTE! float cgear = (char)*pCurrentGear; float PGWGComp; float WGDCInitial; float WGDCMax; #if PGWG_RAMTUNING if(pRamVariables->PGWGRamFlag = 0x01) { PGWGComp = Pull3DHooked(&PGWGRamTable, cgear, *pEngineSpeed); } else { #endif #if SWITCH_HACKS PGWGComp = BlendAndSwitch(PGWGTableGroup, cgear, *pEngineSpeed); #else PGWGComp = Pull3DHooked(PGWGTable1i, cgear, *pEngineSpeed); #endif #if PGWG_RAMTUNING } #endif #if WGDC_RAMTUNING if(pRamVariables->WGDCInitialRamFlag = 0x01) { WGDCInitial = Pull3DHooked(&WGDCInitialRamTable, *pReqTorque, *pEngineSpeed); WGDCMax = Pull3DHooked(&WGDCMaxRamTable, *pReqTorque, *pEngineSpeed); } else { #endif #if SWITCH_HACKS WGDCInitial = BlendAndSwitch(WGDCInitialTableGroup, *pReqTorque, *pEngineSpeed); WGDCMax = BlendAndSwitch(WGDCMaxTableGroup, *pReqTorque, *pEngineSpeed); #else WGDCInitial = Pull3DHooked(WGDCInitialTable1i, *pReqTorque, *pEngineSpeed); WGDCMax = Pull3DHooked(WGDCMaxTable1i, *pReqTorque, *pEngineSpeed); #endif #if WGDC_RAMTUNING } #endif pRamVariables->PGWGComp = PGWGComp; #if WGDC_LOCK //Apply locks if(*pEngineSpeed < RPMLockWGDC && *pThrottlePlate > ThrottleLockWGDC) { pRamVariables->WGDCInitial = 100.0; pRamVariables->WGDCMax = 100.0; } else{ #endif pRamVariables->WGDCInitial = WGDCInitial * PGWGComp; pRamVariables->WGDCMax = WGDCMax * PGWGComp; #if WGDC_LOCK } #endif #endif //Finish Pulling WGDC WGDCHooked(); #if BOOST_HACKS TargetBoostHack(); #endif }