Initial skillbar code
This commit is contained in:
parent
4f75378a73
commit
2afb8090e3
|
@ -35,14 +35,17 @@
|
||||||
#define GAME_VIEW_WIDTH (MAP_ROOM_WIDTH * TILE_DIMENSION)
|
#define GAME_VIEW_WIDTH (MAP_ROOM_WIDTH * TILE_DIMENSION)
|
||||||
#define GAME_VIEW_HEIGHT (MAP_ROOM_HEIGHT * TILE_DIMENSION)
|
#define GAME_VIEW_HEIGHT (MAP_ROOM_HEIGHT * TILE_DIMENSION)
|
||||||
|
|
||||||
|
#define SKILL_BAR_WIDTH GAME_VIEW_WIDTH
|
||||||
|
#define SKILL_BAR_HEIGHT 32
|
||||||
|
|
||||||
#define RIGHT_GUI_WIDTH (10 * SPRITE_DIMENSION)
|
#define RIGHT_GUI_WIDTH (10 * SPRITE_DIMENSION)
|
||||||
#define RIGHT_GUI_HEIGHT GAME_VIEW_HEIGHT
|
#define RIGHT_GUI_HEIGHT (GAME_VIEW_HEIGHT + SKILL_BAR_HEIGHT)
|
||||||
|
|
||||||
#define BOTTOM_GUI_HEIGHT (10 * SPRITE_DIMENSION)
|
#define BOTTOM_GUI_HEIGHT (10 * SPRITE_DIMENSION)
|
||||||
#define BOTTOM_GUI_WIDTH (GAME_VIEW_WIDTH + RIGHT_GUI_WIDTH)
|
#define BOTTOM_GUI_WIDTH (GAME_VIEW_WIDTH + RIGHT_GUI_WIDTH)
|
||||||
|
|
||||||
#define SCREEN_WIDTH (GAME_VIEW_WIDTH + RIGHT_GUI_WIDTH)
|
#define SCREEN_WIDTH (GAME_VIEW_WIDTH + RIGHT_GUI_WIDTH)
|
||||||
#define SCREEN_HEIGHT (GAME_VIEW_HEIGHT + BOTTOM_GUI_HEIGHT)
|
#define SCREEN_HEIGHT (RIGHT_GUI_HEIGHT + BOTTOM_GUI_HEIGHT)
|
||||||
|
|
||||||
/* Windows and compile crap */
|
/* Windows and compile crap */
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
|
@ -65,6 +65,7 @@ static Timer *menuTimer = NULL;
|
||||||
static GameState gGameState;
|
static GameState gGameState;
|
||||||
static Camera gCamera;
|
static Camera gCamera;
|
||||||
static SDL_Rect gameViewport;
|
static SDL_Rect gameViewport;
|
||||||
|
static SDL_Rect skillBarViewport;
|
||||||
static SDL_Rect bottomGuiViewport;
|
static SDL_Rect bottomGuiViewport;
|
||||||
static SDL_Rect rightGuiViewport;
|
static SDL_Rect rightGuiViewport;
|
||||||
static SDL_Rect menuViewport;
|
static SDL_Rect menuViewport;
|
||||||
|
@ -156,7 +157,10 @@ initViewports(void)
|
||||||
gameViewport = (SDL_Rect) { 0, 0,
|
gameViewport = (SDL_Rect) { 0, 0,
|
||||||
GAME_VIEW_WIDTH, GAME_VIEW_HEIGHT };
|
GAME_VIEW_WIDTH, GAME_VIEW_HEIGHT };
|
||||||
|
|
||||||
bottomGuiViewport = (SDL_Rect) { 0, GAME_VIEW_HEIGHT,
|
skillBarViewport = (SDL_Rect) { 0, GAME_VIEW_HEIGHT,
|
||||||
|
SKILL_BAR_WIDTH, SKILL_BAR_HEIGHT };
|
||||||
|
|
||||||
|
bottomGuiViewport = (SDL_Rect) { 0, GAME_VIEW_HEIGHT + SKILL_BAR_HEIGHT,
|
||||||
BOTTOM_GUI_WIDTH, BOTTOM_GUI_WIDTH };
|
BOTTOM_GUI_WIDTH, BOTTOM_GUI_WIDTH };
|
||||||
|
|
||||||
rightGuiViewport = (SDL_Rect) { GAME_VIEW_WIDTH, 0,
|
rightGuiViewport = (SDL_Rect) { GAME_VIEW_WIDTH, 0,
|
||||||
|
@ -476,6 +480,8 @@ run_game(void)
|
||||||
gui_render_panel(gGui, RIGHT_GUI_WIDTH,
|
gui_render_panel(gGui, RIGHT_GUI_WIDTH,
|
||||||
RIGHT_GUI_HEIGHT, &gCamera);
|
RIGHT_GUI_HEIGHT, &gCamera);
|
||||||
|
|
||||||
|
SDL_RenderSetViewport(gRenderer, &skillBarViewport);
|
||||||
|
|
||||||
SDL_RenderSetViewport(gRenderer, &bottomGuiViewport);
|
SDL_RenderSetViewport(gRenderer, &bottomGuiViewport);
|
||||||
gui_render_log(gGui, BOTTOM_GUI_WIDTH,
|
gui_render_log(gGui, BOTTOM_GUI_WIDTH,
|
||||||
BOTTOM_GUI_HEIGHT, &gCamera);
|
BOTTOM_GUI_HEIGHT, &gCamera);
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
/*
|
||||||
|
* BreakHack - A dungeone crawler RPG
|
||||||
|
* Copyright (C) 2018 Linus Probert <linus.probert@gmail.com>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "skillbar.h"
|
||||||
|
#include "texture.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
|
static void
|
||||||
|
load_texture(SkillBar *bar, const char *path, SDL_Renderer *renderer)
|
||||||
|
{
|
||||||
|
Texture *t = texture_create();
|
||||||
|
texture_load_from_file(t, path, renderer);
|
||||||
|
ht_set(bar->textures, path, t);
|
||||||
|
}
|
||||||
|
|
||||||
|
SkillBar *
|
||||||
|
skillbar_create(SDL_Renderer *renderer)
|
||||||
|
{
|
||||||
|
SkillBar *bar = ec_malloc(sizeof(SkillBar));
|
||||||
|
bar->textures = ht_create(10);
|
||||||
|
load_texture(bar, "GUI/GUI0.png", renderer);
|
||||||
|
return bar;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
render(SkillBar *bar, Camera *cam)
|
||||||
|
{
|
||||||
|
// TODO: Implement
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
skillbar_destroy(SkillBar *bar)
|
||||||
|
{
|
||||||
|
ht_destroy_custom(bar->textures, (void (*)(void *)) texture_destroy);
|
||||||
|
free(bar);
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
/*
|
||||||
|
* BreakHack - A dungeone crawler RPG
|
||||||
|
* Copyright (C) 2018 Linus Probert <linus.probert@gmail.com>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SKILLBAR_H_
|
||||||
|
#define SKILLBAR_H_
|
||||||
|
|
||||||
|
#include "SDL.h"
|
||||||
|
#include "hashtable.h"
|
||||||
|
#include "camera.h"
|
||||||
|
|
||||||
|
typedef struct SkillBar_t {
|
||||||
|
Hashtable *textures;
|
||||||
|
} SkillBar;
|
||||||
|
|
||||||
|
SkillBar *
|
||||||
|
skillbar_create(SDL_Renderer*);
|
||||||
|
|
||||||
|
void
|
||||||
|
render(SkillBar*, Camera*);
|
||||||
|
|
||||||
|
void
|
||||||
|
skillbar_destroy(SkillBar*);
|
||||||
|
|
||||||
|
#endif // SKILLBAR_H_
|
Loading…
Reference in New Issue