Files
shitgame/overworld.c

90 lines
1.7 KiB
C

/*Troy Rosin*/
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#include <mydebug.h>
#include <game.h>
#include <input.h>
#include <deck.h>
#include <main.h>
#include <overworld.h>
#include <err_check.h>
PLAYER *myplayer, me;
PLAYER *get_this_player()
{
return &me;
}
#define ow_rows ((DEF_WINDOW_WIDTH / OW_GRIDSZ) + 1)
#define ow_cols ((DEF_WINDOW_HEIGHT / OW_GRIDSZ) + 1)
SDL_Rect ow_rects[ow_rows][ow_cols];
void start_overworld()
{
SDL_Texture *selected_grid, *player_sprite, *grass;
PRINT_M(STARTING GAME)
IMG_GETANDCHECK(grass, renderer, "assets/ow_grid_grass.png")
IMG_GETANDCHECK(selected_grid, renderer, "assets/ow_selected_grid.png");
IMG_GETANDCHECK(player_sprite, renderer, "assets/player.png");
myplayer = get_this_player();
int row, col;
//set up rects to render textures into
for(row = 0; row <= ow_rows; row++)
{
for(col = 0; col <= ow_cols; col++)
{
ow_rects[row][col].x = row * OW_GRIDSZ;
ow_rects[row][col].y = col * OW_GRIDSZ;
ow_rects[row][col].h = OW_GRIDSZ;
ow_rects[row][col].w = OW_GRIDSZ;
}
}
myplayer->texture = player_sprite;
myplayer->pos.x = ow_rows >> 1;
myplayer->pos.y = ow_cols >> 1;
while(running)
{
handle_event(&event);
SDL_RenderClear(renderer);
//render the ow grid
for(row = 0; row < ow_rows; row++)
{
for(col = 0; col < ow_cols; col++)
{
SDL_RenderCopy(renderer, grass, NULL, &(ow_rects[row][col]));
}
}
SDL_RenderCopy(renderer, myplayer->texture, NULL, &(ow_rects[myplayer->pos.x][myplayer->pos.y]));
SDL_RenderPresent(renderer);
}
start_battle();
return;
}