mirror of
https://gitlab.com/dosowisko.net/libsuperderpy.git
synced 2025-02-08 06:06:43 +01:00
tweaks for character positions
This commit is contained in:
parent
f73b9abd26
commit
b983eac305
4 changed files with 9 additions and 8 deletions
|
@ -46,7 +46,7 @@ void SelectSpritesheet(struct Game *game, struct Character *character, char* nam
|
|||
//game->level.sheet_scale = tmp->scale;
|
||||
//game->level.sheet_successor = tmp->successor;
|
||||
if (character->bitmap) al_destroy_bitmap(character->bitmap);
|
||||
character->bitmap = al_create_bitmap((game->viewport.height*0.25)*tmp->aspect*tmp->scale, (game->viewport.height*0.25)*tmp->scale);
|
||||
character->bitmap = al_create_bitmap((game->viewport.height*0.25)*tmp->aspect*tmp->scale, (game->viewport.height*0.25)*tmp->scale); // FIXME: dimensions!
|
||||
PrintConsole(game, "SUCCESS: Spritesheet for %s activated: %s (%dx%d)", character->name, name, al_get_bitmap_width(character->bitmap), al_get_bitmap_height(character->bitmap));
|
||||
return;
|
||||
}
|
||||
|
@ -202,7 +202,7 @@ void DrawCharacter(struct Game *game, struct Character *character, ALLEGRO_COLOR
|
|||
al_draw_bitmap_region(character->spritesheet->bitmap, al_get_bitmap_width(character->bitmap)*(character->pos%character->spritesheet->cols),al_get_bitmap_height(character->bitmap)*(character->pos/character->spritesheet->cols),al_get_bitmap_width(character->bitmap), al_get_bitmap_height(character->bitmap),0,0,0);
|
||||
al_set_target_bitmap(al_get_backbuffer(game->display));
|
||||
|
||||
al_draw_tinted_rotated_bitmap(character->bitmap, tilt, al_get_bitmap_width(character->bitmap), al_get_bitmap_height(character->bitmap)/2, character->x*game->viewport.width + game->viewport.width*0.1953125, character->y*game->viewport.height + al_get_bitmap_height(character->bitmap)/2, character->angle, flags); // FIXME: viewport height? omg character should have its dimensions ;_;
|
||||
al_draw_tinted_rotated_bitmap(character->bitmap, tilt, al_get_bitmap_width(character->bitmap), al_get_bitmap_height(character->bitmap)/2, character->x*game->viewport.width + al_get_bitmap_width(character->bitmap), character->y*game->viewport.height + al_get_bitmap_height(character->bitmap)/2, character->angle, flags); // FIXME: viewport height? omg character should have its dimensions ;_;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -173,7 +173,7 @@ struct Level1Resources* Gamestate_Load(struct Game *game) {
|
|||
RegisterSpritesheet(game, character, "stand");
|
||||
RegisterSpritesheet(game, character, "fly");
|
||||
RegisterSpritesheet(game, character, "run");
|
||||
SelectSpritesheet(game, character, "walk");
|
||||
SelectSpritesheet(game, character, "run");
|
||||
SetCharacterPosition(game, character, 0.1, 0.7, 0);
|
||||
data->dodger = Dodger_Load(game, character);
|
||||
|
||||
|
|
|
@ -126,11 +126,11 @@ void Dodger_Logic(struct Game *game, struct Dodger* data) {
|
|||
}
|
||||
|
||||
void Dodger_Draw(struct Game *game, struct Dodger* data) {
|
||||
int derpyx = data->character->x*game->viewport.height*1.6;
|
||||
int derpyx = data->character->x*game->viewport.width;
|
||||
int derpyy = data->character->y*game->viewport.height;
|
||||
int derpyw = al_get_bitmap_width(data->character->bitmap);
|
||||
int derpyh = al_get_bitmap_height(data->character->bitmap);
|
||||
int derpyo = game->viewport.height*1.6*0.1953125-al_get_bitmap_width(data->character->bitmap); /* offset */
|
||||
int derpyo = 0;//game->viewport.height*1.6*0.1953125-al_get_bitmap_width(data->character->bitmap); /* offset */
|
||||
bool colision = false;
|
||||
struct Obstacle *tmp = data->obstacles;
|
||||
while (tmp) {
|
||||
|
@ -198,7 +198,7 @@ struct Dodger* Dodger_Load(struct Game *game, struct Character *character) {
|
|||
data->speed = 0;
|
||||
data->speed_modifier = 1;
|
||||
data->handle_input = true;
|
||||
data->debug_show_sprite_frames=false;
|
||||
data->debug_show_sprite_frames=true;
|
||||
|
||||
return data;
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ bool DoMoonwalk(struct Game *game, struct TM_Action *action, enum TM_ActionState
|
|||
struct Character *derpy = action->arguments->value;
|
||||
if (state == TM_ACTIONSTATE_START) {
|
||||
SelectSpritesheet(game, derpy, "walk");
|
||||
SetCharacterPosition(game, derpy, -0.2, 0.71, 0);
|
||||
SetCharacterPosition(game, derpy, -(al_get_bitmap_width(derpy->bitmap)/(float)game->viewport.width)*1.1, 0.71, 0);
|
||||
}
|
||||
else if (state == TM_ACTIONSTATE_RUNNING) {
|
||||
MoveCharacter(game, derpy, 0.0009 , 0, 0);
|
||||
|
@ -51,7 +51,7 @@ void Moonwalk_Draw(struct Game *game, struct Moonwalk *data) {
|
|||
}
|
||||
|
||||
void Moonwalk_Start(struct Game *game, struct Moonwalk *data) {
|
||||
SelectSpritesheet(game, data->derpy, "walk");
|
||||
SelectSpritesheet(game, data->derpy, "stand");
|
||||
al_play_sample_instance(data->music);
|
||||
// TODO: find some way to restart Timeline
|
||||
}
|
||||
|
@ -73,6 +73,7 @@ struct Moonwalk* Moonwalk_Load(struct Game *game, int current_level) {
|
|||
|
||||
data->derpy = CreateCharacter(game, "derpy");
|
||||
|
||||
RegisterSpritesheet(game, data->derpy, "stand");
|
||||
RegisterSpritesheet(game, data->derpy, "walk");
|
||||
|
||||
data->current_level = current_level;
|
||||
|
|
Loading…
Reference in a new issue