helapordo 1.4.14
Loading...
Searching...
No Matches
game_rl.h File Reference
#include "../utils/game_utils.h"
#include "../core/sprites.h"
#include "../utils/turn_op.h"
#include "../core/game_animations.h"
#include "../utils/rooms.h"
#include <raymath.h>
Include dependency graph for game_rl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Gui_Button
struct  Gui_Theme
struct  Gui_State

Macros

#define MIN(a, b)
 Macro used to calculate the scale of render texture.
#define GUI_BUTTONS_MAX   BUTTON_SPECIAL_UNLOCK_4

Typedefs

typedef enum Gui_Button_State Gui_Button_State
typedef struct Gui_Button Gui_Button
typedef enum Gui_Button_Idx Gui_Button_Idx
typedef struct Gui_Theme Gui_Theme
typedef struct Gui_State Gui_State

Enumerations

enum  Gui_Button_State { BUTTON_NORMAL , BUTTON_HOVER , BUTTON_PRESSED }
enum  Gui_Button_Idx {
  BUTTON_NEW_GAME = 0 , BUTTON_LOAD_GAME , BUTTON_SAVESLOT_1 , BUTTON_SAVESLOT_2 ,
  BUTTON_SAVESLOT_3 , BUTTON_CLASS_TXTFIELD , BUTTON_CLASS_KNIGHT , BUTTON_CLASS_ARCHER ,
  BUTTON_CLASS_MAGE , BUTTON_CLASS_ASSASSIN , BUTTON_NAME_TXTFIELD , BUTTON_FIGHT ,
  BUTTON_SPECIAL , BUTTON_EQUIPS , BUTTON_CONSUMABLES , BUTTON_OPEN_BAG ,
  BUTTON_CHECK_LOADOUT , BUTTON_SPECIAL_1 , BUTTON_SPECIAL_2 , BUTTON_SPECIAL_3 ,
  BUTTON_SPECIAL_4 , BUTTON_SPECIAL_UNLOCK_1 , BUTTON_SPECIAL_UNLOCK_2 , BUTTON_SPECIAL_UNLOCK_3 ,
  BUTTON_SPECIAL_UNLOCK_4
}

Functions

void handleTutorial (S4C_Color *palette)
 Shows tutorial info.
void setEnemySprite (Enemy *e)
 Takes a Enemy pointer and prepares its sprite field by copying it line by line from enemies_sprites, defined in sprites.h header.
void setEquipSprite (Equip *e)
 Takes a Equip pointer and prepares its sprite field by copying it line by line from equips_sprites, defined in sprites.h header.
void setEquipslotSprite (Equipslot *s)
 Takes a Equipslot pointer and prepares its sprite field by copying it line by line from equipzones_sprites, defined in sprites.h header.
void setConsumableSprite (Consumable *c)
 Takes a Consumable pointer and prepares its sprite field by copying it line by line from consumables_sprites, defined in sprites.h header.
void setArtifactSprite (Artifact *a)
 Takes a Artifact pointer and prepares its sprite field by copying it line by line from artifacts_sprites, defined in sprites.h header.
void setBossSprite (Boss *b)
 Takes a Boss pointer and prepares its sprite field by copying it line by line from bosses_sprites, defined in sprites.h header.
void setFighterSprite (Fighter *f)
 Takes a Fighter pointer and prepares its sprite field by copying it line by line.
void setChestSprite (Chest *c)
 Takes a Chest pointer and prepares its sprite field by copying it line by line.
void ToggleFullScreenWindow (int w_W, int w_H)
void hlpd_draw_notifications (RingaBuf *rb_notifications, Rectangle notifications_rect)
 Takes a RingaBuf to take the Notification from, and a Rectangle to draw them to.
