draw_world_mini + Vieux trucs que j'ai oublié
This commit is contained in:
parent
ac266206bc
commit
cd15a6802c
10 changed files with 212 additions and 46 deletions
|
@ -1,18 +1,45 @@
|
||||||
mtprint("hello")
|
mtprint("hello")
|
||||||
|
|
||||||
machine = add_machine(10, 10)
|
coal = add_machine(320, 320)
|
||||||
mtprint(machine.id)
|
coal.type = 0 -- charbon
|
||||||
machine.type = 2
|
work = add_worker(300,300)
|
||||||
mtprint(machine.type)
|
work1 = add_worker(300,300)
|
||||||
pos = machine.pos
|
work3 = add_worker(300,300)
|
||||||
machine.pos = pos
|
work4 = add_worker(300,300)
|
||||||
mtprint(pos.x)
|
assign_worker_machine(coal, work)
|
||||||
machine.pos.x = 50
|
assign_worker_machine(coal, work1)
|
||||||
machine.storage[0] = 1
|
assign_worker_machine(coal, work3)
|
||||||
worker = add_worker(30, 10)
|
assign_worker_machine(coal, work4)
|
||||||
mtprint(worker.name)
|
|
||||||
worker.pos.x = 25
|
iron = add_machine(416,320)
|
||||||
mtprint(worker.pos.x)
|
iron.type = 1 -- fer
|
||||||
|
work5 = add_worker(300,300)
|
||||||
|
work6 = add_worker(300,300)
|
||||||
|
work7 = add_worker(300,300)
|
||||||
|
work8 = add_worker(300,300)
|
||||||
|
assign_worker_machine(iron, work5)
|
||||||
|
assign_worker_machine(iron, work6)
|
||||||
|
assign_worker_machine(iron, work7)
|
||||||
|
assign_worker_machine(iron, work8)
|
||||||
|
|
||||||
|
furn = add_machine(320, 416)
|
||||||
|
furn.type = 2 -- fourneau
|
||||||
|
work9 = add_worker(300, 300)
|
||||||
|
work10 = add_worker(300, 300)
|
||||||
|
assign_worker_fetch(coal, furn, work9)
|
||||||
|
assign_worker_fetch(iron, furn, work10)
|
||||||
|
|
||||||
|
--mtprint(machine.id)
|
||||||
|
--machine.type = 2
|
||||||
|
--mtprint(machine.type)
|
||||||
|
--pos = machine.pos
|
||||||
|
--machine.pos = pos
|
||||||
|
--mtprint(pos.x)
|
||||||
|
--machine.pos.x = 50
|
||||||
|
--machine.storage[0] = 1
|
||||||
|
--mtprint(work.name)
|
||||||
|
--work2 = get_worker_from_pos(10,10)
|
||||||
|
--mtprint(work.name)
|
||||||
|
|
||||||
function on_tick(game)
|
function on_tick(game)
|
||||||
-- Ceci va drainer la sortie de la machine 2
|
-- Ceci va drainer la sortie de la machine 2
|
||||||
|
|
66
src/draw.c
66
src/draw.c
|
@ -12,7 +12,7 @@
|
||||||
#include "draw.h"
|
#include "draw.h"
|
||||||
#include "ui.h"
|
#include "ui.h"
|
||||||
|
|
||||||
#define TEX_N 9
|
#define TEX_N 12
|
||||||
#define TILE_N 3
|
#define TILE_N 3
|
||||||
|
|
||||||
char *tex_files[TEX_N] = {
|
char *tex_files[TEX_N] = {
|
||||||
|
@ -24,9 +24,29 @@ char *tex_files[TEX_N] = {
|
||||||
"assets/tex/blobrouge3.png",
|
"assets/tex/blobrouge3.png",
|
||||||
"assets/tex/blobvert1.png",
|
"assets/tex/blobvert1.png",
|
||||||
"assets/tex/blobvert2.png",
|
"assets/tex/blobvert2.png",
|
||||||
"assets/tex/blobvert3.png"
|
"assets/tex/blobvert3.png",
|
||||||
|
"assets/tex/coalmine.png",
|
||||||
|
"assets/tex/ironmine.png",
|
||||||
|
"assets/tex/furnace.png",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum TexIds {
|
||||||
|
T_Blobb1,
|
||||||
|
T_Blobb2,
|
||||||
|
T_Blobb3,
|
||||||
|
T_Blobr1,
|
||||||
|
T_Blobr2,
|
||||||
|
T_Blobr3,
|
||||||
|
T_Blobv1,
|
||||||
|
T_Blobv2,
|
||||||
|
T_Blobv3,
|
||||||
|
T_Coalm,
|
||||||
|
T_Ironm,
|
||||||
|
T_Furna,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define T_MBase T_Coalm
|
||||||
|
|
||||||
char *tile_files[TILE_N] = {
|
char *tile_files[TILE_N] = {
|
||||||
"assets/tiles/tile_grass.png",
|
"assets/tiles/tile_grass.png",
|
||||||
"assets/tiles/tile_grass.png",
|
"assets/tiles/tile_grass.png",
|
||||||
|
@ -45,7 +65,7 @@ int init_draw(){
|
||||||
|
|
||||||
SetTargetFPS(60);
|
SetTargetFPS(60);
|
||||||
|
|
||||||
char *cwd = GetApplicationDirectory();
|
const char *cwd = GetApplicationDirectory();
|
||||||
puts(cwd);
|
puts(cwd);
|
||||||
|
|
||||||
for(int i = 0; i < TEX_N; i++){
|
for(int i = 0; i < TEX_N; i++){
|
||||||
|
@ -96,7 +116,15 @@ void draw_workers(Game *game){
|
||||||
Workers *workers = &game->workers;
|
Workers *workers = &game->workers;
|
||||||
for(int i = 0; i < workers->worker_n; i++){
|
for(int i = 0; i < workers->worker_n; i++){
|
||||||
Worker *worker = &workers->worker_stack[i];
|
Worker *worker = &workers->worker_stack[i];
|
||||||
|
Camera2D *cam = &game->camera;
|
||||||
V2d pos = worker->pos;
|
V2d pos = worker->pos;
|
||||||
|
float screenX = pos.x - cam->target.x;
|
||||||
|
float screenY = pos.y - cam->target.y;
|
||||||
|
float xmax = 1280/cam->zoom;
|
||||||
|
float ymax = 720/cam->zoom;
|
||||||
|
if(screenX < -64 || screenY < -64 || screenX > xmax || screenY > ymax)
|
||||||
|
continue;
|
||||||
|
|
||||||
if(worker->ai.status == S_Operating){
|
if(worker->ai.status == S_Operating){
|
||||||
pos = Vector2Add(pos,
|
pos = Vector2Add(pos,
|
||||||
machine_dict[worker->ai.mtype].offsets[worker->assign_n]);
|
machine_dict[worker->ai.mtype].offsets[worker->assign_n]);
|
||||||
|
@ -110,8 +138,15 @@ void draw_machines(Game *game){
|
||||||
Machines *machines = &game->machines;
|
Machines *machines = &game->machines;
|
||||||
for(int i = 0; i < machines->machine_n; i++){
|
for(int i = 0; i < machines->machine_n; i++){
|
||||||
Machine *machine = &machines->machine_stack[i];
|
Machine *machine = &machines->machine_stack[i];
|
||||||
float active_per = Remap((float)machine->active,0,255,0.2,1);
|
Camera2D *cam = &game->camera;
|
||||||
DrawRectangleV(machine->pos, (V2d){.x=64,.y=64}, Fade(BLUE,active_per));
|
float screenX = machine->pos.x - cam->target.x;
|
||||||
|
float screenY = machine->pos.y - cam->target.y;
|
||||||
|
float xmax = 1280/cam->zoom;
|
||||||
|
float ymax = 720/cam->zoom;
|
||||||
|
if(screenX < -64 || screenY < -64 || screenX > xmax || screenY > ymax)
|
||||||
|
continue;
|
||||||
|
float active_per = Remap((float)machine->active,0,255,0.5,1);
|
||||||
|
DrawTextureV(tex_index[T_MBase + machine->type], machine->pos, Fade(WHITE, active_per));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -129,6 +164,27 @@ void draw_game(Game *game){
|
||||||
EndMode2D();
|
EndMode2D();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void draw_game_mini(Game *game, Rectangle screen_box, Rectangle world_box){
|
||||||
|
Camera2D ncam = {
|
||||||
|
.offset = {.x = screen_box.x, .y = screen_box.y},
|
||||||
|
.target = {
|
||||||
|
.x = world_box.x,
|
||||||
|
.y = world_box.y
|
||||||
|
},
|
||||||
|
.rotation = 0,
|
||||||
|
.zoom = screen_box.width/world_box.width
|
||||||
|
};
|
||||||
|
|
||||||
|
BeginMode2D(ncam);
|
||||||
|
BeginScissorMode(screen_box.x, screen_box.y, screen_box.width,
|
||||||
|
screen_box.height);
|
||||||
|
draw_map(game);
|
||||||
|
draw_machines(game);
|
||||||
|
draw_workers(game);
|
||||||
|
EndScissorMode();
|
||||||
|
EndMode2D();
|
||||||
|
}
|
||||||
|
|
||||||
void draw(Game *game){
|
void draw(Game *game){
|
||||||
draw_widgets(game);
|
draw_widgets(game);
|
||||||
|
|
||||||
|
|
|
@ -22,4 +22,6 @@ Texture2D mkmap_tex(Map *map);
|
||||||
|
|
||||||
void draw_game(Game *game);
|
void draw_game(Game *game);
|
||||||
|
|
||||||
|
void draw_game_mini(Game *game, Rectangle screen_box, Rectangle world_box);
|
||||||
|
|
||||||
void draw(Game *game);
|
void draw(Game *game);
|
||||||
|
|
17
src/game.c
17
src/game.c
|
@ -15,9 +15,12 @@
|
||||||
#include "lua_inter.h"
|
#include "lua_inter.h"
|
||||||
|
|
||||||
MachineDef machine_dict[] = {
|
MachineDef machine_dict[] = {
|
||||||
{{{0,0},{32,0},{0,32},{32,32}}, {}, 0, R_Coal, 4}, // MT_CoalMine
|
// MT_CoalMine
|
||||||
{{{0,0},{32,0},{0,32},{32,32}}, {}, 0, R_Iron, 4}, // MT_IronMine
|
{{{0,0},{32,0},{0,32},{32,32}}, {}, 0, R_Coal, 4},
|
||||||
{{{0,0},{32,0},{0,32},{32,32}}, {R_Coal, R_Iron}, 2, R_Steel, 0}, // MT_Furnace
|
// MT_IronMine
|
||||||
|
{{{0,0},{32,0},{0,32},{32,32}}, {}, 0, R_Iron, 4},
|
||||||
|
// MT_Furnace
|
||||||
|
{{{0,0},{32,0},{0,32},{32,32}}, {R_Coal, R_Iron}, 2, R_Steel, 0},
|
||||||
};
|
};
|
||||||
|
|
||||||
char *worker_names[] = {
|
char *worker_names[] = {
|
||||||
|
@ -71,8 +74,8 @@ int init_game(Game *game){
|
||||||
|
|
||||||
int c_worker = 0;
|
int c_worker = 0;
|
||||||
|
|
||||||
for(int k = 0; k < 16; k++){
|
for(int k = 0; k < 20; k++){
|
||||||
for(int j = 0; j < 16; j++){
|
for(int j = 0; j < 40; j++){
|
||||||
Machine *coal_mine = add_machine(&game->machines, (V2d){k*250+40,j*400+40});
|
Machine *coal_mine = add_machine(&game->machines, (V2d){k*250+40,j*400+40});
|
||||||
coal_mine->type = MT_CoalMine;
|
coal_mine->type = MT_CoalMine;
|
||||||
int coal_id = coal_mine->id;
|
int coal_id = coal_mine->id;
|
||||||
|
@ -84,7 +87,7 @@ int init_game(Game *game){
|
||||||
|
|
||||||
// The adresses may have changed
|
// The adresses may have changed
|
||||||
coal_mine = get_machine_from_id(&game->machines, coal_id);
|
coal_mine = get_machine_from_id(&game->machines, coal_id);
|
||||||
iron_mine = get_machine_from_id(&game->machines, coal_id);
|
iron_mine = get_machine_from_id(&game->machines, iron_id);
|
||||||
|
|
||||||
for(int i = 0; i < 10; i++)
|
for(int i = 0; i < 10; i++)
|
||||||
add_worker(&game->workers, (V2d){.x=k*250+100,.y=j*400});
|
add_worker(&game->workers, (V2d){.x=k*250+100,.y=j*400});
|
||||||
|
@ -96,8 +99,6 @@ int init_game(Game *game){
|
||||||
assign_worker_fetch(iron_mine, furnace, &game->workers.worker_stack[c_worker++]);
|
assign_worker_fetch(iron_mine, furnace, &game->workers.worker_stack[c_worker++]);
|
||||||
game->workers.worker_stack[c_worker].satisf = rand() & 63;
|
game->workers.worker_stack[c_worker].satisf = rand() & 63;
|
||||||
assign_worker_fetch(coal_mine, furnace, &game->workers.worker_stack[c_worker++]);
|
assign_worker_fetch(coal_mine, furnace, &game->workers.worker_stack[c_worker++]);
|
||||||
if(!(furnace->id%1000))
|
|
||||||
printf("%d\n",furnace->id);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,10 +16,8 @@ Game *gl_game;
|
||||||
typedef void (lua_affect_t)(lua_State*, void *, int);
|
typedef void (lua_affect_t)(lua_State*, void *, int);
|
||||||
|
|
||||||
struct LuaAffect {
|
struct LuaAffect {
|
||||||
|
|
||||||
lua_affect_t *func;
|
lua_affect_t *func;
|
||||||
int arg;
|
int arg;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TypeMap {
|
struct TypeMap {
|
||||||
|
@ -353,7 +351,7 @@ static int lua_worker_newindex(lua_State *L){
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// add_machine(x, y)
|
// add_machine(x, y) -> Machine
|
||||||
static int lua_add_machine(lua_State *L){
|
static int lua_add_machine(lua_State *L){
|
||||||
lua_Number x = luaL_checknumber(L, 1);
|
lua_Number x = luaL_checknumber(L, 1);
|
||||||
lua_Number y = luaL_checknumber(L, 2);
|
lua_Number y = luaL_checknumber(L, 2);
|
||||||
|
@ -369,12 +367,14 @@ static int lua_add_machine(lua_State *L){
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// get_machine_from_id(id)
|
// get_machine_from_id(id) -> Machine or nil
|
||||||
static int lua_get_machine_from_id(lua_State *L){
|
static int lua_get_machine_from_id(lua_State *L){
|
||||||
int id = luaL_checkinteger(L, 1) & 0xFFFF;
|
int id = luaL_checkinteger(L, 1) & 0xFFFF;
|
||||||
Machine *mach = get_machine_from_id(&gl_game->machines, id);
|
Machine *mach = get_machine_from_id(&gl_game->machines, id);
|
||||||
if(!mach)
|
if(!mach){
|
||||||
return 0;
|
lua_pushnil(L);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
Machine **buf = lua_newuserdatauv(L, sizeof(void*), 0);
|
Machine **buf = lua_newuserdatauv(L, sizeof(void*), 0);
|
||||||
*buf = mach;
|
*buf = mach;
|
||||||
luaL_newmetatable(L, "Machine");
|
luaL_newmetatable(L, "Machine");
|
||||||
|
@ -383,7 +383,7 @@ static int lua_get_machine_from_id(lua_State *L){
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// add_worker(x, y)
|
// add_worker(x, y) -> Machine
|
||||||
static int lua_add_worker(lua_State *L){
|
static int lua_add_worker(lua_State *L){
|
||||||
lua_Number x = luaL_checknumber(L, 1);
|
lua_Number x = luaL_checknumber(L, 1);
|
||||||
lua_Number y = luaL_checknumber(L, 2);
|
lua_Number y = luaL_checknumber(L, 2);
|
||||||
|
@ -394,6 +394,54 @@ static int lua_add_worker(lua_State *L){
|
||||||
*buf = work;
|
*buf = work;
|
||||||
luaL_newmetatable(L, "Worker");
|
luaL_newmetatable(L, "Worker");
|
||||||
lua_setmetatable(L, -2);
|
lua_setmetatable(L, -2);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// get_worker_from_pos(x, y) -> Machine or nil
|
||||||
|
static int lua_get_worker_from_pos(lua_State *L){
|
||||||
|
lua_Number x = luaL_checknumber(L, 1);
|
||||||
|
lua_Number y = luaL_checknumber(L, 2);
|
||||||
|
Worker *work = get_worker_from_pos(&gl_game->workers, (V2d){.x=x,.y=y});
|
||||||
|
if(!work){
|
||||||
|
lua_pushnil(L);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
Worker **buf = lua_newuserdatauv(L, sizeof(void*), 0);
|
||||||
|
*buf = work;
|
||||||
|
luaL_newmetatable(L, "Worker");
|
||||||
|
lua_setmetatable(L, -2);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// assign_worker_machine(machine, worker) -> Int
|
||||||
|
static int lua_assign_worker_machine(lua_State *L){
|
||||||
|
Machine **buf0 = luaL_checkudata(L, 1, "Machine");
|
||||||
|
Machine *mach = *buf0;
|
||||||
|
Worker **buf1 = luaL_checkudata(L, 2, "Worker");
|
||||||
|
Worker *work = *buf1;
|
||||||
|
|
||||||
|
int res = assign_worker_machine(mach, work);
|
||||||
|
lua_pushinteger(L, res);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// A vers B
|
||||||
|
// assign_worker_fetch(machine_a, machine_b, worker) -> Int
|
||||||
|
static int lua_assign_worker_fetch(lua_State *L){
|
||||||
|
Machine **buf0 = luaL_checkudata(L, 1, "Machine");
|
||||||
|
Machine *mach_a = *buf0;
|
||||||
|
buf0 = luaL_checkudata(L, 2, "Machine");
|
||||||
|
Machine *mach_b = *buf0;
|
||||||
|
Worker **buf1 = luaL_checkudata(L, 3, "Worker");
|
||||||
|
Worker *work = *buf1;
|
||||||
|
|
||||||
|
int res = assign_worker_fetch(mach_a, mach_b, work);
|
||||||
|
lua_pushinteger(L, res);
|
||||||
|
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// mtprint(str)
|
// mtprint(str)
|
||||||
|
@ -413,6 +461,9 @@ struct LuaFn exported_funcs[] = {
|
||||||
{"add_machine", lua_add_machine},
|
{"add_machine", lua_add_machine},
|
||||||
{"get_machine_from_id", lua_get_machine_from_id},
|
{"get_machine_from_id", lua_get_machine_from_id},
|
||||||
{"add_worker", lua_add_worker},
|
{"add_worker", lua_add_worker},
|
||||||
|
{"get_worker_from_pos", lua_get_worker_from_pos},
|
||||||
|
{"assign_worker_machine", lua_assign_worker_machine},
|
||||||
|
{"assign_worker_fetch", lua_assign_worker_fetch},
|
||||||
};
|
};
|
||||||
|
|
||||||
int lstate_n;
|
int lstate_n;
|
||||||
|
|
|
@ -21,8 +21,8 @@
|
||||||
/* TODO
|
/* TODO
|
||||||
* UI worker/machine :
|
* UI worker/machine :
|
||||||
* map :
|
* map :
|
||||||
* - Textures : ~
|
* - Textures : x
|
||||||
* - Affichage :
|
* - Génération :
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
|
|
11
src/map.c
11
src/map.c
|
@ -23,10 +23,15 @@ int generate_coll(Game *game, int mapn){
|
||||||
V2d pos = mach->machine_stack[i].pos;
|
V2d pos = mach->machine_stack[i].pos;
|
||||||
pos.x /= 32;
|
pos.x /= 32;
|
||||||
pos.y /= 32;
|
pos.y /= 32;
|
||||||
|
if(pos.x >= lmap->width || pos.y >= lmap->height)
|
||||||
|
continue;
|
||||||
lmap->coll[(int)(pos.y * lmap->width + pos.x)] = 1;
|
lmap->coll[(int)(pos.y * lmap->width + pos.x)] = 1;
|
||||||
lmap->coll[(int)(pos.y * lmap->width + pos.x+1)] = 1;
|
if(pos.x+1 < lmap->width)
|
||||||
lmap->coll[(int)((pos.y+1) * lmap->width + pos.x)] = 1;
|
lmap->coll[(int)(pos.y * lmap->width + pos.x+1)] = 1;
|
||||||
lmap->coll[(int)((pos.y+1) * lmap->width + pos.x+1)] = 1;
|
if(pos.y+1 < lmap->height)
|
||||||
|
lmap->coll[(int)((pos.y+1) * lmap->width + pos.x)] = 1;
|
||||||
|
if(pos.x+1 < lmap->width && pos.y+1 < lmap->height)
|
||||||
|
lmap->coll[(int)((pos.y+1) * lmap->width + pos.x+1)] = 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
12
src/mapgen.c
Normal file
12
src/mapgen.c
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
|
#include <raylib.h>
|
||||||
|
#include <raymath.h>
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "types.h"
|
||||||
|
#include "mapgen.h"
|
13
src/mapgen.h
Normal file
13
src/mapgen.h
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
|
#include <raylib.h>
|
||||||
|
#include <raymath.h>
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "types.h"
|
||||||
|
|
||||||
|
#pragma once
|
15
src/ui.c
15
src/ui.c
|
@ -206,6 +206,12 @@ void worker_widget_draw(Widget *widget, Game *game){
|
||||||
draw_buttons(widget);
|
draw_buttons(widget);
|
||||||
|
|
||||||
Worker *work = gui_info.widg_target;
|
Worker *work = gui_info.widg_target;
|
||||||
|
|
||||||
|
Rectangle screen_box = {55,90,140,140};
|
||||||
|
Rectangle world_box = {work->pos.x-4, work->pos.y-4, 40, 40};
|
||||||
|
|
||||||
|
draw_game_mini(game, screen_box, world_box);
|
||||||
|
|
||||||
draw_print(205, 100, 17, BLACK, "Name : %s", worker_names[work->name]);
|
draw_print(205, 100, 17, BLACK, "Name : %s", worker_names[work->name]);
|
||||||
draw_print(205, 120, 17, BLACK, "Traits : TODO");
|
draw_print(205, 120, 17, BLACK, "Traits : TODO");
|
||||||
draw_print(205, 140, 17, BLACK, "Satisfaction : %.0f%%",
|
draw_print(205, 140, 17, BLACK, "Satisfaction : %.0f%%",
|
||||||
|
@ -232,15 +238,8 @@ Widget worker_widget = {
|
||||||
.txt = "X",
|
.txt = "X",
|
||||||
.handler = NULL
|
.handler = NULL
|
||||||
},
|
},
|
||||||
{.box = {55,90,140,140},
|
|
||||||
.color_0 = GRAY,
|
|
||||||
.color_1 = BLACK,
|
|
||||||
.color_txt = WHITE,
|
|
||||||
.txt = "",
|
|
||||||
.handler = NULL
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
.button_n = 2
|
.button_n = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
Widget machine_widget = {
|
Widget machine_widget = {
|
||||||
|
|
Loading…
Add table
Reference in a new issue