Nilorea Library
C utilities for networking, threading, graphics
Loading...
Searching...
No Matches
ex_gui_isometric.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <stdint.h>
#include <allegro5/allegro.h>
#include <allegro5/allegro_image.h>
#include <allegro5/allegro_primitives.h>
#include <allegro5/allegro_font.h>
#include <allegro5/allegro_ttf.h>
#include "nilorea/n_common.h"
#include "nilorea/n_log.h"
#include "nilorea/n_list.h"
#include "nilorea/n_str.h"
#include "nilorea/n_astar.h"
#include "nilorea/n_iso_engine.h"
#include "nilorea/n_dead_reckoning.h"
#include "nilorea/n_gui.h"
+ Include dependency graph for ex_gui_isometric.c:

Go to the source code of this file.

Macros

#define CAM_SMOOTHING   8.0f /* camera lerp speed (higher = snappier) */
 
#define FPS   60.0
 
#define JUMP_GRAVITY   20.0f /* gravity for jump (height units/sec^2) */
 
#define JUMP_VELOCITY   9.0f /* initial upward velocity (height units/sec) */
 
#define MAP_FILE   "iso_gui_map.isom"
 
#define MAP_H   20
 
#define MAP_W   20
 
#define MAX_HEIGHT   5
 
#define NUM_MASKS   ISO_NUM_MASKS
 
#define NUM_PROJECTIONS   ISO_NUM_PROJECTIONS
 
#define NUM_TERRAINS   8
 
#define PLAYER_MAX_HEIGH_DIFF   1 /* max height diff player can walk over */
 
#define PLAYER_MOVE_SPEED   4.0f
 
#define SCREEN_H   720
 
#define SCREEN_W   1280
 
#define TERRAIN_CHEMIN   3 /* road */
 
#define TERRAIN_EAU   0 /* water - lowest precedence, base terrain */
 
#define TERRAIN_LAVE   1 /* lava */
 
#define TERRAIN_PAILLE   6 /* straw */
 
#define TERRAIN_ROCAILLE   7 /* rock - highest precedence */
 
#define TERRAIN_SABLE   2 /* sand */
 
#define TERRAIN_TEMPLE3   4 /* temple floor light */
 
#define TERRAIN_TEMPLE4   5 /* temple floor dark */
 
#define TILE_H   34
 
#define TILE_LIFT   16
 
#define TILE_W   66
 

Functions

static void draw_ghost_object (float sx, float sy, float zoom, float alpha, void *user_data)
 
static void draw_player_object (float sx, float sy, float zoom, float alpha, void *user_data)
 
static float interpolate_height_at (float fx, float fy)
 
static float interpolate_height_at_clamped (float fx, float fy, int max_climb)
 
int main (int argc, char *argv[])
 
static void on_ghost_toggle (int id, void *data)
 
static void on_grid_toggle (int id, void *data)
 
static void on_height_toggle (int id, void *data)
 
static void on_player_toggle (int id, void *data)
 
static void on_proj_select (int id, void *data)
 
static void on_reset_click (int id, void *data)
 
static void on_smooth_toggle (int id, void *data)
 
static void randomize_map (void)
 

Variables

static N_ISO_CAMERAcamera = NULL
 
static int current_proj = 0
 
static DR_ENTITYghost_dr = NULL
 
static bool ghost_enabled = (1 == 0)
 
static double ghost_last_send = 0.0
 
static float ghost_path_angle = 0.0f
 
static float ghost_path_cx = 10.0f
 
static float ghost_path_cy = 10.0f
 
static float ghost_path_radius = 6.0f
 
static float ghost_path_speed = 0.4f
 
static float ghost_screen_x = 0.0f
 
static float ghost_screen_y = 0.0f
 
static double ghost_send_interval = 0.25
 
static float ghost_true_x = 0.0f
 
static float ghost_true_y = 0.0f
 
static int gui_btn_ghost = -1
 
static int gui_btn_grid = -1
 
static int gui_btn_height = -1
 
static int gui_btn_player = -1
 
static int gui_btn_proj [4] = {-1, -1, -1, -1}
 
static int gui_btn_reset = -1
 
static int gui_btn_smooth = -1
 
static N_GUI_CTXgui_ctx = NULL
 
static int gui_lbl_dr_algo = -1
 
static int gui_lbl_dr_blend = -1
 
static int gui_lbl_dr_blend_time = -1
 
static int gui_lbl_dr_interval = -1
 
static int gui_lbl_dr_threshold = -1
 