void update_GameScreen (Gui_State *gui_state, Floor **current_floor, Path **game_path, Fighter **player, Room **current_room, Gamestate **gamestate, RingaBuf *rb_notifications, int *current_x, int *current_y, int logo_sleep, bool *pause_animation, Koliseo_Temp **floor_kls, KLS_Conf temporary_kls_conf, int *current_anim_frame, loadInfo *load_info, int *saveslot_index, char current_save_path[1500], char seed[PATH_SEED_BUFSIZE+1], bool is_seeded, int *roomsDone, int *enemyTotal)
void draw_GameScreen_Texture (RenderTexture2D target_txtr, Gui_State gui_state, int fps_target, int current_anim_frame, Floor *current_floor, Path *game_path, Fighter *player, Room *current_room, Gamestate *gamestate, RingaBuf *rb_notifications, int current_x, int current_y, loadInfo *load_info, int saveslot_index, char current_save_path[1500], char seed[PATH_SEED_BUFSIZE+1])
void fight_Special (specialMove move, Rectangle *w, Fighter *f, Enemy *e, Boss *b, Path *p, int roomIndex, int enemyIndex, int isBoss)
 Takes a specialMove, a Fighter, a Enemy, a Boss and a Path pointers (and integers for current room and enemy indexes) and uses the requested special move.

Macro Definition Documentation

◆ GUI_BUTTONS_MAX

#define GUI_BUTTONS_MAX   BUTTON_SPECIAL_UNLOCK_4

◆ MIN

#define MIN ( a,
b )
Value:
((a) < (b) ? (a) : (b))

Macro used to calculate the scale of render texture.

Typedef Documentation

◆ Gui_Button

typedef struct Gui_Button Gui_Button

◆ Gui_Button_Idx

◆ Gui_Button_State

◆ Gui_State

typedef struct Gui_State Gui_State

◆ Gui_Theme

typedef struct Gui_Theme Gui_Theme

Enumeration Type Documentation

◆ Gui_Button_Idx

Enumerator
BUTTON_NEW_GAME 
BUTTON_LOAD_GAME 
BUTTON_SAVESLOT_1 
BUTTON_SAVESLOT_2 
BUTTON_SAVESLOT_3 
BUTTON_CLASS_TXTFIELD 
BUTTON_CLASS_KNIGHT 
BUTTON_CLASS_ARCHER 
BUTTON_CLASS_MAGE 
BUTTON_CLASS_ASSASSIN 
BUTTON_NAME_TXTFIELD 
BUTTON_FIGHT 
BUTTON_SPECIAL 
BUTTON_EQUIPS 
BUTTON_CONSUMABLES 
BUTTON_OPEN_BAG 
BUTTON_CHECK_LOADOUT 
BUTTON_SPECIAL_1 
BUTTON_SPECIAL_2 
BUTTON_SPECIAL_3 
BUTTON_SPECIAL_4 
BUTTON_SPECIAL_UNLOCK_1 
BUTTON_SPECIAL_UNLOCK_2 
BUTTON_SPECIAL_UNLOCK_3 
BUTTON_SPECIAL_UNLOCK_4 

◆ Gui_Button_State

Enumerator
BUTTON_NORMAL 
BUTTON_HOVER 
BUTTON_PRESSED 

Function Documentation

◆ draw_GameScreen_Texture()

void draw_GameScreen_Texture ( RenderTexture2D target_txtr,
Gui_State gui_state,
int fps_target,
int current_anim_frame,
Floor * current_floor,
Path * game_path,
Fighter * player,
Room * current_room,
Gamestate * gamestate,
RingaBuf * rb_notifications,
int current_x,
int current_y,
loadInfo * load_info,
int saveslot_index,
char current_save_path[1500],
char seed[PATH_SEED_BUFSIZE+1] )

◆ fight_Special()

void fight_Special ( specialMove move,
Rectangle * w,
Fighter * f,
Enemy * e,
Boss * b,
Path * p,
int roomIndex,
int enemyIndex,
int isBoss )

Takes a specialMove, a Fighter, a Enemy, a Boss and a Path pointers (and integers for current room and enemy indexes) and uses the requested special move.

Prints the result to the passed WINDOW. The isBoss integer determines if the receiver is the Enemy or the Boss.

