Skip to content

Commit

Permalink
Fix new VS build errors (#603)
Browse files Browse the repository at this point in the history
  • Loading branch information
yukani authored Aug 12, 2023
1 parent ad78f24 commit 8a76567
Show file tree
Hide file tree
Showing 21 changed files with 51 additions and 42 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
*~
.*.swp
/CMakeLists.txt.user
/cmake-build-debug

# ELF files
*.o
Expand Down
12 changes: 1 addition & 11 deletions source/game_sa/Entity/Ped/Ped.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
#include "ePedState.h"
#include "ePedStats.h"
#include "ePedType.h"
#include "eMoveState.h"

class CPedGroup;
class CCivilianPed;
Expand Down Expand Up @@ -77,17 +78,6 @@ enum ePedCreatedBy : uint8 {
PED_GAME_MISSION = 3, // used for the playbacked peds on replay
};

enum eMoveState : uint32 {
PEDMOVE_NONE = 0,
PEDMOVE_STILL,
PEDMOVE_TURN_L,
PEDMOVE_TURN_R,
PEDMOVE_WALK,
PEDMOVE_JOG,
PEDMOVE_RUN,
PEDMOVE_SPRINT
};

enum eFightingStyle : int8 {
STYLE_STANDARD = 4,
STYLE_BOXING,
Expand Down
12 changes: 12 additions & 0 deletions source/game_sa/Enums/eMoveState.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#pragma once

enum eMoveState : uint32 {
PEDMOVE_NONE = 0,
PEDMOVE_STILL,
PEDMOVE_TURN_L,
PEDMOVE_TURN_R,
PEDMOVE_WALK,
PEDMOVE_JOG,
PEDMOVE_RUN,
PEDMOVE_SPRINT
};
2 changes: 1 addition & 1 deletion source/game_sa/Tasks/TaskTypes/TaskComplexBeCop.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
class NOTSA_EXPORT_VTABLE CTaskComplexBeCop : public CTaskComplexWanderCop {
static constexpr auto Type = TASK_COMPLEX_BE_COP;

CTaskComplexBeCop(uint8 moveState, bool dir, CTask* task) : CTaskComplexWanderCop(moveState, dir) {
CTaskComplexBeCop(eMoveState moveState, bool dir, CTask* task) : CTaskComplexWanderCop(moveState, dir) {
m_pGoToPointAndStandStillTask = static_cast<CTaskComplexGoToPointAndStandStill*>(task);
};

Expand Down
2 changes: 1 addition & 1 deletion source/game_sa/Tasks/TaskTypes/TaskComplexStareAtPed.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ CTaskComplexStareAtPed::CTaskComplexStareAtPed(const CTaskComplexStareAtPed& o)
o.m_pPedGroup,
o.m_pPed,
o.m_timer.m_bStarted
? o.m_timer.m_nStartTime + o.m_timer.m_nInterval - CTimer::GetTimeInMS() // Either time left of timer
? static_cast<int32>(o.m_timer.m_nStartTime) + o.m_timer.m_nInterval - static_cast<int32>(CTimer::GetTimeInMS()) // Either time left of timer
: o.m_timeout // Or the original timeout
}
{
Expand Down
6 changes: 3 additions & 3 deletions source/game_sa/Tasks/TaskTypes/TaskComplexWander.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,16 @@ void CTaskComplexWander::InjectHooks() {
RH_ScopedOverloadedInstall(ScanForBlockedNode, "1", 0x66F4C0, bool(CTaskComplexWander::*)(const CVector&, CEntity*));
RH_ScopedInstall(GetWanderTaskByPedType, 0x673D00);
}
CTaskComplexWander* CTaskComplexWander::Constructor(int32 moveState, uint8 dir, bool bWanderSensibly, float fTargetRadius) { this->CTaskComplexWander::CTaskComplexWander(moveState, dir, bWanderSensibly, fTargetRadius); return this; }
CTaskComplexWander* CTaskComplexWander::Constructor(eMoveState moveState, uint8 dir, bool bWanderSensibly, float fTargetRadius) { this->CTaskComplexWander::CTaskComplexWander(moveState, dir, bWanderSensibly, fTargetRadius); return this; }
CTask* CTaskComplexWander::CreateNextSubTask(CPed* ped) { return CreateNextSubTask_Reversed(ped); }
CTask* CTaskComplexWander::CreateFirstSubTask(CPed* ped) { return CreateFirstSubTask_Reversed(ped); }
CTask* CTaskComplexWander::ControlSubTask(CPed* ped) { return ControlSubTask_Reversed(ped); }
void CTaskComplexWander::UpdateDir(CPed* ped) { return UpdateDir_Reversed(ped); }
void CTaskComplexWander::UpdatePathNodes(const CPed* ped, uint8 dir, CNodeAddress& originNode, CNodeAddress& targetNode, uint8& outDir) { return UpdatePathNodes_Reversed(ped, dir, originNode, targetNode, outDir); }

// 0x66F450
CTaskComplexWander::CTaskComplexWander(int32 moveState, uint8 dir, bool bWanderSensibly, float fTargetRadius) : CTaskComplex() {
m_nMoveState = static_cast<eMoveState>(moveState); // todo: change signature
CTaskComplexWander::CTaskComplexWander(eMoveState moveState, uint8 dir, bool bWanderSensibly, float fTargetRadius) : CTaskComplex() {
m_nMoveState = moveState;
m_nDir = dir;
m_fTargetRadius = fTargetRadius;
m_bWanderSensibly = bWanderSensibly;
Expand Down
4 changes: 2 additions & 2 deletions source/game_sa/Tasks/TaskTypes/TaskComplexWander.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class CTaskComplexWander : public CTaskComplex {
public:
static constexpr auto Type = TASK_COMPLEX_WANDER;

CTaskComplexWander(int32 moveState, uint8 dir, bool bWanderSensibly = true, float fTargetRadius = 0.5f);
CTaskComplexWander(eMoveState moveState, uint8 dir, bool bWanderSensibly = true, float fTargetRadius = 0.5f);
~CTaskComplexWander() override = default;

eTaskType GetTaskType() override { return Type; } // 0x460CD0
Expand All @@ -73,7 +73,7 @@ class CTaskComplexWander : public CTaskComplex {
private:
friend void InjectHooksMain();
static void InjectHooks();
CTaskComplexWander* Constructor(int32 moveState, uint8 dir, bool bWanderSensibly = true, float fTargetRadius = 0.5f);
CTaskComplexWander* Constructor(eMoveState moveState, uint8 dir, bool bWanderSensibly = true, float fTargetRadius = 0.5f);
CTask* CreateNextSubTask_Reversed(CPed* ped);
CTask* CreateFirstSubTask_Reversed(CPed* ped);
CTask* ControlSubTask_Reversed(CPed* ped);
Expand Down
4 changes: 2 additions & 2 deletions source/game_sa/Tasks/TaskTypes/TaskComplexWanderCop.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ void CTaskComplexWanderCop::InjectHooks() {
RH_ScopedInstall(LookForCriminals, 0x66B300);
RH_ScopedInstall(ShouldPursuePlayer, 0x66B160);
}
CTaskComplexWanderCop* CTaskComplexWanderCop::Constructor(int32 moveState, uint8 dir) { this->CTaskComplexWanderCop::CTaskComplexWanderCop(moveState, dir); return this; }
CTaskComplexWanderCop* CTaskComplexWanderCop::Constructor(eMoveState moveState, uint8 dir) { this->CTaskComplexWanderCop::CTaskComplexWanderCop(moveState, dir); return this; }
CTask* CTaskComplexWanderCop::CreateNextSubTask(CPed* ped) { return CreateNextSubTask_Reversed(ped); }
CTask* CTaskComplexWanderCop::CreateFirstSubTask(CPed* ped) { return CreateFirstSubTask_Reversed(ped); }
CTask* CTaskComplexWanderCop::ControlSubTask(CPed* ped) { return ControlSubTask_Reversed(ped); }
void CTaskComplexWanderCop::ScanForStuff(CPed* ped) { return ScanForStuff_Reversed(ped); }

// 0x460D80
CTaskComplexWanderCop::CTaskComplexWanderCop(int32 moveState, uint8 dir) : CTaskComplexWander(moveState, dir, true, 0.5f) {
CTaskComplexWanderCop::CTaskComplexWanderCop(eMoveState moveState, uint8 dir) : CTaskComplexWander(moveState, dir, true, 0.5f) {
m_pGoToPointAndStandStillTask = nullptr;
m_nTimePassedSinceLastLookedForCriminals = 0;
m_nTimePassedSinceLastLookedForCarAlarmsAndStolenCopCars = 0;
Expand Down
5 changes: 3 additions & 2 deletions source/game_sa/Tasks/TaskTypes/TaskComplexWanderCop.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include "TaskComplexWander.h"
#include "TaskComplexGoToPointAndStandStill.h"
#include "TaskTimer.h"
#include "eMoveState.h"

class CPed;

Expand All @@ -16,7 +17,7 @@ class NOTSA_EXPORT_VTABLE CTaskComplexWanderCop : public CTaskComplexWander {
CTaskTimer m_nSubTaskCreatedTimer;

public:
CTaskComplexWanderCop(int32 moveState, uint8 dir);
CTaskComplexWanderCop(eMoveState moveState, uint8 dir);
~CTaskComplexWanderCop() override;

eWanderType GetWanderType() override { return WANDER_TYPE_COP; } // 0x460D50
Expand All @@ -35,7 +36,7 @@ class NOTSA_EXPORT_VTABLE CTaskComplexWanderCop : public CTaskComplexWander {
friend void InjectHooksMain();
static void InjectHooks();

CTaskComplexWanderCop* Constructor(int32 moveState, uint8 dir);
CTaskComplexWanderCop* Constructor(eMoveState moveState, uint8 dir);

CTask* Clone_Reversed();
CTask* CreateNextSubTask_Reversed(CPed* ped);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "TaskComplexWanderCriminal.h"

// 0x48E610
CTaskComplexWanderCriminal::CTaskComplexWanderCriminal(int32 MoveState, uint8 Dir, bool bWanderSensibly) : CTaskComplexWander(MoveState, Dir, bWanderSensibly) { }
CTaskComplexWanderCriminal::CTaskComplexWanderCriminal(eMoveState MoveState, uint8 Dir, bool bWanderSensibly) : CTaskComplexWander(MoveState, Dir, bWanderSensibly) { }

// 0x670350
void CTaskComplexWanderCriminal::ScanForStuff(CPed* ped) {
Expand Down
3 changes: 2 additions & 1 deletion source/game_sa/Tasks/TaskTypes/TaskComplexWanderCriminal.h
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
#pragma once

#include "TaskComplexWander.h"
#include "eMoveState.h"

class NOTSA_EXPORT_VTABLE CTaskComplexWanderCriminal : public CTaskComplexWander {
public:
CTaskTimer m_TaskTimer;
uint32 m_nMinNextScanTime;

public:
CTaskComplexWanderCriminal(int32 MoveState, uint8 Dir, bool bWanderSensibly = true);
CTaskComplexWanderCriminal(eMoveState MoveState, uint8 Dir, bool bWanderSensibly = true);
~CTaskComplexWanderCriminal() override = default; // 0x48E720

CTask* Clone() override { return new CTaskComplexWanderCriminal(m_nMoveState, m_nDir); }// 0x48E650
Expand Down
2 changes: 1 addition & 1 deletion source/game_sa/Tasks/TaskTypes/TaskComplexWanderFlee.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ void CTaskComplexWanderFlee::InjectHooks() {
}

// 0x65B320
CTaskComplexWanderFlee::CTaskComplexWanderFlee(int32 moveState, uint8 dir) :
CTaskComplexWanderFlee::CTaskComplexWanderFlee(eMoveState moveState, uint8 dir) :
CTaskComplexWander{moveState, dir, false}
{
}
Expand Down
5 changes: 3 additions & 2 deletions source/game_sa/Tasks/TaskTypes/TaskComplexWanderFlee.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#pragma once

#include "TaskComplexWander.h"
#include "eMoveState.h"

class CPed;
class CTaskComplexWanderFlee;
Expand All @@ -9,7 +10,7 @@ class NOTSA_EXPORT_VTABLE CTaskComplexWanderFlee : public CTaskComplexWander {
public:
static void InjectHooks();

CTaskComplexWanderFlee(int32 moveState, uint8 dir);
CTaskComplexWanderFlee(eMoveState moveState, uint8 dir);
CTaskComplexWanderFlee(const CTaskComplexWanderFlee&);
~CTaskComplexWanderFlee() = default;

Expand All @@ -19,7 +20,7 @@ class NOTSA_EXPORT_VTABLE CTaskComplexWanderFlee : public CTaskComplexWander {

private: // Wrappers for hooks
// 0x65B320
CTaskComplexWanderFlee* Constructor(int32 moveState, uint8 dir) {
CTaskComplexWanderFlee* Constructor(eMoveState moveState, uint8 dir) {
this->CTaskComplexWanderFlee::CTaskComplexWanderFlee(moveState, dir);
return this;
}
Expand Down
2 changes: 1 addition & 1 deletion source/game_sa/Tasks/TaskTypes/TaskComplexWanderMedic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
#include "TaskComplexWanderMedic.h"

// 0x658770
CTaskComplexWanderMedic::CTaskComplexWanderMedic(int32 MoveState, uint8 Dir, bool bWanderSensibly) : CTaskComplexWander(MoveState, Dir, bWanderSensibly) {
CTaskComplexWanderMedic::CTaskComplexWanderMedic(eMoveState MoveState, uint8 Dir, bool bWanderSensibly) : CTaskComplexWander(MoveState, Dir, bWanderSensibly) {
// NOP
}
3 changes: 2 additions & 1 deletion source/game_sa/Tasks/TaskTypes/TaskComplexWanderMedic.h
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
#pragma once

#include "TaskComplexWander.h"
#include "eMoveState.h"

class CTaskComplexWanderMedic : public CTaskComplexWander {
public:
CTaskComplexWanderMedic(int32 MoveState, uint8 Dir, bool bWanderSensibly = true);
CTaskComplexWanderMedic(eMoveState MoveState, uint8 Dir, bool bWanderSensibly = true);

eWanderType GetWanderType() override { return WANDER_TYPE_MEDIC; } // 0x658810
CTask* Clone() override { return new CTaskComplexWanderMedic(m_nMoveState, m_nDir, m_bWanderSensibly); } // 0x6587A0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "TaskComplexWanderProstitute.h"

// 0x672690
CTaskComplexWanderProstitute::CTaskComplexWanderProstitute(int32 MoveState, uint8 Dir, bool bWanderSensibly) :
CTaskComplexWanderProstitute::CTaskComplexWanderProstitute(eMoveState MoveState, uint8 Dir, bool bWanderSensibly) :
CTaskComplexWanderStandard(MoveState, Dir, bWanderSensibly),
m_nStartTimeInMs{ 0 }
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class CTaskComplexWanderProstitute : public CTaskComplexWanderStandard {
uint32 m_nStartTimeInMs;

public:
CTaskComplexWanderProstitute(int32 MoveState, uint8 Dir, bool bWanderSensibly = true);
CTaskComplexWanderProstitute(eMoveState MoveState, uint8 Dir, bool bWanderSensibly = true);

eWanderType GetWanderType() override { return WANDER_TYPE_PROSTITUTE; } // 0x6726C0
CTask* Clone() override { return new CTaskComplexWanderProstitute(m_nMoveState, m_nDir, m_bWanderSensibly); } // 0x673C80
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "TaskComplexWanderStandard.h"

// 0x48E4F0
CTaskComplexWanderStandard::CTaskComplexWanderStandard(int32 MoveState, uint8 Dir, bool bWanderSensibly) :
CTaskComplexWanderStandard::CTaskComplexWanderStandard(eMoveState MoveState, uint8 Dir, bool bWanderSensibly) :
CTaskComplexWander(MoveState, Dir, bWanderSensibly),
m_nMinNextScanTime{ 0 }
{
Expand Down
3 changes: 2 additions & 1 deletion source/game_sa/Tasks/TaskTypes/TaskComplexWanderStandard.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@

#include "TaskComplexWander.h"
#include "TaskTimer.h"
#include "eMoveState.h"

class NOTSA_EXPORT_VTABLE CTaskComplexWanderStandard : public CTaskComplexWander {
public:
CTaskTimer m_TaskTimer;
uint32 m_nMinNextScanTime;

public:
CTaskComplexWanderStandard(int32 MoveState, uint8 Dir, bool bWanderSensibly = true);
CTaskComplexWanderStandard(eMoveState MoveState, uint8 Dir, bool bWanderSensibly = true);

CTask* Clone() override { return new CTaskComplexWanderStandard(m_nMoveState, m_nDir); } // 0x48E530
eWanderType GetWanderType() override { return WANDER_TYPE_STANDARD; } // 0x48E5D0
Expand Down
14 changes: 7 additions & 7 deletions source/game_sa/Tasks/TaskTypes/TaskSimpleAnim.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ class NOTSA_EXPORT_VTABLE CTaskSimpleAnim : public CTaskSimple {
CAnimBlendAssociation *m_pAnim;
union {
struct {
uint8 m_bIsFinished : 1;
uint8 m_bDontInterrupt : 1;
uint8 m_bHoldLastFrame : 1;
bool m_bIsFinished : 1;
bool m_bDontInterrupt : 1;
bool m_bHoldLastFrame : 1;

// These flags are used in CTaskSimpleRunAnim only
uint8 m_bDontBlendOut : 1;
bool m_bDontBlendOut : 1;

// These flags are used in CTaskSimpleRunNamedAnim only
uint8 m_bRunInSequence : 1;
uint8 m_bOffsetAtEnd : 1;
uint8 m_bOffsetAvailable : 1;
bool m_bRunInSequence : 1;
bool m_bOffsetAtEnd : 1;
bool m_bOffsetAvailable : 1;
};
uint8 m_nFlags;
};
Expand Down
5 changes: 3 additions & 2 deletions source/game_sa/TxdStore.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ typedef CPool<TxdDef> CTxdPool;
class CTxdStore {
public:
struct ScopedTXDSlot {
ScopedTXDSlot(uint32 id) {
ScopedTXDSlot(int32 id) {
assert(id >= 0);
CTxdStore::PushCurrentTxd();
CTxdStore::SetCurrentTxd(id);
CTxdStore::SetCurrentTxd(static_cast<uint32>(id));
}

ScopedTXDSlot(const char* txd) :
Expand Down

0 comments on commit 8a76567

Please sign in to comment.