helapordo 1.4.12
Loading...
Searching...
No Matches
game_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 GAME_CORE_H
20#define GAME_CORE_H
21
22#ifndef HELAPORDO_OS
23#define HELAPORDO_OS "unknown"
24#endif
25
26#ifndef HELAPORDO_MACHINE
27#define HELAPORDO_MACHINE "unknown"
28#endif
29
30#include "../../ringabuf/src/ringabuf.h"
31
32#ifdef HELAPORDO_CURSES_BUILD
33#ifdef _WIN32
34#include <ncursesw/panel.h>
35#define S4C_WIN_BG 0
36#define S4C_WIN_RED 1
37#define S4C_WIN_GREEN 2
38#define S4C_WIN_BLUE 3
39#define S4C_WIN_CYAN 4
40#define S4C_WIN_WHITE 5
41#define S4C_WIN_YELLOW 6
42#define S4C_WIN_BLACK_ON_WHITE 7
43#define S4C_WIN_PURPLE 8
44#define S4C_WIN_WHITE_ON_RED 9
45#define S4C_WIN_WHITE_ON_PURPLE 10
46#else
47#include <panel.h>
48#endif // _WIN32
49
53typedef struct GameScreen {
54 WINDOW* win;
55 int colors;
56 int color_pairs;
57 int cols;
58 int rows;
59 int escape_delay;
60 int tabsize;
61} GameScreen;
62
63#else
64#ifndef HELAPORDO_RAYLIB_BUILD
65#error "HELAPORDO_CURSES_BUILD and HELAPORDO_RAYLIB_BUILD are both undefined."
66#else
70typedef enum GameScreen { LOGO = 0, TITLE, SAVES_VIEW, NAMEPICK_VIEW, CLASSPICK_VIEW, FLOOR_VIEW, ROOM_VIEW, ENDING, DOOR_ANIM } GameScreen;
71// Add more includes for rl-build here
72#ifdef _WIN32
80#define WIN32_LEAN_AND_MEAN // We don't want no playsound
81#define NOGDI // We don't want Rectangle from Windows
82#define NOUSER // We don't want no user routines
83#endif // _WIN32
84#endif // HELAPORDO_RAYLIB_BUILD
85#endif // HELAPORDO_CURSES_BUILD
86
87#include "../../koliseo/src/koliseo.h"
88
92#ifdef near
93#undef near
94#endif
95#ifdef far
96#undef far
97#endif
98
99#include "../palette.h"
101extern const char* helapordo_title_string;
103extern const char* helapordo_build_string;
104
121
125#define HLPD_KEYCLASS_MAX 8
126
132
137typedef struct HLPD_Key {
138 int val;
141
147
158
162#define HLPD_DIRECTIONALKEYS_SCHEMAS_MAX 2
163
169
180
187
191typedef struct GameOptions {
192 bool use_default_background; //<** Turn on usage of default terminal background */
193 bool do_autosave; //<* Turns on autosave */
194 HLPD_DirectionalKeys_Schema directional_keys_schema; //* Defines the current schema for cardinal directions movement */
196
198
236
240#define HLP_MAX_INDEX (HR_loadInfo-100+KLS_REGIONTYPE_MAX)
241
246extern char *hlp_regiontype_strings[HLP_MAX_INDEX + 1];
247
251extern Koliseo *default_kls;
255extern Koliseo *temporary_kls;
259extern Koliseo *support_kls;
260
265extern int G_PRELOAD_ANIMATIONS_ON;
269extern int G_DEBUG_ON;
273extern int G_LOG_ON;
277extern int G_EXPERIMENTAL_ON;
281extern int G_FASTQUIT_ON;
285extern int G_GODMODE_ON;
289extern int G_DEBUG_ROOMTYPE;
293extern int G_DEBUG_ROOMTYPE_ON;
297extern char *G_DEBUG_ROOMTYPE_ARG;
301extern int G_DEBUG_ENEMYTYPE;
305extern int G_DEBUG_ENEMYTYPE_ON;
309extern char *G_DEBUG_ENEMYTYPE_ARG;
313extern int GS_AUTOSAVE_ON;
317extern int G_DOTUTORIAL_ON;
318
322extern int G_USE_CURRENTDIR;
323
327extern int G_USE_DEFAULT_BACKGROUND;
328
333
338
339
343extern int64_t G_RNG_ADVANCEMENTS;
344
348extern int G_SEEDED_RUN_ON;
352extern char *G_SEEDED_RUN_ARG;
353
357#define HELAPORDO_MAJOR_VERSION 1
358
362#define HELAPORDO_MINOR_VERSION 4
363
367#define HELAPORDO_PATCH_VERSION 12
368
372#define VERSION "1.4.12"
373
374#define HELAPORDO_BINSAVEFILE_VERSION "0.0.6"
375
379static const int HELAPORDO_API_VERSION_INT =
383#define EXPECTED_NCURSES_VERSION_MAJOR 6
384#define EXPECTED_NCURSES_VERSION_MINOR 4
385#define EXPECTED_NCURSES_VERSION_PATCH 20230520
386#define EXPECTED_RAYLIB_VERSION_MAJOR 4
387#define EXPECTED_RAYLIB_VERSION_MINOR 5
388#define EXPECTED_RAYLIB_VERSION_PATCH 0
396typedef struct {
397 char name[50];
398 char save_path[255];
399 int index;
400} Saveslot;
401
406#define MAX_SAVESLOTS 3
407
414
419#define MAXPLAYERLUCK 30
420
425#define MAXLENGTH 100
426
431#define MAXLUCK 50
432
438typedef enum {
439 Rogue = 0,
440} Gamemode;
441
445#define GAMEMODE_MAX 0
446
451extern char *gamemodenamestrings[GAMEMODE_MAX + 1];
452
457#define LORES_MAX 2
458
462extern Gamemode GAMEMODE;
463
470typedef enum {
472 Rock = 1,
473 Bread = 2,
476 Magicbean = 5
478
482#define CONSUMABLESMAX 5
483
488typedef struct {
490 char name[25];
491 char desc[50];
492 int qty;
493 char sprite[8][20];
494} Consumable;
495
501extern char *consumablestrings[CONSUMABLESMAX + 1];
502
510
527
531#define ARTIFACTSMAX 6
532
537typedef struct Artifact {
539 char name[25];
540 char desc[50];
541 int qty;
542 int active;
544 char sprite[8][20];
546
551extern char *artifactstrings[ARTIFACTSMAX + 1];
552
558
559#define ENEMY_ARTIFACTDROP_CHANCE 1001
572
576#define STATUSMAX 5
577
584typedef enum {
587 Mage = 2,
588 Assassin = 3
590
594#define CLASSESMAX 3
595
600extern char *classesstrings[CLASSESMAX + 1];
601
605typedef enum {
609 ENR
611
615#define STATMAX 3
616
637
646extern BaseStats basestats[CLASSESMAX + 1];
647
654typedef enum {
655 Mummy = 0,
656 Ghost = 1,
659 Imp = 4,
660 Troll = 5,
661 Boar = 6,
662 Werewolf = 7
664
668#define ENEMYCLASSESMAX 7
669
675extern char *classenemystrings[ENEMYCLASSESMAX + 1];
676
696
706
720
724#define BOSSCLASSESMAX 4
725
731extern char *classbossstrings[BOSSCLASSESMAX + 1];
732
752
762
782
808
812#define SPECIALSMAX 3 //num of specials per class (0 inclusive)
813
818extern char *specialsnamestrings[CLASSESMAX + 1][SPECIALSMAX + 1];
819
824extern char *specialsdescstrings[CLASSESMAX + 1][SPECIALSMAX + 1];
825
830extern int specialscosts[CLASSESMAX + 1][SPECIALSMAX + 1];
831
837typedef struct {
840 char name[80];
841 char desc[80];
842 int cost;
844
851
852#define SKILLSTOTAL SKILL_TYPE_MAX
853
854#define FIGHTER_SKILL_SLOTS SKILLSTOTAL
855#define ENEMY_SKILL_SLOTS SKILLSTOTAL
856#define BOSS_SKILL_SLOTS SKILLSTOTAL
857
862extern char *skillsnamestrings[SKILLSTOTAL + 1];
863
868extern char *skillsdescstrings[SKILLSTOTAL + 1];
869
874extern int skillscosts[SKILLSTOTAL + 1];
875
883typedef struct {
885 skillType class;
886 char name[80];
887 char desc[80];
888 int cost;
889} Skillslot;
890
891//Forward declarations for counter fields in entities
892struct Turncounter;
893
913//Number of counters per entity
914
918#define COUNTERSMAX 9
919
920//Forward declarations for equipslot fields in entities
921struct Equipslot;
922struct Equip;
923
930typedef enum {
931 HEAD = 0,
932 TORSO = 1,
933 LEGS = 2
935
939#define EQUIPZONES 2
940
945extern char *equipzonestrings[EQUIPZONES + 1];
946
947/* Ceiling for Fighter equipsBag indexes.
948 * @see Fighter
949 */
950#define EQUIPSBAGSIZE 20
951
969
973#define PERKSMAX 8
974
979#define EQUIPPERKSMAX 2
980
985extern char *perksnamestrings[PERKSMAX + 1];
986
991extern char *perksdescstrings[PERKSMAX + 1];
992
997typedef struct {
998 perkClass class;
999 char name[25];
1000 char desc[50];
1002} Perk;
1003
1004//Macros for special moves callback
1005struct Fighter;
1006struct Enemy;
1007struct Boss;
1008struct Path;
1009struct FoeParty;
1010
1011//Macros for counters callback
1012
1013//#define REGISTER_COUNTER_CALLBACK(c,x,f) register_counter_callback(c, (callback_void_t)x,f)
1014//#define GET_COUNTER_CALLBACK(c,C) ((C)callback_counter_ptrs[c])
1015
1016//Macro to get size of an array
1017#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
1018
1024typedef void (*callback_turncounter_fighter_t)(struct Fighter *);
1025
1031typedef void (*callback_turncounter_enemy_t)(struct Enemy *);
1032
1040#ifdef HELAPORDO_CURSES_BUILD
1041typedef void (*callback_special_t)(WINDOW *, struct Fighter *, struct Enemy *,
1042 struct Boss *, struct Path *, int, int, int);
1043#else
1044#ifndef HELAPORDO_RAYLIB_BUILD
1045#error "HELAPORDO_CURSES_BUILD and HELAPORDO_RAYLIB_BUILD are both undefined."
1046#else
1047typedef void (*callback_special_t)(Rectangle* r, struct Fighter *, struct Enemy *,
1048 struct Boss *, struct Path *, int, int, int);
1049#endif // HELAPORDO_RAYLIB_BUILD
1050#endif // HELAPORDO_CURSES_BUILD
1051
1059typedef void (*callback_artifact_t)(struct Fighter *, struct Enemy *,
1060 struct Boss *, int isBoss);
1061
1065typedef void (*callback_void_t)(void);
1066
1067#define FIGHTER_NAME_BUFSIZE 50
1068
1079typedef struct Fighter {
1082 int hp;
1083 int atk;
1084 int def;
1085 int vel;
1086 int level;
1087 int luck;
1116 int earliestBagSlot; //TODO To always use the array efficiently (???) I sense linked lists may be better
1117
1132 char sprite[8][20];
1137 //TODO eval this callback bit if we need to have some without nesting in another turncounter
1138 //callback_void_t callback_counter_ptrs[COUNTERSMAX]; /**< Array of callbacks for turnCounter functions.*/
1140
1181
1220
1226typedef void (*effect_fun)(Fighter *);
1232typedef void (*effect_e_fun)(Enemy *);
1238typedef void (*effect_b_fun)(Boss *);
1244typedef void (*effect_fp_fun)(struct FoeParty *);
1245
1251typedef void (*boost_fun)(Fighter *, int boost);
1257typedef void (*boost_e_fun)(Enemy *, int boost);
1263typedef void (*boost_b_fun)(Boss *, int boost);
1269typedef void (*boost_fp_fun)(struct FoeParty *, int boost);
1270
1282
1289typedef struct Turncounter {
1290 int count;
1291 char *desc;
1294 void (*effect_fun)(Fighter *);
1295 void (*effect_e_fun)(Enemy *);
1296 void (*effect_b_fun)(Boss *);
1297 void (*effect_fp_fun)(struct FoeParty *);
1298 void (*boost_fun)(Fighter *, int);
1299 void (*boost_e_fun)(Enemy *, int);
1300 void (*boost_b_fun)(Boss *, int);
1301 void (*boost_fp_fun)(struct FoeParty *, int);
1303
1315
1319#define WINCON_CLASS_MAX 2
1320
1329
1334extern char *winconstrings[WINCON_CLASS_MAX + 1];
1335
1336#define PATH_SEED_BUFSIZE 20
1337
1352
1359typedef enum {
1360 Vest = 0,
1363 Cape = 3,
1365 Loafers = 5
1367
1371#define EQUIPSMAX 5
1372
1379typedef enum {
1380 Bad = 0,
1382 Good = 2,
1383} quality;
1384
1388#define QUALITIESMAX 2
1389
1394extern char *qualitytrings[QUALITIESMAX + 1];
1395
1402typedef struct Equip {
1405 char name[25];
1406 char desc[50];
1407 int qty;
1411 int level;
1412 //Modifiers
1413 // modifier
1414 int atk;
1415 int def;
1416 int vel;
1417 int enr;
1419 int bonus;
1422 int cost;
1425 void (*equip_fun)(Fighter *, Enemy *, Path *);
1427 char sprite[8][20];
1429
1434extern char *equipstrings[EQUIPSMAX + 1];
1435
1442extern Equip equips[EQUIPSMAX + 1];
1443
1450typedef void (*equip_fun)(Fighter *, Enemy *);
1451
1457typedef struct Equipslot {
1459 char *desc;
1461 char sprite[8][20];
1463 //void (*equip_fun)( Fighter*,Enemy*); /**< Pointer to temp boost function applying to Enemy, takes a int
1465
1469#define ITEM_SHOP_MAX 20
1470
1474#define EQUIP_SHOP_MAX 2
1475
1479#define CONSUMABLE_SHOP_MAX 3
1480
1484#define SINGLE_CONSUMABLE_SHOP_MAX 3
1485
1504
1511typedef enum {
1513 CHEST_BEAST = 1
1515
1519#define CHEST_CLASS_MAX 1
1520
1524#define CHEST_CONSUMABLES_MAX 5
1528#define CHEST_EQUIPS_MAX 5
1529
1534extern char *chestdescstrings[CHEST_CLASS_MAX + 1];
1535
1557
1569
1573#define TREASURE_CLASS_MAX 3
1574
1579extern char *treasuredescstrings[TREASURE_CLASS_MAX + 1];
1580
1600
1614
1618#define ROADFORK_OPTIONS_MAX 4
1619
1625
1640
1647typedef enum {
1649 SHOP = 1,
1650 BOSS = 2,
1653 HOME = 5,
1654 WALL = 6,
1655 BASIC = 7
1657
1661#define ROOM_CLASS_MAX 7
1662
1667extern char *roomnamestrings[ROOM_CLASS_MAX + 1];
1668
1672#define ROOM_ENEMIES_MAX 4
1673
1679#define FOES_BOSSES_MAX 2
1680
1688typedef enum {
1692
1696#define FOEPARTY_CLASS_MAX 1
1697
1703extern char *foepartystrings[FOEPARTY_CLASS_MAX + 1];
1704
1711typedef struct FoeParty {
1713 int level;
1720 //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??
1722 int size;
1728
1739
1749
1771
1778typedef enum {
1781} floorClass;
1782
1786#define FLOOR_CLASS_MAX 1
1787
1792extern char *floornamestrings[FLOOR_CLASS_MAX + 1];
1793
1798#define FLOOR_MAX_COLS 24
1799
1804#define FLOOR_MAX_ROWS 24
1805
1811typedef struct Floor {
1812
1813 int index;
1814 char *desc;
1818 int area;
1825 //TODO: add some pointer to a loot instance, initialised for floors having some flag active.*/
1827
1832#define MAX_ROGUE_FLOORS 17
1833
1843
1848#define SAVETYPE_MAX 2
1849
1855extern char *savetypestrings[SAVETYPE_MAX + 1];
1856
1876
1885typedef struct {
1886
1887 clock_t start_time;
1906#ifdef HELAPORDO_CURSES_BUILD
1907 GameScreen *screen;
1908#else
1909#ifndef HELAPORDO_RAYLIB_BUILD
1910#error "HELAPORDO_CURSES_BUILD and HELAPORDO_RAYLIB_BUILD are both undefined.\n"
1911#else
1912#endif // HELAPORDO_RAYLIB_BUILD
1913#endif // HELAPORDO_CURSES_BUILD
1914
1918} Gamestate;
1919
1920#ifndef KOLISEO_HAS_REGION
1925extern Gamestate* G_GAMESTATE;
1926#endif
1927
1955
1980
1987
1994#define TURNOP_MAX 17
2000extern char *turnopstrings[TURNOP_MAX + 1];
2001
2011
2022
2029
2036#define FOETURNOP_MAX 3
2042extern char *foeturnopstrings[FOETURNOP_MAX + 1];
2043
2049#define OPS_LOGFILE "OPS_log.txt"
2050
2068
2074#define OP_RES_MAX 10
2075
2082extern char *opresstrings[OP_RES_MAX + 1];
2083
2090typedef struct {
2098#ifdef HELAPORDO_CURSES_BUILD
2099 WINDOW *notify_win;
2100#else
2101#ifndef HELAPORDO_RAYLIB_BUILD
2102#error "HELAPORDO_CURSES_BUILD and HELAPORDO_RAYLIB_BUILD are both undefined."
2103#else
2104 Rectangle *notify_win;
2105#endif // HELAPORDO_RAYLIB_BUILD
2106#endif // HELAPORDO_CURSES_BUILD
2108 Koliseo_Temp *t_kls;
2112} turnOP_args;
2113
2118#define SHOPROOM 4
2123#define BOSSROOM 5
2128#define HOMEROOM 6
2133#define BEASTROOM 3
2138#define BSTFACTOR 1.5
2139
2144#define ENEMYLVLRATIO 2
2149#define SPECIALLVLRATIO 2
2154#define EQUIPLVLBOOSTRATIO 3
2155
2168
2173#define FIGHT_RES_TOT 7
2174
2180extern char *fightresultstrings[FIGHT_RES_TOT + 1];
2181
2188
2189#define CHEST_FRAMES 25
2190#define CHEST_ROWS 18
2191#define CHEST_COLS 18
2192#define CHEST_FRAMETIME 67
2194#define CURSES_BINSAVE_NAME "save-nc.bin"
2195#define RL_BINSAVE_NAME "save-rl.bin"
2197#define CURSES_GMSTSAVE_NAME "run-nc.bin"
2198#define RL_GMSTSAVE_NAME "run-rl.bin"
2200#define CURSES_SETTINGS_SAVE_NAME "settings-nc.bin"
2201#define RL_SETTINGS_SAVE_NAME "settings-rl.bin"
2203extern const wchar_t HEAD_CHAR_ICON;
2204extern const wchar_t TORSO_CHAR_ICON;
2205extern const wchar_t LEGS_CHAR_ICON;
2206
2207#define NOTIFICATION_BUFFER_SIZE 200
2217
2218#define NOTIFICATIONS_RINGBUFFER_SIZE 7
2220#endif // GAME_CORE_H
const wchar_t TORSO_CHAR_ICON
Definition game_core.c:613
#define CHEST_CLASS_MAX
Maximum index of chestClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:1519
int GS_AUTOSAVE_ON
Global variable for autosave setting.
Definition main.c:51
struct Wincon Wincon
Defines the entity initialised from a winconClass.
char * foeturnopstrings[FOETURNOP_MAX+1]
Array with the name strings for foeTurnOption.
Definition game_core.c:334
char * perksdescstrings[PERKSMAX+1]
Array with the desc strings for perkClass.
Definition game_core.c:514
void(* equip_fun)(Fighter *, Enemy *)
Defines a function pointer returning void and taking a Fighter and a Enemy pointers.
Definition game_core.h:1450
#define NOTIFICATION_BUFFER_SIZE
Defines message buffer size for Notification.
Definition game_core.h:2207
HLPD_Key hlpd_default_keybinds[HLPD_KEYCLASS_MAX+1]
Array with the keybinds for the game.
Definition game_core.c:46
void(* effect_fp_fun)(struct FoeParty *)
Defines a function pointer returning void and taking a FoeParty pointer.
Definition game_core.h:1244
struct HLPD_Key HLPD_Key
Holds info about a keybind for the game.
Consumable consumablesBase[CONSUMABLESMAX+1]
Array containing all Consumable instances.
Definition game_core.c:360
enemyClass
The different kinds of Enemy.
Definition game_core.h:654
@ Werewolf
Definition game_core.h:662
@ Zombie
Definition game_core.h:657
@ Goblin
Definition game_core.h:658
@ Imp
Definition game_core.h:659
@ Troll
Definition game_core.h:660
@ Ghost
Definition game_core.h:656
@ Boar
Definition game_core.h:661
@ Mummy
Definition game_core.h:655
turnOption
The different kinds of turnOption.
Definition game_core.h:1935
@ DEBUG
Definition game_core.h:1949
@ EQUIPS
Definition game_core.h:1944
@ STATS
Definition game_core.h:1946
@ QUIT
Definition game_core.h:1941
@ SAVE
Definition game_core.h:1947
@ ARTIFACTS
Definition game_core.h:1943
@ SKILL
Definition game_core.h:1952
@ EXPLORE
Definition game_core.h:1948
@ FIGHT
Definition game_core.h:1939
@ CLOSE_MENU
Definition game_core.h:1951
@ SPECIAL
Definition game_core.h:1940
@ TUTORIAL
Definition game_core.h:1950
@ GAME_OPTIONS
Definition game_core.h:1953
@ CONSUMABLE
Definition game_core.h:1942
@ NEW_GAME
Definition game_core.h:1936
@ PERKS
Definition game_core.h:1945
@ LOAD_GAME
Definition game_core.h:1937
@ INVALID
Definition game_core.h:1938
char * specialsdescstrings[CLASSESMAX+1][SPECIALSMAX+1]
Array with the desc strings for special moves.
Definition game_core.c:460
char * hlp_regiontype_strings[HLP_MAX_INDEX+1]
Array with the name strings for HLP_Region_Type values.
Definition game_core.c:98
artifactClass
The different kinds of artifactClass.
Definition game_core.h:518
@ POWERSYPHON
Definition game_core.h:524
@ CHAOSORB
Definition game_core.h:523
@ TWINKIE
Definition game_core.h:520
@ BOARTAIL
Definition game_core.h:522
@ GIANTFOSSILE
Definition game_core.h:525
@ THKSKULL
Definition game_core.h:519
@ WRISTBAND
Definition game_core.h:521
struct Fighter Fighter
Represents the entity initialised from a fighterClass.
void(* boost_fp_fun)(struct FoeParty *, int boost)
Defines a function pointer returning void and taking a FoeParty pointer and an integer.
Definition game_core.h:1269
Gamemode
The different kinds of Gamemode.
Definition game_core.h:438
@ Rogue
Definition game_core.h:439
#define HELAPORDO_MINOR_VERSION
Current minor release.
Definition game_core.h:362
#define CLASSESMAX
Maximum index of fighterClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:594
#define MAX_SAVESLOTS
Total number of Saveslot for the game.
Definition game_core.h:406
void(* callback_void_t)(void)
Defines a function pointer returning void and taking NO parameters (different than saying just (),...
Definition game_core.h:1065
#define FLOOR_CLASS_MAX
Maximum index of floorClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:1786
#define SAVETYPE_MAX
Maximum value of saveType values.
Definition game_core.h:1848
#define FIGHTER_NAME_BUFSIZE
Definition game_core.h:1067
Saveslot default_saveslots[MAX_SAVESLOTS+1]
Array with the default saveslots for a game.
Definition game_core.c:136
struct Room Room
Represents the entity initialised from a roomClass.
struct Artifact Artifact
Represents the entity initialised from a artifactClass.
int G_DEBUG_ROOMTYPE
Global variable for debug roomtype flag.
Definition main.c:42
char * classbossstrings[BOSSCLASSESMAX+1]
Array with the name strings for bossClass.
Definition game_core.c:436
Countertype
The different kinds of Countertype.
Definition game_core.h:1275
@ CNT_VELBOOST
Counter for a temp boost on vel.
Definition game_core.h:1279
@ CNT_ATKBOOST
Counter for a temp boost on atk.
Definition game_core.h:1277
@ CNT_STATUS
Counter for a fighterStatus.
Definition game_core.h:1276
@ CNT_DEFBOOST
Counter for a temp boost on def.
Definition game_core.h:1278
@ CNT_ENRBOOST
Counter for a temp boost on enr.
Definition game_core.h:1280
#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
int G_FASTQUIT_ON
Global variable for fast quit flag.
Definition main.c:40
treasureClass
The different kinds of Treasure.
Definition game_core.h:1564
@ TREASURE_CONSUMABLE
Definition game_core.h:1566
@ TREASURE_CHEST
Definition game_core.h:1565
@ TREASURE_ARTIFACT
Definition game_core.h:1567
struct Path Path
Holds the state of game progression.
#define CONSUMABLE_SHOP_MAX
Maximum number of total consumables sold in a shop.
Definition game_core.h:1479
char * hlpd_keyclass_strings[HLPD_KEYCLASS_MAX+1]
Array with the name strings for Gamemode.
Definition game_core.c:34
counterIndexes
The different indexes for Fighter->counters.
Definition game_core.h:901
@ TURNBOOST_VEL
Definition game_core.h:910
@ STRONG
Definition game_core.h:907
@ NORMAL
Definition game_core.h:902
@ TURNBOOST_DEF
Definition game_core.h:909
@ POISON
Definition game_core.h:903
@ BURNED
Definition game_core.h:904
@ TURNBOOST_ATK
Definition game_core.h:908
@ FROZEN
Definition game_core.h:905
@ TURNBOOST_ENR
Definition game_core.h:911
@ WEAK
Definition game_core.h:906
char * G_SEEDED_RUN_ARG
Global variable for seeded run flag, set to the passed string argument.
Definition main.c:61
char * roomnamestrings[ROOM_CLASS_MAX+1]
Array with the name strings for roomClass.
Definition game_core.c:579
char * winconstrings[WINCON_CLASS_MAX+1]
Array with the desc strings for winconClass.
Definition game_core.c:526
struct Floor Floor
Represents the entity initialised from a floorClass.
turnOption_OP turnOP_from_turnOption(turnOption t)
Returns a turnOption_OP from a turnOption.
Definition game_core.c:142
saveType
The different kinds of saveType.
Definition game_core.h:1838
@ HOME_SAVE
Definition game_core.h:1839
@ ENEMIES_SAVE
Definition game_core.h:1840
@ FLOORMENU_SAVE
Definition game_core.h:1841
int G_DEBUG_ENEMYTYPE_ON
Global variable for debug enemy flag.
Definition main.c:46
foeTurnOption
The different kinds of foeTurnOption.
Definition game_core.h:2005
@ FOE_IDLE
Definition game_core.h:2007
@ FOE_INVALID
Definition game_core.h:2006
@ FOE_FIGHT
Definition game_core.h:2008
@ FOE_SPECIAL
Definition game_core.h:2009
#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
@ Good
Definition game_core.h:1382
@ Average
Definition game_core.h:1381
@ Bad
Definition game_core.h:1380
#define OP_RES_MAX
Maximum value of OP_res values.
Definition game_core.h:2074
int G_USE_DEFAULT_BACKGROUND
Global variable for using terminal default color.
Definition main.c:54
char * skillsnamestrings[SKILLSTOTAL+1]
Array with the name strings for skills.
Definition game_core.c:475
Artifact artifactsBase[ARTIFACTSMAX+1]
Array with all the Artifact found.
Definition game_core.c:380
char * qualitytrings[QUALITIESMAX+1]
Array with the name strings for quality.
Definition game_core.c:532
char * consumablestrings[CONSUMABLESMAX+1]
Array with the name strings for Consumable.
Definition game_core.c:351
FoePartyBaseStats basefoepartystats[FOEPARTY_CLASS_MAX+1]
Array containing all FoePartyBaseStats instances.
Definition game_core.c:600
#define CHEST_EQUIPS_MAX
Maximum number of Equip held in a chest.
Definition game_core.h:1528
char * treasuredescstrings[TREASURE_CLASS_MAX+1]
Array with the name strings for treasureClass.
Definition game_core.c:565
#define FOETURNOP_MAX
Maximum value for foeTurnOption_OP.
Definition game_core.h:2036
void(* callback_turncounter_enemy_t)(struct Enemy *)
Defines a function pointer returning void and taking a Enemy pointer.
Definition game_core.h:1031
floorClass
The different kinds of Floor.
Definition game_core.h:1778
@ DBG_FLOOR
Definition game_core.h:1780
@ STD_FLOOR
Definition game_core.h:1779
struct loadInfo loadInfo
Contains loaded values to pass to initRoom().
Koliseo * support_kls
Global variable for support Koliseo.
Definition main.c:66
perkClass
The different kinds of perks.
Definition game_core.h:958
@ HARVESTER
Definition game_core.h:963
@ BIOHAZARD
Definition game_core.h:965
@ PENICILLIN
Definition game_core.h:967
@ CRITBOOST_CHANCE
Definition game_core.h:960
@ HOT_BODY
Definition game_core.h:964
@ CRITBOOST_DMG
Definition game_core.h:959
@ ORACLE_GIFT
Definition game_core.h:966
@ RUNIC_MAGNET
Definition game_core.h:962
@ VAMPIRISM
Definition game_core.h:961
int G_SEEDED_RUN_ON
Global variable for seeded run flag.
Definition main.c:60
#define PATH_SEED_BUFSIZE
Definition game_core.h:1336
int G_USE_VIM_DIRECTIONAL_KEYS
Global variable for using vim-like directional keys.
Definition main.c:55
#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
Koliseo * default_kls
Global variable for default Koliseo.
Definition main.c:64
char * equipstrings[EQUIPSMAX+1]
Array with the name strings for equipClass.
Definition game_core.c:538
#define HELAPORDO_PATCH_VERSION
Current patch release.
Definition game_core.h:367
char * gamemodenamestrings[GAMEMODE_MAX+1]
Array with the name strings for Gamemode.
Definition game_core.c:94
int G_DEBUG_ON
Global variable for debug flag.
Definition main.c:37
void(* callback_turncounter_fighter_t)(struct Fighter *)
Defines a function pointer returning void and taking a Fighter pointer.
Definition game_core.h:1024
char * classesstrings[CLASSESMAX+1]
Array with the name strings for fighterClass.
Definition game_core.c:397
#define HLP_MAX_INDEX
Defines max index for an HLP_Region_Type value.
Definition game_core.h:240
#define SKILLSTOTAL
Definition game_core.h:852
#define ROADFORK_OPTIONS_MAX
Maximum index of roadforkOption, so that the size has to add 1 for the 0th index.
Definition game_core.h:1618
struct Turncounter Turncounter
Represents the entity initialised from a CounterType.
char * foepartystrings[FOEPARTY_CLASS_MAX+1]
Array with the name strings for foePartyClass.
Definition game_core.c:595
int G_PRELOAD_ANIMATIONS_ON
TODO Remove mentions of this.
Definition main.c:36
char * roadforkoptionstrings[ROADFORK_OPTIONS_MAX+1]
Array with the name strings for roadforkClass.
Definition game_core.c:571
char * opresstrings[OP_RES_MAX+1]
Array with the name strings for OP_res.
Definition game_core.c:299
struct Boss Boss
Represents the entity initialised from a bossClass.
struct HLPD_DirectionalKeys HLPD_DirectionalKeys
Holds a set of HLPD_Key to use for cardinal direction movement.
#define ENEMY_SKILL_SLOTS
Definition game_core.h:855
Stat
The different kinds of Stat.
Definition game_core.h:605
@ ENR
Definition game_core.h:609
@ DEF
Definition game_core.h:607
@ VEL
Definition game_core.h:608
@ ATK
Definition game_core.h:606
void(* boost_b_fun)(Boss *, int boost)
Defines a function pointer returning void and taking a Boss pointer and an integer.
Definition game_core.h:1263
struct Roadfork Roadfork
Represents the entity initialised from a roadforkClass.
struct FoeParty FoeParty
Represents the entity initialised from a foePartyClass.
struct Equip Equip
Represents the entity initialised from a equipClass.
Equip equips[EQUIPSMAX+1]
Array containing all Equip instances.
Definition game_core.c:547
void(* effect_e_fun)(Enemy *)
Defines a function pointer returning void and taking a Enemy pointer.
Definition game_core.h:1232
#define COUNTERSMAX
Maximum index of counterIndexes, so that the size has to add 1 for the 0th index.
Definition game_core.h:918
BaseStats basestats[CLASSESMAX+1]
Array containing all BaseStats instances.
Definition game_core.c:404
fighterClass
The different kinds of Fighter.
Definition game_core.h:584
@ Archer
Definition game_core.h:586
@ Assassin
Definition game_core.h:588
@ Knight
Definition game_core.h:585
@ Mage
Definition game_core.h:587
#define TREASURE_CLASS_MAX
Maximum index of treasureClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:1573
#define BOSSCLASSESMAX
Maximum index of bossClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:724
OP_res OP_res_from_fightResult(fightResult fr)
Returns a OP_res from a fightResult fr.
Definition game_core.c:251
#define BOSS_SKILL_SLOTS
Definition game_core.h:856
int G_DEBUG_ENEMYTYPE
Global variable for debug enemy in ENEMIES roomtype flag.
Definition main.c:45
HLPD_KeyClass
The different kinds of HLPD_Key.
Definition game_core.h:110
@ HLPD_KEY_DOWN
Definition game_core.h:113
@ HLPD_KEY_UP
Definition game_core.h:111
@ HLPD_KEY_DWNPAGE
Definition game_core.h:115
@ HLPD_KEY_MENU
Definition game_core.h:119
@ HLPD_KEY_LEFT
Definition game_core.h:114
@ HLPD_KEY_UPPAGE
Definition game_core.h:116
@ HLPD_KEY_CONFIRM
Definition game_core.h:117
@ HLPD_KEY_QUIT
Definition game_core.h:118
@ HLPD_KEY_RIGHT
Definition game_core.h:112
int G_GODMODE_ON
Global variable for godmode flag.
Definition main.c:41
char * fightresultstrings[FIGHT_RES_TOT+1]
Array with the name strings for fightResult.
Definition game_core.c:341
#define EQUIPSBAGSIZE
Definition game_core.h:950
char * G_DEBUG_ROOMTYPE_ARG
Global variable for debug room flag, set to the passed string argument.
Definition main.c:44
struct Chest Chest
Represents the entity initialised from a chestClass.
#define QUALITIESMAX
Maximum index of quality, so that the size has to add 1 for the 0th index.
Definition game_core.h:1388
int G_USE_WASD_DIRECTIONAL_KEYS
Global variable for using WASD directional keys.
Definition main.c:56
BossBaseStats basebossstats[BOSSCLASSESMAX+1]
Array containing all BossBaseStats instances.
Definition game_core.c:444
EnemyBaseStats baseenemystats[ENEMYCLASSESMAX+1]
Array containing all EnemyBaseStats instances.
Definition game_core.c:424
#define TURNOP_MAX
Maximum value for turnOption_OP.
Definition game_core.h:1994
Equipzone
The different kinds of equip zones.
Definition game_core.h:930
@ HEAD
Definition game_core.h:931
@ LEGS
Definition game_core.h:933
@ TORSO
Definition game_core.h:932
void(* effect_b_fun)(Boss *)
Defines a function pointer returning void and taking a Boss pointer.
Definition game_core.h:1238
char * specialsnamestrings[CLASSESMAX+1][SPECIALSMAX+1]
Array with the name strings for special moves.
Definition game_core.c:453
#define HLPD_DIRECTIONALKEYS_SCHEMAS_MAX
Maximum index of HLPD_DirectionalKeys_Schema, so that the size has to add 1 for the 0th index.
Definition game_core.h:162
int G_USE_CURRENTDIR
Global variable for using current directory to store game run files.
Definition main.c:53
struct EnemyBaseStats EnemyBaseStats
Holds the base stats for a enemyClass.
char * perksnamestrings[PERKSMAX+1]
Array with the name strings for perkClass.
Definition game_core.c:502
equipClass
The different kinds of Equip.
Definition game_core.h:1359
@ Helmet
Definition game_core.h:1361
@ Boots
Definition game_core.h:1362
@ Vest
Definition game_core.h:1360
@ Loafers
Definition game_core.h:1365
@ Cape
Definition game_core.h:1363
@ Tophat
Definition game_core.h:1364
struct GameOptions GameOptions
Holds options useful for user runtime preferences.
HLPD_DirectionalKeys_Schema
The different kinds of schemas available for directional keys.
Definition game_core.h:153
@ HLPD_ARROW_KEYS
Definition game_core.h:154
@ HLPD_WASD_KEYS
Definition game_core.h:156
@ HLPD_VIM_KEYS
Definition game_core.h:155
#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
specialMove
The different kinds of special moves.
Definition game_core.h:790
@ XGrimdagger
Definition game_core.h:803
@ MFlamering
Definition game_core.h:802
@ APoisonshot
Definition game_core.h:797
@ KBerserk
Definition game_core.h:794
@ AQuivercheck
Definition game_core.h:796
@ XVenomblade
Definition game_core.h:806
@ KCover
Definition game_core.h:792
@ XDisguise
Definition game_core.h:805
@ XLeechknife
Definition game_core.h:804
@ KArmordrop
Definition game_core.h:793
@ AFireshot
Definition game_core.h:798
@ MSpellstrike
Definition game_core.h:801
@ AHeadshot
Definition game_core.h:795
@ KSlash
Definition game_core.h:791
@ MPowerup
Definition game_core.h:800
@ MFatewarp
Definition game_core.h:799
#define ROOM_CLASS_MAX
Maximum index of roomClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:1661
fighterStatus
The different kinds of fighterStatus.
Definition game_core.h:564
@ Poison
Definition game_core.h:566
@ Frozen
Definition game_core.h:567
@ Burned
Definition game_core.h:568
@ Normal
Definition game_core.h:565
@ Strong
Definition game_core.h:570
@ Weak
Definition game_core.h:569
struct FoePartyBaseStats FoePartyBaseStats
Holds the base stats for a foePartyClass.
void(* callback_artifact_t)(struct Fighter *, struct Enemy *, struct Boss *, int isBoss)
Defines a function pointer returning void and taking a WINDOW, a Fighter, a Enemy,...
Definition game_core.h:1059
roadforkOption
The different kinds of Roadfork.
Definition game_core.h:1607
@ ROADFORK_ROADFORK
Definition game_core.h:1612
@ ROADFORK_SHOP
Definition game_core.h:1609
@ ROADFORK_TREASURE
Definition game_core.h:1610
@ ROADFORK_BOSS
Definition game_core.h:1608
@ ROADFORK_ENEMIES
Definition game_core.h:1611
Koliseo * temporary_kls
Global variable for temporary Koliseo.
Definition main.c:65
char * floornamestrings[FLOOR_CLASS_MAX+1]
Array with the name strings for floorClass.
Definition game_core.c:590
Gamemode GAMEMODE
Global variable for gamemode flag.
Definition main.c:63
struct BossBaseStats BossBaseStats
Holds the base stats for a bossClass.
foeTurnOption_OP
The different kinds of foeTurnOption_OP.
Definition game_core.h:2016
@ FOE_OP_IDLE
Definition game_core.h:2018
@ FOE_OP_INVALID
Definition game_core.h:2017
@ FOE_OP_FIGHT
Definition game_core.h:2019
@ FOE_OP_SPECIAL
Definition game_core.h:2020
char * turnopstrings[TURNOP_MAX+1]
Array with the name strings for turnOption.
Definition game_core.c:313
#define WINCON_CLASS_MAX
Maximum index of winconClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:1319
const wchar_t HEAD_CHAR_ICON
Definition game_core.c:612
char * skillsdescstrings[SKILLSTOTAL+1]
Array with the desc strings for skills.
Definition game_core.c:482
char * chestdescstrings[CHEST_CLASS_MAX+1]
Array with the desc strings for chestClass.
Definition game_core.c:560
#define FOES_BOSSES_MAX
Maximum number of bosses when in a FoeParty.
Definition game_core.h:1679
turnOption_OP
The different kinds of turnOption_OP.
Definition game_core.h:1960
@ OP_DEBUG
Definition game_core.h:1974
@ OP_ARTIFACTS
Definition game_core.h:1968
@ OP_FIGHT
Definition game_core.h:1964
@ OP_INVALID
Definition game_core.h:1963
@ OP_LOAD_HOMEROOM
Definition game_core.h:1976
@ OP_SKILL
Definition game_core.h:1977
@ OP_CHANGE_OPTIONS
Definition game_core.h:1978
@ OP_STATS
Definition game_core.h:1971
@ OP_SAVE
Definition game_core.h:1972
@ OP_LOAD_GAME
Definition game_core.h:1962
@ OP_LOAD_ENEMYROOM
Definition game_core.h:1975
@ OP_NEW_GAME
Definition game_core.h:1961
@ OP_SPECIAL
Definition game_core.h:1965
@ OP_PERKS
Definition game_core.h:1970
@ OP_EXPLORE
Definition game_core.h:1973
@ OP_CONSUMABLE
Definition game_core.h:1967
@ OP_QUIT
Definition game_core.h:1966
@ OP_EQUIPS
Definition game_core.h:1969
consumableClass
The different kinds of Consumable.
Definition game_core.h:470
@ Magicbean
Definition game_core.h:476
@ Rock
Definition game_core.h:472
@ Coffee
Definition game_core.h:474
@ Powergem
Definition game_core.h:475
@ Potion
Definition game_core.h:471
@ Bread
Definition game_core.h:473
char * G_DEBUG_ENEMYTYPE_ARG
Global variable for debug enemy flag, set to the passed string argument.
Definition main.c:47
char * hlpd_directionalkeyschemas_strings[HLPD_DIRECTIONALKEYS_SCHEMAS_MAX+1]
Array with the name strings for HLPD_DirectionalKeys_Schema.
Definition game_core.c:67
#define FLOOR_MAX_ROWS
Maximum value of cells in a Floor matrix row.
Definition game_core.h:1804
foePartyClass
The different kinds of FoeParty.
Definition game_core.h:1688
@ Bosses
Definition game_core.h:1690
@ Enemies
Definition game_core.h:1689
HLPD_DirectionalKeys hlpd_default_directional_keys[HLPD_DIRECTIONALKEYS_SCHEMAS_MAX+1]
Array with the default directional keys for all schemas defined as HLPD_DirectionalKeys_Schema.
Definition game_core.c:73
#define CHEST_CONSUMABLES_MAX
Maximum number of Consumable held in a chest.
Definition game_core.h:1524
int G_DOTUTORIAL_ON
Global variable for a tutorial launch.
Definition main.c:49
char * artifactstrings[ARTIFACTSMAX+1]
Array with the name strings for artifactClass.
Definition game_core.c:370
#define EQUIPZONES
Maximum index of Equipzone, so that the size has to add 1 for the 0th index.
Definition game_core.h:939
int64_t G_RNG_ADVANCEMENTS
Global variable used to count advancements of the rng.
Definition main.c:58
void(* boost_e_fun)(Enemy *, int boost)
Defines a function pointer returning void and taking a Enemy pointer and an integer.
Definition game_core.h:1257
int G_LOG_ON
Global variable for debug logging flag.
Definition main.c:38
bossClass
The different kinds of Boss.
Definition game_core.h:713
@ Blue_Troll
Definition game_core.h:714
@ Crawling_Dude
Definition game_core.h:716
@ Doppelganger
Definition game_core.h:718
@ Sr_Warthog
Definition game_core.h:717
@ Headless_Ninja
Definition game_core.h:715
roomClass
The different kinds of Room.
Definition game_core.h:1647
@ BASIC
Definition game_core.h:1655
@ ENEMIES
Definition game_core.h:1648
@ ROADFORK
Definition game_core.h:1652
@ SHOP
Definition game_core.h:1649
@ HOME
Definition game_core.h:1653
@ BOSS
Definition game_core.h:1650
@ TREASURE
Definition game_core.h:1651
@ WALL
Definition game_core.h:1654
#define FOEPARTY_CLASS_MAX
Maximum index of foePartyClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:1696
const GameOptions default_GameOptions
Definition game_core.c:622
skillType
Definition game_core.h:845
@ SKILL_TYPE_ATKBOOST
Definition game_core.h:846
@ SKILL_TYPE_MAX
Definition game_core.h:849
@ SKILL_TYPE_LAST_UNLOCKABLE
Definition game_core.h:847
@ SKILL_TYPE_IDLE
Definition game_core.h:848
int G_DEBUG_ROOMTYPE_ON
Global variable for debug room flag.
Definition main.c:43
Gamestate * G_GAMESTATE
Global variable used to store Gamestate address when KLS_Region is not available.
Definition main.c:33
HLP_Region_Type
Defines indexes for all types that are allocated with Koliseo.
Definition game_core.h:202
@ HR_Boss
Definition game_core.h:210
@ HR_countStats
Definition game_core.h:226
@ HR_Room_desc
Definition game_core.h:225
@ HR_Perk
Definition game_core.h:217
@ HR_Treasure
Definition game_core.h:221
@ HR_Turncounter_desc
Definition game_core.h:224
@ HR_Equip
Definition game_core.h:212
@ HR_Skillslot
Definition game_core.h:215
@ HR_Shop
Definition game_core.h:222
@ HR_Path
Definition game_core.h:203
@ HR_Saveslot
Definition game_core.h:227
@ HR_Equipslot
Definition game_core.h:213
@ HR_Specialslot
Definition game_core.h:214
@ HR_Consumable
Definition game_core.h:218
@ HR_BSP_Room
Definition game_core.h:231
@ HR_GameOptions
Definition game_core.h:230
@ HR_Wincon
Definition game_core.h:204
@ HR_Floor
Definition game_core.h:206
@ HR_FoeParty
Definition game_core.h:211
@ HR_loadInfo
Definition game_core.h:234
@ HR_Notification
Definition game_core.h:232
@ HR_Enemy
Definition game_core.h:209
@ HR_Gamestate
Definition game_core.h:228
@ HR_turnOP_args
Definition game_core.h:207
@ HR_RingaBuf
Definition game_core.h:233
@ HR_Artifact
Definition game_core.h:219
@ HR_Turncounter
Definition game_core.h:216
@ HR_Fighter
Definition game_core.h:208
@ HR_Gamescreen
Definition game_core.h:229
@ HR_Roadfork
Definition game_core.h:223
@ HR_Chest
Definition game_core.h:220
@ HR_Room
Definition game_core.h:205
#define EQUIPSMAX
Maximum index of equipClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:1371
struct Treasure Treasure
Represents the entity initialised from a treasureClass.
winconClass
The different kinds of Wincon.
Definition game_core.h:1310
@ ALL_ARTIFACTS
Collect all the artifacts.
Definition game_core.h:1311
@ FULL_PATH
Finish all the room in your path.
Definition game_core.h:1312
@ ALL_BOSSES
Kill all the bosses once.
Definition game_core.h:1313
#define HLPD_KEYCLASS_MAX
Maximum index of HLPD_KeyClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:125
void(* effect_fun)(Fighter *)
Defines a function pointer returning void and taking a Fighter pointer.
Definition game_core.h:1226
int G_EXPERIMENTAL_ON
Global variable for experimental features flag.
Definition main.c:39
int specialscosts[CLASSESMAX+1][SPECIALSMAX+1]
Array with the cost integer values for special moves.
Definition game_core.c:467
char * savetypestrings[SAVETYPE_MAX+1]
Array with the name strings for saveType.
Definition game_core.c:293
char * classenemystrings[ENEMYCLASSESMAX+1]
Array with the name strings for enemyClass.
Definition game_core.c:413
char * equipzonestrings[EQUIPZONES+1]
Array with the name strings for equip zones.
Definition game_core.c:496
foeTurnOption_OP foeTurnOP_from_foeTurnOption(foeTurnOption ft)
Returns a foeTurnOption_OP from a foeTurnOption.
Definition game_core.c:221
void(* boost_fun)(Fighter *, int boost)
Defines a function pointer returning void and taking a Fighter pointer and an integer.
Definition game_core.h:1251
#define ROOM_ENEMIES_MAX
Maximum number of enemies in a room.
Definition game_core.h:1672
fightResult
The different kinds of fightResult.
Definition game_core.h:2159
@ FIGHTRES_DEATH
Value of fight status indicating the fighter died.
Definition game_core.h:2164
@ FIGHTRES_INVALID
Value of fight status indicating errors in the fight call.
Definition game_core.h:2160
@ FIGHTRES_DMG_DEALT
Value of fight status indicating the enemy was damaded.
Definition game_core.h:2162
@ FIGHTRES_DMG_TAKEN
Value of fight status indicating the fighter was damaded.
Definition game_core.h:2163
@ FIGHTRES_CLASH
Value of fight status indicating damage on both sides occurred.
Definition game_core.h:2166
@ FIGHTRES_NO_DMG
Value of fight status indicating no damage occurred.
Definition game_core.h:2165
@ FIGHTRES_KILL_DONE
Value of fight status indicating the enemy died.
Definition game_core.h:2161
struct Notification Notification
Holds text for a notification.
struct BaseStats BaseStats
Holds the base stats for a fighterClass.
#define EQUIPPERKSMAX
Maximum number of Perk per Equip.
Definition game_core.h:979
int skillscosts[SKILLSTOTAL+1]
Array with the cost integer values for skills.
Definition game_core.c:489
const char * helapordo_build_string
Definition game_core.c:31
chestClass
The different kinds of Chest.
Definition game_core.h:1511
@ CHEST_BEAST
Definition game_core.h:1513
@ CHEST_BASE
Definition game_core.h:1512
#define PERKSMAX
Maximum index of perkClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:973
#define GAMEMODE_MAX
Maximum index of Gamemode, so that the size has to add 1 for the 0th index.
Definition game_core.h:445
const wchar_t LEGS_CHAR_ICON
Definition game_core.c:614
#define ENEMYCLASSESMAX
Maximum index of enemyClass, so that the size has to add 1 for the 0th index.
Definition game_core.h:668
struct Enemy Enemy
Represents the entity initialised from a enemyClass.
#define FIGHT_RES_TOT
Total number of defined fightResult values.
Definition game_core.h:2173
#define HELAPORDO_MAJOR_VERSION
Current major release.
Definition game_core.h:357
struct Equipslot Equipslot
Represents the entity containing an Equip instance.
const char * helapordo_title_string
We need to undef these macros if they exist, since windows.h may declare them (and here we inherit th...
Definition game_core.c:21
struct Shop Shop
Represents a shop instance.
OP_res
The different kinds of OP_res.
Definition game_core.h:2055
@ OP_RES_NO_DMG
Value of fight status indicating no damage occurred.
Definition game_core.h:2064
@ OP_RES_KILL_DONE
Value of fight status indicating the enemy died.
Definition game_core.h:2060
@ OP_RES_LOADED_ENEMYROOM
Value of OP_res indicating success in loading a enemyroom.
Definition game_core.h:2066
@ OP_CANNOT_OPEN_SAVEFILE
Definition game_core.h:2059
@ OP_RES_DEATH
Value of fight status indicating the fighter died.
Definition game_core.h:2063
@ OP_RES_DMG_DEALT
Value of fight status indicating the enemy was damaged.
Definition game_core.h:2061
@ INVALID_OP
Definition game_core.h:2057
@ OP_RES_CLASH
Value of fight status indicating damage on both sides occurred.
Definition game_core.h:2065
@ OP_RES_DMG_TAKEN
Value of fight status indicating the fighter was damaged.
Definition game_core.h:2062
@ OP_OK
Definition game_core.h:2056
@ NO_OP
Definition game_core.h:2058
Represents the entity initialised from a artifactClass.
Definition game_core.h:537
char desc[50]
Description string.
Definition game_core.h:540
char name[25]
Name string.
Definition game_core.h:539
int innerValue
Indicates interal state of the item when needed.
Definition game_core.h:543
int qty
Indicates how many copies of the artifact the instance of this class holds.
Definition game_core.h:541
int active
Flag used to mark instance whose function pointer has been called already.
Definition game_core.h:542
char sprite[8][20]
Char matrix to hold the encoded sprite.
Definition game_core.h:544
Holds the base stats for a fighterClass.
Definition game_core.h:623
int level
Level value.
Definition game_core.h:629
int totallevelxp
Xp value needed to level up from current level.
Definition game_core.h:631
int hp
Hp value.
Definition game_core.h:625
int def
Def value.
Definition game_core.h:627
int totalhp
Total hp value.
Definition game_core.h:633
int atk
Atk value.
Definition game_core.h:626
int totalenergy
Total energy value.
Definition game_core.h:634
int currentlevelxp
Total xp value for current level.
Definition game_core.h:632
int totalxp
Lifetime xp value.
Definition game_core.h:630
int totalstamina
Total stamina value.
Definition game_core.h:635
int vel
Vel value.
Definition game_core.h:628
Holds the base stats for a bossClass.
Definition game_core.h:739
int totalstamina
Total stamina value.
Definition game_core.h:750
int totalenergy
Total energy value.
Definition game_core.h:749
int totalhp
Total hp value.
Definition game_core.h:747
int hp
Hp value.
Definition game_core.h:741
int atk
Atk value.
Definition game_core.h:742
int xp
Xp value given on death.
Definition game_core.h:746
int def
Def value.
Definition game_core.h:743
int vel
Vel value.
Definition game_core.h:744
int beast
Flag used for "beast" enemies.
Definition game_core.h:748
int level
Level value.
Definition game_core.h:745
Represents the entity initialised from a bossClass.
Definition game_core.h:1190
int totalstamina
Full stamina value.
Definition game_core.h:1205
int hp
Current hp value.
Definition game_core.h:1192
int atk
Current atk value.
Definition game_core.h:1193
struct Turncounter * counters[COUNTERSMAX+1]
Array with all the Turncounter pointers.
Definition game_core.h:1211
int level
Level value.
Definition game_core.h:1196
int turnboost_vel
Current temp boost value for vel.
Definition game_core.h:1214
int stamina
Current stamina value.
Definition game_core.h:1204
int totalenergy
Full energy value.
Definition game_core.h:1202
int beast
Flag defining the instance as "beast" if set.
Definition game_core.h:1208
int vel
Current vel value.
Definition game_core.h:1195
char sprite[8][20]
Char matrix to hold the encoded sprite.
Definition game_core.h:1218
int energy
Current energy value.
Definition game_core.h:1201
Skillslot * skills[BOSS_SKILL_SLOTS+1]
Array with all the Skillslot.
Definition game_core.h:1210
int turnboost_atk
Current temp boost value for atk.
Definition game_core.h:1212
int turnboost_enr
Current temp boost value for enr.
Definition game_core.h:1215
fighterStatus status
Defines active fighterStatus.
Definition game_core.h:1207
int turnboost_def
Current temp boost value for def.
Definition game_core.h:1213
int totalhp
Full hp value.
Definition game_core.h:1199
int xp
Xp value given on death.
Definition game_core.h:1198
int prize
Amount of currency dropped on defeat.
Definition game_core.h:1217
int def
Current def value.
Definition game_core.h:1194
int luck
Luck value.
Definition game_core.h:1197
Represents the entity initialised from a chestClass.
Definition game_core.h:1543
char desc[80]
Description string.
Definition game_core.h:1545
char sprite[8][20]
Char matrix to hold the encoded sprite.
Definition game_core.h:1555
Equip * equips[CHEST_EQUIPS_MAX]
The contained equips.
Definition game_core.h:1553
int equipsCount
Defines how many equips the chest contains.
Definition game_core.h:1551
Consumable * consumables[CHEST_CONSUMABLES_MAX]
The contained consumables.
Definition game_core.h:1550
int consumablesCount
Defines how many consumables the chest contains.
Definition game_core.h:1548
Holds a certain qty of a consumableClass.
Definition game_core.h:488
int qty
Indicates how many copies of the consumable the instance of this class holds.
Definition game_core.h:492
Holds the base stats for a enemyClass.
Definition game_core.h:683
int beast
Flag used for "beast" enemies.
Definition game_core.h:692
int xp
Xp value given on death.
Definition game_core.h:690
int atk
Atk value.
Definition game_core.h:686
int hp
Hp value.
Definition game_core.h:685
int totalenergy
Total energy value.
Definition game_core.h:693
int totalstamina
Total stamina value.
Definition game_core.h:694
int def
Def value.
Definition game_core.h:687
int totalhp
Total hp value.
Definition game_core.h:691
int vel
Vel value.
Definition game_core.h:688
int level
Level value.
Definition game_core.h:689
Represents the entity initialised from a enemyClass.
Definition game_core.h:1149
int totalenergy
Full energy value.
Definition game_core.h:1162
int energy
Current energy value.
Definition game_core.h:1161
int def
Current def value.
Definition game_core.h:1154
int hp
Current hp value.
Definition game_core.h:1152
Skillslot * skills[ENEMY_SKILL_SLOTS+1]
Array with all the Skillslot.
Definition game_core.h:1170
fighterStatus status
Defines active fighterStatus.
Definition game_core.h:1167
int luck
Luck value.
Definition game_core.h:1157
int level
Level value.
Definition game_core.h:1156
struct Turncounter * counters[COUNTERSMAX+1]
Array with all the Turncounter pointers.
Definition game_core.h:1172
int turnboost_atk
Current temp boost value for atk.
Definition game_core.h:1173
int xp
Xp value given on death.
Definition game_core.h:1158
int index
Defines position inside containing foeParty.
Definition game_core.h:1150
int atk
Current atk value.
Definition game_core.h:1153
int beast
Flag defining the instance as "beast" if set.
Definition game_core.h:1168
int turnboost_enr
Current temp boost value for enr.
Definition game_core.h:1176
int prize
Amount of currency dropped on defeat.
Definition game_core.h:1178
int totalstamina
Full stamina value.
Definition game_core.h:1165
int turnboost_vel
Current temp boost value for vel.
Definition game_core.h:1175
int stamina
Current stamina value.
Definition game_core.h:1164
int turnboost_def
Current temp boost value for def.
Definition game_core.h:1174
char sprite[8][20]
Char matrix to hold the encoded sprite.
Definition game_core.h:1179
int totalhp
Full hp value.
Definition game_core.h:1159
int vel
Current vel value.
Definition game_core.h:1155
Represents the entity initialised from a equipClass.
Definition game_core.h:1402
void(* equip_fun)(Fighter *, Enemy *, Path *)
Pointer to temp boost function applying to Enemy, takes a int.
Definition game_core.h:1425
int vel
equip boost vel value
Definition game_core.h:1416
Perk * perks[EQUIPPERKSMAX]
Array of Perk of the instance.
Definition game_core.h:1426
int level
Level value.
Definition game_core.h:1411
int enr
equip boost enr value
Definition game_core.h:1417
char sprite[8][20]
Char matrix to hold the encoded sprite.
Definition game_core.h:1427
int atk
equip boost atk value
Definition game_core.h:1414
int qty
Defines how many copies of the equipClass the instance holds.
Definition game_core.h:1407
int perksCount
Defines how many Perk pointers the instance holds.
Definition game_core.h:1420
int cost
Helps giving a coin value when selling or buying the equip.
Definition game_core.h:1422
quality qual
Defines which kind of quality the instances relates to.
Definition game_core.h:1424
int def
equip boost def value
Definition game_core.h:1415
char name[25]
Name string.
Definition game_core.h:1405
char desc[50]
Description string.
Definition game_core.h:1406
int bonus
Defines how many pointers to bonus functions the instance holds.
Definition game_core.h:1419
int equipped
Flag indicating the instance as currently in use if set.
Definition game_core.h:1409
Equipzone type
Defines which kind of Equipzone the instance relates to.
Definition game_core.h:1404
Represents the entity containing an Equip instance.
Definition game_core.h:1457
Equipzone type
Defines which kind of Equipzone the instance relates to.
Definition game_core.h:1460
Equip * item
Pointer to the Equip instance associated.
Definition game_core.h:1462
char sprite[8][20]
Char matrix to hold the encoded sprite.
Definition game_core.h:1461
char * desc
Description string.
Definition game_core.h:1459
int active
Flag indicating the instance as currently ready to use if set.
Definition game_core.h:1458
Represents the entity initialised from a fighterClass.
Definition game_core.h:1079
int equipboost_atk
Current equip boost value for atk.
Definition game_core.h:1123
int turnboost_def
Current temp boost value for def.
Definition game_core.h:1103
int level
Current level value.
Definition game_core.h:1086
countStats * stats
Pointer to countStats instance.
Definition game_core.h:1128
struct Artifact * artifactsBag[ARTIFACTSMAX+1]
Array with all the Artifacts found.
Definition game_core.h:1113
int vel
Current vel value.
Definition game_core.h:1085
int equipsBagOccupiedSlots
Keeps track of how many slots are occupied.
Definition game_core.h:1115
int energy
Current energy value.
Definition game_core.h:1094
Perk * perks[PERKSMAX+1]
Array with all the Perk.
Definition game_core.h:1108
int floor_y
Current y position in floor.
Definition game_core.h:1135
int permboost_vel
Current temp boost value for vel.
Definition game_core.h:1120
int equipboost_enr
Current equip boost value for enr.
Definition game_core.h:1126
Skillslot * skills[FIGHTER_SKILL_SLOTS+1]
Array with all the Skillslot.
Definition game_core.h:1099
int permboost_def
Current temp boost value for def.
Definition game_core.h:1119
int earliestBagSlot
Keeps track of first available spot.
Definition game_core.h:1116
int def
Current def value.
Definition game_core.h:1084
int turnboost_vel
Current temp boost value for vel.
Definition game_core.h:1104
int totalhp
Full hp value.
Definition game_core.h:1091
int luck
Current luck value.
Definition game_core.h:1087
int permboost_atk
Current temp boost value for atk.
Definition game_core.h:1118
struct Equip * equipsBag[EQUIPSBAGSIZE+1]
Array with all the Equip found.
Definition game_core.h:1111
fighterStatus status
Defines active fighterStatus.
Definition game_core.h:1092
struct Turncounter * counters[COUNTERSMAX+1]
Array with all the Turncounter pointers.
Definition game_core.h:1101
int keys_balance
Amount of keys owned.
Definition game_core.h:1131
int atk
Current atk value.
Definition game_core.h:1083
int equipboost_vel
Current equip boost value for vel.
Definition game_core.h:1125
int permboost_enr
Current temp boost value for enr.
Definition game_core.h:1121
int floor_x
Current x position in floor.
Definition game_core.h:1134
Consumable * consumablesBag[CONSUMABLESMAX+1]
Array with all the Consumables found.
Definition game_core.h:1112
char name[FIGHTER_NAME_BUFSIZE]
Name string.
Definition game_core.h:1080
char sprite[8][20]
Char matrix to hold the encoded sprite.
Definition game_core.h:1132
int turnboost_enr
Current temp boost value for enr.
Definition game_core.h:1105
int totalstamina
Full stamina value.
Definition game_core.h:1097
int totalxp
Lifetime xp value.
Definition game_core.h:1088
int equipboost_def
Current equip boost value for def.
Definition game_core.h:1124
int balance
Amount of currency owned.
Definition game_core.h:1130
int hp
Current hp value.
Definition game_core.h:1082
int currentlevelxp
Xp gained for the current level.
Definition game_core.h:1089
Specialslot * specials[SPECIALSMAX+1]
Array with all the Specialslot.
Definition game_core.h:1098
int totalenergy
Full energy value.
Definition game_core.h:1095
int totallevelxp
Xp needed to level up.
Definition game_core.h:1090
int perksCount
Keeps track of how many perks are active.
Definition game_core.h:1107
struct Equipslot * equipslots[EQUIPZONES+1]
Array with all the Equipslot.
Definition game_core.h:1110
int turnboost_atk
Current temp boost value for atk.
Definition game_core.h:1102
int stamina
Current stamina value.
Definition game_core.h:1096
Represents the entity initialised from a floorClass.
Definition game_core.h:1811
int explored_area
Holds how many cells we explored.
Definition game_core.h:1822
Room * rooms_matrix[FLOOR_MAX_COLS][FLOOR_MAX_ROWS]
Pointer matrix for rooms of this floor.
Definition game_core.h:1819
int area
Holds how many cells we succesfully random walked.
Definition game_core.h:1818
int index
The floor's own number.
Definition game_core.h:1813
roomClass roomclass_layout[FLOOR_MAX_COLS][FLOOR_MAX_ROWS]
roomClass matrix for class value for rooms of this floor.
Definition game_core.h:1820
int floor_layout[FLOOR_MAX_COLS][FLOOR_MAX_ROWS]
Defines the layout for the Floor (which cells are actually filled).
Definition game_core.h:1817
int explored_matrix[FLOOR_MAX_COLS][FLOOR_MAX_ROWS]
Int matrix for explored value for rooms of this floor.
Definition game_core.h:1821
bool from_bsp
Flag for floors generated using bsp.
Definition game_core.h:1823
char * desc
Description string.
Definition game_core.h:1814
Holds the base stats for a foePartyClass.
Definition game_core.h:1735
int level
Defines level of the FoeParty.
Definition game_core.h:1737
Represents the entity initialised from a foePartyClass.
Definition game_core.h:1711
int size
Number of members in the FoeParty.
Definition game_core.h:1722
int turnboost_enr
Current temp boost value for enr.
Definition game_core.h:1718
int alive_bosses[FOES_BOSSES_MAX+1]
Array of integers with 1 for alive bosses in that position.
Definition game_core.h:1726
int alive_enemies[ROOM_ENEMIES_MAX+1]
Array of integers with 1 for alive enemies in that position.
Definition game_core.h:1725
int current_index
Index of current foe advancement.
Definition game_core.h:1724
int turnboost_def
Current temp boost value for def.
Definition game_core.h:1716
int turnboost_atk
Current temp boost value for atk.
Definition game_core.h:1715
Enemy * enemy_foes[ROOM_ENEMIES_MAX+1]
Array of pointers to all enemies in a room.
Definition game_core.h:1719
int tot_alive
Number of alive members of the FoeParty.
Definition game_core.h:1723
int turnboost_vel
Current temp boost value for vel.
Definition game_core.h:1717
int level
Level for the whole FoeParty.
Definition game_core.h:1713
Boss * boss_foes[FOES_BOSSES_MAX+1]
Array of pointers to all enemies in a room.
Definition game_core.h:1721
struct Turncounter * counters[COUNTERSMAX+1]
Array with all the Turncounter pointers.
Definition game_core.h:1714
Holds options useful for user runtime preferences.
Definition game_core.h:191
HLPD_DirectionalKeys_Schema directional_keys_schema
Definition game_core.h:194
bool use_default_background
Definition game_core.h:192
bool do_autosave
Definition game_core.h:193
Holds arguments for a game.
Definition game_core.h:1885
int current_enemy_index
Keeps track of current enemy index.
Definition game_core.h:1895
Wincon * wincon
Keeps track of current Wincon.
Definition game_core.h:1896
GameOptions * options
Keeps track of current options.
Definition game_core.h:1915
bool is_seeded
Denotes if the current game was started with a set seed.
Definition game_core.h:1917
Path * path
Keeps track of current Path.
Definition game_core.h:1898
Floor * current_floor
Pointer to current floor, initialised when gamemode==Rogue.
Definition game_core.h:1904
int current_fighters
Keeps track of Fighter number for the game.
Definition game_core.h:1891
roomClass current_roomtype
Keeps track of current room type.
Definition game_core.h:1892
Fighter * player
Keeps track of current Player.
Definition game_core.h:1900
int current_room_index
Keeps track of current room index.
Definition game_core.h:1893
clock_t start_time
Keeps track of game start time.
Definition game_core.h:1887
Room * current_room
Pointer to current room.
Definition game_core.h:1905
countStats * stats
Keeps track of stats for the game.
Definition game_core.h:1889
Gamemode gamemode
Keeps track of current Gamemode.
Definition game_core.h:1902
Holds a set of HLPD_Key to use for cardinal direction movement.
Definition game_core.h:174
HLPD_Key down
Definition game_core.h:177
HLPD_Key left
Definition game_core.h:178
HLPD_Key up
Definition game_core.h:175
HLPD_Key right
Definition game_core.h:176
Holds info about a keybind for the game.
Definition game_core.h:137
int val
Definition game_core.h:138
Holds text for a notification.
Definition game_core.h:2212
bool displayed
Definition game_core.h:2215
int8_t color
Definition game_core.h:2214
char buf[NOTIFICATION_BUFFER_SIZE+1]
Definition game_core.h:2213
Holds the state of game progression.
Definition game_core.h:1343
Wincon * win_condition
Defines the win condition for the current game.
Definition game_core.h:1347
int luck
Defines global luck value.
Definition game_core.h:1345
int length
Defines how many rooms there are in total.
Definition game_core.h:1344
int64_t * rng_advancements
Pointer to current advancements for rng.
Definition game_core.h:1350
char seed[PATH_SEED_BUFSIZE+1]
Contains seed for current run.
Definition game_core.h:1349
int prize
Defines the reward for getting to length.
Definition game_core.h:1346
Saveslot * current_saveslot
Defines current Saveslot for the game.
Definition game_core.h:1348
Represents the entity initialised from a perkClass.
Definition game_core.h:997
int innerValue
Contains an integer for perks that need a state.
Definition game_core.h:1001
Represents the entity initialised from a roadforkClass.
Definition game_core.h:1633
roadforkOption options[2]
Defines which choices the fork has.
Definition game_core.h:1637
char * desc
Description string.
Definition game_core.h:1635
Represents the entity initialised from a roomClass.
Definition game_core.h:1756
int index
The room's own number.
Definition game_core.h:1758
Enemy * enemies[ROOM_ENEMIES_MAX]
Array for enemies.
Definition game_core.h:1768
Shop * shop
The shop pointer, initialised for rooms of class SHOP.
Definition game_core.h:1762
Boss * boss
The boss pointer, initialised for rooms of class BOSS.
Definition game_core.h:1766
char * desc
Description string.
Definition game_core.h:1759
int enemyTotal
Total number of enemies initialised in enemies array.
Definition game_core.h:1767
Treasure * treasure
The treasure pointer, initialised for rooms of class TREASURE.
Definition game_core.h:1764
FoeParty * foes
The FoeParty pointer, initialised for rooms of class ENEMIES.
Definition game_core.h:1769
Roadfork * roadfork
The roadfork pointer, initialised for rooms of class ROADFORK.
Definition game_core.h:1763
Holds arguments for a saveslot.
Definition game_core.h:396
int index
Index of saveslot.
Definition game_core.h:399
Represents a shop instance.
Definition game_core.h:1489
int consumablesCount
Total number of consumables for sale, includes quantity for each kind of consumable.
Definition game_core.h:1498
Consumable * consumables[CONSUMABLE_SHOP_MAX]
Array for consumables on sale.
Definition game_core.h:1500
int itemCount
Total number of items for sale.
Definition game_core.h:1492
char * desc
Description string.
Definition game_core.h:1491
int consumablePrices[CONSUMABLE_SHOP_MAX]
Array for consumables prices.
Definition game_core.h:1501
int equipsCount
Total number of equips for sale.
Definition game_core.h:1494
Equip * equips[EQUIP_SHOP_MAX]
Array for equips on sale.
Definition game_core.h:1495
int uniqueConsumablesCount
Total of unique consumables for sale.
Definition game_core.h:1499
int equipPrices[EQUIP_SHOP_MAX]
Array for equips prices.
Definition game_core.h:1496
Holds state for a skillType.
Definition game_core.h:883
int cost
Cost of use.
Definition game_core.h:888
int enabled
Flag defining if the current slot is initialised.
Definition game_core.h:884
Holds state for a Fighter specials.
Definition game_core.h:837
specialMove move
Defines which kind of specialMove the slot is holding.
Definition game_core.h:839
int cost
Cost of use.
Definition game_core.h:842
int enabled
Flag defining if the current slot is initialised.
Definition game_core.h:838
Represents the entity initialised from a treasureClass.
Definition game_core.h:1589
Chest * chest
The treasure Chest, initialised if class == TREASURE_CHEST.
Definition game_core.h:1595
Artifact * artifact
The treasure Artifact, initialised if class == TREASURE_ARTIFACT.
Definition game_core.h:1597
Consumable * consumable
The treasure Consumable, initialised if class == TREASURE_CONSUMABLE.
Definition game_core.h:1596
char desc[80]
Description string.
Definition game_core.h:1591
Represents the entity initialised from a CounterType.
Definition game_core.h:1289
void(* boost_e_fun)(Enemy *, int)
Pointer to temp boost function applying to Enemy, takes a int.
Definition game_core.h:1299
void(* boost_fp_fun)(struct FoeParty *, int)
Pointer to temp boost function applying to FoeParty, takes a int.
Definition game_core.h:1301
void(* effect_fun)(Fighter *)
Pointer to effect function applying to Fighter.
Definition game_core.h:1294
int count
Defines the current count.
Definition game_core.h:1290
void(* effect_fp_fun)(struct FoeParty *)
Pointer to effect function applying to FoeParty.
Definition game_core.h:1297
Countertype type
Defines which kind of Countertype the instance relates to.
Definition game_core.h:1293
char * desc
Description string.
Definition game_core.h:1291
void(* effect_b_fun)(Boss *)
Pointer to effect function applying to Boss.
Definition game_core.h:1296
void(* boost_fun)(Fighter *, int)
Pointer to temp boost function applying to Fighter, takes a int.
Definition game_core.h:1298
void(* effect_e_fun)(Enemy *)
Pointer to effect function applying to Enemy.
Definition game_core.h:1295
int innerValue
Contains an integer for counters that need a state.
Definition game_core.h:1292
void(* boost_b_fun)(Boss *, int)
Pointer to temp boost function applying to Boss, takes a int.
Definition game_core.h:1300
Defines the entity initialised from a winconClass.
Definition game_core.h:1324
int current_val
Defines the current progress.
Definition game_core.h:1326
int target_val
Defines the total progress.
Definition game_core.h:1327
Holds the lifetime stats of the player.
Definition game_core.h:767
int enemieskilled
How many enemies were defeated.
Definition game_core.h:768
int coinsfound
How many coins you found in total.
Definition game_core.h:776
int roomscompleted
How many rooms were completed.
Definition game_core.h:773
int equipsfound
How many equips were found.
Definition game_core.h:770
int criticalhits
How many criticals were dealt.
Definition game_core.h:772
int consumablesfound
How many consumabls were found.
Definition game_core.h:769
int unique_bosseskilled
How many unique bosses were defeated.
Definition game_core.h:778
int artifactsfound
How many artifacts were found.
Definition game_core.h:771
int bosseskilled
How many bosses were defeated.
Definition game_core.h:777
int keysfound
How many keys you found in total.
Definition game_core.h:780
int specialsunlocked
How many special move were unlocked.
Definition game_core.h:775
int floorscompleted
How many floors were completed.
Definition game_core.h:774
Contains loaded values to pass to initRoom().
Definition game_core.h:1864
int total_foes
Definition game_core.h:1869
int done_loading
Definition game_core.h:1867
saveType save_type
Definition game_core.h:1873
Enemy * loaded_enemy
Definition game_core.h:1870
int * ptr_to_roomindex
Definition game_core.h:1872
int enemy_index
Definition game_core.h:1868
int * ptr_to_roomtotalenemies
Definition game_core.h:1871
int is_new_game
Definition game_core.h:1866
Holds arguments for a turnOption_OP.
Definition game_core.h:2090
Enemy * enemy
Pointer to Enemy for OP.
Definition game_core.h:2095
foeTurnOption_OP foe_op
Picked FoeTurnOption_OP, initialised only for some OPs.
Definition game_core.h:2110
loadInfo * load_info
Pointer to loadInfo for OP.
Definition game_core.h:2094
Path * path
Pointer to Rath for OP.
Definition game_core.h:2092
skillType picked_skill
Picked skillType, initialised only for OP_SKILL.
Definition game_core.h:2111
Fighter * actor
Pointer to Fighter actor for the OP.
Definition game_core.h:2091
FILE * save_file
Pointer to savefile for OP.
Definition game_core.h:2097
Boss * boss
Pointer to Boss for OP.
Definition game_core.h:2096
RingaBuf * rb_notifications
Pointer to RingaBuf for notifications for OP.
Definition game_core.h:2107
Koliseo_Temp * t_kls
Pointer to Koliseo_Temp for OP.
Definition game_core.h:2108
Room * room
Pointer to Room for OP.
Definition game_core.h:2093
Gamestate * gmst
Pointer to Gamestate for OP.
Definition game_core.h:2109