Parcourir la source

I forgot what I changed...

master
Ognjen Milan Robovic il y a 4 mois
Parent
révision
60cdea6a6c
5 fichiers modifiés avec 54 ajouts et 87 suppressions
  1. +45
    -15
      source/engine.c
  2. +7
    -4
      source/engine.h
  3. +0
    -49
      source/game.c
  4. +0
    -15
      source/game.h
  5. +2
    -4
      source/main.c

+ 45
- 15
source/engine.c Voir le fichier

@@ -6,6 +6,17 @@
#include <stdlib.h>
#include <unistd.h>

static void (* action_list [signal_count]) (void);

static int menu_count = 0;

static int menu_items [menu_limit];
static int menu_show [menu_limit];

static char * menu_text [menu_limit] [menu_item_limit];
static int menu_icon [menu_limit] [menu_item_limit];
static void (* menu_action [menu_limit] [menu_item_limit]) (void);

static void limit (int * pointer, int minimum, int maximum) {
if (* pointer < minimum) { * pointer = minimum; }
if (* pointer > maximum) { * pointer = maximum; }
@@ -20,10 +31,9 @@ static void camera_move_left (void) { camera_x--; limit (& camera_x, 0, world_w
static void camera_move_down (void) { camera_y++; limit (& camera_y, 0, world_height - (render_height () / (int) (BASE_SIZE * render_zoom))); }
static void camera_move_up (void) { camera_y--; limit (& camera_y, 0, world_height - (render_height () / (int) (BASE_SIZE * render_zoom))); }

static void show_trait_menu (void) { menu_show [menu_traits] = menu_show [menu_traits] ? 0 : 1; }
static void show_skill_menu (void) { menu_show [menu_skills] = menu_show [menu_skills] ? 0 : 1; }
static void show_value_menu (void) { menu_show [menu_values] = menu_show [menu_values] ? 0 : 1; }
static void show_resoo_menu (void) { menu_show [menu_resources] = menu_show [menu_resources] ? 0 : 1; }
static void show_trait_menu (void) { menu_show [menu_traits] = menu_show [menu_traits] ? 0 : 1; }
static void show_skill_menu (void) { menu_show [menu_skills] = menu_show [menu_skills] ? 0 : 1; }
static void show_value_menu (void) { menu_show [menu_values] = menu_show [menu_values] ? 0 : 1; }

static void view_hud (int x, int y, int width, int height, int small, int alpha) {
int i, j, u, v;
@@ -70,13 +80,26 @@ static void view_hud (int x, int y, int width, int height, int small, int alpha)
}
}

static void (* action_list [signal_count]) (void);
static void define_minimenu (int menu, char * text, int icon, void (* action) (void)) {
menu_text [menu] [menu_items [menu]] = text;
menu_icon [menu] [menu_items [menu]] = icon;
menu_action [menu] [menu_items [menu]] = action;

menu_items [menu]++;
}

static void define_menu (int show) {
menu_items [menu_count] = 0;
menu_show [menu_count] = show;

menu_count++;
}

int camera_x = 0;
int camera_y = 0;

void view_side (void) {
view_map_overlay ();
render_sprite (overui, ICON_SIZE, render_height () - 784 + ICON_SIZE, 0, 0, 1472, 784);

view_hud (render_width () - SIDE_SIZE, 0, SIDE_SIZE, render_height (), 0, 0);
view_hud (0, 0, render_width () - SIDE_SIZE, render_height (), 0, 1);
@@ -138,14 +161,6 @@ void view_map (int offset_x, int offset_y) {
}*/
}

void view_map_overlay (void) {
render_sprite (overui, ICON_SIZE, render_height () - 784 + ICON_SIZE, 0, 0, 1472, 784);
}

void view_side_hud (void) {
return;
}

void bind (int signal_id, void (* action) (void)) {
action_list [signal_id] = action;
}
@@ -168,10 +183,25 @@ void engine_configure (void) {
bind (signal_left, camera_move_left);
bind (signal_right, camera_move_right);

bind (signal_r, show_resoo_menu);
bind (signal_t, show_trait_menu);
bind (signal_s, show_skill_menu);
bind (signal_v, show_value_menu);

define_menu (0);
define_menu (0);
define_menu (1);

for (index = 0; index < trait_count; ++index) {
define_minimenu (menu_traits, trait_name [index], index, 0);
}

for (index = 0; index < skill_count; ++index) {
define_minimenu (menu_skills, skill_name [index], 3 + index, 0);
}

for (index = 0; index < value_count; ++index) {
define_minimenu (menu_values, value_name [index], 27 + index, 0);
}
}

void engine_synchronize (void) {


+ 7
- 4
source/engine.h Voir le fichier

@@ -1,6 +1,13 @@
#ifndef UMORNA_ENGINE
#define UMORNA_ENGINE

#define menu_limit (24)
#define menu_item_limit (24)

enum {
menu_traits, menu_skills, menu_values
};

extern int camera_x;
extern int camera_y;

@@ -10,10 +17,6 @@ extern void view_menu (int menu, int x, int y, int small, int align, int alpha);

extern void view_map (int offset_x, int offset_y);

extern void view_map_overlay (void);

extern void view_side_hud (void);

extern void bind (int signal, void (* action) (void));
extern void unbind (int signal);



+ 0
- 49
source/game.c Voir le fichier

@@ -2,32 +2,7 @@

#include <xolatile/chads.c>

static void define_minimenu (int menu, char * text, int icon, void (* action) (void)) {
menu_text [menu] [menu_items [menu]] = text;
menu_icon [menu] [menu_items [menu]] = icon;
menu_action [menu] [menu_items [menu]] = action;

menu_items [menu]++;
}

static void define_menu (int show) {
menu_items [menu_count] = 0;
menu_show [menu_count] = show;

menu_count++;
}

int menu_count = 0;
int menu_items [menu_limit];
int menu_show [menu_limit];

char * menu_text [menu_limit] [menu_item_limit];
int menu_icon [menu_limit] [menu_item_limit];
void (* menu_action [menu_limit] [menu_item_limit]) (void);

void game_configure (void) {
int index;

define_trait ("Strength", 1, 1, 10);
define_trait ("Dexterity", 1, 1, 10);
define_trait ("Wisdom", 1, 1, 10);
@@ -257,28 +232,4 @@ void game_configure (void) {
define_player ("Ognjen", player_human, 30, 30);

configure ();

define_menu (0);
define_menu (0);
define_menu (1);
define_menu (0);

for (index = 0; index < trait_count; ++index) {
define_minimenu (menu_traits, trait_name [index], index, 0);
}

for (index = 0; index < skill_count; ++index) {
define_minimenu (menu_skills, skill_name [index], 3 + index, 0);
}

for (index = 0; index < value_count; ++index) {
define_minimenu (menu_values, value_name [index], 27 + index, 0);
}

define_minimenu (menu_resources, "This is some simple neon menu...", 1, 0);
define_minimenu (menu_resources, "And to test dimension computation...", 1, 0);
define_minimenu (menu_resources, "We have different line lengths.", 1, 0);
define_minimenu (menu_resources, "I really don't know what else to write here.", 1, 0);
define_minimenu (menu_resources, "Important thing is how it looks when done.", 1, 0);
define_minimenu (menu_resources, "And I want HoM&M4 look and feel.", 1, 0);
}

+ 0
- 15
source/game.h Voir le fichier

@@ -23,9 +23,6 @@

#define player_limit (8)

#define menu_limit (24)
#define menu_item_limit (24)

#include <xolatile/chads.h>

enum {
@@ -73,18 +70,6 @@ enum {
sacrificer, elk_rider, warmaster, coal_golem, iron_golem, sage
};

enum {
menu_traits, menu_skills, menu_values, menu_resources
};

extern int menu_count;
extern int menu_items [menu_limit];
extern int menu_show [menu_limit];

extern char * menu_text [menu_limit] [menu_item_limit];
extern int menu_icon [menu_limit] [menu_item_limit];
extern void (* menu_action [menu_limit] [menu_item_limit]) (void);

extern void game_configure (void);

#endif

+ 2
- 4
source/main.c Voir le fichier

@@ -17,11 +17,9 @@ int main (void) {

view_side ();

view_menu (menu_resources, 96, 96, 1, 0, 1);

view_menu (menu_traits, 0, 0, 1, 1, 0);
view_menu (menu_skills, 0, 0, 0, 0, 0);
view_menu (menu_values, 96, 240, 0, 0, 0);
view_menu (menu_skills, 0, 0, 1, 1, 0);
view_menu (menu_values, 0, 0, 1, 1, 0);
}

return (0);


Chargement…
Annuler
Enregistrer