CFont crash workaround

This commit is contained in:
eray orçunus 2020-06-06 19:25:37 +03:00
parent 4e4a3489ef
commit fc0498b3a8
3 changed files with 24 additions and 9 deletions

View File

@ -437,9 +437,9 @@ void CControllerConfigManager::InitialiseControllerActionNameArray()
SETACTIONNAME(PED_CYCLE_TARGET_LEFT); SETACTIONNAME(PED_CYCLE_TARGET_LEFT);
SETACTIONNAME(PED_CYCLE_TARGET_RIGHT); SETACTIONNAME(PED_CYCLE_TARGET_RIGHT);
SETACTIONNAME(PED_CENTER_CAMERA_BEHIND_PLAYER); SETACTIONNAME(PED_CENTER_CAMERA_BEHIND_PLAYER);
SETACTIONNAME(VEHICLE_LOOKBEHIND);
SETACTIONNAME(PED_DUCK); SETACTIONNAME(PED_DUCK);
SETACTIONNAME(PED_ANSWER_PHONE); SETACTIONNAME(PED_ANSWER_PHONE);
SETACTIONNAME(VEHICLE_LOOKBEHIND);
SETACTIONNAME(VEHICLE_LOOKLEFT); SETACTIONNAME(VEHICLE_LOOKLEFT);
SETACTIONNAME(VEHICLE_LOOKRIGHT); SETACTIONNAME(VEHICLE_LOOKRIGHT);
SETACTIONNAME(VEHICLE_HORN); SETACTIONNAME(VEHICLE_HORN);
@ -462,6 +462,10 @@ void CControllerConfigManager::InitialiseControllerActionNameArray()
SETACTIONNAME(GO_RIGHT); SETACTIONNAME(GO_RIGHT);
SETACTIONNAME(GO_FORWARD); SETACTIONNAME(GO_FORWARD);
SETACTIONNAME(GO_BACK); SETACTIONNAME(GO_BACK);
SETACTIONNAME(VEHICLE_TURRETLEFT);
SETACTIONNAME(VEHICLE_TURRETRIGHT);
SETACTIONNAME(VEHICLE_TURRETUP);
SETACTIONNAME(VEHICLE_TURRETDOWN);
SETACTIONNAME(NETWORK_TALK); SETACTIONNAME(NETWORK_TALK);
SETACTIONNAME(TOGGLE_DPAD); SETACTIONNAME(TOGGLE_DPAD);
SETACTIONNAME(SWITCH_DEBUG_CAM_ON); SETACTIONNAME(SWITCH_DEBUG_CAM_ON);

View File

@ -6955,7 +6955,6 @@ CPed::ExitCar(void)
// TODO(Miami): What are those? // TODO(Miami): What are those?
if (m_vehEnterType == 18 || m_vehEnterType == 8) { if (m_vehEnterType == 18 || m_vehEnterType == 8) {
((CBike*)m_pMyVehicle)->KnockOffRider(WEAPONTYPE_UNARMED, 0, this, false); ((CBike*)m_pMyVehicle)->KnockOffRider(WEAPONTYPE_UNARMED, 0, this, false);
return;
} }
} else if (m_pMyVehicle->IsCar()) { } else if (m_pMyVehicle->IsCar()) {
if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_ROLLOUT_LHS)) { if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_CAR_ROLLOUT_LHS)) {

View File

@ -936,15 +936,27 @@ CFont::GetStringWidth(wchar *s, bool spaces)
} else } else
#endif #endif
{ {
for (; (*s != ' ' || spaces) && *s != '\0'; s++) { for (wchar c = *s; (c != ' ' || spaces) && c != '\0'; c = *(++s)) {
if (*s == '~') { if (c == '~') {
// This is original code
#if 0
s++; s++;
while (*s != '~') s++; while (*s != '~') {
s++; s++;
if (*s == ' ' && !spaces) }
break; #else
// TODO(Miami): This is my code to prevent fuck up until InsertPlayerControlKeysInString is done
if (*(s + 1) != '~') {
s++;
while (*s != '~') {
s++;
}
}
#endif
} else {
w += GetCharacterSize(c - ' ');
} }
w += GetCharacterSize(*s - ' ');
} }
} }
return w; return w;