From 7475d478f588a9df8cee4000e50aaf4687bb7ca7 Mon Sep 17 00:00:00 2001 From: Milang Date: Mon, 17 Feb 2020 18:43:16 +0100 Subject: [PATCH] some code cleaning --- SuperCbr.g1a | Bin 63976 -> 63476 bytes src/camera.c | 1 + src/config.c | 32 ++------ src/world.c | 223 ++++++++++++++++++++++----------------------------- 4 files changed, 102 insertions(+), 154 deletions(-) diff --git a/SuperCbr.g1a b/SuperCbr.g1a index 91449f8b89616916819d3d1dce3705f85cbf2747..0934fb05df656255d8e6684bb0bd9f180e70a9cd 100644 GIT binary patch delta 4166 zcmZ8k4^WiH72o~tz&j4%L^x5=I}Sz=nB1bY5=1-*%1IbW;LBGHM)Xp5t~%0DVu+t+d-vgKG{c) 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 X=UJHkq5lNVol90wyIvX^*9-p#z#KbB diff --git a/src/camera.c b/src/camera.c index fbbfd60..e52c352 100644 --- a/src/camera.c +++ b/src/camera.c @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/src/config.c b/src/config.c index 76c3c9f..f2a02cc 100644 --- a/src/config.c +++ b/src/config.c @@ -1,35 +1,15 @@ -#include "config.h" +#include + +#include #include + #include -#include #include -extern image_t img_tickbox; - -char loglevels[6][14]={"--all","--information","--warning","--critical","--fatal","--mute"}; - void configmenu() { MKB_clear(); - font_t const * const f=dfont(0); - while (1) - { - dclear(C_WHITE); - drect(0,0,128,7,C_BLACK); - dtext(0,0,"Configuration Menu : ", C_WHITE, C_NONE); - - dtext(0,9," > LOG", C_BLACK, C_NONE); - dtext(0,17," ", C_BLACK, C_NONE); - - dtext(40,9,&loglevels[ll_get_level()][0],C_BLACK,C_NONE); - dupdate(); - ll_pause(); - int key=MKB_getkey(); - if (key==KEY_EXIT) - break; - } + ll_pause(); MKB_clear(); - dfont(f); - -} \ No newline at end of file +} diff --git a/src/world.c b/src/world.c index 099df6a..0612711 100755 --- a/src/world.c +++ b/src/world.c @@ -1,19 +1,23 @@ -#include "world.h" -#include "tile.h" -#include "mario.h" -#include "ennemi.h" -#include -#include "bonus.h" -#include -#include "constants.h" -#include "ennemi.h" +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include #include #include #include -#include -#include -#include -#include + +#include + +#include #include #include @@ -43,129 +47,98 @@ void cellDraw(int cx, int cy, int sx, int sy, int plan) const cell_t * cell=worldGetCell(cx,cy); if (cell==0) return; - if (plan==1) + if (plan==1) switch (cell->type) { - if (cell->type==TUYAU) - { - tuyau_t* i=(tuyau_t*)cell; - tileDraw(sx, sy, &tuyau, i->x, i->y); - } + case TUYAU: + tileDraw(sx, sy, &tuyau, ((tuyau_t*)cell)->x, ((tuyau_t*)cell)->y); + break; - if (cell->type==ARBRE) - { - arbre_t* i=(arbre_t*)cell; - tileDraw(sx, sy, &arbre, i->x, i->y); - } + case ARBRE: + tileDraw(sx, sy, &arbre, ((arbre_t*)cell)->x, ((arbre_t*)cell)->y); + break; + case EARTH: + tileDraw(sx, sy, &earth, ((earth_t*)cell)->x, ((earth_t*)cell)->y); + break; - if (cell->type==EARTH) - { - earth_t* i=(earth_t*)cell; - tileDraw(sx, sy, &earth, i->x, i->y); - } - if (cell->type==BLOC) - { - tileDraw(sx, sy, &bloc, 0, 0); - } + case BLOC: + tileDraw(sx, sy, &bloc, 0, 0); + break; - if (cell->type==BLOC) + case BRICK: + if (((brick_t*)cell)->time_hit_id) // calculate collision animation { - tileDraw(sx, sy, &bloc, 0, 0); + ((brick_t*)cell)->time_hit_id++; // Next frame for the animation + sy+=2+(((brick_t*)cell)->time_hit_id-4)/4; // For the brick coordinate + if (((brick_t*)cell)->time_hit_id==8) ((brick_t*)cell)->time_hit_id=0; // End of animation + if (((brick_t*)cell)->state==1 && ((brick_t*)cell)->time_hit_id==0) ((brick_t*)cell)->type=0; // Delete brick } + if (!((brick_t*)cell)->hidden) + { + if (((brick_t*)cell)->time_hit_id || !((brick_t*)cell)->content || !((brick_t*)cell)->number) tileDraw(sx, sy, &brick, 0, ((brick_t*)cell)->state); + else tileDraw(sx, sy, &gift, 1, 0); + if (((brick_t*)cell)->content==1 && ((brick_t*)cell)->time_hit_id && ((brick_t*)cell)->time_hit_id<=4) tileDraw(sx, sy+8, &coin, 0, 0); + } + break; - if (cell->type==BRICK) + case GIFT: + if (((gift_t*)cell)->time_hit_id) { - brick_t* i=(brick_t*)cell; - if (i->time_hit_id) - { - i->time_hit_id++; - sy+=2+(i->time_hit_id-4)/4; - if (i->time_hit_id==8) - i->time_hit_id=0; - if (i->state==1 && i->time_hit_id==0) - i->type=0; - } - if (i->hidden==0) - { - if (i->time_hit_id || i->content==0 || i->number>0) - tileDraw(sx, sy, &brick, 0, i->state); - else - tileDraw(sx, sy, &gift, 1, 0); - if (i->content==1 && i->time_hit_id && i->time_hit_id<=4) - tileDraw(sx, sy+8, &coin, 0, 0); - } + ((gift_t*)cell)->time_hit_id++; + sy+=2+(((gift_t*)cell)->time_hit_id-4)/4; + if (((gift_t*)cell)->time_hit_id==8) ((gift_t*)cell)->time_hit_id=0; } - - if (cell->type==GIFT) + if (((gift_t*)cell)->hidden==0) { - gift_t* i=(gift_t*)cell; - if (i->time_hit_id) - { - i->time_hit_id++; - sy+=2+(i->time_hit_id-4)/4; - if (i->time_hit_id==8) - i->time_hit_id=0; - } - if (i->hidden==0) - { - if (i->time_hit_id || i->number) - tileDraw(sx, sy, &gift, 0, 0); - else - tileDraw(sx, sy, &gift, 1, 0); - if (i->content==1 && i->time_hit_id && i->time_hit_id<=4) - tileDraw(sx, sy+8, &coin, 0, 0); - } + if (((gift_t*)cell)->time_hit_id || ((gift_t*)cell)->number) tileDraw(sx, sy, &gift, 0, 0); + else tileDraw(sx, sy, &gift, 1, 0); + if (((gift_t*)cell)->content==1 && ((gift_t*)cell)->time_hit_id && ((gift_t*)cell)->time_hit_id<=4) tileDraw(sx, sy+8, &coin, 0, 0); } + break; } - else + else switch (cell->type) { - if (cell->type==COIN) - { - coin_t const * i=(coin_t*)cell; - tileDraw(sx, sy, &coin, i->taken, 0); - } + case COIN: + tileDraw(sx, sy, &coin, ((coin_t*)cell)->taken, 0); + break; - if (cell->type==BUISSON || cell->type==NUAGE || cell->type==COLLINE || cell->type==CASTLE || cell->type==END_LEVEL) - { - deco_t* i=(deco_t*)cell; - if (i->type==BUISSON) - tileDraw(sx, sy, &buisson, i->x, i->y); - if (i->type==NUAGE) - tileDraw(sx, sy, &nuage, i->x, i->y); - if (i->type==COLLINE) - tileDraw(sx, sy, &colline, i->x, i->y); - if (i->type==CASTLE) - tileDraw(sx, sy, &castle, i->x, i->y); - if (i->type==END_LEVEL) - tileDraw(sx-8, sy, &end_level, 0, i->y); - } + case BUISSON: + tileDraw(sx, sy, &buisson, ((deco_t*)cell)->x, ((deco_t*)cell)->y); + break; + + case NUAGE: + tileDraw(sx, sy, &nuage, ((deco_t*)cell)->x, ((deco_t*)cell)->y); + break; + + case COLLINE: + tileDraw(sx, sy, &colline, ((deco_t*)cell)->x, ((deco_t*)cell)->y); + break; + + case CASTLE: + tileDraw(sx, sy, &castle, ((deco_t*)cell)->x, ((deco_t*)cell)->y); + break; + + case END_LEVEL: + tileDraw(sx, sy, &end_level, ((deco_t*)cell)->x, ((deco_t*)cell)->y); + break; } } int worldGetCellCategory(int x, int y) { - cell_t *c=worldGetCell(x,y); - if (c==0) - { - return CTG_DEATH; - } - if (platformsCollisionTest(x,y)) - return CTG_SOIL; - if (c->type==ARBRE) - { - arbre_t* a=(arbre_t*)c; - if (a->x==1&&a->y==1) - return CTG_EMPTY; - } + cell_t *c=worldGetCell(x,y); // get cell props + + if (c==0) return CTG_DEATH; // out of the map + + if (platformsCollisionTest(x,y)) return CTG_SOIL; // tested point is a platform + + if (c->type==ARBRE && (((arbre_t*)c)->x==1&&((arbre_t*)c)->y==1)) return CTG_EMPTY; // tree trunk + switch (c->type) { - case TUYAU: - case GIFT: - case BRICK: - case EARTH: - case BLOC: - case ARBRE: + case TUYAU: case GIFT: case BRICK: case EARTH: case BLOC: case ARBRE: return CTG_SOIL; + default: return CTG_EMPTY; } @@ -173,19 +146,17 @@ int worldGetCellCategory(int x, int y) void worldDraw() { - cameraMove(0); - //cameraAdjust(); - int mx0=cameraX(); - int my0=cameraY(); - int sx0=mx0%8; - int sy0=my0%8; + cameraMove(); + + const int mx0=cameraX(), my0=cameraY(); + const int sx0=mx0%8, sy0=my0%8; //background tiles for (int i=0, mx=mx0; i<=17; i++, mx+=8) for (int j=0, my=my0; j<=9; j++, my+=8) cellDraw(mx, my, 8*i-sx0, 8*j-sy0,0); + // animated items bonusDraw(); ennemiesDisplay(); - bulletsDraw(); platformsDraw(); marioDraw(); @@ -193,18 +164,14 @@ void worldDraw() //foreground tiles for (int i=0, mx=mx0; i<=17; i++, mx+=8) for (int j=0, my=my0; j<=9; j++, my+=8) cellDraw(mx, my, 8*i-sx0, 8*j-sy0,1); - // draw immunity remaining time - // It's a progress bar on the left side + // draw immunity remaining time [It's a progress bar on the left side of the screen] if (mario_immunity) drect(0,64-MARIO_IMMUNITY_TIME+mario_immunity,2,64, C_BLACK); } void worldMove() { MKB_update(); - for (int i=0; iw = w;