See also
Fighter
SpecialSlot
SPECIALSMAX
Parameters
moveThe specialMove to execute.
wThe WINDOW pointer to print results to.
fThe Fighter pointer with a equipsBag.
eThe Enemy pointer for current enemy.
bThe Boss pointer.
pThe Path pointer of the current game.
roomIndexThe index of current room.
enemyIndexThe index of current enemy.
isBossIs equal to 1 when receiver is a Boss.

◆ handleTutorial()

void handleTutorial ( S4C_Color * palette)

Shows tutorial info.

See also
gameloop_rl()

◆ hlpd_draw_notifications()

void hlpd_draw_notifications ( RingaBuf * rb_notifications,
Rectangle notifications_rect )

Takes a RingaBuf to take the Notification from, and a Rectangle to draw them to.

Parameters
rb_notificationsThe RingaBuf holding the Notification
notifications_rectThe Rectangle used to draw the notifications
See also
Notification
enqueue_notification()

◆ setArtifactSprite()

void setArtifactSprite ( Artifact * a)

Takes a Artifact pointer and prepares its sprite field by copying it line by line from artifacts_sprites, defined in sprites.h header.

See also
Artifact
gameloop()
artifacts_sprites
Parameters
aThe Artifact pointer whose sprite field will be initialised.

◆ setBossSprite()

void setBossSprite ( Boss * b)

Takes a Boss pointer and prepares its sprite field by copying it line by line from bosses_sprites, defined in sprites.h header.

See also
Boss
initBossStats
bosses_sprites
Parameters
bThe Boss pointer whose sprite field will be initialised.

◆ setChestSprite()

void setChestSprite ( Chest * c)

Takes a Chest pointer and prepares its sprite field by copying it line by line.

See also
Chest
initChest
Parameters
cThe Chest pointer whose sprite field will be initialised.

◆ setConsumableSprite()

void setConsumableSprite ( Consumable * c)

Takes a Consumable pointer and prepares its sprite field by copying it line by line from consumables_sprites, defined in sprites.h header.

See also
Consumable
initPlayerStats
consumables_sprites
Parameters
cThe Consumable pointer whose sprite field will be initialised.

◆ setEnemySprite()

void setEnemySprite ( Enemy * e)

Takes a Enemy pointer and prepares its sprite field by copying it line by line from enemies_sprites, defined in sprites.h header.

See also
Enemy
initEnemyStats
enemies_sprites
Parameters
eThe Enemy pointer whose sprite field will be initialised.

◆ setEquipslotSprite()

void setEquipslotSprite ( Equipslot * s)

Takes a Equipslot pointer and prepares its sprite field by copying it line by line from equipzones_sprites, defined in sprites.h header.

See also
Equipslot
initEquipSlots()
equipzones_sprites
Parameters
sThe Equipslot pointer whose sprite field will be initialised.

◆ setEquipSprite()

void setEquipSprite ( Equip * e)

Takes a Equip pointer and prepares its sprite field by copying it line by line from equips_sprites, defined in sprites.h header.

See also
Equip
dropEquip
equips_sprites
Parameters
eThe Equip pointer whose sprite field will be initialised.

◆ setFighterSprite()

void setFighterSprite ( Fighter * f)

Takes a Fighter pointer and prepares its sprite field by copying it line by line.

See also
Fighter
initPlayerStats
Parameters
fThe Fighter pointer whose sprite field will be initialised.

◆ ToggleFullScreenWindow()

void ToggleFullScreenWindow ( int w_W,
int w_H )

◆ update_GameScreen()

void update_GameScreen ( Gui_State * gui_state,
Floor ** current_floor,
Path ** game_path,
Fighter ** player,
Room ** current_room,
Gamestate ** gamestate,
RingaBuf * rb_notifications,
int * current_x,
int * current_y,
int logo_sleep,
bool * pause_animation,
Koliseo_Temp ** floor_kls,
KLS_Conf temporary_kls_conf,
int * current_anim_frame,
loadInfo * load_info,
int * saveslot_index,
char current_save_path[1500],
char seed[PATH_SEED_BUFSIZE+1],
bool is_seeded,
int * roomsDone,
int * enemyTotal )