static int gui_lbl_height = -1
 
static int gui_lbl_hover = -1
 
static int gui_lbl_proj = -1
 
static int gui_lbl_slope = -1
 
static int gui_lbl_status = -1
 
static int gui_lst_tiles = -1
 
static int gui_rad_dr_algo = -1
 
static int gui_rad_dr_blend = -1
 
static int gui_sld_dr_blend_time = -1
 
static int gui_sld_dr_interval = -1
 
static int gui_sld_dr_threshold = -1
 
static int gui_sld_height = -1
 
static int gui_sld_slope = -1
 
static int gui_win_ghost_dr = -1
 
static int gui_win_info = -1
 
static int gui_win_modes = -1
 
static int gui_win_proj = -1
 
static int gui_win_tiles = -1
 
static bool height_mode = (1 == 0)
 
static int hover_mx = -1
 
static int hover_my = -1
 
static ISO_MAPisomap = NULL
 
static int last_mouse_x = 0
 
static int last_mouse_y = 0
 
static int paint_height = 0
 
static int paint_terrain = 4
 
static float player_click_fx = 0.0f
 
static float player_click_fy = 0.0f
 
static float player_fx = 10.5f
 
static float player_fy = 10.5f
 
static bool player_mode = (1 == 0)
 
static int player_mx = 10
 
static int player_my = 10
 
static bool player_on_ground = (1 == 1)
 
static ASTAR_PATHplayer_path = NULL
 
static int player_path_idx = 0
 
static float player_path_progress = 0.0f
 
static float player_screen_x = 0.0f
 
static float player_screen_y = 0.0f
 
static float player_vz = 0.0f
 
static float player_z = 0.0f
 
static bool redraw_needed = (1 == 1)
 
static bool running = (1 == 1)
 
static int screen_h = 720
 
static int screen_w = 1280
 
static bool show_grid = (1 == 0)
 
static bool smooth_height = (1 == 0)
 
static int smooth_slope_max = 1
 
static const char * terrain_files [8]
 
static const char * terrain_names [8]
 
static ALLEGRO_BITMAP * tile_bitmaps [8] = {NULL}
 
static ALLEGRO_BITMAP * transition_masks [(16+16)] = {NULL}
 
static ALLEGRO_BITMAP * transition_tiles [8][(16+16)] = {{NULL}}
 

Macro Definition Documentation

◆ CAM_SMOOTHING

#define CAM_SMOOTHING   8.0f /* camera lerp speed (higher = snappier) */
Examples
ex_gui_isometric.c.

Definition at line 94 of file ex_gui_isometric.c.

◆ FPS

#define FPS   60.0
Examples
ex_gui_isometric.c, and ex_trajectory.c.

Definition at line 73 of file ex_gui_isometric.c.

◆ JUMP_GRAVITY

#define JUMP_GRAVITY   20.0f /* gravity for jump (height units/sec^2) */
Examples
ex_gui_isometric.c.

Definition at line 93 of file ex_gui_isometric.c.

◆ JUMP_VELOCITY

#define JUMP_VELOCITY   9.0f /* initial upward velocity (height units/sec) */
Examples
ex_gui_isometric.c.

Definition at line 92 of file ex_gui_isometric.c.

◆ MAP_FILE

#define MAP_FILE   "iso_gui_map.isom"
Examples
ex_gui_isometric.c.

Definition at line 228 of file ex_gui_isometric.c.

◆ MAP_H

#define MAP_H   20
Examples
ex_gui_isometric.c, and ex_iso_astar.c.

Definition at line 81 of file ex_gui_isometric.c.

◆ MAP_W

#define MAP_W   20
Examples
ex_gui_isometric.c, and ex_iso_astar.c.

Definition at line 80 of file ex_gui_isometric.c.

◆ MAX_HEIGHT

#define MAX_HEIGHT   5
Examples
ex_gui_isometric.c, and ex_iso_astar.c.

Definition at line 87 of file ex_gui_isometric.c.

◆ NUM_MASKS

#define NUM_MASKS   ISO_NUM_MASKS
Examples
ex_gui_isometric.c.

Definition at line 126 of file ex_gui_isometric.c.

◆ NUM_PROJECTIONS

#define NUM_PROJECTIONS   ISO_NUM_PROJECTIONS
Examples
ex_gui_isometric.c.

Definition at line 123 of file ex_gui_isometric.c.

◆ NUM_TERRAINS

#define NUM_TERRAINS   8
Examples
ex_gui_isometric.c, and ex_iso_astar.c.

