[nostalgia/core] Add Context buttonDown function

This commit is contained in:
Gary Talent 2022-02-13 02:21:38 -06:00
parent 0e7a090d28
commit 41cebff5fc
4 changed files with 9 additions and 10 deletions

View File

@ -55,7 +55,7 @@ uint64_t ticksMs(Context*) noexcept {
return g_timerMs;
}
bool buttonDown(Key k) noexcept {
bool buttonDown(Context*, Key k) noexcept {
return !(REG_GAMEPAD & k);
}

View File

@ -13,8 +13,6 @@
namespace nostalgia::core {
void draw(Context *ctx) noexcept;
ox::Result<ox::UniquePtr<Context>> init(ox::UniquePtr<ox::FileSystem> fs, const char *appName) noexcept {
auto ctx = ox::make_unique<Context>();
ctx->rom = std::move(fs);
@ -72,7 +70,7 @@ uint64_t ticksMs(Context *ctx) noexcept {
return static_cast<uint64_t>(now - id->startTime);
}
bool buttonDown(Key) noexcept {
bool buttonDown(Context*, Key) noexcept {
return false;
}
@ -82,5 +80,4 @@ ox::Error shutdown(Context *ctx) noexcept {
return OxError(0);
}
}

View File

@ -20,7 +20,9 @@ enum Key {
GamePad_L = 512,
};
class Context;
[[nodiscard]]
bool buttonDown(Key) noexcept;
bool buttonDown(Context *ctx, Key) noexcept;
}

View File

@ -10,14 +10,14 @@ static unsigned spriteX = 72;
static unsigned spriteY = 64;
static int eventHandler(core::Context *ctx) noexcept {
if (core::buttonDown(core::GamePad_Right)) {
if (core::buttonDown(ctx, core::GamePad_Right)) {
spriteX += 2;
} else if (core::buttonDown(core::GamePad_Left)) {
} else if (core::buttonDown(ctx, core::GamePad_Left)) {
spriteX -= 2;
}
if (core::buttonDown(core::GamePad_Down)) {
if (core::buttonDown(ctx, core::GamePad_Down)) {
spriteY += 2;
} else if (core::buttonDown(core::GamePad_Up)) {
} else if (core::buttonDown(ctx, core::GamePad_Up)) {
spriteY -= 2;
}
constexpr auto s = "nostalgia";