This repository has been archived on 2022-01-13. You can view files and clone it, but cannot push or open issues or pull requests.
jtmm2-old/src/main.c

74 lines
1.3 KiB
C

#include <gint/display.h>
#include <gint/keyboard.h>
#include <gint/std/string.h>
#include "main.h"
#include "debug.h"
#include "init.h"
#include "vec.h"
#include "player.h"
#include "level.h"
#include "camera.h"
int main(void)
{
init(); /* initialize gint */
/* main game loop */
play_level(0);
/* return to menu */
return 1;
}
int play_level(int level_id)
{
/* create player */
Player player = {
.pos = {0, 0}
};
const unsigned char level_content[] = {127};
const unsigned char level_content2[] = {63};
const unsigned char *level_contents[] = {level_content, level_content2};
/* create level */
Level level = {
.width = 0,
.height = 0,
.tiles = level_contents
};
/* create camera */
Camera camera = {
//.pos = {127, 63},
.pos = {level.tiles[0][0], level.tiles[1][0]}, /* test code */
.target = &player.pos,
.speed = 0.0005
};
//vec_cpy(&camera.pos, player.pos);
while ((int)camera.pos.x != (int)player.pos.x)
{
step_event(&player, &level, &camera);
draw_event(&player, &level, &camera);
}
return 0;
}
void step_event(Player *player, Level *level, Camera *camera)
{
player_step(player);
level_step(level);
camera_step(camera);
}
void draw_event(Player *player, Level *level, Camera *camera)
{
dclear(C_WHITE);
level_draw(level, camera);
player_draw(player, camera);
#ifdef DEBUG
camera_draw(camera);
#endif
dupdate();
}