- [NEW] Passat a SDL3
- [NEW] Ara usa JailAudio - [NEW] Usant última versió de Respak - [NEW] Afegit lagueirtofile
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#include "jdraw.h"
|
||||
#include "SDL2/SDL.h"
|
||||
#include "gif.c"
|
||||
#include "SDL3/SDL.h"
|
||||
#include "gif.h"
|
||||
#include "jfile.h"
|
||||
|
||||
namespace draw
|
||||
@@ -42,12 +42,16 @@ namespace draw
|
||||
// [TODO] Incloure gestió de pantalla completa
|
||||
|
||||
// Inicialització de les estructures de SDL
|
||||
sdl_window = SDL_CreateWindow(titol.c_str(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, width * zoom, height * zoom, SDL_WINDOW_SHOWN);
|
||||
sdl_renderer = SDL_CreateRenderer(sdl_window, -1, 0);
|
||||
sdl_window = SDL_CreateWindow(titol.c_str(), width * zoom, height * zoom, 0);
|
||||
if (!sdl_window) { SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "ERROR: Failed to initialize window!\n"); exit(1); }
|
||||
sdl_renderer = SDL_CreateRenderer(sdl_window, NULL);
|
||||
if (!sdl_renderer) { SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "ERROR: Failed to initialize renderer!\n"); exit(1); }
|
||||
sdl_texture = SDL_CreateTexture(sdl_renderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, width, height);
|
||||
SDL_SetTextureScaleMode(sdl_texture, SDL_SCALEMODE_NEAREST);
|
||||
if (!sdl_texture) { SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "ERROR: Failed to initialize texture!\n"); exit(1); }
|
||||
|
||||
// Establim el tamany "logic", indepndent del tamany de finestra
|
||||
SDL_RenderSetLogicalSize(sdl_renderer, width, height);
|
||||
//SDL_SetRenderLogicalPresentation(sdl_renderer, width, height,);
|
||||
|
||||
// Creem la superficie "screen" i la establim com a superficie destinació
|
||||
screen = createSurface(width, height);
|
||||
@@ -58,7 +62,7 @@ namespace draw
|
||||
sel_color = transparent = 0;
|
||||
for (int i=0;i<256;++i) color_indices[i] = i;
|
||||
|
||||
SDL_ShowCursor(SDL_DISABLE);
|
||||
SDL_HideCursor();
|
||||
//textsurf = loadSurface("font.gif");
|
||||
}
|
||||
|
||||
@@ -114,7 +118,7 @@ namespace draw
|
||||
// Agafem un buffer de bytes de l'arxiu especificat
|
||||
// getFileBuffer() simplement ens torna el arxiu sencer dins de un array de char
|
||||
int size;
|
||||
uint8_t *buffer = (uint8_t *)file::getFileBuffer(filename, &size);
|
||||
uint8_t *buffer = (uint8_t *)file_getfilebuffer(filename.c_str(), size);
|
||||
|
||||
// Si ens ha tornat nullptr, es que no l'ha trobat, tornem nosaltres també nullptr ja que no s'ha pogut crear la superficie
|
||||
if (buffer == nullptr)
|
||||
@@ -230,7 +234,7 @@ namespace draw
|
||||
// Agafem un buffer de bytes de l'arxiu especificat
|
||||
// getFileBuffer() simplement ens torna el arxiu sencer dins de un array de char
|
||||
int size;
|
||||
uint8_t *buffer = (uint8_t *)file::getFileBuffer(filename, &size);
|
||||
uint8_t *buffer = (uint8_t *)file_getfilebuffer(filename.c_str(), size);
|
||||
|
||||
// Li passem el array del arxiu a LoadPalette. Ell ens torna un array de uint32_t amb la paleta
|
||||
// Van a ser 256 entrades de 32 bits, cada entrada es un color, amb el format 0xAARRGGBB
|
||||
@@ -497,14 +501,14 @@ namespace draw
|
||||
// i el enviem a la textura SDL
|
||||
for (uint32_t i = 0; i < size; ++i)
|
||||
{
|
||||
sdl_pixels[i] = palette[screen->pixels[i]];
|
||||
sdl_pixels[i] = palette[screen->pixels[i]] | 0xff000000;
|
||||
}
|
||||
|
||||
// Desbloquejem la textura
|
||||
SDL_UnlockTexture(sdl_texture);
|
||||
|
||||
// Pintem la textura a pantalla
|
||||
SDL_RenderCopy(sdl_renderer, sdl_texture, NULL, NULL);
|
||||
SDL_RenderTexture(sdl_renderer, sdl_texture, NULL, NULL);
|
||||
|
||||
// I ho presentem
|
||||
SDL_RenderPresent(sdl_renderer);
|
||||
|
||||
Reference in New Issue
Block a user