Skip to content

Commit 3bf815e

Browse files
committed
-
1 parent 272feb3 commit 3bf815e

16 files changed

Lines changed: 283 additions & 257 deletions

src/GameCheatsWindow.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ void GameCheatsWindow::DoUI(ImGuiIO& imguiContext)
4646
{
4747
if (ImGui::BeginMenu("[ Create Car ]"))
4848
{
49-
for (int icurr = 0; icurr < (int)gGameMap.mStyleData.mCars.size(); ++icurr)
49+
for (int icurr = 0; icurr < (int)gGameMap.mStyleData.mVehicles.size(); ++icurr)
5050
{
5151
ImGui::PushID(icurr);
52-
if (ImGui::MenuItem(cxx::enum_to_string(gGameMap.mStyleData.mCars[icurr].mModelId)))
52+
if (ImGui::MenuItem(cxx::enum_to_string(gGameMap.mStyleData.mVehicles[icurr].mModelId)))
5353
{
54-
CreateCarNearby(&gGameMap.mStyleData.mCars[icurr], gCarnageGame.mHumanSlot[0].mCharPedestrian);
54+
CreateCarNearby(&gGameMap.mStyleData.mVehicles[icurr], gCarnageGame.mHumanSlot[0].mCharPedestrian);
5555
}
5656
ImGui::PopID();
5757
}
@@ -176,7 +176,7 @@ void GameCheatsWindow::DoUI(ImGuiIO& imguiContext)
176176
if (ImGui::CollapsingHeader("Vehicle Info"))
177177
{
178178
ImVec4 physicsPropsColor(0.75f, 0.75f, 0.75f, 1.0f);
179-
ImGui::Text("VType - %s", cxx::enum_to_string(carInformation->mVType));
179+
ImGui::Text("VType - %s", cxx::enum_to_string(carInformation->mClassID));
180180
ImGui::HorzSpacing();
181181
ImGui::TextColored(physicsPropsColor, "Turning : %d", carInformation->mTurning);
182182
ImGui::TextColored(physicsPropsColor, "Turn Ratio : %d", carInformation->mTurnRatio);
@@ -249,5 +249,5 @@ void GameCheatsWindow::CreateCarNearby(CarStyle* carStyle, Pedestrian* pedestria
249249
currPosition.x += 0.5f;
250250
currPosition.z += 0.5f;
251251

252-
gGameObjectsManager.CreateCar(currPosition, cxx::angle_t::from_degrees(25.0f), carStyle);
252+
gGameObjectsManager.CreateVehicle(currPosition, cxx::angle_t::from_degrees(25.0f), carStyle);
253253
}

src/GameDefs.h

Lines changed: 81 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ enum eSpriteType : unsigned short
116116
eSpriteType_TrDoor,
117117
eSpriteType_Bike,
118118
eSpriteType_Tram,
119-
eSpriteType_WCar,
119+
eSpriteType_WreckedCar,
120120
eSpriteType_WBus,
121121
eSpriteType_Ex,
122122
eSpriteType_TumCar,
@@ -424,92 +424,92 @@ struct CarDoorStyle
424424
short mDelta;
425425
};
426426

427-
enum eCarVType
427+
enum eVehicleClass
428428
{
429-
eCarVType_Bus,
430-
eCarVType_FrontOfJuggernaut,
431-
eCarVType_BackOfJuggernaut,
432-
eCarVType_Motorcycle,
433-
eCarVType_StandardCar,
434-
eCarVType_Train,
435-
eCarVType_Tram,
436-
eCarVType_Boat,
437-
eCarVType_Tank,
438-
eCarVType_COUNT
429+
eVehicleClass_Bus,
430+
eVehicleClass_FrontOfJuggernaut,
431+
eVehicleClass_BackOfJuggernaut,
432+
eVehicleClass_Motorcycle,
433+
eVehicleClass_StandardCar,
434+
eVehicleClass_Train,
435+
eVehicleClass_Tram,
436+
eVehicleClass_Boat,
437+
eVehicleClass_Tank,
438+
eVehicleClass_COUNT
439439
};
440440

441-
decl_enum_strings(eCarVType);
441+
decl_enum_strings(eVehicleClass);
442442

443443
// warning - these values are mapped to gta1, so don't change it
444-
enum eCarModel
444+
enum eVehicleModel
445445
{
446-
eCarModel_BeastGTS_1 = 0,
447-
eCarModel_Bug = 1,
448-
eCarModel_Counthash = 2,
449-
eCarModel_Bike = 3,
450-
eCarModel_Police = 4,
451-
eCarModel_Ambulance = 5,
452-
eCarModel_RepairVan = 6,
453-
eCarModel_Juggernaut = 7,
454-
eCarModel_Coach = 9,
455-
eCarModel_Train = 11,
456-
eCarModel_Tram = 12,
457-
eCarModel_Boat = 13,
458-
eCarModel_Penetrator_1 = 14,
459-
eCarModel_Itali = 17,
460-
eCarModel_Mundano_1 = 18,
461-
eCarModel_4x4 = 19,
462-
eCarModel_Stallion = 21,
463-
eCarModel_Taxi = 22,
464-
eCarModel_Impaler_1 = 25,
465-
eCarModel_Jugular = 26,
466-
eCarModel_Pickup_1 = 27,
467-
eCarModel_PorkaTurbo = 28,
468-
eCarModel_Cossie = 29,
469-
eCarModel_Bulldog = 31,
470-
eCarModel_Challenger = 34,
471-
eCarModel_Limousine_1 = 35,
472-
eCarModel_Tank = 37,
473-
eCarModel_Superbike = 41,
474-
eCarModel_FireTruck = 42,
475-
eCarModel_Bus = 43,
476-
eCarModel_Tanker = 44,
477-
eCarModel_TVVan = 45,
478-
eCarModel_TransitVan = 46,
479-
eCarModel_ModelCar = 47,
480-
eCarModel_Roadster = 50,
481-
eCarModel_LoveWagon = 51,
482-
eCarModel_BeastGTS_2 = 53,
483-
eCarModel_Mundano_2 = 54,
484-
eCarModel_Mamba = 55,
485-
eCarModel_Portsmouth = 58,
486-
eCarModel_Speeder = 61,
487-
eCarModel_Porka = 62,
488-
eCarModel_Flamer = 63,
489-
eCarModel_Vulture = 64,
490-
eCarModel_Pickup_2 = 65,
491-
eCarModel_ItaliGTO = 66,
492-
eCarModel_Regal = 70,
493-
eCarModel_MonsterBug = 71,
494-
eCarModel_Thunderhead = 72,
495-
eCarModel_Panther = 73,
496-
eCarModel_Penetrator_2 = 74,
497-
eCarModel_LeBonham = 75,
498-
eCarModel_Stinger = 76,
499-
eCarModel_F19 = 77,
500-
eCarModel_Brigham = 78,
501-
eCarModel_StingerZ29 = 79,
502-
eCarModel_Classic = 80,
503-
eCarModel_29Special = 81,
504-
eCarModel_ItaliGTB = 82,
505-
eCarModel_Hotrod = 83,
506-
eCarModel_Limousine_2 = 86,
507-
eCarModel_Impaler_2 = 87,
508-
eCarModel_Helicopter = 88,
509-
eCarModel_COUNT
446+
eVehicle_BeastGTS_1 = 0,
447+
eVehicle_Bug = 1,
448+
eVehicle_Counthash = 2,
449+
eVehicle_Bike = 3,
450+
eVehicle_Police = 4,
451+
eVehicle_Ambulance = 5,
452+
eVehicle_RepairVan = 6,
453+
eVehicle_Juggernaut = 7,
454+
eVehicle_Coach = 9,
455+
eVehicle_Train = 11,
456+
eVehicle_Tram = 12,
457+
eVehicle_Boat = 13,
458+
eVehicle_Penetrator_1 = 14,
459+
eVehicle_Itali = 17,
460+
eVehicle_Mundano_1 = 18,
461+
eVehicle_4x4 = 19,
462+
eVehicle_Stallion = 21,
463+
eVehicle_Taxi = 22,
464+
eVehicle_Impaler_1 = 25,
465+
eVehicle_Jugular = 26,
466+
eVehicle_Pickup_1 = 27,
467+
eVehicle_PorkaTurbo = 28,
468+
eVehicle_Cossie = 29,
469+
eVehicle_Bulldog = 31,
470+
eVehicle_Challenger = 34,
471+
eVehicle_Limousine_1 = 35,
472+
eVehicle_Tank = 37,
473+
eVehicle_Superbike = 41,
474+
eVehicle_FireTruck = 42,
475+
eVehicle_Bus = 43,
476+
eVehicle_Tanker = 44,
477+
eVehicle_TVVan = 45,
478+
eVehicle_TransitVan = 46,
479+
eVehicle_ModelCar = 47,
480+
eVehicle_Roadster = 50,
481+
eVehicle_LoveWagon = 51,
482+
eVehicle_BeastGTS_2 = 53,
483+
eVehicle_Mundano_2 = 54,
484+
eVehicle_Mamba = 55,
485+
eVehicle_Portsmouth = 58,
486+
eVehicle_Speeder = 61,
487+
eVehicle_Porka = 62,
488+
eVehicle_Flamer = 63,
489+
eVehicle_Vulture = 64,
490+
eVehicle_Pickup_2 = 65,
491+
eVehicle_ItaliGTO = 66,
492+
eVehicle_Regal = 70,
493+
eVehicle_MonsterBug = 71,
494+
eVehicle_Thunderhead = 72,
495+
eVehicle_Panther = 73,
496+
eVehicle_Penetrator_2 = 74,
497+
eVehicle_LeBonham = 75,
498+
eVehicle_Stinger = 76,
499+
eVehicle_F19 = 77,
500+
eVehicle_Brigham = 78,
501+
eVehicle_StingerZ29 = 79,
502+
eVehicle_Classic = 80,
503+
eVehicle_29Special = 81,
504+
eVehicle_ItaliGTB = 82,
505+
eVehicle_Hotrod = 83,
506+
eVehicle_Limousine_2 = 86,
507+
eVehicle_Impaler_2 = 87,
508+
eVehicle_Helicopter = 88,
509+
eVehicle_COUNT
510510
};
511511

512-
decl_enum_strings(eCarModel);
512+
decl_enum_strings(eVehicleModel);
513513

514514
// warning - these values are mapped to gta1, so don't change it
515515
enum eCarConvertible
@@ -537,8 +537,8 @@ struct CarStyle
537537

538538
short mRemapsBaseIndex;
539539
HLSRemap mRemap[MAX_CAR_REMAPS];
540-
eCarVType mVType; // is a descriptor of the type of car / vehicle
541-
eCarModel mModelId;
540+
eVehicleClass mClassID; // is a descriptor of the type of car / vehicle
541+
eVehicleModel mModelId;
542542

543543
int mTurning;
544544

src/GameObject.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
GameObject::GameObject(eGameObjectClass objectTypeID, GameObjectID uniqueID)
66
: mObjectID(uniqueID)
7-
, mObjectTypeID(objectTypeID)
7+
, mClassID(objectTypeID)
88
{
99
if (uniqueID == GAMEOBJECT_ID_NULL ||
1010
objectTypeID == eGameObjectClass_Projectile)

src/GameObject.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class GameObject: public cxx::noncopyable
1212

1313
public:
1414
const GameObjectID mObjectID; // its unique for all game objects except projectiles or effects, see GAMEOBJECT_ID_NULL
15-
const eGameObjectClass mObjectTypeID;
15+
const eGameObjectClass mClassID;
1616

1717
// readonly
1818
eGameObjectFlags mFlags = eGameObjectFlags_None;
@@ -52,13 +52,13 @@ class GameObject: public cxx::noncopyable
5252
GameObject* GetAttachedObject(int index) const;
5353

5454
// class shortcuts
55-
inline bool IsPedestrianClass() const { return mObjectTypeID == eGameObjectClass_Pedestrian; }
56-
inline bool IsProjectileClass() const { return mObjectTypeID == eGameObjectClass_Projectile; }
57-
inline bool IsDecorationClass() const { return mObjectTypeID == eGameObjectClass_Decoration; }
58-
inline bool IsVehicleClass() const { return mObjectTypeID == eGameObjectClass_Car; }
59-
inline bool IsPowerupClass() const { return mObjectTypeID == eGameObjectClass_Powerup; }
60-
inline bool IsObstacleClass() const { return mObjectTypeID == eGameObjectClass_Obstacle; }
61-
inline bool IsExplosionClass() const { return mObjectTypeID == eGameObjectClass_Explosion; }
55+
inline bool IsPedestrianClass() const { return mClassID == eGameObjectClass_Pedestrian; }
56+
inline bool IsProjectileClass() const { return mClassID == eGameObjectClass_Projectile; }
57+
inline bool IsDecorationClass() const { return mClassID == eGameObjectClass_Decoration; }
58+
inline bool IsVehicleClass() const { return mClassID == eGameObjectClass_Car; }
59+
inline bool IsPowerupClass() const { return mClassID == eGameObjectClass_Powerup; }
60+
inline bool IsObstacleClass() const { return mClassID == eGameObjectClass_Obstacle; }
61+
inline bool IsExplosionClass() const { return mClassID == eGameObjectClass_Explosion; }
6262

6363
// flag shortcuts
6464
inline bool IsInvisibleFlag() const { return (mFlags & eGameObjectFlags_Invisible) != 0; }

src/GameObjectDefs.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ decl_enum_as_flags(eGameObjectFlags);
4343
enum
4444
{
4545
GameObjectType_Null = 0,
46+
47+
GameObjectType_FirstBlood = 63,
48+
GameObjectType_Body = 64,
4649
// todo...
4750
GameObjectType_MissileProjectile = 31,
4851
GameObjectType_BulletProjectile = 74,

src/GameObjectsManager.cpp

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ Pedestrian* GameObjectsManager::CreatePedestrian(const glm::vec3& position, cxx:
6868
return instance;
6969
}
7070

71-
Vehicle* GameObjectsManager::CreateCar(const glm::vec3& position, cxx::angle_t heading, CarStyle* carStyle)
71+
Vehicle* GameObjectsManager::CreateVehicle(const glm::vec3& position, cxx::angle_t heading, CarStyle* carStyle)
7272
{
7373
debug_assert(gGameMap.mStyleData.IsLoaded());
7474
debug_assert(carStyle);
@@ -85,14 +85,14 @@ Vehicle* GameObjectsManager::CreateCar(const glm::vec3& position, cxx::angle_t h
8585
return instance;
8686
}
8787

88-
Vehicle* GameObjectsManager::CreateCar(const glm::vec3& position, cxx::angle_t heading, eCarModel carModel)
88+
Vehicle* GameObjectsManager::CreateVehicle(const glm::vec3& position, cxx::angle_t heading, eVehicleModel carModel)
8989
{
9090
Vehicle* vehicle = nullptr;
91-
for (CarStyle& currStyle: gGameMap.mStyleData.mCars)
91+
for (CarStyle& currStyle: gGameMap.mStyleData.mVehicles)
9292
{
9393
if (currStyle.mModelId == carModel)
9494
{
95-
vehicle = CreateCar(position, heading, &currStyle);
95+
vehicle = CreateVehicle(position, heading, &currStyle);
9696
break;
9797
}
9898
}
@@ -169,6 +169,19 @@ Decoration* GameObjectsManager::CreateDecoration(const glm::vec3& position, cxx:
169169
return instance;
170170
}
171171

172+
Decoration* GameObjectsManager::CreateFirstBlood(const glm::vec3& position)
173+
{
174+
GameObjectStyle& objectInfo = gGameMap.mStyleData.mGameObjects[GameObjectType_FirstBlood];
175+
176+
cxx::angle_t rotation;
177+
Decoration* decoration = CreateDecoration(position, rotation, &objectInfo);
178+
debug_assert(decoration);
179+
if (decoration)
180+
{
181+
}
182+
return decoration;
183+
}
184+
172185
Obstacle* GameObjectsManager::GetObstacleByID(GameObjectID objectID) const
173186
{
174187
for (GameObject* currentObject: mAllObjectsList)
@@ -264,7 +277,7 @@ void GameObjectsManager::DestroyGameObject(GameObject* object)
264277
cxx::erase_elements(mDeleteObjectsList, object);
265278
cxx::erase_elements(mAllObjectsList, object);
266279

267-
switch (object->mObjectTypeID)
280+
switch (object->mClassID)
268281
{
269282
case eGameObjectClass_Pedestrian:
270283
{
@@ -363,13 +376,13 @@ bool GameObjectsManager::CreateStartupObjects()
363376
// create startup cars
364377
if (currObject.IsCarObject())
365378
{
366-
eCarModel carModel;
379+
eVehicleModel carModel;
367380
if (!cxx::parse_enum_int(currObject.mType, carModel))
368381
{
369382
debug_assert(false);
370383
continue;
371384
}
372-
Vehicle* startupCar = CreateCar(start_position, start_rotation, carModel);
385+
Vehicle* startupCar = CreateVehicle(start_position, start_rotation, carModel);
373386
debug_assert(startupCar);
374387
continue;
375388
}
@@ -405,23 +418,23 @@ bool GameObjectsManager::CreateStartupObjects()
405418
return true;
406419
}
407420

408-
int GameObjectsManager::GetBaseHitpointsForCar(eCarVType carType) const
421+
int GameObjectsManager::GetBaseHitpointsForVehicle(eVehicleClass carType) const
409422
{
410423
// todo: move to settings
411424
// todo: find out correct values
412425

413426
switch (carType)
414427
{
415-
case eCarVType_Bus:
416-
case eCarVType_FrontOfJuggernaut:
417-
case eCarVType_BackOfJuggernaut:
428+
case eVehicleClass_Bus:
429+
case eVehicleClass_FrontOfJuggernaut:
430+
case eVehicleClass_BackOfJuggernaut:
418431
return 29;
419-
case eCarVType_Motorcycle:
420-
case eCarVType_StandardCar:
432+
case eVehicleClass_Motorcycle:
433+
case eVehicleClass_StandardCar:
421434
return 16;
422-
case eCarVType_Train:
423-
case eCarVType_Tank:
435+
case eVehicleClass_Train:
436+
case eVehicleClass_Tank:
424437
return 62;
425438
}
426439
return 10;
427-
}
440+
}

0 commit comments

Comments
 (0)