Definition at line 84 of file ex_gui_isometric.c.

◆ PLAYER_MAX_HEIGH_DIFF

#define PLAYER_MAX_HEIGH_DIFF   1 /* max height diff player can walk over */
Examples
ex_gui_isometric.c.

Definition at line 95 of file ex_gui_isometric.c.

◆ PLAYER_MOVE_SPEED

#define PLAYER_MOVE_SPEED   4.0f
Examples
ex_gui_isometric.c.

Definition at line 91 of file ex_gui_isometric.c.

◆ SCREEN_H

#define SCREEN_H   720
Examples
ex_gui_isometric.c.

Definition at line 72 of file ex_gui_isometric.c.

◆ SCREEN_W

#define SCREEN_W   1280
Examples
ex_gui_isometric.c.

Definition at line 71 of file ex_gui_isometric.c.

◆ TERRAIN_CHEMIN

#define TERRAIN_CHEMIN   3 /* road */

Definition at line 101 of file ex_gui_isometric.c.

◆ TERRAIN_EAU

#define TERRAIN_EAU   0 /* water - lowest precedence, base terrain */

Definition at line 98 of file ex_gui_isometric.c.

◆ TERRAIN_LAVE

#define TERRAIN_LAVE   1 /* lava */
Examples
ex_gui_isometric.c.

Definition at line 99 of file ex_gui_isometric.c.

◆ TERRAIN_PAILLE

#define TERRAIN_PAILLE   6 /* straw */

Definition at line 104 of file ex_gui_isometric.c.

◆ TERRAIN_ROCAILLE

#define TERRAIN_ROCAILLE   7 /* rock - highest precedence */

Definition at line 105 of file ex_gui_isometric.c.

◆ TERRAIN_SABLE

#define TERRAIN_SABLE   2 /* sand */

Definition at line 100 of file ex_gui_isometric.c.

◆ TERRAIN_TEMPLE3

#define TERRAIN_TEMPLE3   4 /* temple floor light */
Examples
ex_gui_isometric.c.

Definition at line 102 of file ex_gui_isometric.c.

◆ TERRAIN_TEMPLE4

#define TERRAIN_TEMPLE4   5 /* temple floor dark */

Definition at line 103 of file ex_gui_isometric.c.

◆ TILE_H

#define TILE_H   34
Examples
ex_gui_isometric.c.

Definition at line 77 of file ex_gui_isometric.c.

◆ TILE_LIFT

#define TILE_LIFT   16
Examples
ex_gui_isometric.c.

Definition at line 88 of file ex_gui_isometric.c.

◆ TILE_W

#define TILE_W   66
Examples
ex_gui_isometric.c.

Definition at line 76 of file ex_gui_isometric.c.

Function Documentation

◆ draw_ghost_object()

static void draw_ghost_object ( float  sx,
float  sy,
float  zoom,
float  alpha,
void *  user_data 
)
static
Examples
ex_gui_isometric.c.

Definition at line 313 of file ex_gui_isometric.c.

References camera, ghost_true_x, ghost_true_y, and n_iso_camera_world_to_screen().

Referenced by main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ draw_player_object()

static void draw_player_object ( float  sx,
float  sy,
float  zoom,
float  alpha,
void *  user_data 
)
static
Examples
ex_gui_isometric.c.

Definition at line 290 of file ex_gui_isometric.c.

References camera, interpolate_height_at_clamped(), iso_map_to_screen_f(), isomap, n_iso_camera_world_to_screen(), player_fx, player_fy, and PLAYER_MAX_HEIGH_DIFF.

Referenced by main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ interpolate_height_at()

static float interpolate_height_at ( float  fx,
float  fy 
)
static
Examples
ex_gui_isometric.c.

Definition at line 235 of file ex_gui_isometric.c.

References iso_map_interpolate_height(), isomap, MAP_H, and MAP_W.

Referenced by main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ interpolate_height_at_clamped()

static float interpolate_height_at_clamped ( float  fx,
float  fy,
int  max_climb 
)
static
Examples
ex_gui_isometric.c.

Definition at line 250 of file ex_gui_isometric.c.

References iso_map_get_height(), isomap, MAP_H, MAP_W, and smooth_height.

Referenced by draw_player_object(), and main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 481 of file ex_gui_isometric.c.

References DR_ENTITY::algo, ISO_PROJECTION::angle_deg, ASTAR_ALLOW_DIAGONAL, ASTAR_HEURISTIC_CHEBYSHEV, DR_ENTITY::blend_mode, DR_ENTITY::blend_time, CAM_SMOOTHING, camera, current_proj, display, DR_ALGO_VEL_ACC, DR_BLEND_PVB, dr_entity_check_threshold(), dr_entity_compute(), dr_entity_create(), dr_entity_destroy(), dr_entity_receive_state(), dr_entity_set_algo(), dr_entity_set_blend_mode(), dr_entity_set_blend_time(), dr_entity_set_position(), dr_entity_set_threshold(), dr_vec3(), N_ISO_OBJECT::draw, draw_ghost_object(), draw_player_object(), FPS, N_ISO_OBJECT::fx, N_ISO_OBJECT::fy, N_ISO_OBJECT::fz, ghost_dr, ghost_enabled, ghost_last_send, ghost_path_angle, ghost_path_cx, ghost_path_cy, ghost_path_radius, ghost_path_speed, ghost_screen_x, ghost_screen_y, ghost_send_interval, ghost_true_x, ghost_true_y, gui_btn_ghost, gui_btn_grid, gui_btn_height, gui_btn_player, gui_btn_proj, gui_btn_reset, gui_btn_smooth, gui_ctx, gui_lbl_dr_algo, gui_lbl_dr_blend, gui_lbl_dr_blend_time, gui_lbl_dr_interval, gui_lbl_dr_threshold, gui_lbl_height, gui_lbl_hover, gui_lbl_proj, gui_lbl_slope, gui_lbl_status, gui_lst_tiles, gui_rad_dr_algo, gui_rad_dr_blend, gui_sld_dr_blend_time, gui_sld_dr_interval, gui_sld_dr_threshold, gui_sld_height, gui_sld_slope, gui_win_ghost_dr, gui_win_info, gui_win_modes, gui_win_proj, gui_win_tiles, ISO_MAP::height, height_mode, hover_mx, ISO_MAP::hover_mx, hover_my, ISO_MAP::hover_my, interpolate_height_at(), interpolate_height_at_clamped(), N_ISO_OBJECT::is_occluded, iso_generate_transition_masks(), iso_generate_transition_tiles(), iso_map_draw(), iso_map_free(), iso_map_get_height(), iso_map_get_terrain(), iso_map_lerp_projection(), iso_map_load(), iso_map_new(), iso_map_save(), iso_map_set_height(), iso_map_set_projection(), iso_map_set_projection_target(), iso_map_set_terrain(), iso_map_to_screen(), iso_map_to_screen_f(), iso_mask_tile_to_diamond(), ISO_PROJ_CLASSIC, iso_projection_name(), iso_screen_to_map_height(), iso_screen_to_map_height_f(), isomap, JUMP_GRAVITY, JUMP_VELOCITY, last_mouse_x, last_mouse_y, ASTAR_PATH::length, LOG_ERR, LOG_INFO, M_PI, MAP_FILE, MAP_H, MAP_W, MAX_HEIGHT, n_abort(), n_astar_find_path(), n_astar_grid_free(), n_astar_grid_get_walkable(), n_astar_path_free(), n_gui_add_button(), n_gui_add_label(), n_gui_add_listbox(), n_gui_add_radiolist(), n_gui_add_slider(), n_gui_add_toggle_button(), n_gui_add_window(), N_GUI_ALIGN_LEFT, n_gui_button_is_toggled(), n_gui_button_set_keycode(), n_gui_button_set_toggled(), n_gui_close_window(), n_gui_destroy_ctx(), n_gui_draw(), n_gui_label_set_text(), n_gui_listbox_add_item(), n_gui_listbox_get_selected(), n_gui_listbox_set_selected(), n_gui_new_ctx(), n_gui_open_window(), n_gui_process_event(), n_gui_radiolist_add_item(), n_gui_radiolist_get_selected(), n_gui_radiolist_set_selected(), N_GUI_SELECT_SINGLE, n_gui_set_display_size(), n_gui_set_widget_visible(), N_GUI_SHAPE_ROUNDED, n_gui_slider_get_value(), n_gui_slider_set_value(), N_GUI_SLIDER_VALUE, n_gui_wants_mouse(), n_iso_camera_center_on(), n_iso_camera_follow(), n_iso_camera_free(), n_iso_camera_new(), n_iso_camera_screen_to_world(), n_iso_camera_scroll(), n_iso_camera_zoom(), n_log, ASTAR_PATH::nodes, NUM_MASKS, NUM_PROJECTIONS, NUM_TERRAINS, N_ISO_OBJECT::occluded_alpha, on_ghost_toggle(), on_grid_toggle(), on_height_toggle(), on_player_toggle(), on_proj_select(), on_reset_click(), on_smooth_toggle(), paint_height, paint_terrain, player_click_fx, player_click_fy, player_fx, player_fy, PLAYER_MAX_HEIGH_DIFF, player_mode, PLAYER_MOVE_SPEED, player_mx, player_my, player_on_ground, player_path, player_path_idx, player_path_progress, player_screen_x, player_screen_y, player_vz, player_z, DR_ENTITY::pos_threshold, ISO_MAP::proj, randomize_map(), redraw_needed, running, SCREEN_H, screen_h, SCREEN_W, screen_w, set_log_level(), show_grid, ISO_MAP::show_grid, smooth_height, ISO_MAP::smooth_height, smooth_slope_max, ISO_MAP::smooth_slope_max, terrain_files, terrain_names, tile_bitmaps, TILE_H, TILE_LIFT, ISO_PROJECTION::tile_lift, TILE_W, transition_masks, transition_tiles, N_ISO_OBJECT::user_data, ISO_MAP::width, ASTAR_NODE::x, DR_VEC3::x, N_ISO_CAMERA::x, ASTAR_NODE::y, DR_VEC3::y, N_ISO_CAMERA::y, and N_ISO_CAMERA::zoom.

+ Here is the call graph for this function:

◆ on_ghost_toggle()

◆ on_grid_toggle()

static void on_grid_toggle ( int  id,
void *  data 
)
static

Definition at line 420 of file ex_gui_isometric.c.

References gui_btn_grid, gui_ctx, n_gui_button_is_toggled(), and show_grid.

+ Here is the call graph for this function:

◆ on_height_toggle()

static void on_height_toggle ( int  id,
void *  data 
)
static

Definition at line 409 of file ex_gui_isometric.c.

References gui_btn_height, gui_btn_player, gui_ctx, height_mode, n_gui_button_is_toggled(), n_gui_button_set_toggled(), and player_mode.

+ Here is the call graph for this function:

◆ on_player_toggle()

◆ on_proj_select()

static void on_proj_select ( int  id,
void *  data 
)
static

Definition at line 469 of file ex_gui_isometric.c.

References current_proj, gui_btn_proj, gui_ctx, iso_map_set_projection_target(), isomap, n_gui_button_set_toggled(), and NUM_PROJECTIONS.

+ Here is the call graph for this function:

◆ on_reset_click()

static void on_reset_click ( int  id,
void *  data 
)
static
Examples
ex_gui_isometric.c.

Definition at line 461 of file ex_gui_isometric.c.

References iso_map_save(), isomap, MAP_FILE, and randomize_map().

Referenced by main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ on_smooth_toggle()

static void on_smooth_toggle ( int  id,
void *  data 
)
static

Definition at line 427 of file ex_gui_isometric.c.

References gui_btn_smooth, gui_ctx, n_gui_button_is_toggled(), and smooth_height.

+ Here is the call graph for this function:

◆ randomize_map()

static void randomize_map ( void  )
static
Examples
ex_gui_isometric.c.

Definition at line 338 of file ex_gui_isometric.c.

References iso_map_get_height(), iso_map_set_height(), iso_map_set_terrain(), isomap, MAP_H, MAP_W, MAX_HEIGHT, NUM_TERRAINS, and TERRAIN_LAVE.

Referenced by main(), and on_reset_click().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ camera

N_ISO_CAMERA* camera = NULL
static

◆ current_proj

int current_proj = 0
static

Definition at line 129 of file ex_gui_isometric.c.

◆ ghost_dr

DR_ENTITY* ghost_dr = NULL
static
Examples
ex_gui_isometric.c.

Definition at line 166 of file ex_gui_isometric.c.

Referenced by main(), and on_ghost_toggle().

◆ ghost_enabled

bool ghost_enabled = (1 == 0)
static

Definition at line 165 of file ex_gui_isometric.c.

◆ ghost_last_send

double ghost_last_send = 0.0
static
Examples
ex_gui_isometric.c.

Definition at line 176 of file ex_gui_isometric.c.

Referenced by main(), and on_ghost_toggle().

◆ ghost_path_angle

float ghost_path_angle = 0.0f
static
Examples
ex_gui_isometric.c.

Definition at line 175 of file ex_gui_isometric.c.

Referenced by main(), and on_ghost_toggle().

