Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.c
- // Extension
- //
- // Created by Dave Hayden on 7/30/14.
- // Copyright (c) 2014 Panic, Inc. All rights reserved.
- //
- #include <stdio.h>
- #include <stdlib.h>
- #include "pd_api.h"
- static int update(void* userdata);
- const char* fontpath = "/System/Fonts/Asheville-Sans-14-Bold.pft";
- LCDFont* font = NULL;
- #ifdef _WINDLL
- __declspec(dllexport)
- #endif
- int eventHandler(PlaydateAPI* pd, PDSystemEvent event, uint32_t arg)
- {
- (void)arg; // arg is currently only used for event = kEventKeyPressed
- if ( event == kEventInit )
- {
- const char* err;
- font = pd->graphics->loadFont(fontpath, &err);
- if ( font == NULL )
- pd->system->error("%s:%i Couldn't load font %s: %s", __FILE__, __LINE__, fontpath, err);
- // Note: If you set an update callback in the kEventInit handler, the system assumes the game is pure C and doesn't run any Lua code in the game
- pd->system->setUpdateCallback(update, pd);
- }
- return 0;
- }
- #define TEXT_WIDTH 86
- #define TEXT_HEIGHT 16
- int x = (400-TEXT_WIDTH)/2;
- int y = (240-TEXT_HEIGHT)/2;
- int dx = 1;
- int dy = 2;
- static int update(void* userdata)
- {
- PlaydateAPI* pd = userdata;
- pd->graphics->clear(kColorWhite);
- pd->graphics->setFont(font);
- pd->graphics->drawText("Hello World!", strlen("Hello World!"), kASCIIEncoding, x, y);
- PDButtons buttons;
- pd->system->getButtonState(&buttons, NULL, NULL);
- if ((buttons & kButtonB) != 0)
- {
- void* ptr = pd->system->realloc(0, 256*1024);
- if (ptr == NULL)
- {
- pd->system->logToConsole("malloc error");
- }
- else
- {
- pd->system->logToConsole("malloc success %p", ptr);
- }
- }
- x += dx;
- y += dy;
- if ( x < 0 || x > LCD_COLUMNS - TEXT_WIDTH )
- dx = -dx;
- if ( y < 0 || y > LCD_ROWS - TEXT_HEIGHT )
- dy = -dy;
- pd->system->drawFPS(0,0);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement