123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- #include <tice.h>
- #include <graphx.h>
- #include <keypadc.h>
- #include <debug.h>
- #include "gfx/main_gfx.h"
- #include "lib/vector.h"
- #include "object.h"
- float scale = 3.0;
- int frameskip = 10;
- int max_width = LCD_WIDTH;
- int max_height = LCD_HEIGHT;
- kb_key_t arrows;
- int frame = 0;
- Object* player;
- void log(char* msg){
- dbg_sprintf(dbgout, "[TBP] %s\n", msg);
- }
- int main(void){
- log("New Object");
- player = new_Object(0, 0);
- log("Get max sizes");
- if(bm3->height > bm5->height){
- max_height -= bm3->height * scale;
- }else{
- max_height -= bm5->height * scale;
- }
- if(bm11->width > bm13->width){
- max_width -= bm11->width * scale;
- }else{
- max_width -= bm13->width * scale;
- }
- log("Set scale");
- player->scale.x = scale;
- player->scale.y = scale;
- log("Start graphics");
- gfx_Begin();
- gfx_SetPalette(main_palette, sizeof_main_palette, 0);
- gfx_SetDrawBuffer();
- log("Main loop");
- do{
- player->sprite = bm1;
- kb_Scan();
- arrows = kb_Data[7];
- if(arrows & kb_Down){
- if(player->y < max_height){
- player->y++;
- if(frame > 2){
- player->sprite = bm3;
- }else{
- player->sprite = bm5;
- }
- }
- }else if(arrows & kb_Up){
- if(player->y > 0){
- player->y--;
- if(frame > 2){
- player->sprite = bm19;
- }else{
- player->sprite = bm21;
- }
- }
- }
- if(arrows & kb_Right){
- if(player->x < max_width){
- player->x++;
- if(frame > 2){
- player->sprite = bm11;
- }else{
- player->sprite = bm13;
- }
- }
- }else if(arrows & kb_Left){
- if(player->x > 0){
- player->x--;
- if(frame > 2){
- player->sprite = bm7;
- }else{
- player->sprite = bm9;
- }
- }
- }
- gfx_FillScreen(0);
- player->draw(player);
- gfx_BlitBuffer();
- frame++;
- if(frame > frameskip){
- frame = 0;
- }
- }while (! (kb_Data[6] & kb_Clear));
- player->free(player);
- gfx_End();
- return 0;
- }
|