gdk: Fix the project

This commit is contained in:
Nikita Krapivin 2023-05-27 01:56:01 +05:00 committed by Sam Lantinga
parent 128ca70160
commit 97a927b44e
4 changed files with 60 additions and 53 deletions

View file

@ -92,7 +92,7 @@ open_audio()
}
/* Let the audio run */
SDL_PauseAudioDevice(device, SDL_FALSE);
SDL_PlayAudioDevice(device);
}
static void
@ -256,10 +256,11 @@ LoadSprite(const char *file)
void
DrawSprites(SDL_Renderer * renderer, SDL_Texture * sprite)
{
SDL_Rect viewport, temp;
SDL_Rect viewport;
SDL_FRect temp;
/* Query the sizes */
SDL_RenderGetViewport(renderer, &viewport);
SDL_GetRenderViewport(renderer, &viewport);
/* Cycle the color and alpha, if desired */
if (cycle_color) {
@ -294,51 +295,51 @@ DrawSprites(SDL_Renderer * renderer, SDL_Texture * sprite)
/* Test points */
SDL_SetRenderDrawColor(renderer, 0xFF, 0x00, 0x00, 0xFF);
SDL_RenderDrawPoint(renderer, 0, 0);
SDL_RenderDrawPoint(renderer, viewport.w-1, 0);
SDL_RenderDrawPoint(renderer, 0, viewport.h-1);
SDL_RenderDrawPoint(renderer, viewport.w-1, viewport.h-1);
SDL_RenderPoint(renderer, 0.0f, 0.0f);
SDL_RenderPoint(renderer, (float)(viewport.w - 1), 0.0f);
SDL_RenderPoint(renderer, 0.0f, (float)(viewport.h - 1));
SDL_RenderPoint(renderer, (float)(viewport.w - 1), (float)(viewport.h - 1));
/* Test horizontal and vertical lines */
SDL_SetRenderDrawColor(renderer, 0x00, 0xFF, 0x00, 0xFF);
SDL_RenderDrawLine(renderer, 1, 0, viewport.w-2, 0);
SDL_RenderDrawLine(renderer, 1, viewport.h-1, viewport.w-2, viewport.h-1);
SDL_RenderDrawLine(renderer, 0, 1, 0, viewport.h-2);
SDL_RenderDrawLine(renderer, viewport.w-1, 1, viewport.w-1, viewport.h-2);
SDL_RenderLine(renderer, 1.0f, 0.0f, (float)(viewport.w - 2), 0.0f);
SDL_RenderLine(renderer, 1.0f, (float)(viewport.h - 1), (float)(viewport.w - 2), (float)(viewport.h - 1));
SDL_RenderLine(renderer, 0.0f, 1.0f, 0.0f, (float)(viewport.h - 2));
SDL_RenderLine(renderer, (float)(viewport.w - 1), 1, (float)(viewport.w - 1), (float)(viewport.h - 2));
/* Test fill and copy */
SDL_SetRenderDrawColor(renderer, 0xFF, 0xFF, 0xFF, 0xFF);
temp.x = 1;
temp.y = 1;
temp.w = sprite_w;
temp.h = sprite_h;
temp.x = 1.0f;
temp.y = 1.0f;
temp.w = (float)sprite_w;
temp.h = (float)sprite_h;
SDL_RenderFillRect(renderer, &temp);
SDL_RenderCopy(renderer, sprite, NULL, &temp);
temp.x = viewport.w-sprite_w-1;
temp.y = 1;
temp.w = sprite_w;
temp.h = sprite_h;
SDL_RenderTexture(renderer, sprite, NULL, &temp);
temp.x = (float)(viewport.w-sprite_w-1);
temp.y = 1.0f;
temp.w = (float)sprite_w;
temp.h = (float)sprite_h;
SDL_RenderFillRect(renderer, &temp);
SDL_RenderCopy(renderer, sprite, NULL, &temp);
temp.x = 1;
temp.y = viewport.h-sprite_h-1;
temp.w = sprite_w;
temp.h = sprite_h;
SDL_RenderTexture(renderer, sprite, NULL, &temp);
temp.x = 1.0f;
temp.y = (float)(viewport.h-sprite_h-1);
temp.w = (float)sprite_w;
temp.h = (float)sprite_h;
SDL_RenderFillRect(renderer, &temp);
SDL_RenderCopy(renderer, sprite, NULL, &temp);
temp.x = viewport.w-sprite_w-1;
temp.y = viewport.h-sprite_h-1;
temp.w = sprite_w;
temp.h = sprite_h;
SDL_RenderTexture(renderer, sprite, NULL, &temp);
temp.x = (float)(viewport.w-sprite_w-1);
temp.y = (float)(viewport.h-sprite_h-1);
temp.w = (float)(sprite_w);
temp.h = (float)(sprite_h);
SDL_RenderFillRect(renderer, &temp);
SDL_RenderCopy(renderer, sprite, NULL, &temp);
SDL_RenderTexture(renderer, sprite, NULL, &temp);
/* Test diagonal lines */
SDL_SetRenderDrawColor(renderer, 0x00, 0xFF, 0x00, 0xFF);
SDL_RenderDrawLine(renderer, sprite_w, sprite_h,
viewport.w-sprite_w-2, viewport.h-sprite_h-2);
SDL_RenderDrawLine(renderer, viewport.w-sprite_w-2, sprite_h,
sprite_w, viewport.h-sprite_h-2);
SDL_RenderLine(renderer, (float)sprite_w, (float)sprite_h,
(float)(viewport.w-sprite_w-2), (float)(viewport.h-sprite_h-2));
SDL_RenderLine(renderer, (float)(viewport.w-sprite_w-2), (float)sprite_h,
(float)sprite_w, (float)(viewport.h-sprite_h-2));
/* Update the screen! */
SDL_RenderPresent(renderer);
@ -352,12 +353,12 @@ loop()
/* Check for events */
while (SDL_PollEvent(&event)) {
if (event.type == SDL_KEYDOWN && !event.key.repeat) {
SDL_Log("Initial SDL_KEYDOWN: %s", SDL_GetScancodeName(event.key.keysym.scancode));
if (event.type == SDL_EVENT_KEY_DOWN && !event.key.repeat) {
SDL_Log("Initial SDL_EVENT_KEY_DOWN: %s", SDL_GetScancodeName(event.key.keysym.scancode));
}
#if defined(__XBOXONE__) || defined(__XBOXSERIES__)
/* On Xbox, ignore the keydown event because the features aren't supported */
if (event.type != SDL_KEYDOWN) {
if (event.type != SDL_EVENT_KEY_DOWN) {
SDLTest_CommonEvent(state, &event, &done);
}
#else