mirror of
https://github.com/CookiePLMonster/SilentPatch.git
synced 2024-12-29 15:23:02 +05:00
Numberplates now randomised a bit
This commit is contained in:
parent
c6a0801221
commit
4b8d9be799
3 changed files with 16 additions and 1 deletions
|
@ -34,6 +34,12 @@ void GTAdelete(void* data);
|
||||||
extern unsigned char& nGameClockDays;
|
extern unsigned char& nGameClockDays;
|
||||||
extern unsigned char& nGameClockMonths;
|
extern unsigned char& nGameClockMonths;
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
inline T random(T a, T b)
|
||||||
|
{
|
||||||
|
return a + static_cast<T>(rand() * (1.0f/(RAND_MAX+1)) * (b - a));
|
||||||
|
}
|
||||||
|
|
||||||
//#define HIDE_MATERIAL
|
//#define HIDE_MATERIAL
|
||||||
//#define EXPAND_ALPHA_ENTITY_LISTS 800
|
//#define EXPAND_ALPHA_ENTITY_LISTS 800
|
||||||
//#define EXPAND_BOAT_ALPHA_ATOMIC_LISTS 400
|
//#define EXPAND_BOAT_ALPHA_ATOMIC_LISTS 400
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
WRAPPER void CVehicle::SetComponentAtomicAlpha(RpAtomic* pAtomic, int nAlpha) { WRAPARG(pAtomic); WRAPARG(nAlpha); EAXJMP(0x6D2960); }
|
WRAPPER void CVehicle::SetComponentAtomicAlpha(RpAtomic* pAtomic, int nAlpha) { WRAPARG(pAtomic); WRAPARG(nAlpha); EAXJMP(0x6D2960); }
|
||||||
WRAPPER void CVehicle::Render() { EAXJMP(0x6D0E60); }
|
WRAPPER void CVehicle::Render() { EAXJMP(0x6D0E60); }
|
||||||
|
WRAPPER bool CVehicle::IsLawEnforcementVehicle() { EAXJMP(0x6D2370); }
|
||||||
|
|
||||||
static RwObject* GetCurrentAtomicObjectCB(RwObject* pObject, void* data)
|
static RwObject* GetCurrentAtomicObjectCB(RwObject* pObject, void* data)
|
||||||
{
|
{
|
||||||
|
@ -27,7 +28,13 @@ bool CVehicle::CustomCarPlate_TextureCreate(CVehicleModelInfo* pModelInfo)
|
||||||
CCustomCarPlateMgr::GeneratePlateText(PlateText, 8);
|
CCustomCarPlateMgr::GeneratePlateText(PlateText, 8);
|
||||||
|
|
||||||
PlateTexture = CCustomCarPlateMgr::CreatePlateTexture(PlateText, pModelInfo->m_nPlateType);
|
PlateTexture = CCustomCarPlateMgr::CreatePlateTexture(PlateText, pModelInfo->m_nPlateType);
|
||||||
PlateDesign = pModelInfo->m_nPlateType != -1 ? pModelInfo->m_nPlateType : CCustomCarPlateMgr::GetMapRegionPlateDesign();
|
//PlateDesign = pModelInfo->m_nPlateType != -1 ? pModelInfo->m_nPlateType : CCustomCarPlateMgr::GetMapRegionPlateDesign();
|
||||||
|
if ( pModelInfo->m_nPlateType != -1 )
|
||||||
|
PlateDesign = pModelInfo->m_nPlateType;
|
||||||
|
else if ( IsLawEnforcementVehicle() )
|
||||||
|
PlateDesign = CCustomCarPlateMgr::GetMapRegionPlateDesign();
|
||||||
|
else
|
||||||
|
PlateDesign = random(0, 20) == 0 ? random<signed char>(0, 3) : CCustomCarPlateMgr::GetMapRegionPlateDesign();
|
||||||
|
|
||||||
assert(PlateDesign >= 0 && PlateDesign < 3);
|
assert(PlateDesign >= 0 && PlateDesign < 3);
|
||||||
|
|
||||||
|
|
|
@ -113,6 +113,8 @@ public:
|
||||||
void CustomCarPlate_BeforeRenderingStart(CVehicleModelInfo* pModelInfo);
|
void CustomCarPlate_BeforeRenderingStart(CVehicleModelInfo* pModelInfo);
|
||||||
void CustomCarPlate_AfterRenderingStop(CVehicleModelInfo* pModelInfo);
|
void CustomCarPlate_AfterRenderingStop(CVehicleModelInfo* pModelInfo);
|
||||||
|
|
||||||
|
bool IsLawEnforcementVehicle();
|
||||||
|
|
||||||
static void SetComponentAtomicAlpha(RpAtomic* pAtomic, int nAlpha);
|
static void SetComponentAtomicAlpha(RpAtomic* pAtomic, int nAlpha);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue