helapordo 1.4.12
Loading...
Searching...
No Matches
ser_core.h
Go to the documentation of this file.
1// jgabaut @ github.com/jgabaut
2// SPDX-License-Identifier: GPL-3.0-only
3/*
4 Copyright (C) 2022-2024 jgabaut
5
6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, version 3 of the License.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <https://www.gnu.org/licenses/>.
17*/
18
19#ifndef SER_CORE_H
20#define SER_CORE_H
21#include <inttypes.h>
22#include "../utils/game_utils.h"
23
24#ifdef HELAPORDO_RAYLIB_BUILD
25#include "../build-rl/game_rl.h"
26#endif
27
32#define SERSAVEHEADER_BUFSIZE 15
33
39#ifdef __GNUC__
40typedef struct __attribute__((packed)) SerSaveHeader {
41#else
42#pragma pack(push, 1)
43typedef struct SerSaveHeader {
44#endif
45 int32_t api_level;
46 char game_version[SERSAVEHEADER_BUFSIZE+1];
47 char save_version[SERSAVEHEADER_BUFSIZE+1];
49 char machine[SERSAVEHEADER_BUFSIZE+1];
50#ifdef __GNUC__
52#else
54#pragma pack(pop)
55#endif
56
61#define SAVEHEADER_BUFSIZE SERSAVEHEADER_BUFSIZE
62
76
77bool writeSerSaveHeader(const char* filename, SerSaveHeader* data);
78
79bool readSerSaveHeader(const char* filename, SerSaveHeader* data);
80
82
83SaveHeader* prep_saveHeader(const char* static_path, Koliseo* kls, bool force_init, bool* did_init, int saveslot_index);
84
93#ifdef __GNUC__
94typedef struct __attribute__((packed)) SerTurncounter {
95#else
96#pragma pack(push, 1)
97typedef struct SerTurncounter {
98#endif
99 int32_t count;
100 int32_t innerValue;
101 int32_t type;
102#ifdef __GNUC__
104#else
106#pragma pack(pop)
107#endif
108
109#define SerTurncounter_Fmt "SerTurncounter { Type: %" PRId32 ", Count: %" PRId32 ", InnerValue: %" PRId32 " }"
110
111#define SerTurncounter_Arg(st) (st.type), (st.count), (st.innerValue)
112
121#ifdef __GNUC__
122typedef struct __attribute__((packed)) SerPerk {
123#else
124#pragma pack(push, 1)
125typedef struct SerPerk {
126#endif
127 int32_t class;
128 int32_t innerValue;
129#ifdef __GNUC__
130} SerPerk;
131#else
133#pragma pack(pop)
134#endif
135
136#define SerPerk_Fmt "SerPerk { Class: %s , InnerValue: %" PRId32 " }"
137
138#define SerPerk_Arg(sp) (nameStringFromPerk(sp.class)), (sp.innerValue)
139
148#ifdef __GNUC__
149typedef struct __attribute__((packed)) SerSkillslot {
150#else
151#pragma pack(push, 1)
152typedef struct SerSkillslot {
153#endif
154 int32_t class;
155 int8_t enabled;
156#ifdef __GNUC__
158#else
160#pragma pack(pop)
161#endif
162
171#ifdef __GNUC__
172typedef struct __attribute__((packed)) SerEquip {
173#else
174#pragma pack(push, 1)
175typedef struct SerEquip {
176#endif
177 int32_t class;
178 int32_t type;
179 int8_t equipped;
180 int8_t level;
181 int8_t atk;
182 int8_t def;
183 int8_t vel;
184 int8_t enr;
185 int8_t bonus;
187 int8_t cost;
190#ifdef __GNUC__
191} SerEquip;
192#else
194#pragma pack(pop)
195#endif
196
197#define SerEquip_Fmt "SerEquip { Class: %s , Type: %s, Equipped: %" PRId8 ", Level: %" PRId8 ", Atk: %" PRId8 ", Def: %" PRId8 ", Vel: %" PRId8 ", Enr: %" PRId8 ", Bonus: %" PRId8 ", PerksCount: %" PRId8 ", Cost: %" PRId8 ", Quality: %s }"
198
199#define SerEquip_Arg(se) (stringFromEquips(se.class)), (stringFromEquipzones(se.type)), (se.equipped), (se.level), (se.atk), (se.def), (se.vel), (se.enr), (se.bonus), (se.perksCount), (se.cost), (stringFromQuality(se.qual))
200
209#ifdef __GNUC__
210typedef struct __attribute__((packed)) SerEquipslot {
211#else
212#pragma pack(push, 1)
213typedef struct SerEquipslot {
214#endif
215 int32_t type;
216 int8_t active;
217#ifdef __GNUC__
219#else
221#pragma pack(pop)
222#endif
223
232#ifdef __GNUC__
233typedef struct __attribute__((packed)) SerSpecialslot {
234#else
235#pragma pack(push, 1)
236typedef struct SerSpecialslot {
237#endif
238 int8_t enabled;
239 int8_t move;
240 int8_t cost;
241#ifdef __GNUC__
243#else
245#pragma pack(pop)
246#endif
247
248#define SerSpecialslot_Fmt "SerSpecialslot { Move: %" PRId8 ", Enabled: %s, Cost: %" PRId8 " }"
249
250#define SerSpecialslot_Arg(sp) (sp.move), (sp.enabled >= 1 ? "True" : "False"), (sp.cost)
251
260#ifdef __GNUC__
261typedef struct __attribute__((packed)) SerConsumable {
262#else
263#pragma pack(push, 1)
264typedef struct SerConsumable {
265#endif
266 int32_t class;
267 int32_t qty;
268#ifdef __GNUC__
270#else
272#pragma pack(pop)
273#endif
274
275#define SerConsumable_Fmt "SerConsumable { Class: %s , Quantity: %" PRId32 " }"
276
277#define SerConsumable_Arg(sc) (stringFromConsumables(sc.class)), (sc.qty)
278
287#ifdef __GNUC__
288typedef struct __attribute__((packed)) SerArtifact {
289#else
290#pragma pack(push, 1)
291typedef struct SerArtifact {
292#endif
293 int32_t class;
294 int32_t qty;
295 int32_t active;
296 int32_t innerValue;
297#ifdef __GNUC__
299#else
301#pragma pack(pop)
302#endif
303
304#define SerArtifact_Fmt "SerArtifact { Class: %s , Quantity: %" PRId32 ", Active: %" PRId32 ", InnerValue: %" PRId32 " }"
305
306#define SerArtifact_Arg(sa) (stringFromArtifacts(sa.class)), (sa.qty), (sa.active), (sa.innerValue)
307
316#ifdef __GNUC__
317typedef struct __attribute__((packed)) SerCountstats {
318#else
319#pragma pack(push, 1)
320typedef struct SerCountstats {
321#endif
324 int8_t equipsfound;
330 int8_t coinsfound;
333 int8_t killed_bosses[BOSSCLASSESMAX + 1];
334 int8_t keysfound;
335#ifdef __GNUC__
337#else
339#pragma pack(pop)
340#endif
341
342#define SerCountstats_Fmt "SerCountstats {\n Enemies killed: %" PRId8 ",\n Consumables Found: %" PRId8 ",\n Equips Found: %" PRId8 ",\n Artifacts found: %" PRId8 ",\n Critical Hits dealt: %" PRId8",\n Rooms completed: %" PRId8 ",\n Floors completed: %" PRId8 ",\n Specials Unlocked: %" PRId8 ",\n Coins found: %" PRId8 ",\n Bosses killed: %" PRId8 ",\n Unique Bosses Killed: %" PRId8 ",\n Killed Bosses: [\n %s: %s,\n %s: %s,\n %s: %s,\n %s: %s,\n %s: %s\n ],\n Keys Found: %" PRId8 "\n }"
343
344#define SerCountstats_Arg(sc) (sc.enemieskilled), (sc.consumablesfound), (sc.equipsfound), (sc.artifactsfound), (sc.criticalhits), (sc.roomscompleted), (sc.floorscompleted), (sc.specialsunlocked), (sc.coinsfound), (sc.bosseskilled), (sc.unique_bosseskilled), (stringFromBossClass(0)), (sc.killed_bosses[0] >= 1 ? "True" : "False"), (stringFromBossClass(1)), (sc.killed_bosses[1] >= 1 ? "True" : "False"), (stringFromBossClass(2)), (sc.killed_bosses[2] >= 1 ? "True" : "False"), (stringFromBossClass(3)), (sc.killed_bosses[3] >= 1 ? "True" : "False"), (stringFromBossClass(4)), (sc.killed_bosses[4] >= 1 ? "True" : "False"), (sc.keysfound)
345
354#ifdef __GNUC__
355typedef struct __attribute__((packed)) SerEnemy {
356#else
357#pragma pack(push, 1)
358typedef struct SerEnemy {
359#endif
360 int8_t index;
361 int32_t class;
362 int8_t hp;
363 int8_t atk;
364 int8_t def;
365 int8_t vel;
366 int8_t level;
367 int8_t luck;
368 int8_t xp;
369 int8_t totalhp;
371 int8_t energy;
372 int8_t totalenergy;
374 int8_t stamina;
377 int32_t status;
378 int8_t beast;
388 int8_t prize;
389#ifdef __GNUC__
390} SerEnemy;
391#else
393#pragma pack(pop)
394#endif
395
404#ifdef __GNUC__
405typedef struct __attribute__((packed)) SerBoss {
406#else
407#pragma pack(push, 1)
408typedef struct SerBoss {
409#endif
410 int32_t class;
411 int8_t hp;
412 int8_t atk;
413 int8_t def;
414 int8_t vel;
415 int8_t level;
416 int8_t luck;
417 int8_t xp;
418 int8_t totalhp;
420 int8_t energy;
421 int8_t totalenergy;
423 int8_t stamina;
426 int32_t status;
427 int8_t beast;
436 int8_t prize;
437#ifdef __GNUC__
438} SerBoss;
439#else
441#pragma pack(pop)
442#endif
443
448#define SERFIGHTER_NAME_BUFSIZE FIGHTER_NAME_BUFSIZE
449
458#ifdef __GNUC__
459typedef struct __attribute__((packed)) SerFighter {
460#else
461#pragma pack(push, 1)
462typedef struct SerFighter {
463#endif
465 int32_t class;
466 int8_t hp;
467 int8_t atk;
468 int8_t def;
469 int8_t vel;
470 int8_t level;
471 int8_t luck;
472 int8_t totalxp;
475 int8_t totalhp;
476 int32_t status;
478 int8_t energy;
479 int8_t totalenergy;
480 int8_t stamina;
491 int8_t perksCount;
492 SerPerk perks[PERKSMAX + 1];
494 SerEquipslot equipslots[EQUIPZONES + 1];
495 SerEquip equipsBag[EQUIPSBAGSIZE + 1];
496 SerConsumable consumablesBag[CONSUMABLESMAX + 1];
497 SerArtifact artifactsBag[ARTIFACTSMAX + 1];
500 int8_t earliestBagSlot; //TODO To always use the array efficiently (???) I sense linked lists may be better
501
514 int32_t balance;
517 int8_t floor_x;
518 int8_t floor_y;
519#ifdef __GNUC__
520} SerFighter;
521#else
523#pragma pack(pop)
524#endif
525
526#define SerFighter_Fmt "SerFighter {\n Name: %s,\n Class: %s,\n Hp: %" PRId8 ",\n Atk: %" PRId8 ",\n Def: %" PRId8 ",\n Vel: %" PRId8 ",\n Level: %" PRId8 ",\n Luck: %" PRId8 ",\n Total xp: %" PRId8 ",\n Current lvl xp: %" PRId8 ",\n Total lvl xp: %" PRId8 ",\n Total hp: %" PRId8 ",\n Status: %s,\n Energy: %" PRId8 ",\n Total energy: %" PRId8 ",\n Stamina: %" PRId8 ",\n Total Stamina: %" PRId8 ",\n Turnboost_Atk: %" PRId8 ",\n Turnboost_Def: %" PRId8 ",\n Turnboost_Vel: %" PRId8 ",\n Turnboost_Enr: %" PRId8 ",\n PerksCount: %" PRId8 ",\n EquipsBagOccupiedSlots: %" PRId8 ",\n EarliestBagSlot: %" PRId8 ",\n Permboost_Atk: %" PRId8 ",\n Permboost_Def: %" PRId8 ",\n Permboost_Vel: %" PRId8 ",\n Permboost_Enr: %" PRId8 ",\n Equipboost_Atk: %" PRId8 ",\n Equipboost_Def: %" PRId8 ",\n Equipboost_Vel: %" PRId8 ",\n Equipboost_Enr: %" PRId8 ",\n Balance: %" PRId32 ",\n Keys Balance: %" PRId8 ",\n Floor_x: %" PRId8 ",\n Floor_y: %" PRId8 "\n }"
527
528#define SerFighter_Arg(sf) (sf.name), (stringFromClass(sf.class)), (sf.hp), (sf.atk), (sf.def), (sf.vel), (sf.level), (sf.luck), (sf.totalxp), (sf.currentlevelxp), (sf.totallevelxp), (sf.totalhp), (stringFromStatus(sf.status)), (sf.energy), (sf.totalenergy), (sf.stamina), (sf.totalstamina), (sf.turnboost_atk), (sf.turnboost_def), (sf.turnboost_vel), (sf.turnboost_enr), (sf.perksCount), (sf.equipsBagOccupiedSlots), (sf.earliestBagSlot), (sf.permboost_atk), (sf.permboost_def), (sf.permboost_vel), (sf.permboost_enr), (sf.equipboost_atk), (sf.equipboost_def), (sf.equipboost_vel), (sf.equipboost_enr), (sf.balance), (sf.keys_balance), (sf.floor_x), (sf.floor_y)
529
538#ifdef __GNUC__
539typedef struct __attribute__((packed)) SerFoeParty {
540#else
541#pragma pack(push, 1)
542typedef struct SerFoeParty {
543#endif
544 int32_t class;
545 int8_t level;
551 SerEnemy enemy_foes[ROOM_ENEMIES_MAX + 1];
552 //TODO: this is not ideal. Could we ever need to have a different max for enemy_foes? Only if the group is not in a Room??
553 SerBoss boss_foes[FOES_BOSSES_MAX + 1];
554 int8_t size;
555 int8_t tot_alive;
557 int8_t alive_enemies[ROOM_ENEMIES_MAX + 1];
558 int8_t alive_bosses[FOES_BOSSES_MAX + 1];
559#ifdef __GNUC__
561#else
563#pragma pack(pop)
564#endif
565
574#ifdef __GNUC__
575typedef struct __attribute__((packed)) SerChest {
576#else
577#pragma pack(push, 1)
578typedef struct SerChest {
579#endif
580 int32_t class;
584 int32_t equipsCount;
587#ifdef __GNUC__
588} SerChest;
589#else
591#pragma pack(pop)
592#endif
593
602#ifdef __GNUC__
603typedef struct __attribute__((packed)) SerTreasure {
604#else
605#pragma pack(push, 1)
606typedef struct SerTreasure {
607#endif
608 int32_t class;
612#ifdef __GNUC__
614#else
616#pragma pack(pop)
617#endif
618
626#ifdef __GNUC__
627typedef struct __attribute__((packed)) SerShop {
628#else
629#pragma pack(push, 1)
630typedef struct SerShop {
631#endif
632 int8_t itemCount;
634 int8_t equipsCount;
636 int8_t equipPrices[EQUIP_SHOP_MAX];
641 int8_t consumablePrices[CONSUMABLE_SHOP_MAX];
642#ifdef __GNUC__
643} SerShop;
644#else
646#pragma pack(pop)
647#endif
648
657#ifdef __GNUC__
658typedef struct __attribute__((packed)) SerRoadfork {
659#else
660#pragma pack(push, 1)
661typedef struct SerRoadfork {
662#endif
663 int32_t options[2];
664#ifdef __GNUC__
666#else
668#pragma pack(pop)
669#endif
670
679#ifdef __GNUC__
680typedef struct __attribute__((packed)) SerRoom {
681#else
682#pragma pack(push, 1)
683typedef struct SerRoom {
684#endif
685 int8_t index;
686 int32_t class;
692 int8_t enemyTotal;
695#ifdef __GNUC__
696} SerRoom;
697#else
699#pragma pack(pop)
700#endif
701
710#ifdef __GNUC__
711typedef struct __attribute__((packed)) SerFloor {
712#else
713#pragma pack(push, 1)
714typedef struct SerFloor {
715#endif
716 int8_t index;
718 int32_t class;
719 int8_t floor_layout[FLOOR_MAX_COLS][FLOOR_MAX_ROWS];
720 int8_t area;
721 //SerRoom rooms_matrix[FLOOR_MAX_COLS][FLOOR_MAX_ROWS]; /**< SerRoom matrix for rooms of this floor.*/
722 int32_t roomclass_layout[FLOOR_MAX_COLS][FLOOR_MAX_ROWS];
723 int8_t explored_matrix[FLOOR_MAX_COLS][FLOOR_MAX_ROWS];
725 bool from_bsp;
726#ifdef __GNUC__
727} SerFloor;
728#else
730#pragma pack(pop)
731#endif
732
741#ifdef __GNUC__
742typedef struct __attribute__((packed)) SerWincon {
743#else
744#pragma pack(push, 1)
745typedef struct SerWincon {
746#endif
747 int32_t class;
748 int8_t current_val;
749 int8_t target_val;
750#ifdef __GNUC__
751} SerWincon;
752#else
754#pragma pack(pop)
755#endif
756
765#ifdef __GNUC__
766typedef struct __attribute__((packed)) SerSaveslot {
767#else
768#pragma pack(push, 1)
769typedef struct SerSaveslot {
770#endif
771 char name[50];
772 char save_path[255];
773 int8_t index;
774#ifdef __GNUC__
776#else
778#pragma pack(pop)
779#endif
780
781#define SERPATH_SEED_BUFSIZE PATH_SEED_BUFSIZE
782
791#ifdef __GNUC__
792typedef struct __attribute__((packed)) SerPath {
793#else
794#pragma pack(push, 1)
795typedef struct SerPath {
796#endif
797 int8_t length;
798 int8_t luck;
799 int8_t prize;
802 char seed[SERPATH_SEED_BUFSIZE+1];
804#ifdef __GNUC__
805} SerPath;
806#else
808#pragma pack(pop)
809#endif
810
819#ifdef __GNUC__
820typedef struct __attribute__((packed)) SerGamestate {
821#else
822#pragma pack(push, 1)
850#pragma pack(pop)
851#endif
852
861#ifdef __GNUC__
862typedef struct __attribute__((packed)) SerGameOptions {
863#else
864#pragma pack(push, 1)
865typedef struct SerGameOptions {
866#endif
867 bool use_default_background; //<** Turn on usage of default terminal background */
868 bool do_autosave; //<* Turns on autosave */
869 int32_t directional_keys_schema; //* Defines the current schema for cardinal directions movement */
870#ifdef __GNUC__
872#else
874#pragma pack(pop)
875#endif
876
877bool appendSerTurncounter(const char* filename, SerTurncounter* data);
878
879bool readSerTurncounter(const char* filename, size_t offset, SerTurncounter* data);
880
883
884bool deser_Perk(SerPerk* ser, Perk* deser);
885bool ser_Perk(Perk* deser, SerPerk* ser);
886
887bool deser_Skillslot(SerSkillslot* ser, Skillslot* deser);
888bool ser_Skillslot(Skillslot* deser, SerSkillslot* ser);
889
890bool deser_Equip(SerEquip* ser, Equip* deser);
891bool ser_Equip(Equip* deser, SerEquip* ser);
892
893bool deser_Equipslot(SerEquipslot* ser, Equipslot* deser);
894bool ser_Equipslot(Equipslot* deser, SerEquipslot* ser);
895
898
899bool deser_Consumable(SerConsumable* ser, Consumable* deser);
900bool ser_Consumable(Consumable* deser, SerConsumable* ser);
901
902bool deser_Artifact(SerArtifact* ser, Artifact* deser);
903bool ser_Artifact(Artifact* deser, SerArtifact* ser);
904
905bool deser_countStats(SerCountstats* ser, countStats* deser);
906bool ser_countStats(countStats* deser, SerCountstats* ser);
907
908bool deser_Enemy(SerEnemy* ser, Enemy* deser);
909bool ser_Enemy(Enemy* deser, SerEnemy* ser);
910
911bool deser_Boss(SerBoss* ser, Boss* deser);
912bool ser_Boss(Boss* deser, SerBoss* ser);
913
914bool deser_Fighter(SerFighter* ser, Fighter* deser);
915bool ser_Fighter(Fighter* deser, SerFighter* ser);
916
917bool deser_FoeParty(SerFoeParty* ser, FoeParty* deser);
918bool ser_FoeParty(FoeParty* deser, SerFoeParty* ser);
919
920bool deser_Chest(SerChest* ser, Chest* deser);
921bool ser_Chest(Chest* deser, SerChest* ser);
922
923bool deser_Treasure(SerTreasure* ser, Treasure* deser);
924bool ser_Treasure(Treasure* deser, SerTreasure* ser);
925
926bool deser_Shop(SerShop* ser, Shop* deser);
927bool ser_Shop(Shop* deser, SerShop* ser);
928
929bool deser_Roadfork(SerRoadfork* ser, Roadfork* deser);
930bool ser_Roadfork(Roadfork* deser, SerRoadfork* ser);
931
932bool deser_Room(SerRoom* ser, Room* deser);
933bool ser_Room(Room* deser, SerRoom* ser);
934
935bool deser_Floor(SerFloor* ser, Floor* deser);
936bool ser_Floor(Floor* deser, SerFloor* ser);
937
938bool deser_Wincon(SerWincon* ser, Wincon* deser);
939bool ser_Wincon(Wincon* deser, SerWincon* ser);
940
941bool deser_Saveslot(SerSaveslot* ser, Saveslot* deser);
942bool ser_Saveslot(Saveslot* deser, SerSaveslot* ser);
943
944bool deser_Path(SerPath* ser, Path* deser);
945bool ser_Path(Path* deser, SerPath* ser);
946
947bool writeSerGamestate(const char* filename, SerGamestate* data);
948bool appendSerGamestate(const char* filename, SerGamestate* data);
949bool readSerGamestate(const char* filename, size_t offset, SerGamestate* data);
950
951bool deser_Gamestate(SerGamestate* ser, Gamestate* deser);
952bool ser_Gamestate(Gamestate* deser, SerGamestate* ser);
953bool prep_Gamestate(Gamestate* gmst, const char* static_path, size_t offset, Koliseo* kls, bool force_init);
954bool read_savedir(const char* dirpath);
955
958bool writeSerGameOptions(const char* filename, SerGameOptions* data);
959bool appendSerGameOptions(const char* filename, SerGameOptions* data);
960bool readSerGameOptions(const char* filename, size_t offset, SerGameOptions* data);
961bool prep_GameOptions(GameOptions* game_options, const char* static_path, size_t offset, Koliseo* kls, bool force_init);
962#endif // SER_CORE_H
Equip equips[EQUIPSMAX+1]
Array containing all Equip instances.
Definition game_core.c:547
#define CONSUMABLESMAX
Maximum index of consumableClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:482
#define FIGHTER_SKILL_SLOTS
Definition game_core.h:854
#define CONSUMABLE_SHOP_MAX
Maximum number of total consumables sold in a shop.
Definition game_core.h:1479
#define EQUIP_SHOP_MAX
Maximum number of equips sold in a shop.
Definition game_core.h:1474
quality
The different grades of Equip.
Definition game_core.h:1379
#define CHEST_EQUIPS_MAX
Maximum number of Equip held in a chest.
Definition game_core.h:1528
#define FLOOR_MAX_COLS
Maximum value of cells in a Floor matrix column.
Definition game_core.h:1798
#define ARTIFACTSMAX
Maximum index of artifactClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:531
#define ENEMY_SKILL_SLOTS
Definition game_core.h:855
#define COUNTERSMAX
Maximum index of counterIndexes, so that the size has to add 1 for the 0th index.
Definition game_core.h:918
#define BOSSCLASSESMAX
Maximum index of bossClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:724
#define BOSS_SKILL_SLOTS
Definition game_core.h:856
#define EQUIPSBAGSIZE
Definition game_core.h:950
#define SPECIALSMAX
Maximum index of specialMove per class, so that the size for each Fighter has to add 1 for the 0th in...
Definition game_core.h:812
#define FOES_BOSSES_MAX
Maximum number of bosses when in a FoeParty.
Definition game_core.h:1679
#define FLOOR_MAX_ROWS
Maximum value of cells in a Floor matrix row.
Definition game_core.h:1804
#define CHEST_CONSUMABLES_MAX
Maximum number of Consumable held in a chest.
Definition game_core.h:1524
#define EQUIPZONES
Maximum index of Equipzone, so that the size has to add 1 for the 0th index.
Definition game_core.h:939
#define ROOM_ENEMIES_MAX
Maximum number of enemies in a room.
Definition game_core.h:1672
#define EQUIPPERKSMAX
Maximum number of Perk per Equip.
Definition game_core.h:979
#define PERKSMAX
Maximum index of perkClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:973
bool deser_GameOptions(SerGameOptions *ser, GameOptions *deser)
Definition ser_core.c:3081
struct SerShop SerShop
Serialized Shop.
bool deser_Skillslot(SerSkillslot *ser, Skillslot *deser)
Definition ser_core.c:719
bool ser_Gamestate(Gamestate *deser, SerGamestate *ser)
Definition ser_core.c:2702
bool deser_Floor(SerFloor *ser, Floor *deser)
Definition ser_core.c:2124
bool deser_Boss(SerBoss *ser, Boss *deser)
Definition ser_core.c:1162
struct SerPerk SerPerk
Serialized Perk.
struct SerSaveHeader SerSaveHeader
Serialized save header.
bool prep_Gamestate(Gamestate *gmst, const char *static_path, size_t offset, Koliseo *kls, bool force_init)
Tries reading binary gamestate from passed path, at passed offset.
Definition ser_core.c:2791
struct SaveHeader SaveHeader
Save header.
bool deser_Treasure(SerTreasure *ser, Treasure *deser)
Definition ser_core.c:1785
#define SERPATH_SEED_BUFSIZE
Definition ser_core.h:781
bool writeSerSaveHeader(const char *filename, SerSaveHeader *data)
Writes passed SerSaveHeader to passed file path.
Definition ser_core.c:27
bool ser_Equipslot(Equipslot *deser, SerEquipslot *ser)
Definition ser_core.c:845
bool deser_Shop(SerShop *ser, Shop *deser)
Definition ser_core.c:1859
struct SerTreasure SerTreasure
Serialized Treasure.
struct SerEquip SerEquip
Serialized Equip.
bool deser_Roadfork(SerRoadfork *ser, Roadfork *deser)
Definition ser_core.c:1960
bool ser_Artifact(Artifact *deser, SerArtifact *ser)
Definition ser_core.c:965
struct SerFighter SerFighter
Serialized Fighter.
struct SerBoss SerBoss
Serialized Boss.
#define SERSAVEHEADER_BUFSIZE
Defines size for all SerSaveHeader char buffers.
Definition ser_core.h:32
bool deser_Turncounter(SerTurncounter *ser, Turncounter *deser)
Definition ser_core.c:644
bool ser_Chest(Chest *deser, SerChest *ser)
Definition ser_core.c:1742
bool ser_Shop(Shop *deser, SerShop *ser)
Definition ser_core.c:1909
struct SerGamestate SerGamestate
Serialized Gamestate.
bool writeSerGamestate(const char *filename, SerGamestate *data)
Definition ser_core.c:2421
struct SerCountstats SerCountstats
Serialized countStats.
bool ser_countStats(countStats *deser, SerCountstats *ser)
Definition ser_core.c:1019
bool deser_SaveHeader(SerSaveHeader *ser, SaveHeader *deser)
Converts passed SerSaveHeader into a SaveHeader.
Definition ser_core.c:218
bool deser_Fighter(SerFighter *ser, Fighter *deser)
Definition ser_core.c:1272
struct SerConsumable SerConsumable
Serialized Consumable.
bool ser_GameOptions(GameOptions *deser, SerGameOptions *ser)
Definition ser_core.c:3103
struct SerSpecialslot SerSpecialslot
Serialized Specialslot.
bool deser_Saveslot(SerSaveslot *ser, Saveslot *deser)
Definition ser_core.c:2278
bool deser_countStats(SerCountstats *ser, countStats *deser)
Definition ser_core.c:986
bool ser_Perk(Perk *deser, SerPerk *ser)
Definition ser_core.c:702
bool readSerTurncounter(const char *filename, size_t offset, SerTurncounter *data)
Definition ser_core.c:510
struct SerEquipslot SerEquipslot
Serialized Equipslot.
bool ser_Room(Room *deser, SerRoom *ser)
Definition ser_core.c:2055
bool deser_Equipslot(SerEquipslot *ser, Equipslot *deser)
Definition ser_core.c:826
bool deser_Artifact(SerArtifact *ser, Artifact *deser)
Definition ser_core.c:943
bool deser_Gamestate(SerGamestate *ser, Gamestate *deser)
Definition ser_core.c:2630
bool deser_Chest(SerChest *ser, Chest *deser)
Definition ser_core.c:1699
bool deser_Perk(SerPerk *ser, Perk *deser)
Definition ser_core.c:686
struct SerSaveslot SerSaveslot
Serialized Saveslot.
struct SerSkillslot SerSkillslot
Serialized Skillslot.
bool appendSerTurncounter(const char *filename, SerTurncounter *data)
Definition ser_core.c:487
bool ser_Saveslot(Saveslot *deser, SerSaveslot *ser)
Definition ser_core.c:2305
bool appendSerGameOptions(const char *filename, SerGameOptions *data)
Definition ser_core.c:3147
bool ser_Specialslot(Specialslot *deser, SerSpecialslot *ser)
Definition ser_core.c:884
bool ser_Path(Path *deser, SerPath *ser)
Definition ser_core.c:2373
bool deser_Equip(SerEquip *ser, Equip *deser)
Definition ser_core.c:753
bool ser_Boss(Boss *deser, SerBoss *ser)
Definition ser_core.c:1217
bool deser_Path(SerPath *ser, Path *deser)
Definition ser_core.c:2331
struct SerRoadfork SerRoadfork
Serialized Roadfork.
bool ser_Fighter(Fighter *deser, SerFighter *ser)
Definition ser_core.c:1423
bool writeSerGameOptions(const char *filename, SerGameOptions *data)
Definition ser_core.c:3125
struct SerFloor SerFloor
Serialized Floor.
bool ser_Consumable(Consumable *deser, SerConsumable *ser)
Definition ser_core.c:924
bool deser_Wincon(SerWincon *ser, Wincon *deser)
Definition ser_core.c:2236
struct SerChest SerChest
Serialized Chest.
bool deser_Enemy(SerEnemy *ser, Enemy *deser)
Definition ser_core.c:1052
bool ser_Skillslot(Skillslot *deser, SerSkillslot *ser)
Definition ser_core.c:736
struct SerGameOptions SerGameOptions
Serialized GameOptions.
bool ser_Treasure(Treasure *deser, SerTreasure *ser)
Definition ser_core.c:1822
struct SerEnemy SerEnemy
Serialized Enemy.
bool ser_Wincon(Wincon *deser, SerWincon *ser)
Definition ser_core.c:2257
bool deser_Consumable(SerConsumable *ser, Consumable *deser)
Definition ser_core.c:904
bool readSerGameOptions(const char *filename, size_t offset, SerGameOptions *data)
Definition ser_core.c:3169
bool appendSerGamestate(const char *filename, SerGamestate *data)
Definition ser_core.c:2443
bool ser_Turncounter(Turncounter *deser, SerTurncounter *ser)
Definition ser_core.c:665
struct SerRoom SerRoom
Serialized Room.
SaveHeader * prep_saveHeader(const char *static_path, Koliseo *kls, bool force_init, bool *did_init, int saveslot_index)
Tries reading binary save from passed path.
Definition ser_core.c:262
struct SerArtifact SerArtifact
Serialized Artifact.
bool ser_Enemy(Enemy *deser, SerEnemy *ser)
Definition ser_core.c:1106
struct SerWincon SerWincon
Serialized Wincon.
#define SERFIGHTER_NAME_BUFSIZE
Defines size for SerFighter name buffer.
Definition ser_core.h:448
bool ser_Floor(Floor *deser, SerFloor *ser)
Definition ser_core.c:2178
bool prep_GameOptions(GameOptions *game_options, const char *static_path, size_t offset, Koliseo *kls, bool force_init)
Definition ser_core.c:3332
bool deser_Room(SerRoom *ser, Room *deser)
Definition ser_core.c:1998
#define SAVEHEADER_BUFSIZE
Defines size for all SaveHeader char buffers.
Definition ser_core.h:61
bool ser_Equip(Equip *deser, SerEquip *ser)
Definition ser_core.c:789
bool read_savedir(const char *dirpath)
Definition ser_core.c:2980
bool deser_FoeParty(SerFoeParty *ser, FoeParty *deser)
Definition ser_core.c:1576
bool deser_Specialslot(SerSpecialslot *ser, Specialslot *deser)
Definition ser_core.c:864
bool readSerGamestate(const char *filename, size_t offset, SerGamestate *data)
Definition ser_core.c:2465
struct SerPath SerPath
Serialized SerPath.
bool ser_FoeParty(FoeParty *deser, SerFoeParty *ser)
Definition ser_core.c:1635
struct SerFoeParty SerFoeParty
Serialized FoeParty.
struct SerTurncounter SerTurncounter
Serialized Turncounter.
bool ser_Roadfork(Roadfork *deser, SerRoadfork *ser)
Definition ser_core.c:1979
bool readSerSaveHeader(const char *filename, SerSaveHeader *data)
Reads SerSaveHeader from passed file path into passed structure.
Definition ser_core.c:56
Represents the entity initialised from a artifactClass.
Definition game_core.h:537
Represents the entity initialised from a bossClass.
Definition game_core.h:1190
Represents the entity initialised from a chestClass.
Definition game_core.h:1543
Holds a certain qty of a consumableClass.
Definition game_core.h:488
Represents the entity initialised from a enemyClass.
Definition game_core.h:1149
Represents the entity initialised from a equipClass.
Definition game_core.h:1402
Represents the entity containing an Equip instance.
Definition game_core.h:1457
Represents the entity initialised from a fighterClass.
Definition game_core.h:1079
Represents the entity initialised from a floorClass.
Definition game_core.h:1811
Represents the entity initialised from a foePartyClass.
Definition game_core.h:1711
Holds options useful for user runtime preferences.
Definition game_core.h:191
Holds arguments for a game.
Definition game_core.h:1885
Holds the state of game progression.
Definition game_core.h:1343
Represents the entity initialised from a perkClass.
Definition game_core.h:997
Represents the entity initialised from a roadforkClass.
Definition game_core.h:1633
Represents the entity initialised from a roomClass.
Definition game_core.h:1756
Save header.
Definition ser_core.h:69
int32_t api_level
Definition ser_core.h:70
char game_version[SAVEHEADER_BUFSIZE+1]
Definition ser_core.h:71
char machine[SAVEHEADER_BUFSIZE+1]
Definition ser_core.h:74
char save_version[SAVEHEADER_BUFSIZE+1]
Definition ser_core.h:72
char os[SAVEHEADER_BUFSIZE+1]
Definition ser_core.h:73
Holds arguments for a saveslot.
Definition game_core.h:396
Serialized Artifact.
Definition ser_core.h:291
int32_t innerValue
Indicates interal state of the item when needed.
Definition ser_core.h:296
int32_t active
Flag used to mark instance whose function pointer has been called already.
Definition ser_core.h:295
int32_t qty
Indicates how many copies of the artifact the instance of this class holds.
Definition ser_core.h:294
Serialized Boss.
Definition ser_core.h:408
int8_t stamina
Current stamina value.
Definition ser_core.h:423
int8_t atk
Current atk value.
Definition ser_core.h:412
int8_t level
Level value.
Definition ser_core.h:415
int8_t totalhp
Full hp value.
Definition ser_core.h:418
int8_t energy
Current energy value.
Definition ser_core.h:420
int8_t def
Current def value.
Definition ser_core.h:413
int8_t vel
Current vel value.
Definition ser_core.h:414
int8_t turnboost_enr
Current temp boost value for enr.
Definition ser_core.h:434
int8_t totalstamina
Full stamina value.
Definition ser_core.h:424
int8_t hp
Current hp value.
Definition ser_core.h:411
int32_t status
Defines active fighterStatus.
Definition ser_core.h:426
int8_t turnboost_vel
Current temp boost value for vel.
Definition ser_core.h:433
int8_t prize
Amount of currency dropped on defeat.
Definition ser_core.h:436
int8_t beast
Flag defining the instance as "beast" if set.
Definition ser_core.h:427
int8_t turnboost_def
Current temp boost value for def.
Definition ser_core.h:432
int8_t xp
Xp value given on death.
Definition ser_core.h:417
int8_t turnboost_atk
Current temp boost value for atk.
Definition ser_core.h:431
int8_t totalenergy
Full energy value.
Definition ser_core.h:421
int8_t luck
Luck value.
Definition ser_core.h:416
Serialized Chest.
Definition ser_core.h:578
int32_t consumablesCount
Defines how many consumables the chest contains.
Definition ser_core.h:581
int32_t equipsCount
Defines how many equips the chest contains.
Definition ser_core.h:584
Serialized Consumable.
Definition ser_core.h:264
int32_t qty
Indicates how many copies of the consumable the instance of this class holds.
Definition ser_core.h:267
Serialized countStats.
Definition ser_core.h:320
int8_t equipsfound
How many equips were found.
Definition ser_core.h:324
int8_t roomscompleted
How many rooms were completed.
Definition ser_core.h:327
int8_t unique_bosseskilled
How many unique bosses were defeated.
Definition ser_core.h:332
int8_t bosseskilled
How many bosses were defeated.
Definition ser_core.h:331
int8_t criticalhits
How many criticals were dealt.
Definition ser_core.h:326
int8_t coinsfound
How many coins you found in total.
Definition ser_core.h:330
int8_t specialsunlocked
How many special move were unlocked.
Definition ser_core.h:329
int8_t consumablesfound
How many consumabls were found.
Definition ser_core.h:323
int8_t floorscompleted
How many floors were completed.
Definition ser_core.h:328
int8_t artifactsfound
How many artifacts were found.
Definition ser_core.h:325
int8_t keysfound
How many keys you found in total.
Definition ser_core.h:334
int8_t enemieskilled
How many enemies were defeated.
Definition ser_core.h:322
Serialized Enemy.
Definition ser_core.h:358
int8_t vel
Current vel value.
Definition ser_core.h:365
int8_t turnboost_vel
Current temp boost value for vel.
Definition ser_core.h:385
int8_t beast
Flag defining the instance as "beast" if set.
Definition ser_core.h:378
int8_t totalenergy
Full energy value.
Definition ser_core.h:372
int8_t hp
Current hp value.
Definition ser_core.h:362
int8_t xp
Xp value given on death.
Definition ser_core.h:368
int8_t totalhp
Full hp value.
Definition ser_core.h:369
int8_t atk
Current atk value.
Definition ser_core.h:363
int8_t stamina
Current stamina value.
Definition ser_core.h:374
int32_t status
Defines active fighterStatus.
Definition ser_core.h:377
int8_t totalstamina
Full stamina value.
Definition ser_core.h:375
int8_t def
Current def value.
Definition ser_core.h:364
int8_t turnboost_atk
Current temp boost value for atk.
Definition ser_core.h:383
int8_t level
Level value.
Definition ser_core.h:366
int8_t energy
Current energy value.
Definition ser_core.h:371
int8_t turnboost_enr
Current temp boost value for enr.
Definition ser_core.h:386
int8_t index
Defines position inside containing foeParty.
Definition ser_core.h:360
int8_t turnboost_def
Current temp boost value for def.
Definition ser_core.h:384
int8_t prize
Amount of currency dropped on defeat.
Definition ser_core.h:388
int8_t luck
Luck value.
Definition ser_core.h:367
Serialized Equip.
Definition ser_core.h:175
int8_t enr
Definition ser_core.h:184
int8_t def
Definition ser_core.h:182
int8_t equipped
Flag indicating the instance as currently in use if set.
Definition ser_core.h:179
int8_t cost
Definition ser_core.h:187
int8_t vel
Definition ser_core.h:183
int8_t level
Definition ser_core.h:180
int8_t atk
Definition ser_core.h:181
int32_t type
Defines which kind of Equipzone the instance relates to.
Definition ser_core.h:178
int8_t bonus
Definition ser_core.h:185
int8_t perksCount
Definition ser_core.h:186
quality qual
Definition ser_core.h:188
Serialized Equipslot.
Definition ser_core.h:213
int8_t active
Flag indicating the instance as currently in use if set.
Definition ser_core.h:216
int32_t type
Defines which kind of Equipzone the instance relates to.
Definition ser_core.h:215
Serialized Fighter.
Definition ser_core.h:462
int8_t vel
Current vel value.
Definition ser_core.h:469
int8_t floor_x
Current x position in floor.
Definition ser_core.h:517
int8_t totallevelxp
Xp needed to level up.
Definition ser_core.h:474
int8_t totalxp
Lifetime xp value.
Definition ser_core.h:472
int8_t def
Current def value.
Definition ser_core.h:468
int32_t status
Defines active fighterStatus.
Definition ser_core.h:476
int8_t equipsBagOccupiedSlots
Keeps track of how many slots are occupied.
Definition ser_core.h:499
int8_t turnboost_enr
Current temp boost value for enr.
Definition ser_core.h:489
int8_t totalenergy
Full energy value.
Definition ser_core.h:479
int8_t perksCount
Keeps track of how many perks are active.
Definition ser_core.h:491
int8_t permboost_enr
Current temp boost value for enr.
Definition ser_core.h:505
int8_t permboost_atk
Current temp boost value for atk.
Definition ser_core.h:502
int8_t floor_y
Current y position in floor.
Definition ser_core.h:518
SerCountstats stats
SerCountstats instance.
Definition ser_core.h:512
int8_t atk
Current atk value.
Definition ser_core.h:467
int8_t turnboost_vel
Current temp boost value for vel.
Definition ser_core.h:488
int8_t permboost_vel
Current temp boost value for vel.
Definition ser_core.h:504
int8_t equipboost_enr
Current equip boost value for enr.
Definition ser_core.h:510
int8_t keys_balance
Amount of keys owned.
Definition ser_core.h:515
int8_t level
Current level value.
Definition ser_core.h:470
int8_t turnboost_atk
Current temp boost value for atk.
Definition ser_core.h:486
int8_t stamina
Current stamina value.
Definition ser_core.h:480
int8_t hp
Current hp value.
Definition ser_core.h:466
int8_t turnboost_def
Current temp boost value for def.
Definition ser_core.h:487
int8_t equipboost_atk
Current equip boost value for atk.
Definition ser_core.h:507
int8_t energy
Current energy value.
Definition ser_core.h:478
int8_t currentlevelxp
Xp gained for the current level.
Definition ser_core.h:473
int8_t totalstamina
Full stamina value.
Definition ser_core.h:481
int8_t totalhp
Full hp value.
Definition ser_core.h:475
int32_t balance
Amount of currency owned.
Definition ser_core.h:514
int8_t permboost_def
Current temp boost value for def.
Definition ser_core.h:503
int8_t equipboost_vel
Current equip boost value for vel.
Definition ser_core.h:509
int8_t earliestBagSlot
Keeps track of first available spot.
Definition ser_core.h:500
int8_t luck
Current luck value.
Definition ser_core.h:471
int8_t equipboost_def
Current equip boost value for def.
Definition ser_core.h:508
Serialized Floor.
Definition ser_core.h:714
int8_t explored_area
Holds how many cells we explored.
Definition ser_core.h:724
bool from_bsp
Flag for floors generated using bsp.
Definition ser_core.h:725
int8_t index
The floor's own number.
Definition ser_core.h:716
int8_t area
Holds how many cells we succesfully random walked.
Definition ser_core.h:720
Serialized FoeParty.
Definition ser_core.h:542
int8_t turnboost_vel
Current temp boost value for vel.
Definition ser_core.h:549
int8_t turnboost_def
Current temp boost value for def.
Definition ser_core.h:548
int8_t turnboost_atk
Current temp boost value for atk.
Definition ser_core.h:547
int8_t level
Level for the whole FoeParty.
Definition ser_core.h:545
int8_t size
Number of members in the FoeParty.
Definition ser_core.h:554
int8_t turnboost_enr
Current temp boost value for enr.
Definition ser_core.h:550
int8_t tot_alive
Number of alive members of the FoeParty.
Definition ser_core.h:555
int8_t current_index
Index of current foe advancement.
Definition ser_core.h:556
Serialized GameOptions.
Definition ser_core.h:865
int32_t directional_keys_schema
Definition ser_core.h:869
bool do_autosave
Definition ser_core.h:868
bool use_default_background
Definition ser_core.h:867
Serialized Gamestate.
Definition ser_core.h:823
int64_t start_time
Keeps track of game start time.
Definition ser_core.h:825
SerCountstats stats
Keeps track of stats for the game.
Definition ser_core.h:827
SerFloor current_floor
Pointer to current floor, initialised when gamemode==Rogue.
Definition ser_core.h:842
SerRoom current_room
Pointer to current room.
Definition ser_core.h:844
SerWincon wincon
Keeps track of current Wincon.
Definition ser_core.h:834
int8_t current_room_index
Keeps track of current room index.
Definition ser_core.h:831
int8_t current_fighters
Keeps track of Fighter number for the game.
Definition ser_core.h:829
bool is_seeded
Denotes if the current game was started with a set seed.
Definition ser_core.h:845
SerFighter player
Keeps track of current Player.
Definition ser_core.h:838
int8_t current_enemy_index
Keeps track of current enemy index.
Definition ser_core.h:833
int32_t current_roomtype
Keeps track of current room type.
Definition ser_core.h:830
SerPath path
Keeps track of current Path.
Definition ser_core.h:836
int32_t gamemode
Keeps track of current Gamemode.
Definition ser_core.h:840
Serialized SerPath.
Definition ser_core.h:795
SerSaveslot current_saveslot
Defines current SerSaveslot for the game.
Definition ser_core.h:801
int8_t length
Defines how many rooms there are in total.
Definition ser_core.h:797
int8_t luck
Defines global luck value.
Definition ser_core.h:798
SerWincon win_condition
Defines the win condition for the current game.
Definition ser_core.h:800
int8_t prize
Defines the reward for getting to length.
Definition ser_core.h:799
int64_t rng_advancements
Current advancements for rng.
Definition ser_core.h:803
Serialized Perk.
Definition ser_core.h:125
int32_t innerValue
Contains an integer for perks that need a state.
Definition ser_core.h:128
Serialized Roadfork.
Definition ser_core.h:661
Serialized Room.
Definition ser_core.h:683
SerBoss boss
The SerBoss, initialised for rooms of class BOSS.
Definition ser_core.h:691
SerRoadfork roadfork
The SerRoadfork, initialised for rooms of class ROADFORK.
Definition ser_core.h:688
SerFoeParty foes
The SerFoeParty pointer, initialised for rooms of class ENEMIES.
Definition ser_core.h:694
int8_t enemyTotal
Total number of enemies initialised in enemies array.
Definition ser_core.h:692
SerShop shop
The SerShop, initialised for rooms of class SHOP.
Definition ser_core.h:687
SerTreasure treasure
The SerTreasure, initialised for rooms of class TREASURE.
Definition ser_core.h:689
int8_t index
The room's own number.
Definition ser_core.h:685
Serialized save header.
Definition ser_core.h:43
int32_t api_level
Definition ser_core.h:45
Serialized Saveslot.
Definition ser_core.h:769
int8_t index
Index of saveslot.
Definition ser_core.h:773
Serialized Shop.
Definition ser_core.h:630
int8_t itemCount
Total number of items for sale.
Definition ser_core.h:632
int8_t consumablesCount
Total number of consumables for sale, includes quantity for each kind of consumable.
Definition ser_core.h:638
int8_t uniqueConsumablesCount
Total of unique consumables for sale.
Definition ser_core.h:639
int8_t equipsCount
Total number of equips for sale.
Definition ser_core.h:634
Serialized Skillslot.
Definition ser_core.h:152
int8_t enabled
Flag defining if the slot is initialised.
Definition ser_core.h:155
Serialized Specialslot.
Definition ser_core.h:236
int8_t enabled
Flag defining if the current slot is initialised.
Definition ser_core.h:238
int8_t cost
Cost of use.
Definition ser_core.h:240
int8_t move
Defines which kind of specialMove the slot is holding.
Definition ser_core.h:239
Serialized Treasure.
Definition ser_core.h:606
SerChest chest
The treasure SerChest, initialised if class == TREASURE_CHEST.
Definition ser_core.h:609
SerArtifact artifact
The treasure SerArtifact, initialised if class == TREASURE_ARTIFACT.
Definition ser_core.h:611
SerConsumable consumable
The treasure SerConsumable, initialised if class == TREASURE_CONSUMABLE.
Definition ser_core.h:610
Serialized Turncounter.
Definition ser_core.h:97
int32_t type
Defines which kind of Countertype the instance relates to.
Definition ser_core.h:101
int32_t count
Defines the current count.
Definition ser_core.h:99
int32_t innerValue
Contains an integer for counters that need a state.
Definition ser_core.h:100
Serialized Wincon.
Definition ser_core.h:745
int8_t target_val
Defines the total progress.
Definition ser_core.h:749
int8_t current_val
Defines the current progress.
Definition ser_core.h:748
Represents a shop instance.
Definition game_core.h:1489
Holds state for a skillType.
Definition game_core.h:883
Holds state for a Fighter specials.
Definition game_core.h:837
Represents the entity initialised from a treasureClass.
Definition game_core.h:1589
Represents the entity initialised from a CounterType.
Definition game_core.h:1289
Defines the entity initialised from a winconClass.
Definition game_core.h:1324
Holds the lifetime stats of the player.
Definition game_core.h:767