◆ ghost_path_cx

float ghost_path_cx = 10.0f
static
Examples
ex_gui_isometric.c.

Definition at line 171 of file ex_gui_isometric.c.

Referenced by main(), and on_ghost_toggle().

◆ ghost_path_cy

float ghost_path_cy = 10.0f
static
Examples
ex_gui_isometric.c.

Definition at line 172 of file ex_gui_isometric.c.

Referenced by main(), and on_ghost_toggle().

◆ ghost_path_radius

float ghost_path_radius = 6.0f
static
Examples
ex_gui_isometric.c.

Definition at line 173 of file ex_gui_isometric.c.

Referenced by main(), and on_ghost_toggle().

◆ ghost_path_speed

float ghost_path_speed = 0.4f
static
Examples
ex_gui_isometric.c.

Definition at line 174 of file ex_gui_isometric.c.

Referenced by main(), and on_ghost_toggle().

◆ ghost_screen_x

float ghost_screen_x = 0.0f
static
Examples
ex_gui_isometric.c.

Definition at line 167 of file ex_gui_isometric.c.

Referenced by main().

◆ ghost_screen_y

float ghost_screen_y = 0.0f
static
Examples
ex_gui_isometric.c.

Definition at line 168 of file ex_gui_isometric.c.

Referenced by main().

◆ ghost_send_interval

double ghost_send_interval = 0.25
static
Examples
ex_gui_isometric.c.

Definition at line 177 of file ex_gui_isometric.c.

Referenced by main().

◆ ghost_true_x

float ghost_true_x = 0.0f
static
Examples
ex_gui_isometric.c.

Definition at line 169 of file ex_gui_isometric.c.

Referenced by draw_ghost_object(), and main().

◆ ghost_true_y

float ghost_true_y = 0.0f
static
Examples
ex_gui_isometric.c.

Definition at line 170 of file ex_gui_isometric.c.

Referenced by draw_ghost_object(), and main().

◆ gui_btn_ghost

int gui_btn_ghost = -1
static
Examples
ex_gui_isometric.c.

Definition at line 195 of file ex_gui_isometric.c.

Referenced by main(), and on_ghost_toggle().

◆ gui_btn_grid

int gui_btn_grid = -1
static
Examples
ex_gui_isometric.c.

Definition at line 193 of file ex_gui_isometric.c.

Referenced by main(), and on_grid_toggle().

◆ gui_btn_height

int gui_btn_height = -1
static
Examples
ex_gui_isometric.c.

Definition at line 192 of file ex_gui_isometric.c.

Referenced by main(), on_height_toggle(), and on_player_toggle().

◆ gui_btn_player

int gui_btn_player = -1
static
Examples
ex_gui_isometric.c.

Definition at line 191 of file ex_gui_isometric.c.

Referenced by main(), on_height_toggle(), and on_player_toggle().

◆ gui_btn_proj

int gui_btn_proj[ 4] = {-1, -1, -1, -1}
static
Examples
ex_gui_isometric.c.

Definition at line 202 of file ex_gui_isometric.c.

Referenced by main(), and on_proj_select().

◆ gui_btn_reset

int gui_btn_reset = -1
static
Examples
ex_gui_isometric.c.

Definition at line 196 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_btn_smooth

int gui_btn_smooth = -1
static
Examples
ex_gui_isometric.c.

Definition at line 194 of file ex_gui_isometric.c.

Referenced by main(), and on_smooth_toggle().

◆ gui_ctx

◆ gui_lbl_dr_algo

int gui_lbl_dr_algo = -1
static
Examples
ex_gui_isometric.c.

Definition at line 209 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_lbl_dr_blend

int gui_lbl_dr_blend = -1
static
Examples
ex_gui_isometric.c.

Definition at line 211 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_lbl_dr_blend_time

int gui_lbl_dr_blend_time = -1
static
Examples
ex_gui_isometric.c.

Definition at line 215 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_lbl_dr_interval

int gui_lbl_dr_interval = -1
static
Examples
ex_gui_isometric.c.

Definition at line 213 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_lbl_dr_threshold

int gui_lbl_dr_threshold = -1
static
Examples
ex_gui_isometric.c.

Definition at line 217 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_lbl_height

int gui_lbl_height = -1
static
Examples
ex_gui_isometric.c.

Definition at line 197 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_lbl_hover

int gui_lbl_hover = -1
static
Examples
ex_gui_isometric.c.

Definition at line 205 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_lbl_proj

int gui_lbl_proj = -1
static
Examples
ex_gui_isometric.c.

Definition at line 204 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_lbl_slope

int gui_lbl_slope = -1
static
Examples
ex_gui_isometric.c.

Definition at line 200 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_lbl_status

int gui_lbl_status = -1
static
Examples
ex_gui_isometric.c.

Definition at line 203 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_lst_tiles

int gui_lst_tiles = -1
static
Examples
ex_gui_isometric.c.

Definition at line 199 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_rad_dr_algo

int gui_rad_dr_algo = -1
static
Examples
ex_gui_isometric.c.

Definition at line 210 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_rad_dr_blend

int gui_rad_dr_blend = -1
static
Examples
ex_gui_isometric.c.

Definition at line 212 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_sld_dr_blend_time

int gui_sld_dr_blend_time = -1
static
Examples
ex_gui_isometric.c.

Definition at line 216 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_sld_dr_interval

int gui_sld_dr_interval = -1
static
Examples
ex_gui_isometric.c.

Definition at line 214 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_sld_dr_threshold

int gui_sld_dr_threshold = -1
static
Examples
ex_gui_isometric.c.

Definition at line 218 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_sld_height

int gui_sld_height = -1
static
Examples
ex_gui_isometric.c.

Definition at line 198 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_sld_slope

int gui_sld_slope = -1
static
Examples
ex_gui_isometric.c.

Definition at line 201 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_win_ghost_dr

int gui_win_ghost_dr = -1
static
Examples
ex_gui_isometric.c.

Definition at line 208 of file ex_gui_isometric.c.

Referenced by main(), and on_ghost_toggle().

◆ gui_win_info

int gui_win_info = -1
static
Examples
ex_gui_isometric.c.

Definition at line 190 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_win_modes

int gui_win_modes = -1
static
Examples
ex_gui_isometric.c.

Definition at line 187 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_win_proj

int gui_win_proj = -1
static
Examples
ex_gui_isometric.c.

Definition at line 189 of file ex_gui_isometric.c.

Referenced by main().

◆ gui_win_tiles

int gui_win_tiles = -1
static
Examples
ex_gui_isometric.c.

Definition at line 188 of file ex_gui_isometric.c.

Referenced by main().

◆ height_mode

bool height_mode = (1 == 0)
static

Definition at line 145 of file ex_gui_isometric.c.

◆ hover_mx

int hover_mx = -1
static
Examples
ex_gui_isometric.c.

Definition at line 180 of file ex_gui_isometric.c.

Referenced by main().

◆ hover_my

int hover_my = -1
static
Examples
ex_gui_isometric.c.

Definition at line 181 of file ex_gui_isometric.c.

Referenced by main().

◆ isomap

◆ last_mouse_x

int last_mouse_x = 0
static
Examples
ex_gui_isometric.c.

Definition at line 182 of file ex_gui_isometric.c.

Referenced by main().

◆ last_mouse_y

int last_mouse_y = 0
static
Examples
ex_gui_isometric.c.

Definition at line 183 of file ex_gui_isometric.c.

Referenced by main().

◆ paint_height

int paint_height = 0
static
Examples
ex_gui_isometric.c.

Definition at line 144 of file ex_gui_isometric.c.

Referenced by main().

◆ paint_terrain

int paint_terrain = 4
static
Examples
ex_gui_isometric.c.

Definition at line 143 of file ex_gui_isometric.c.

Referenced by main().

◆ player_click_fx

float player_click_fx = 0.0f
static
Examples
ex_gui_isometric.c.

Definition at line 225 of file ex_gui_isometric.c.

Referenced by main().

◆ player_click_fy

float player_click_fy = 0.0f
static
Examples
ex_gui_isometric.c.

Definition at line 226 of file ex_gui_isometric.c.

Referenced by main().

◆ player_fx

float player_fx = 10.5f
static
Examples
ex_gui_isometric.c.

Definition at line 154 of file ex_gui_isometric.c.

Referenced by draw_player_object(), main(), and on_player_toggle().

◆ player_fy

float player_fy = 10.5f
static
Examples
ex_gui_isometric.c.

Definition at line 155 of file ex_gui_isometric.c.

Referenced by draw_player_object(), main(), and on_player_toggle().

◆ player_mode

bool player_mode = (1 == 0)
static

Definition at line 153 of file ex_gui_isometric.c.

◆ player_mx

int player_mx = 10
static
Examples
ex_gui_isometric.c.

Definition at line 156 of file ex_gui_isometric.c.

