Start of drawing widgets.

This commit is contained in:
Steve 2018-02-15 18:04:37 +00:00
parent d43523010e
commit 48abf156d8
7 changed files with 57 additions and 2 deletions

View File

@ -31,6 +31,5 @@ extern void drawRect(int x, int y, int w, int h, int r, int g, int b, int a);
extern void drawOutlineRect(int x, int y, int w, int h, int r, int g, int b, int a); extern void drawOutlineRect(int x, int y, int w, int h, int r, int g, int b, int a);
extern float mod(float n, float x); extern float mod(float n, float x);
extern App app;
extern Colors colors; extern Colors colors;
extern Game game; extern Game game;

View File

@ -78,6 +78,18 @@ void drawWidgets(void)
switch (w->type) switch (w->type)
{ {
case WT_BUTTON: case WT_BUTTON:
if (w != selectedWidget)
{
drawRect(w->x, w->y, w->w, w->h, 0, 64, 0, 255);
drawOutlineRect(w->x, w->y, w->w, w->h, 0, 128, 0, 255);
drawText(w->x + w->w / 2, w->y + 2, 24, TA_CENTER, colors.white, w->label);
}
else
{
drawRect(w->x, w->y, w->w, w->h, 0, 128, 0, 255);
drawOutlineRect(w->x, w->y, w->w, w->h, 0, 255, 0, 255);
drawText(w->x + w->w / 2, w->y + 2, 24, TA_CENTER, colors.yellow, w->label);
}
break; break;
case WT_PLAIN_BUTTON: case WT_PLAIN_BUTTON:
@ -220,6 +232,11 @@ static void loadWidgetGroup(char *filename)
w->h = cJSON_GetObjectItem(node, "h")->valueint; w->h = cJSON_GetObjectItem(node, "h")->valueint;
w->type = lookup(cJSON_GetObjectItem(node, "type")->valuestring); w->type = lookup(cJSON_GetObjectItem(node, "type")->valuestring);
if (w->x == -1)
{
w->x = (SCREEN_WIDTH - w->w) / 2;
}
switch (w->type) switch (w->type)
{ {
case WT_SPINNER: case WT_SPINNER:

View File

@ -24,5 +24,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern char *readFile(const char *filename); extern char *readFile(const char *filename);
extern char **getFileList(const char *dir, int *count); extern char **getFileList(const char *dir, int *count);
extern long lookup(const char *name); extern long lookup(const char *name);
extern void drawText(int x, int y, int size, int align, SDL_Color c, const char *format, ...);
extern void drawRect(int x, int y, int w, int h, int r, int g, int b, int a);
extern void drawOutlineRect(int x, int y, int w, int h, int r, int g, int b, int a);
extern App app; extern App app;
extern Colors colors;

View File

@ -33,7 +33,7 @@ void initAtlasTest(void)
initHub(); initHub();
loadWorld("greenlands5"); loadWorld("beachApproach");
initWorld(); initWorld();
@ -42,4 +42,6 @@ void initAtlasTest(void)
initEntities(); initEntities();
saveConfig(); saveConfig();
/*awardTrophy("BEACH");*/
} }

View File

@ -27,5 +27,6 @@ extern void initGame(void);
extern void initEntities(void); extern void initEntities(void);
extern void loadWorld(char *id); extern void loadWorld(char *id);
extern void saveConfig(void); extern void saveConfig(void);
extern void awardTrophy(char *id);
extern Dev dev; extern Dev dev;

View File

@ -35,9 +35,11 @@ static void addHelperItems(void);
static void spawnEnemies(void); static void spawnEnemies(void);
static int canAdd(Unit *u, int mx, int my); static int canAdd(Unit *u, int mx, int my);
static void startMission(void); static void startMission(void);
static void drawInGameWidgets(void);
static Texture *background; static Texture *background;
static int observationIndex; static int observationIndex;
static int showingWidgets;
void initWorld(void) void initWorld(void)
{ {
@ -87,6 +89,12 @@ void initWorld(void)
app.delegate.logic = logic; app.delegate.logic = logic;
app.delegate.draw = draw; app.delegate.draw = draw;
showWidgetGroup("gamePaused");
showingWidgets = 1;
startMission();
} }
static void logic(void) static void logic(void)
@ -154,6 +162,26 @@ static void draw(void)
} }
break; break;
} }
if (showingWidgets)
{
drawInGameWidgets();
}
}
static void drawInGameWidgets(void)
{
int w, h;
w = 300;
h = 350;
drawRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0, 0, 64);
drawRect((SCREEN_WIDTH - w) / 2, (SCREEN_HEIGHT - h) / 2, w, h, 0, 0, 0, 192);
drawOutlineRect((SCREEN_WIDTH - w) / 2, (SCREEN_HEIGHT - h) / 2, w, h, 255, 255, 255, 255);
drawWidgets();
} }
static void drawNormal(void) static void drawNormal(void)

View File

@ -72,6 +72,10 @@ extern void playMusic(int loop);
extern void initRadar(void); extern void initRadar(void);
extern void startSectionTransition(void); extern void startSectionTransition(void);
extern void endSectionTransition(void); extern void endSectionTransition(void);
extern void drawWidgets(void);
extern void showWidgetGroup(char *group);
extern void drawRect(int x, int y, int w, int h, int r, int g, int b, int a);
extern void drawOutlineRect(int x, int y, int w, int h, int r, int g, int b, int a);
extern App app; extern App app;
extern Colors colors; extern Colors colors;