2022-12-31 12:14:57 +01:00
|
|
|
/************************************************************************/
|
|
|
|
/* ________ ___________ __ */
|
|
|
|
/* / _____/_____ _____ ____ / _____/ | ____ __ ____ | | __ */
|
|
|
|
/* / \ ___\__ \ / \_/ __ \ \_____ \| |/ / | \/ \| |/ / */
|
|
|
|
/* \ \_\ \/ __ \| Y Y \ ___/ / \ <| | / | \ < */
|
|
|
|
/* \______ (____ /__|_| /\___ >_______ /__|_ \____/|___| /__|_ \ */
|
|
|
|
/* \/ \/ \/ \/ \/ \/ \/ \/ */
|
|
|
|
/* _____ .___ */
|
|
|
|
/* / _ \ __| _/__ _______ ____ ____ ____ */
|
|
|
|
/* / /_\ \ / __ |\ \/ /\__ \ / \_/ ___\/ __ \ */
|
|
|
|
/* / | \/ /_/ | \ / / __ \| | \ \__\ ___/ */
|
|
|
|
/* \____|__ /\____ | \_/ (____ /___| /\___ >___ > */
|
|
|
|
/* \/ \/ \/ \/ \/ \/ */
|
|
|
|
/************************************************************************/
|
|
|
|
|
|
|
|
#ifndef GUARD_73FF49EF137A66E6AAD3A8A1BCF2F2DE
|
|
|
|
#define GUARD_73FF49EF137A66E6AAD3A8A1BCF2F2DE
|
|
|
|
|
|
|
|
#include "image8.h"
|
|
|
|
#ifndef GSA_NOMAIN
|
|
|
|
#include "embed_gfx.h"
|
|
|
|
#endif
|
|
|
|
|
2023-01-22 12:31:05 +01:00
|
|
|
#include "gsa_input.h"
|
2023-01-22 18:47:53 +01:00
|
|
|
#include "gsa_text.h"
|
2022-12-31 12:14:57 +01:00
|
|
|
#include "skunkworks.h"
|
|
|
|
#include "vec2i.h"
|
|
|
|
#include "window.h"
|
|
|
|
|
2023-01-07 14:22:22 +01:00
|
|
|
#define MAX_SPRITES 256
|
|
|
|
#define TILEMAP_MAX_SIZE 1024
|
|
|
|
#define MAX_TILEMAPS 4
|
|
|
|
|
2022-12-31 12:14:57 +01:00
|
|
|
struct gsa_sprite {
|
|
|
|
u16 tile;
|
|
|
|
i32 x, y;
|
|
|
|
};
|
|
|
|
|
2023-01-07 14:22:22 +01:00
|
|
|
struct gsa_map {
|
|
|
|
u16 tiles[TILEMAP_MAX_SIZE][TILEMAP_MAX_SIZE];
|
|
|
|
i32 w, h;
|
|
|
|
i32 scrollx, scrolly;
|
2023-01-22 18:47:53 +01:00
|
|
|
bool half_tile;
|
2023-01-07 14:22:22 +01:00
|
|
|
};
|
2022-12-31 12:14:57 +01:00
|
|
|
|
|
|
|
extern struct gsa_sprite sprites[MAX_SPRITES];
|
|
|
|
extern struct sw_image8 *_gfx;
|
2023-01-07 14:22:22 +01:00
|
|
|
extern struct gsa_map maps[MAX_TILEMAPS];
|
2022-12-31 12:14:57 +01:00
|
|
|
|
|
|
|
int gsa_main(int argc, char *argv[]);
|
|
|
|
|
|
|
|
/* to be implemented in game */
|
|
|
|
|
|
|
|
void init();
|
|
|
|
void tick();
|
|
|
|
|
|
|
|
#ifndef GSA_NOMAIN
|
|
|
|
int main(int argc, char *argv[]) {
|
|
|
|
_gfx = sw_image8_load_png_data(___gfx_png, ___gfx_png_len);
|
|
|
|
gsa_main(argc, argv);
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
void _gsa_tick();
|
|
|
|
|
|
|
|
#endif /* GUARD_73FF49EF137A66E6AAD3A8A1BCF2F2DE */
|