Referenced by main().

◆ player_my

int player_my = 10
static
Examples
ex_gui_isometric.c.

Definition at line 157 of file ex_gui_isometric.c.

Referenced by main().

◆ player_on_ground

bool player_on_ground = (1 == 1)
static
Examples
ex_gui_isometric.c.

Definition at line 162 of file ex_gui_isometric.c.

Referenced by main(), and on_player_toggle().

◆ player_path

ASTAR_PATH* player_path = NULL
static
Examples
ex_gui_isometric.c.

Definition at line 221 of file ex_gui_isometric.c.

Referenced by main().

◆ player_path_idx

int player_path_idx = 0
static
Examples
ex_gui_isometric.c.

Definition at line 222 of file ex_gui_isometric.c.

Referenced by main().

◆ player_path_progress

float player_path_progress = 0.0f
static
Examples
ex_gui_isometric.c.

Definition at line 223 of file ex_gui_isometric.c.

Referenced by main().

◆ player_screen_x

float player_screen_x = 0.0f
static
Examples
ex_gui_isometric.c.

Definition at line 158 of file ex_gui_isometric.c.

Referenced by main(), and on_player_toggle().

◆ player_screen_y

float player_screen_y = 0.0f
static
Examples
ex_gui_isometric.c.

Definition at line 159 of file ex_gui_isometric.c.

Referenced by main(), and on_player_toggle().

◆ player_vz

float player_vz = 0.0f
static
Examples
ex_gui_isometric.c.

Definition at line 161 of file ex_gui_isometric.c.

Referenced by main(), and on_player_toggle().

◆ player_z

float player_z = 0.0f
static
Examples
ex_gui_isometric.c.

Definition at line 160 of file ex_gui_isometric.c.

Referenced by main(), and on_player_toggle().

◆ redraw_needed

bool redraw_needed = (1 == 1)
static
Examples
ex_gui_isometric.c.

Definition at line 148 of file ex_gui_isometric.c.

Referenced by main().

◆ running

bool running = (1 == 1)
static
Examples
ex_gui_isometric.c.

Definition at line 147 of file ex_gui_isometric.c.

Referenced by main().

◆ screen_h

int screen_h = 720
static

◆ screen_w

int screen_w = 1280
static

◆ show_grid

bool show_grid = (1 == 0)
static

Definition at line 146 of file ex_gui_isometric.c.

◆ smooth_height

bool smooth_height = (1 == 0)
static

Definition at line 149 of file ex_gui_isometric.c.

◆ smooth_slope_max

int smooth_slope_max = 1
static
Examples
ex_gui_isometric.c.

Definition at line 150 of file ex_gui_isometric.c.

Referenced by main().

◆ terrain_files

const char* terrain_files[8]
static
Initial value:
= {
"DATAS/tiles/eau_centre.bmp",
"DATAS/tiles/lave.bmp",
"DATAS/tiles/sable_centre.bmp",
"DATAS/tiles/chemin_centre.bmp",
"DATAS/tiles/temple3.bmp",
"DATAS/tiles/temple4.bmp",
"DATAS/tiles/paille.bmp",
"DATAS/tiles/rocaille.bmp"}
Examples
ex_gui_isometric.c.

Definition at line 112 of file ex_gui_isometric.c.

Referenced by main().

◆ terrain_names

const char* terrain_names[8]
static
Initial value:
= {
"Water", "Lava", "Sand", "Road", "Temple Light", "Temple Dark", "Straw", "Rock"}
Examples
ex_gui_isometric.c, and ex_iso_astar.c.

Definition at line 108 of file ex_gui_isometric.c.

Referenced by demo_iso_engine(), and main().

◆ tile_bitmaps

ALLEGRO_BITMAP* tile_bitmaps[8] = {NULL}
static
Examples
ex_gui_isometric.c.

Definition at line 134 of file ex_gui_isometric.c.

Referenced by iso_generate_transition_tiles(), iso_map_draw(), and main().

◆ transition_masks

ALLEGRO_BITMAP* transition_masks[(16+ 16)] = {NULL}
static
Examples
ex_gui_isometric.c.

Definition at line 135 of file ex_gui_isometric.c.

Referenced by main().

◆ transition_tiles

ALLEGRO_BITMAP* transition_tiles[8][(16+ 16)] = {{NULL}}
static
Examples
ex_gui_isometric.c.

Definition at line 136 of file ex_gui_isometric.c.

Referenced by iso_map_draw(), and main().