annotate Party.h @ 1888:cbeb25a148ad

getting rid of "signed value is out of range for enum constant" errors for Tileset_NULL and PLAYER_SKILL_INVALID
author Grumpy7
date Sat, 19 Oct 2013 08:21:57 +0200
parents a86c60679949
children 768590235c2c
rev   line source
0
Ritor1
parents:
diff changeset
1 #pragma once
Ritor1
parents:
diff changeset
2 #include "Player.h"
Ritor1
parents:
diff changeset
3 #include "NPC.h"
1494
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
4 #include "mm7_data.h"
1861
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
5 #include <array>
0
Ritor1
parents:
diff changeset
6
Ritor1
parents:
diff changeset
7
Ritor1
parents:
diff changeset
8
1053
1c10b24a4159 BLV picky-blicky
Nomad
parents: 1052
diff changeset
9 #define PARTY_AUTONOTES_BIT__EMERALD_FIRE_FOUNTAIN 2
0
Ritor1
parents:
diff changeset
10
1494
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
11 enum PARTY_QUEST_BITS: uint16
710
735dab8d3c9a Town portal screen + misc gui const replacements
Nomad
parents: 593
diff changeset
12 {
1035
306ec23b37df 004C1EE5 & other stuff
Nomad
parents: 981
diff changeset
13 PARTY_QUEST_EMERALD_RED_POTION_ACTIVE = 1,
306ec23b37df 004C1EE5 & other stuff
Nomad
parents: 981
diff changeset
14 PARTY_QUEST_EMERALD_SEASHELL_ACTIVE = 2,
306ec23b37df 004C1EE5 & other stuff
Nomad
parents: 981
diff changeset
15 PARTY_QUEST_EMERALD_LONGBOW_ACTIVE = 3,
306ec23b37df 004C1EE5 & other stuff
Nomad
parents: 981
diff changeset
16 PARTY_QUEST_EMERALD_PLATE_ACTIVE = 4,
306ec23b37df 004C1EE5 & other stuff
Nomad
parents: 981
diff changeset
17 PARTY_QUEST_EMERALD_LUTE_ACTIVE = 5,
306ec23b37df 004C1EE5 & other stuff
Nomad
parents: 981
diff changeset
18 PARTY_QUEST_EMERALD_HAT_ACTIVE = 6,
306ec23b37df 004C1EE5 & other stuff
Nomad
parents: 981
diff changeset
19
1052
d48c762de563 -nomarg
Nomad
parents: 1035
diff changeset
20 PARTY_QUEST_EMERALD_MARGARETH_OFF = 17,
d48c762de563 -nomarg
Nomad
parents: 1035
diff changeset
21
778
Nomad
parents: 766
diff changeset
22 PARTY_QUEST_EVENMORN_MAP_FOUND = 64,
981
a6ef7125f6e4 Autonotes & GameState
Nomad
parents: 949
diff changeset
23 PARTY_QUEST_FINISHED_EMERALD_ISLE = 136,
1494
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
24
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
25 PARTY_QUEST_OBELISK_HARMONDALE = 164,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
26 PARTY_QUEST_OBELISK_ERATHIA = 165,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
27 PARTY_QUEST_OBELISK_TULAREAN_FOREST = 166,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
28 PARTY_QUEST_OBELISK_DEYJA = 167,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
29 PARTY_QUEST_OBELISK_BRACADA_DESERT = 168,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
30 PARTY_QUEST_OBELISK_CELESTE = 169,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
31 PARTY_QUEST_OBELISK_THE_PIT = 170,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
32 PARTY_QUEST_OBELISK_EVENMORN_ISLAND = 171,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
33 PARTY_QUEST_OBELISK_MOUNT_NIGHON = 172,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
34 PARTY_QUEST_OBELISK_BARROW_DOWNS = 173,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
35 PARTY_QUEST_OBELISK_LAND_OF_THE_GIANTS = 174,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
36 PARTY_QUEST_OBELISK_TATALIA = 175,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
37 PARTY_QUEST_OBELISK_AVLEE = 176,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
38 PARTY_QUEST_OBELISK_STONE_CITY = 177,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
39
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
40 PARTY_QUEST_OBELISK_TREASURE_FOUND = 178,
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
41
710
735dab8d3c9a Town portal screen + misc gui const replacements
Nomad
parents: 593
diff changeset
42 PARTY_QUEST_FOUNTAIN_HARMONDALE = 206,
735dab8d3c9a Town portal screen + misc gui const replacements
Nomad
parents: 593
diff changeset
43 PARTY_QUEST_FOUNTAIN_NIGHON = 207,
735dab8d3c9a Town portal screen + misc gui const replacements
Nomad
parents: 593
diff changeset
44 PARTY_QUEST_FOUNTAIN_PIERPONT = 208,
735dab8d3c9a Town portal screen + misc gui const replacements
Nomad
parents: 593
diff changeset
45 PARTY_QUEST_FOUNTAIN_CELESTIA = 209,
735dab8d3c9a Town portal screen + misc gui const replacements
Nomad
parents: 593
diff changeset
46 PARTY_QUEST_FOUNTAIN_THE_PIT = 210,
735dab8d3c9a Town portal screen + misc gui const replacements
Nomad
parents: 593
diff changeset
47 PARTY_QUEST_FOUNTAIN_EVENMORN_ISLE = 211
735dab8d3c9a Town portal screen + misc gui const replacements
Nomad
parents: 593
diff changeset
48 };
0
Ritor1
parents:
diff changeset
49
Ritor1
parents:
diff changeset
50 /* 355 */
141
cca78efb377e Constants -> enums
Nomad
parents: 130
diff changeset
51 enum PARTY_FLAGS_1: __int32
cca78efb377e Constants -> enums
Nomad
parents: 130
diff changeset
52 {
1424
5930342f092b fall to the water
Ritor1
parents: 1359
diff changeset
53 PARTY_FLAGS_1_WATER_DAMAGE = 0x0004,
569
f451efdb7c8b * Party buff icons drawing (right panel)
Nomad
parents: 527
diff changeset
54 PARTY_FLAGS_1_FALLING = 0x0008,
390
35a62d1948d4 More sound fixes
Nomad
parents: 373
diff changeset
55 PARTY_FLAGS_1_ALERT_RED = 0x0010,
35a62d1948d4 More sound fixes
Nomad
parents: 373
diff changeset
56 PARTY_FLAGS_1_ALERT_YELLOW = 0x0020,
569
f451efdb7c8b * Party buff icons drawing (right panel)
Nomad
parents: 527
diff changeset
57 PARTY_FLAGS_1_STANDING_ON_WATER = 0x0080,
390
35a62d1948d4 More sound fixes
Nomad
parents: 373
diff changeset
58 PARTY_FLAGS_1_LANDING = 0x0100,
816
cfc65feef029 * Player Recovery Times
Nomad
parents: 783
diff changeset
59 PARTY_FLAGS_1_BURNING = 0x200
141
cca78efb377e Constants -> enums
Nomad
parents: 130
diff changeset
60 };
cca78efb377e Constants -> enums
Nomad
parents: 130
diff changeset
61 enum PARTY_FLAGS_2: __int32
0
Ritor1
parents:
diff changeset
62 {
Ritor1
parents:
diff changeset
63 PARTY_FLAGS_2_RUNNING = 0x2,
Ritor1
parents:
diff changeset
64 };
Ritor1
parents:
diff changeset
65
Ritor1
parents:
diff changeset
66 /* 347 */
Ritor1
parents:
diff changeset
67 enum PARTY_BUFF_INDEX
Ritor1
parents:
diff changeset
68 {
488
Nomad
parents: 484
diff changeset
69 PARTY_BUFF_RESIST_AIR = 0,
Nomad
parents: 484
diff changeset
70 PARTY_BUFF_RESIST_BODY = 1,
Nomad
parents: 484
diff changeset
71 PARTY_BUFF_DAY_OF_GODS = 2,
Nomad
parents: 484
diff changeset
72 PARTY_BUFF_DETECT_LIFE = 3,
Nomad
parents: 484
diff changeset
73 PARTY_BUFF_RESIST_EARTH = 4,
Nomad
parents: 484
diff changeset
74 PARTY_BUFF_FEATHER_FALL = 5,
Nomad
parents: 484
diff changeset
75 PARTY_BUFF_RESIST_FIRE = 6,
Nomad
parents: 484
diff changeset
76 PARTY_BUFF_FLY = 7,
Nomad
parents: 484
diff changeset
77 PARTY_BUFF_HASTE = 8,
Nomad
parents: 484
diff changeset
78 PARTY_BUFF_HEROISM = 9,
Nomad
parents: 484
diff changeset
79 PARTY_BUFF_IMMOLATION = 10,
271
1f0af5cac2dd _42ECB5_PlayerAttacksActor
Nomad
parents: 141
diff changeset
80 PARTY_BUFF_INVISIBILITY = 11,
488
Nomad
parents: 484
diff changeset
81 PARTY_BUFF_RESIST_MIND = 12,
Nomad
parents: 484
diff changeset
82 PARTY_BUFF_PROTECTION_FROM_MAGIC = 13,
Nomad
parents: 484
diff changeset
83 PARTY_BUFF_SHIELD = 14,
Nomad
parents: 484
diff changeset
84 PARTY_BUFF_STONE_SKIN = 15,
Nomad
parents: 484
diff changeset
85 PARTY_BUFF_TORCHLIGHT = 16,
Nomad
parents: 484
diff changeset
86 PARTY_BUFF_RESIST_WATER = 17,
Nomad
parents: 484
diff changeset
87 PARTY_BUFF_WATER_WALK = 18,
Nomad
parents: 484
diff changeset
88 PARTY_BUFF_WIZARD_EYE = 19,
0
Ritor1
parents:
diff changeset
89 };
Ritor1
parents:
diff changeset
90
Ritor1
parents:
diff changeset
91
Ritor1
parents:
diff changeset
92
Ritor1
parents:
diff changeset
93 /* 300 */
Ritor1
parents:
diff changeset
94 enum PartyAction: unsigned __int32
Ritor1
parents:
diff changeset
95 {
Ritor1
parents:
diff changeset
96 PARTY_INVALID = 0,
Ritor1
parents:
diff changeset
97 PARTY_TurnLeft = 0x1,
Ritor1
parents:
diff changeset
98 PARTY_TurnRight = 0x2,
Ritor1
parents:
diff changeset
99 PARTY_StrafeLeft = 0x3,
Ritor1
parents:
diff changeset
100 PARTY_StrafeRight = 0x4,
Ritor1
parents:
diff changeset
101 PARTY_WalkForward = 0x5,
Ritor1
parents:
diff changeset
102 PARTY_WalkBackward = 0x6,
Ritor1
parents:
diff changeset
103 PARTY_LookUp = 0x7,
Ritor1
parents:
diff changeset
104 PARTY_LookDown = 0x8,
Ritor1
parents:
diff changeset
105 PARTY_CenterView = 0x9,
Ritor1
parents:
diff changeset
106 PARTY_unkA = 0xA,
Ritor1
parents:
diff changeset
107 PARTY_unkB = 0xB,
Ritor1
parents:
diff changeset
108 PARTY_Jump = 0xC,
Ritor1
parents:
diff changeset
109 PARTY_FlyUp = 0xD,
Ritor1
parents:
diff changeset
110 PARTY_FlyDown = 0xE,
Ritor1
parents:
diff changeset
111 PARTY_Land = 0xF,
Ritor1
parents:
diff changeset
112 PARTY_RunForward = 0x10,
Ritor1
parents:
diff changeset
113 PARTY_RunBackward = 0x11,
Ritor1
parents:
diff changeset
114 PARTY_FastTurnLeft = 0x12,
Ritor1
parents:
diff changeset
115 PARTY_FastTurnRight = 0x13,
Ritor1
parents:
diff changeset
116
Ritor1
parents:
diff changeset
117 PARTY_dword = 0xFFFFFFFF
Ritor1
parents:
diff changeset
118 };
Ritor1
parents:
diff changeset
119
Ritor1
parents:
diff changeset
120
Ritor1
parents:
diff changeset
121
Ritor1
parents:
diff changeset
122 /* 135 */
Ritor1
parents:
diff changeset
123 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
124 struct ActionQueue
Ritor1
parents:
diff changeset
125 {
Ritor1
parents:
diff changeset
126 void Add(PartyAction action);
783
b27dd658ea77 Taveling by foot fixed.
Nomad
parents: 778
diff changeset
127 void Reset();
0
Ritor1
parents:
diff changeset
128 PartyAction Next();
Ritor1
parents:
diff changeset
129
Ritor1
parents:
diff changeset
130 unsigned int uNumActions;
Ritor1
parents:
diff changeset
131 PartyAction pActions[30];
Ritor1
parents:
diff changeset
132 };
Ritor1
parents:
diff changeset
133 #pragma pack(pop)
Ritor1
parents:
diff changeset
134
Ritor1
parents:
diff changeset
135
Ritor1
parents:
diff changeset
136
Ritor1
parents:
diff changeset
137
Ritor1
parents:
diff changeset
138
373
edd2d8b7e3c4 Interface reloading fix & party alignment enum
Nomad
parents: 349
diff changeset
139 enum PartyAlignment: unsigned __int32
edd2d8b7e3c4 Interface reloading fix & party alignment enum
Nomad
parents: 349
diff changeset
140 {
edd2d8b7e3c4 Interface reloading fix & party alignment enum
Nomad
parents: 349
diff changeset
141 PartyAlignment_Good = 0,
edd2d8b7e3c4 Interface reloading fix & party alignment enum
Nomad
parents: 349
diff changeset
142 PartyAlignment_Neutral = 1,
edd2d8b7e3c4 Interface reloading fix & party alignment enum
Nomad
parents: 349
diff changeset
143 PartyAlignment_Evil = 2
edd2d8b7e3c4 Interface reloading fix & party alignment enum
Nomad
parents: 349
diff changeset
144 };
0
Ritor1
parents:
diff changeset
145
Ritor1
parents:
diff changeset
146
Ritor1
parents:
diff changeset
147
Ritor1
parents:
diff changeset
148
Ritor1
parents:
diff changeset
149
Ritor1
parents:
diff changeset
150 /* 208 */
Ritor1
parents:
diff changeset
151 #pragma pack(push, 1)
1747
cecb080929c4 Party_stru0 renamed to PartyTimeStruct, fixed its members, renamed Party::field_3C to Party::PartyTimes, started Player::SetVariable refactoring start
Grumpy7
parents: 1736
diff changeset
152 struct PartyTimeStruct
0
Ritor1
parents:
diff changeset
153 {
1861
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
154 std::array<__int64, 10> bountyHunting_next_generation_time;
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
155 std::array<__int64, 85> Shops_next_generation_time;//field_50
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
156 std::array<__int64, 53> _shop_ban_times;
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
157 std::array<unsigned __int64, 10> CounterEventValues; // (0xACD314h in Silvo's binary)
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
158 std::array<__int64, 29> HistoryEventTimes; // (0xACD364h in Silvo's binary)
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
159 std::array<unsigned __int64, 20> _s_times; //5d8 440h+8*51 //(0xACD44Ch in Silvo's binary)
0
Ritor1
parents:
diff changeset
160 };
Ritor1
parents:
diff changeset
161 #pragma pack(pop)
Ritor1
parents:
diff changeset
162
Ritor1
parents:
diff changeset
163 /* 207 */
Ritor1
parents:
diff changeset
164 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
165 struct Party
Ritor1
parents:
diff changeset
166 {
Ritor1
parents:
diff changeset
167 Party():
Ritor1
parents:
diff changeset
168 uTimePlayed(0)
Ritor1
parents:
diff changeset
169 {
783
b27dd658ea77 Taveling by foot fixed.
Nomad
parents: 778
diff changeset
170 Zero();
0
Ritor1
parents:
diff changeset
171 }
Ritor1
parents:
diff changeset
172
783
b27dd658ea77 Taveling by foot fixed.
Nomad
parents: 778
diff changeset
173 void Zero();
130
1c471f3629fb Party expressions update
Nomad
parents: 122
diff changeset
174 void UpdatePlayersAndHirelingsEmotions();
0
Ritor1
parents:
diff changeset
175 void RestAndHeal();
Ritor1
parents:
diff changeset
176 unsigned int GetPartyFame();
Ritor1
parents:
diff changeset
177 void CreateDefaultParty(char bGiveItems);
Ritor1
parents:
diff changeset
178 int Reset();
Ritor1
parents:
diff changeset
179 void ResetPosMiscAndSpellBuffs();
Ritor1
parents:
diff changeset
180 bool HasItem(unsigned int uItemID);
Ritor1
parents:
diff changeset
181 void SetHoldingItem(ItemGen *pItem);
Ritor1
parents:
diff changeset
182 int GetNextActiveCharacter();
Ritor1
parents:
diff changeset
183 bool _497FC5_check_party_perception_against_level();
1558
30db6d265ceb Changed the new Assert macro definition slightly, Party::AddItem (for some reason in players.cpp) renamed to Party::AddItemToParty, cleaned up; some unused variables in previous functions removed
Grumpy7
parents: 1546
diff changeset
184 bool AddItemToParty(ItemGen *pItem);
0
Ritor1
parents:
diff changeset
185 void Yell();
1035
306ec23b37df 004C1EE5 & other stuff
Nomad
parents: 981
diff changeset
186 void CountHirelings();
1827
0c75c3e7e436 cleaned up part of party.cpp, renamed byte_AE3368 to playerAlreadyPicked + 3 vars after it, moved them to party.cpp, some player.cpp bugfixes
Grumpy7
parents: 1793
diff changeset
187
0c75c3e7e436 cleaned up part of party.cpp, renamed byte_AE3368 to playerAlreadyPicked + 3 vars after it, moved them to party.cpp, some player.cpp bugfixes
Grumpy7
parents: 1793
diff changeset
188 void GivePartyExp(unsigned int pEXPNum);
0c75c3e7e436 cleaned up part of party.cpp, renamed byte_AE3368 to playerAlreadyPicked + 3 vars after it, moved them to party.cpp, some player.cpp bugfixes
Grumpy7
parents: 1793
diff changeset
189 int GetPartyReputation();
0c75c3e7e436 cleaned up part of party.cpp, renamed byte_AE3368 to playerAlreadyPicked + 3 vars after it, moved them to party.cpp, some player.cpp bugfixes
Grumpy7
parents: 1793
diff changeset
190
1828
35c1e4ff6ba7 party_finds_gold to Party::PartyFindsGold, cleaned up, moved Level/Decoration.h reference out of Indoor.h
Grumpy7
parents: 1827
diff changeset
191
35c1e4ff6ba7 party_finds_gold to Party::PartyFindsGold, cleaned up, moved Level/Decoration.h reference out of Indoor.h
Grumpy7
parents: 1827
diff changeset
192 void PartyFindsGold(unsigned int uNumGold, int _1_dont_share_with_followers___2_the_same_but_without_a_message__else_normal);
1829
e4e27261d84e sub_421B2C_PlaceInInventory_or_DropPickedItem to Party::sub_421B2C_PlaceInInventory_or_DropPickedItem
Grumpy7
parents: 1828
diff changeset
193 void sub_421B2C_PlaceInInventory_or_DropPickedItem();
1828
35c1e4ff6ba7 party_finds_gold to Party::PartyFindsGold, cleaned up, moved Level/Decoration.h reference out of Indoor.h
Grumpy7
parents: 1827
diff changeset
194
0
Ritor1
parents:
diff changeset
195 static void SetGold(unsigned int uNumGold);
Ritor1
parents:
diff changeset
196 static void TakeGold(unsigned int uNumGold);
593
Nomad
parents: 592
diff changeset
197 static void SetFood(unsigned int uNumFood);
0
Ritor1
parents:
diff changeset
198 static void TakeFood(unsigned int uNumFood);
592
96f48cfdd657 some flags
Nomad
parents: 569
diff changeset
199 static void GiveFood(unsigned int _this);
0
Ritor1
parents:
diff changeset
200
Ritor1
parents:
diff changeset
201 inline bool WizardEyeActive() {return pPartyBuffs[PARTY_BUFF_WIZARD_EYE].uExpireTime > 0;}
Ritor1
parents:
diff changeset
202 inline int WizardEyeSkillLevel() {return pPartyBuffs[PARTY_BUFF_WIZARD_EYE].uSkill;}
Ritor1
parents:
diff changeset
203 inline bool TorchlightActive() {return pPartyBuffs[PARTY_BUFF_TORCHLIGHT].uExpireTime > 0;}
Ritor1
parents:
diff changeset
204 inline bool FlyActive() {return pPartyBuffs[PARTY_BUFF_FLY].uExpireTime > 0;}
Ritor1
parents:
diff changeset
205 inline bool WaterWalkActive() {return pPartyBuffs[PARTY_BUFF_WATER_WALK].uExpireTime > 0;}
Ritor1
parents:
diff changeset
206 inline bool ImmolationActive() {return pPartyBuffs[PARTY_BUFF_IMMOLATION].uExpireTime > 0;}
1113
39eaa6b00141 something to bool cast (performance warning) mostly fixed
Grumpy7
parents: 1053
diff changeset
207 inline int ImmolationSkillLevel() {return pPartyBuffs[PARTY_BUFF_IMMOLATION].uSkill;}
0
Ritor1
parents:
diff changeset
208 inline bool FeatherFallActive() {return pPartyBuffs[PARTY_BUFF_FEATHER_FALL].uExpireTime > 0;}
141
cca78efb377e Constants -> enums
Nomad
parents: 130
diff changeset
209 inline bool Invisible() {return pPartyBuffs[PARTY_BUFF_INVISIBILITY].uExpireTime > 0;}
0
Ritor1
parents:
diff changeset
210
1113
39eaa6b00141 something to bool cast (performance warning) mostly fixed
Grumpy7
parents: 1053
diff changeset
211 inline bool GetRedAlert() {return (uFlags & PARTY_FLAGS_1_ALERT_RED) != 0;}
390
35a62d1948d4 More sound fixes
Nomad
parents: 373
diff changeset
212 inline void SetRedAlert() {uFlags |= PARTY_FLAGS_1_ALERT_RED;}
1113
39eaa6b00141 something to bool cast (performance warning) mostly fixed
Grumpy7
parents: 1053
diff changeset
213 inline bool GetYellowAlert() {return (uFlags & PARTY_FLAGS_1_ALERT_YELLOW) != 0;}
390
35a62d1948d4 More sound fixes
Nomad
parents: 373
diff changeset
214 inline void SetYellowAlert() {uFlags |= PARTY_FLAGS_1_ALERT_YELLOW;}
35a62d1948d4 More sound fixes
Nomad
parents: 373
diff changeset
215
1359
60cdc3eac407 _449B57_test_bit(pParty->_quest_bits, 99) and _449B57_test_bit(pParty->_quest_bits, 100) changed to Party::IsPartyGood, Party::IsPartyEvil, respectively
Grumpy7
parents: 1310
diff changeset
216 bool IsPartyEvil();
60cdc3eac407 _449B57_test_bit(pParty->_quest_bits, 99) and _449B57_test_bit(pParty->_quest_bits, 100) changed to Party::IsPartyGood, Party::IsPartyEvil, respectively
Grumpy7
parents: 1310
diff changeset
217 bool IsPartyGood();
0
Ritor1
parents:
diff changeset
218
Ritor1
parents:
diff changeset
219 int field_0;
Ritor1
parents:
diff changeset
220 unsigned int uPartyHeight;
Ritor1
parents:
diff changeset
221 unsigned int uDefaultPartyHeight;
Ritor1
parents:
diff changeset
222 int sEyelevel;
Ritor1
parents:
diff changeset
223 unsigned int uDefaultEyelevel;
1546
9a6567c6c76c stru141 & misc cleaning
Nomad
parents: 1529
diff changeset
224 int field_14_radius;
120
fe0e317c0de0 Camera rotation fixed. Sorta
Nomad
parents: 66
diff changeset
225 int y_rotation_granularity;
0
Ritor1
parents:
diff changeset
226 unsigned int uWalkSpeed;
122
48bea61a12a5 Camera rotation fixed (even more!)
Nomad
parents: 120
diff changeset
227 int y_rotation_speed; // deg/s
0
Ritor1
parents:
diff changeset
228 int field_24;
Ritor1
parents:
diff changeset
229 int field_28;
Ritor1
parents:
diff changeset
230 unsigned __int64 uTimePlayed;
Ritor1
parents:
diff changeset
231 __int64 uLastRegenerationTime;
1747
cecb080929c4 Party_stru0 renamed to PartyTimeStruct, fixed its members, renamed Party::field_3C to Party::PartyTimes, started Player::SetVariable refactoring start
Grumpy7
parents: 1736
diff changeset
232 PartyTimeStruct PartyTimes;
0
Ritor1
parents:
diff changeset
233 Vec3_int_ vPosition;
Ritor1
parents:
diff changeset
234 int sRotationY;
Ritor1
parents:
diff changeset
235 int sRotationX;
Ritor1
parents:
diff changeset
236 Vec3_int_ vPrevPosition;
Ritor1
parents:
diff changeset
237 int sPrevRotationY;
Ritor1
parents:
diff changeset
238 int sPrevRotationX;
Ritor1
parents:
diff changeset
239 int sPrevEyelevel;
Ritor1
parents:
diff changeset
240 int field_6E0;
Ritor1
parents:
diff changeset
241 int field_6E4;
Ritor1
parents:
diff changeset
242 int uFallSpeed;
Ritor1
parents:
diff changeset
243 int field_6EC;
Ritor1
parents:
diff changeset
244 int field_6F0;
831
9c3f28b31b4a Party actions in blv
Nomad
parents: 816
diff changeset
245 int floor_face_pid; // face we are standing at
9c3f28b31b4a Party actions in blv
Nomad
parents: 816
diff changeset
246 int walk_sound_timer;
0
Ritor1
parents:
diff changeset
247 int field_6FC;
Ritor1
parents:
diff changeset
248 int uFallStartY;
Ritor1
parents:
diff changeset
249 unsigned int bFlying;
Ritor1
parents:
diff changeset
250 char field_708;
1793
4dee76d79c78 dword_5B65CC to npcIdToDismissAfterDialogue, Party::field_709 to Party::hirelingScrollPosition
Grumpy7
parents: 1747
diff changeset
251 unsigned __int8 hirelingScrollPosition;
0
Ritor1
parents:
diff changeset
252 char field_70A;
Ritor1
parents:
diff changeset
253 char field_70B;
Ritor1
parents:
diff changeset
254 unsigned int uCurrentYear;
Ritor1
parents:
diff changeset
255 unsigned int uCurrentMonth;
Ritor1
parents:
diff changeset
256 unsigned int uCurrentMonthWeek;
Ritor1
parents:
diff changeset
257 unsigned int uDaysPlayed;
Ritor1
parents:
diff changeset
258 unsigned int uCurrentHour;
Ritor1
parents:
diff changeset
259 unsigned int uCurrentMinute;
Ritor1
parents:
diff changeset
260 unsigned int uCurrentTimeSecond;
Ritor1
parents:
diff changeset
261 unsigned int uNumFoodRations;
Ritor1
parents:
diff changeset
262 int field_72C;
Ritor1
parents:
diff changeset
263 int field_730;
Ritor1
parents:
diff changeset
264 unsigned int uNumGold;
Ritor1
parents:
diff changeset
265 unsigned int uNumGoldInBank;
Ritor1
parents:
diff changeset
266 unsigned int uNumDeaths;
Ritor1
parents:
diff changeset
267 int field_740;
Ritor1
parents:
diff changeset
268 int uNumPrisonTerms;
Ritor1
parents:
diff changeset
269 unsigned int uNumBountiesCollected;
Ritor1
parents:
diff changeset
270 int field_74C;
1861
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
271 std::array<__int16, 5> monster_id_for_hunting;
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
272 std::array<__int16, 5> monster_for_hunting_killed;
766
a464d28566a6 days_played_without_rest
Nomad
parents: 710
diff changeset
273 unsigned char days_played_without_rest;
484
4bd56919f075 avard quest guild bits
Gloval
parents: 471
diff changeset
274 unsigned __int8 _quest_bits[64];
1861
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
275 std::array<unsigned __int8, 16> pArcomageWins;
0
Ritor1
parents:
diff changeset
276 char field_7B5_in_arena_quest;
Ritor1
parents:
diff changeset
277 char uNumArenaPageWins;
Ritor1
parents:
diff changeset
278 char uNumArenaSquireWins;
Ritor1
parents:
diff changeset
279 char uNumArenaKnightWins;
Ritor1
parents:
diff changeset
280 char uNumArenaLordWins;
1861
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
281 std::array<char, 29> pIsArtifactFound; //7ba
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
282 std::array<char, 39> field_7d7;
1310
0665a061132b autonotes and quest tables overflow fixed
Gloval
parents: 1262
diff changeset
283 unsigned char _autonote_bits[26];
1861
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
284 std::array<char, 60> field_818;
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
285 std::array<char, 32> field_854;
949
Nomad
parents: 831
diff changeset
286 int uNumArcomageWins;
Nomad
parents: 831
diff changeset
287 int uNumArcomageLoses;
0
Ritor1
parents:
diff changeset
288 unsigned int bTurnBasedModeOn;
Ritor1
parents:
diff changeset
289 int field_880;
Ritor1
parents:
diff changeset
290 int uFlags2;
373
edd2d8b7e3c4 Interface reloading fix & party alignment enum
Nomad
parents: 349
diff changeset
291 PartyAlignment alignment;
1861
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
292 std::array<SpellBuff, 20> pPartyBuffs;
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
293 std::array<Player, 4> pPlayers;
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
294 std::array<NPCData, 2> pHirelings;
0
Ritor1
parents:
diff changeset
295 ItemGen pPickedItem;
Ritor1
parents:
diff changeset
296 unsigned int uFlags;
1861
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
297 std::array<std::array<ItemGen, 12>, 53> StandartItemsInShops;
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
298 std::array<std::array<ItemGen, 12>, 53> SpecialItemsInShops; //D0EC
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
299 std::array<std::array<ItemGen, 12>, 32> SpellBooksInGuilds;
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
300 std::array<char, 24> field_1605C;
0
Ritor1
parents:
diff changeset
301 char pHireling1Name[100];
Ritor1
parents:
diff changeset
302 char pHireling2Name[100];
349
672b83584b0f GetActorTintColor
Nomad
parents: 271
diff changeset
303 int armageddon_timer;
0
Ritor1
parents:
diff changeset
304 int field_16140;
1861
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
305 std::array<int, 4> pTurnBasedPlayerRecoveryTimes;
a86c60679949 changing most of party arrays to std::arrays, some minor cleanups in actor.cpp
Grumpy7
parents: 1829
diff changeset
306 std::array<int, 53> InTheShopFlags;
0
Ritor1
parents:
diff changeset
307 int uFine;
Ritor1
parents:
diff changeset
308 float flt_TorchlightColorR;
Ritor1
parents:
diff changeset
309 float flt_TorchlightColorG;
Ritor1
parents:
diff changeset
310 float flt_TorchlightColorB;
Ritor1
parents:
diff changeset
311 };
Ritor1
parents:
diff changeset
312 #pragma pack(pop)
Ritor1
parents:
diff changeset
313
Ritor1
parents:
diff changeset
314
Ritor1
parents:
diff changeset
315
Ritor1
parents:
diff changeset
316 extern Party *pParty; // idb
Ritor1
parents:
diff changeset
317
Ritor1
parents:
diff changeset
318
66
653fdf29c654 23.01.13 (work)
Ritor1
parents: 0
diff changeset
319 extern struct ActionQueue *pPartyActionQueue;
653fdf29c654 23.01.13 (work)
Ritor1
parents: 0
diff changeset
320
1494
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
321 inline bool TestPartyQuestBit(PARTY_QUEST_BITS bit)
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
322 {
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
323 return _449B57_test_bit(pParty->_quest_bits, bit);
3efe35df79c3 Modify PARTY_QUEST_BITS
yoctozepto
parents: 1424
diff changeset
324 }