Added 'Jericho Mode' cheat code.

- Havana palettes only load in correctly by the church (Tail Jericho)

- Las Vegas works fine all throughout

- Chicago/Rio don't have models for Jericho, and are omitted
This commit is contained in:
Fireboyd78 2020-09-04 12:08:51 -07:00
parent d145ca2727
commit 08fd40ea1c
2 changed files with 11 additions and 5 deletions

View File

@ -110,6 +110,11 @@ void ToggleSecretCarFun(int direction)
FixCarCos(&car_cosmetics[4], 12); FixCarCos(&car_cosmetics[4], 12);
} }
void ToggleJerichoMode(int direction)
{
ActiveCheats.cheat12 ^= 1;
}
extern void LoadSky(void); extern void LoadSky(void);
void DebugTimeOfDayDay(int direction) void DebugTimeOfDayDay(int direction)
@ -174,6 +179,7 @@ MENU_ITEM DebugOptionsItems[] =
{ "Invincible", 3, 2, ToggleInvincible, MENU_QUIT_NONE, NULL}, { "Invincible", 3, 2, ToggleInvincible, MENU_QUIT_NONE, NULL},
{ "Immunity", 3, 2, ToggleImmune, MENU_QUIT_NONE, NULL }, { "Immunity", 3, 2, ToggleImmune, MENU_QUIT_NONE, NULL },
{ "Secret Car Fun", 3, 2, ToggleSecretCarFun, MENU_QUIT_RESTART, NULL }, { "Secret Car Fun", 3, 2, ToggleSecretCarFun, MENU_QUIT_RESTART, NULL },
{ "Jericho mode", 3, 2, ToggleJerichoMode, MENU_QUIT_RESTART, NULL },
{ "Ghost mode", 3, 2, TogglePlayerGhost, MENU_QUIT_NONE, NULL }, { "Ghost mode", 3, 2, TogglePlayerGhost, MENU_QUIT_NONE, NULL },
{ "Next mission", 1, 2, NULL, MENU_QUIT_NEXTMISSION, NULL }, { "Next mission", 1, 2, NULL, MENU_QUIT_NEXTMISSION, NULL },
{ NULL, 128u, 0u, NULL, MENU_QUIT_NONE, NULL } { NULL, 128u, 0u, NULL, MENU_QUIT_NONE, NULL }

View File

@ -323,8 +323,8 @@ LAB_0006e104:
if ((pPed->type != PED_ACTION_SIT) && (bStopTanner == 0)) if ((pPed->type != PED_ACTION_SIT) && (bStopTanner == 0))
pPed->position.vy = iVar2; pPed->position.vy = iVar2;
if ((gInGameCutsceneActive == 0 || gCurrentMissionNumber != 0x17) || if ((gInGameCutsceneActive == 0 || gCurrentMissionNumber != 23) ||
((gInGameCutsceneID != 0 || (CameraCnt != 0x1cb || (pPed->pedType == TANNER_MODEL))))) ((gInGameCutsceneID != 0 || (CameraCnt != 0x1cb || ((pPed->pedType == TANNER_MODEL) || (ActiveCheats.cheat12 && (pPed->pedType == OTHER_MODEL)))))))
{ {
if ((tannerPad & 0x10) != 0) if ((tannerPad & 0x10) != 0)
{ {
@ -496,7 +496,7 @@ void SetTannerPosition(VECTOR *pVec)
pPed = pUsedPeds; pPed = pUsedPeds;
while(pPed) while(pPed)
{ {
if (pPed->pedType == TANNER_MODEL) if ((pPed->pedType == TANNER_MODEL) || (ActiveCheats.cheat12 && (pPed->pedType == OTHER_MODEL)))
{ {
pPed->position.vx = pVec->vx; pPed->position.vx = pVec->vx;
pPed->position.vy = -pVec->vy; pPed->position.vy = -pVec->vy;
@ -632,7 +632,7 @@ void DestroyPedestrians(void)
{ {
while (pUsedPeds) while (pUsedPeds)
{ {
if (pUsedPeds->pedType == TANNER_MODEL) if ((pUsedPeds->pedType == TANNER_MODEL) || (ActiveCheats.cheat12 && (pUsedPeds->pedType == OTHER_MODEL)))
numTannerPeds--; numTannerPeds--;
DestroyPedestrian(pUsedPeds); DestroyPedestrian(pUsedPeds);
@ -2930,7 +2930,7 @@ void AnimatePed(PEDESTRIAN *pPed)
pPed->frame1--; pPed->frame1--;
} }
if (pPed->pedType == TANNER_MODEL && pPed->type < PED_ACTION_BACK) if ((pPed->pedType == TANNER_MODEL || (ActiveCheats.cheat12 && (pPed->pedType == OTHER_MODEL))) && pPed->type < PED_ACTION_BACK)
{ {
iVar5 = PedSurfaceType((VECTOR *)&pPed->position); iVar5 = PedSurfaceType((VECTOR *)&pPed->position);