mirror of
https://gitlab.com/dosowisko.net/libsuperderpy.git
synced 2025-02-01 11:06:44 +01:00
Aspect ratio teaks in levels
This commit is contained in:
parent
b0e3a09e6a
commit
6a8d7d0d8a
5 changed files with 21 additions and 26 deletions
|
@ -4,12 +4,7 @@
|
|||
[X] Moonwalk
|
||||
[X] Pauza
|
||||
[X] Mapa
|
||||
[ ] Level 1
|
||||
[ ] Przeszkody
|
||||
[ ] HP
|
||||
[ ] Pozycja Derpy
|
||||
[ ] Animacja Derpy
|
||||
[ ] Owlicious
|
||||
[X] Level 1
|
||||
[ ] About
|
||||
|
||||
- pomyśleć nad vsyncem
|
||||
|
|
|
@ -188,12 +188,12 @@ void Level_Draw(struct Game *game) {
|
|||
al_set_target_bitmap(game->level.meter_bmp);
|
||||
al_clear_to_color(al_map_rgba(0,0,0,0));
|
||||
al_draw_filled_rounded_rectangle(al_get_bitmap_width(game->level.meter_bmp)*0.1, al_get_bitmap_height(game->level.meter_bmp)*0.34, al_get_bitmap_width(game->level.meter_bmp)*0.993, al_get_bitmap_height(game->level.meter_bmp)*0.66, 6,6, al_map_rgb(232,234,239));
|
||||
al_draw_horizontal_gradient_rect(al_get_bitmap_width(game->level.meter_bmp)-game->viewportWidth*0.215, (al_get_bitmap_height(game->level.meter_bmp)-game->viewportHeight*0.025)/2, game->viewportWidth*0.215*0.975, game->viewportHeight*0.025, al_map_rgb(150,159,182), al_map_rgb(130,139,162));
|
||||
al_draw_filled_rectangle(al_get_bitmap_width(game->level.meter_bmp)-game->viewportWidth*0.215, (al_get_bitmap_height(game->level.meter_bmp)-game->viewportHeight*0.025)/2, al_get_bitmap_width(game->level.meter_bmp)-game->viewportWidth*0.215+(game->viewportWidth*0.215*0.975)*game->level.hp, (al_get_bitmap_height(game->level.meter_bmp)-game->viewportHeight*0.025)/2+game->viewportHeight*0.025, al_map_rgb(214,172,55));
|
||||
al_draw_horizontal_gradient_rect(al_get_bitmap_width(game->level.meter_bmp)-game->viewportHeight*1.6*0.215, (al_get_bitmap_height(game->level.meter_bmp)-game->viewportHeight*0.025)/2, game->viewportHeight*1.6*0.215*0.975, game->viewportHeight*0.025, al_map_rgb(150,159,182), al_map_rgb(130,139,162));
|
||||
al_draw_filled_rectangle(al_get_bitmap_width(game->level.meter_bmp)-game->viewportHeight*1.6*0.215, (al_get_bitmap_height(game->level.meter_bmp)-game->viewportHeight*0.025)/2, al_get_bitmap_width(game->level.meter_bmp)-game->viewportHeight*1.6*0.215+(game->viewportHeight*1.6*0.215*0.975)*game->level.hp, (al_get_bitmap_height(game->level.meter_bmp)-game->viewportHeight*0.025)/2+game->viewportHeight*0.025, al_map_rgb(214,172,55));
|
||||
al_draw_bitmap(game->level.meter_image, 0, 0, 0);
|
||||
al_set_target_bitmap(al_get_backbuffer(game->display));
|
||||
|
||||
al_draw_tinted_bitmap(game->level.meter_bmp, al_map_rgba(game->level.meter_alpha,game->level.meter_alpha,game->level.meter_alpha,game->level.meter_alpha), game->viewportWidth*0.95-al_get_bitmap_width(game->level.meter_bmp), game->viewportHeight*0.975-al_get_bitmap_height(game->level.meter_bmp), 0);
|
||||
al_draw_tinted_bitmap(game->level.meter_bmp, al_map_rgba(game->level.meter_alpha,game->level.meter_alpha,game->level.meter_alpha,game->level.meter_alpha), game->viewportWidth-al_get_bitmap_width(game->level.meter_bmp)*1.1, game->viewportHeight*0.975-al_get_bitmap_height(game->level.meter_bmp), 0);
|
||||
|
||||
TM_Draw();
|
||||
}
|
||||
|
@ -361,9 +361,9 @@ void Level_PreloadBitmaps(struct Game *game, void (*progress)(struct Game*, floa
|
|||
PROGRESS;
|
||||
game->level.stage = LoadScaledBitmap(GetLevelFilename(game, "levels/?/stage.png"), game->viewportHeight*4.73307291666666666667, game->viewportHeight);
|
||||
PROGRESS;
|
||||
game->level.meter_image = LoadScaledBitmap("levels/meter.png", game->viewportWidth*0.075, game->viewportWidth*0.075*0.96470588235294117647);
|
||||
game->level.meter_image = LoadScaledBitmap("levels/meter.png", game->viewportHeight*1.6*0.075, game->viewportHeight*1.6*0.075*0.96470588235294117647);
|
||||
PROGRESS;
|
||||
game->level.meter_bmp = al_create_bitmap(game->viewportWidth*0.2+al_get_bitmap_width(game->level.meter_image), al_get_bitmap_height(game->level.meter_image));
|
||||
game->level.meter_bmp = al_create_bitmap(game->viewportHeight*1.6*0.2+al_get_bitmap_width(game->level.meter_image), al_get_bitmap_height(game->level.meter_image));
|
||||
PROGRESS;
|
||||
game->level.welcome = al_create_bitmap(game->viewportWidth, game->viewportHeight/2);
|
||||
PROGRESS;
|
||||
|
|
|
@ -60,7 +60,7 @@ void Level1_Load(struct Game *game) {
|
|||
struct Obstacle *obst = malloc(sizeof(struct Obstacle));
|
||||
obst->prev = NULL;
|
||||
obst->next = NULL;
|
||||
obst->x = 83.5;
|
||||
obst->x = (game->viewportHeight*1.33625)/game->viewportWidth*100;
|
||||
obst->y = 55;
|
||||
obst->speed = 1;
|
||||
obst->points = 0;
|
||||
|
@ -99,7 +99,7 @@ inline int Level1_PreloadSteps(void) {
|
|||
|
||||
void Level1_PreloadBitmaps(struct Game *game, void (*progress)(struct Game*, float)) {
|
||||
PROGRESS_INIT(Level1_PreloadSteps());
|
||||
game->level.level1.owl = LoadScaledBitmap("levels/1/owl.png", game->viewportWidth*0.08, game->viewportWidth*0.08);
|
||||
game->level.level1.owl = LoadScaledBitmap("levels/1/owl.png", game->viewportHeight*0.1275, game->viewportHeight*0.1275);
|
||||
PROGRESS;
|
||||
game->level.letter_font = al_load_ttf_font(GetDataFilePath("fonts/DejaVuSans.ttf"),game->viewportHeight*0.0225,0 );
|
||||
PROGRESS;
|
||||
|
|
|
@ -60,11 +60,11 @@ void Dodger_Logic(struct Game *game) {
|
|||
game->level.derpy_y += game->level.derpy_angle / 30;
|
||||
}
|
||||
|
||||
int derpyx = game->level.derpy_x*game->viewportWidth;
|
||||
int derpyx = game->level.derpy_x*game->viewportHeight*1.6;
|
||||
int derpyy = game->level.derpy_y*game->viewportHeight;
|
||||
int derpyw = al_get_bitmap_width(game->level.derpy);
|
||||
int derpyh = al_get_bitmap_height(game->level.derpy);
|
||||
int derpyo = game->viewportWidth*0.1953125-al_get_bitmap_width(game->level.derpy); /* offset */
|
||||
int derpyo = game->viewportHeight*1.6*0.1953125-al_get_bitmap_width(game->level.derpy); /* offset */
|
||||
struct Obstacle *tmp = game->level.dodger.obstacles;
|
||||
while (tmp) {
|
||||
/*PrintConsole(game, "DRAWING %f %f", tmp->x, tmp->y);*/
|
||||
|
@ -123,11 +123,11 @@ void Dodger_Logic(struct Game *game) {
|
|||
}
|
||||
|
||||
void Dodger_Draw(struct Game *game) {
|
||||
int derpyx = game->level.derpy_x*game->viewportWidth;
|
||||
int derpyx = game->level.derpy_x*game->viewportHeight*1.6;
|
||||
int derpyy = game->level.derpy_y*game->viewportHeight;
|
||||
int derpyw = al_get_bitmap_width(game->level.derpy);
|
||||
int derpyh = al_get_bitmap_height(game->level.derpy);
|
||||
int derpyo = game->viewportWidth*0.1953125-al_get_bitmap_width(game->level.derpy); /* offset */
|
||||
int derpyo = game->viewportHeight*1.6*0.1953125-al_get_bitmap_width(game->level.derpy); /* offset */
|
||||
bool colision = false;
|
||||
struct Obstacle *tmp = game->level.dodger.obstacles;
|
||||
while (tmp) {
|
||||
|
@ -173,7 +173,7 @@ void Dodger_Draw(struct Game *game) {
|
|||
al_draw_bitmap_region(*(game->level.derpy_sheet),al_get_bitmap_width(game->level.derpy)*(game->level.sheet_pos%game->level.sheet_cols),al_get_bitmap_height(game->level.derpy)*(game->level.sheet_pos/game->level.sheet_cols),al_get_bitmap_width(game->level.derpy), al_get_bitmap_height(game->level.derpy),0,0,0);
|
||||
al_set_target_bitmap(al_get_backbuffer(game->display));
|
||||
|
||||
al_draw_tinted_rotated_bitmap(game->level.derpy, al_map_rgba(255,255-colision*255,255-colision*255,255), al_get_bitmap_width(game->level.derpy), al_get_bitmap_height(game->level.derpy)/2, derpyx+game->viewportWidth*0.1953125, derpyy + al_get_bitmap_height(game->level.derpy)/2, game->level.derpy_angle, 0);
|
||||
al_draw_tinted_rotated_bitmap(game->level.derpy, al_map_rgba(255,255-colision*255,255-colision*255,255), al_get_bitmap_width(game->level.derpy), al_get_bitmap_height(game->level.derpy)/2, derpyx+game->viewportHeight*1.6*0.1953125, derpyy + al_get_bitmap_height(game->level.derpy)/2, game->level.derpy_angle, 0);
|
||||
|
||||
/* if ((((x>=derpyx+0.36*derpyw) && (x<=derpyx+0.94*derpyw)) || ((x+w>=derpyx+0.36*derpyw) && (x+w<=derpyx+0.94*derpyw))) &&
|
||||
(((y>=derpyy+0.26*derpyh) && (y<=derpyy+0.76*derpyh)) || ((y+h>=derpyy+0.26*derpyh) && (y+h<=derpyy+0.76*derpyh)))) {
|
||||
|
@ -224,19 +224,19 @@ inline int Dodger_PreloadSteps(void) {
|
|||
|
||||
void Dodger_PreloadBitmaps(struct Game *game, void (*progress)(struct Game*, float)) {
|
||||
PROGRESS_INIT(Dodger_PreloadSteps());
|
||||
game->level.dodger.obst_bmps.pie1 = LoadScaledBitmap("levels/dodger/pie1.png", game->viewportWidth*0.1, game->viewportHeight*0.08);
|
||||
game->level.dodger.obst_bmps.pie1 = LoadScaledBitmap("levels/dodger/pie1.png", game->viewportHeight*1.6*0.1, game->viewportHeight*0.08);
|
||||
PROGRESS;
|
||||
game->level.dodger.obst_bmps.pie2 = LoadScaledBitmap("levels/dodger/pie2.png", game->viewportWidth*0.1, game->viewportHeight*0.08);
|
||||
game->level.dodger.obst_bmps.pie2 = LoadScaledBitmap("levels/dodger/pie2.png", game->viewportHeight*1.6*0.1, game->viewportHeight*0.08);
|
||||
PROGRESS;
|
||||
game->level.dodger.obst_bmps.pig = LoadScaledBitmap("levels/dodger/pig.png", (int)(game->viewportWidth*0.15)*3, (int)(game->viewportHeight*0.2)*3);
|
||||
game->level.dodger.obst_bmps.pig = LoadScaledBitmap("levels/dodger/pig.png", (int)(game->viewportHeight*1.6*0.15)*3, (int)(game->viewportHeight*0.2)*3);
|
||||
PROGRESS;
|
||||
game->level.dodger.obst_bmps.screwball = LoadScaledBitmap("levels/dodger/screwball.png", (int)(game->viewportHeight*0.2)*4*1.4, (int)(game->viewportHeight*0.2)*4);
|
||||
PROGRESS;
|
||||
game->level.dodger.obst_bmps.muffin = LoadScaledBitmap("levels/dodger/muffin.png", game->viewportWidth*0.07, game->viewportHeight*0.1);
|
||||
game->level.dodger.obst_bmps.muffin = LoadScaledBitmap("levels/dodger/muffin.png", game->viewportHeight*1.6*0.07, game->viewportHeight*0.1);
|
||||
PROGRESS;
|
||||
game->level.dodger.obst_bmps.cherry = LoadScaledBitmap("levels/dodger/cherry.png", game->viewportWidth*0.03, game->viewportHeight*0.08);
|
||||
game->level.dodger.obst_bmps.cherry = LoadScaledBitmap("levels/dodger/cherry.png", game->viewportHeight*1.6*0.03, game->viewportHeight*0.08);
|
||||
PROGRESS;
|
||||
game->level.dodger.obst_bmps.badmuffin = LoadScaledBitmap("levels/dodger/badmuffin.png", game->viewportWidth*0.07, game->viewportHeight*0.1);
|
||||
game->level.dodger.obst_bmps.badmuffin = LoadScaledBitmap("levels/dodger/badmuffin.png", game->viewportHeight*1.6*0.07, game->viewportHeight*0.1);
|
||||
PROGRESS;
|
||||
}
|
||||
|
||||
|
|
|
@ -36,8 +36,8 @@ bool Accelerate(struct Game *game, struct TM_Action *action, enum TM_ActionState
|
|||
bool Walk(struct Game *game, struct TM_Action *action, enum TM_ActionState state) {
|
||||
if (state == TM_ACTIONSTATE_START) SelectDerpySpritesheet(game, "walk");
|
||||
else if (state != TM_ACTIONSTATE_RUNNING) return false;
|
||||
game->level.derpy_x+=0.001;
|
||||
if (game->level.derpy_x>=0.05) return true;
|
||||
game->level.derpy_x+=(0.00125*1280)/(float)game->viewportWidth;
|
||||
if (game->level.derpy_x>=(0.05*1280)/(float)game->viewportWidth) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue