diff options
Diffstat (limited to '')
-rw-r--r-- | src/control/Phones.cpp | 4 | ||||
-rw-r--r-- | src/control/Phones.h | 12 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/control/Phones.cpp b/src/control/Phones.cpp index ef978868..a5c4f74d 100644 --- a/src/control/Phones.cpp +++ b/src/control/Phones.cpp @@ -72,7 +72,7 @@ CPhoneInfo::Load(uint8 *buf, uint32 size) INITSAVEBUF m_nMax = ReadSaveBuf<int32>(buf); m_nNum = ReadSaveBuf<int32>(buf); - for (int i = 0; i < 50; i++) { + for (int i = 0; i < NUMPHONES; i++) { m_aPhones[i] = ReadSaveBuf<CPhone>(buf); // It's saved as building pool index in save file, convert it to true entity if (m_aPhones[i].m_pEntity) { @@ -174,7 +174,7 @@ CPhoneInfo::Save(uint8 *buf, uint32 *size) INITSAVEBUF WriteSaveBuf(buf, m_nMax); WriteSaveBuf(buf, m_nNum); - for(int phoneId = 0; phoneId < 50; phoneId++) { + for(int phoneId = 0; phoneId < NUMPHONES; phoneId++) { CPhone* phone = WriteSaveBuf(buf, m_aPhones[phoneId]); // Convert entity pointer to building pool index while saving diff --git a/src/control/Phones.h b/src/control/Phones.h index 99ec520c..62ea6f50 100644 --- a/src/control/Phones.h +++ b/src/control/Phones.h @@ -7,7 +7,7 @@ class CAnimBlendAssociation; enum { PHONE_STATE_FREE, - PHONE_STATE_1, + PHONE_STATE_REPORTING_CRIME, // CCivilianPed::ProcessControl sets it but unused PHONE_STATE_2, PHONE_STATE_MESSAGE_REMOVED, PHONE_STATE_ONETIME_MESSAGE_SET, @@ -18,14 +18,18 @@ enum { PHONE_STATE_9 }; -struct CPhone +class CPhone { +public: CVector m_vecPos; wchar *m_apMessages[6]; uint32 m_lastTimeRepeatedMsgShown; - CEntity *m_pEntity; // it's building pool index in save files + CEntity *m_pEntity; // stored as building pool index in save files int32 m_nState; uint8 field_30; + + CPhone() { } + ~CPhone() { } }; static_assert(sizeof(CPhone) == 0x34, "CPhone: error"); @@ -40,7 +44,7 @@ public: int32 m_nMax; int32 m_nNum; - CPhone m_aPhones[50]; + CPhone m_aPhones[NUMPHONES]; CPhoneInfo() { } ~CPhoneInfo() { } |