From 438edda7fd044c9588a3121459f037bfeaa2c3d5 Mon Sep 17 00:00:00 2001 From: Dominic Masters Date: Sat, 28 Mar 2026 10:56:40 -0500 Subject: [PATCH] Fixed knulli --- src/dusk/display/display.c | 37 +++++++++++++------------- src/duskgl/display/texture/texturegl.c | 36 ++++++++++--------------- 2 files changed, 33 insertions(+), 40 deletions(-) diff --git a/src/dusk/display/display.c b/src/dusk/display/display.c index b696af8..35ede95 100644 --- a/src/dusk/display/display.c +++ b/src/dusk/display/display.c @@ -73,23 +73,23 @@ errorret_t displayInit(void) { } )); - // errorChain(textureInit( - // &UNCOMPRESSED_TEXTURE, - // 8, 8, - // TEXTURE_FORMAT_RGBA, - // (texturedata_t){ - // .rgbaColors = (color_t[]){ - // COLOR_RED, COLOR_GREEN, COLOR_BLUE, COLOR_WHITE, COLOR_MAGENTA, COLOR_CYAN, COLOR_YELLOW, COLOR_BLACK, - // COLOR_GREEN, COLOR_BLUE, COLOR_WHITE, COLOR_MAGENTA, COLOR_CYAN, COLOR_YELLOW, COLOR_BLACK, COLOR_RED, - // COLOR_BLUE, COLOR_WHITE, COLOR_MAGENTA, COLOR_CYAN, COLOR_YELLOW, COLOR_BLACK, COLOR_RED, COLOR_GREEN, - // COLOR_WHITE, COLOR_MAGENTA, COLOR_CYAN, COLOR_YELLOW, COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_BLUE, - // COLOR_MAGENTA, COLOR_CYAN, COLOR_YELLOW, COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_BLUE, COLOR_WHITE, - // COLOR_CYAN, COLOR_YELLOW, COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_BLUE, COLOR_WHITE, COLOR_MAGENTA, - // COLOR_YELLOW, COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_BLUE, COLOR_WHITE, COLOR_MAGENTA, COLOR_CYAN, - // COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_BLUE, COLOR_WHITE, COLOR_MAGENTA, COLOR_CYAN, COLOR_YELLOW - // } - // } - // )); + errorChain(textureInit( + &UNCOMPRESSED_TEXTURE, + 8, 8, + TEXTURE_FORMAT_RGBA, + (texturedata_t){ + .rgbaColors = (color_t[]){ + COLOR_RED, COLOR_GREEN, COLOR_BLUE, COLOR_WHITE, COLOR_MAGENTA, COLOR_CYAN, COLOR_YELLOW, COLOR_BLACK, + COLOR_GREEN, COLOR_BLUE, COLOR_WHITE, COLOR_MAGENTA, COLOR_CYAN, COLOR_YELLOW, COLOR_BLACK, COLOR_RED, + COLOR_BLUE, COLOR_WHITE, COLOR_MAGENTA, COLOR_CYAN, COLOR_YELLOW, COLOR_BLACK, COLOR_RED, COLOR_GREEN, + COLOR_WHITE, COLOR_MAGENTA, COLOR_CYAN, COLOR_YELLOW, COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_BLUE, + COLOR_MAGENTA, COLOR_CYAN, COLOR_YELLOW, COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_BLUE, COLOR_WHITE, + COLOR_CYAN, COLOR_YELLOW, COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_BLUE, COLOR_WHITE, COLOR_MAGENTA, + COLOR_YELLOW, COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_BLUE, COLOR_WHITE, COLOR_MAGENTA, COLOR_CYAN, + COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_BLUE, COLOR_WHITE, COLOR_MAGENTA, COLOR_CYAN, COLOR_YELLOW + } + } + )); errorOk(); } @@ -130,7 +130,8 @@ errorret_t displayUpdate(void) { errorChain(shaderSetMatrix(&SHADER_UNLIT, SHADER_UNLIT_PROJECTION, proj)); errorChain(shaderSetMatrix(&SHADER_UNLIT, SHADER_UNLIT_VIEW, view)); errorChain(shaderSetMatrix(&SHADER_UNLIT, SHADER_UNLIT_MODEL, model)); - errorChain(shaderSetTexture(&SHADER_UNLIT, SHADER_UNLIT_TEXTURE, &PALETTE_TEXTURE)); + // errorChain(shaderSetTexture(&SHADER_UNLIT, SHADER_UNLIT_TEXTURE, &PALETTE_TEXTURE)); + errorChain(shaderSetTexture(&SHADER_UNLIT, SHADER_UNLIT_TEXTURE, &UNCOMPRESSED_TEXTURE)); errorChain(spriteBatchPush( 0.0f, 0.0f, 1.0f, 1.0f, diff --git a/src/duskgl/display/texture/texturegl.c b/src/duskgl/display/texture/texturegl.c index 865d25c..b23f49e 100644 --- a/src/duskgl/display/texture/texturegl.c +++ b/src/duskgl/display/texture/texturegl.c @@ -17,32 +17,15 @@ errorret_t textureInitGL( const textureformatgl_t format, const texturedata_t data ) { - glEnable(GL_TEXTURE_2D); - errorChain(errorGLCheck()); glGenTextures(1, &texture->id); errorChain(errorGLCheck()); glBindTexture(GL_TEXTURE_2D, texture->id); errorChain(errorGLCheck()); - glPixelStorei(GL_UNPACK_ALIGNMENT, 1); - - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - errorChain(errorGLCheck()); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - errorChain(errorGLCheck()); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - errorChain(errorGLCheck()); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - errorChain(errorGLCheck()); - - #ifdef DUSK_OPENGL_LEGACY - glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - #endif - switch(format) { case TEXTURE_FORMAT_RGBA: glTexImage2D( - GL_TEXTURE_2D, 0, 4, width, height, 0, + GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (void*)data.rgbaColors ); errorChain(errorGLCheck()); @@ -50,14 +33,10 @@ errorret_t textureInitGL( case TEXTURE_FORMAT_PALETTE: texture->palette = data.paletted.palette; - assertTrue( texture->palette == &PALETTES[0], "Only the first palette is supported in legacy opengl." ); - - printf("sizeof(color_t)=%zu\n", sizeof(color_t)); - printf("count=%u\n", texture->palette->count); #ifdef DUSK_OPENGL_LEGACY glColorTableEXT( @@ -89,6 +68,19 @@ errorret_t textureInitGL( break; } errorChain(errorGLCheck()); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + errorChain(errorGLCheck()); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + errorChain(errorGLCheck()); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + errorChain(errorGLCheck()); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + errorChain(errorGLCheck()); + + #ifdef DUSK_OPENGL_LEGACY + glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + #endif glBindTexture(GL_TEXTURE_2D, 0); errorChain(errorGLCheck());