#include <client_api.h> pbm_t* player; int setup(int a) { player = f_bitmap("/player.pbm"); if (player) player->data[0] = 1 << 7; return 0; } float x = 0; float y = 0; int rot = 0; float speed = 80; bool flipX = false, flipY = false; int loop(int ms) { d_clear(); if (player) { d_pbm((uint16_t)roundf(x), (uint16_t)roundf(y), player, 0, 0, 0, 0, BLACK, WHITE, rot, flipX, flipY); } if (button_pressed(BUTTON_A)) { rot = (rot + 1) % 4; } if (button_pressed(BUTTON_B)) { flipX = !flipX; if (!flipX) { flipY = !flipY; } printf("Flip: %d %d\n", flipX, flipY); } float t = ms / 1000.0f; if (button_down(DPAD_RIGHT)) x += t * speed; if (button_down(DPAD_LEFT)) x -= t * speed; if (button_down(DPAD_DOWN)) y += t * speed; if (button_down(DPAD_UP)) y -= t * speed; return 0; }