Actually compiled

This commit is contained in:
2026-02-04 17:44:53 -06:00
parent 708c4d0ec3
commit dd910a31aa
20 changed files with 80 additions and 430 deletions

View File

@@ -41,7 +41,6 @@ elseif(DUSK_TARGET_SYSTEM STREQUAL "psp")
elseif(DUSK_TARGET_SYSTEM STREQUAL "gamecube" OR DUSK_TARGET_SYSTEM STREQUAL "wii")
target_compile_definitions(${DUSK_LIBRARY_TARGET_NAME}
PUBLIC
DISPLAY_SDL2=1
DISPLAY_WINDOW_WIDTH_DEFAULT=640
DISPLAY_WINDOW_HEIGHT_DEFAULT=480
DISPLAY_WIDTH=640

View File

@@ -133,12 +133,13 @@ errorret_t displayUpdate(void) {
#if DISPLAY_SDL2
SDL_GL_SwapWindow(DISPLAY.window);
GLenum err;
while((err = glGetError()) != GL_NO_ERROR) {
debugPrint("GL Error: %d\n", err);
}
#endif
GLenum err;
while((err = glGetError()) != GL_NO_ERROR) {
debugPrint("GL Error: %d\n", err);
}
// For now, we just return an OK error.
errorOk();

View File

@@ -8,25 +8,17 @@
#pragma once
#if DISPLAY_SDL2
#if DOLPHIN
#include "dusk.h"
#include <GL/glu.h>
#include <SDL.h>
#include <SDL_opengl.h>
#define GL_COLOR_INDEX8_EXT GX_RGBA8
#include <SDL2/SDL.h>
#else
#include <SDL2/SDL.h>
#define GL_GLEXT_PROTOTYPES
#include <GL/gl.h>
#include <GL/glext.h>
#endif
#define GL_GLEXT_PROTOTYPES
#include <GL/gl.h>
#include <GL/glext.h>
#ifndef DISPLAY_SIZE_DYNAMIC
#define DISPLAY_SIZE_DYNAMIC 1
#endif
#elif DOLPHIN
// Dolphin.
#else
#error "Need to specify display backend."
#endif

View File

@@ -102,16 +102,12 @@ void frameBufferBind(const framebuffer_t *framebuffer) {
if(framebuffer == &FRAMEBUFFER_BACKBUFFER) {
#if PSP
#elif DOLPHIN
#else
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
#endif
} else {
#if PSP
assertUnreachable("Framebuffers not supported on PSP");
#elif DOLPHIN
assertUnreachable("Framebuffers not supported on DOLPHIN");
#else
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, framebuffer->id);
#endif
@@ -144,11 +140,7 @@ void frameBufferClear(uint8_t flags, color_t color) {
glFlags |= GL_DEPTH_BUFFER_BIT;
}
#if DOLPHIN
assertUnreachable("Framebuffers not supported on DOLPHIN");
#else
glClear(glFlags);
#endif
glClear(glFlags);
#endif
}

View File

@@ -16,6 +16,9 @@ typedef struct {
// OpenGL Framebuffer Object ID
GLuint id;
texture_t texture;
#elif DOLPHIN
// --- IGNORE ---
uint8_t id;
#else
#error "Framebuffers not implemented on this platform."
#endif

View File

@@ -12,6 +12,10 @@ typedef enum {
MESH_PRIMITIVE_TRIANGLES = GL_TRIANGLES,
MESH_PRIMITIVE_LINES = GL_LINES,
MESH_PRIMITIVE_POINTS = GL_POINTS,
#elif DOLPHIN
MESH_PRIMITIVE_TRIANGLES = GX_TRIANGLES,
MESH_PRIMITIVE_LINES = GX_LINES,
MESH_PRIMITIVE_POINTS = GX_POINTS,
#endif
} meshprimitivetype_t;
@@ -19,11 +23,9 @@ typedef enum {
#define MESH_VERTEX_POS_SIZE 3
typedef struct {
#if DISPLAY_SDL2
color4b_t color;
GLfloat uv[MESH_VERTEX_UV_SIZE];
GLfloat pos[MESH_VERTEX_POS_SIZE];
#endif
color4b_t color;
float uv[MESH_VERTEX_UV_SIZE];
float pos[MESH_VERTEX_POS_SIZE];
} meshvertex_t;
typedef struct {

View File

@@ -77,8 +77,6 @@ void textureInit(
#if PSP
havePalTex = true;
#elif DOLPHIN
havePalTex = false;
#else
GLint mask = 0;
glGetIntegerv(GL_CONTEXT_PROFILE_MASK, &mask);
@@ -127,14 +125,10 @@ void textureInit(
GL_UNSIGNED_BYTE, (void*)data.palette.data
);
#if DOLPHIN
assertUnreachable("Paletted textures not supported on DOLPHIN");
#else
glColorTableEXT(
GL_TEXTURE_2D, GL_RGBA, pal->colorCount, GL_RGBA,
GL_UNSIGNED_BYTE, (const void*)pal->colors
);
#endif
glColorTableEXT(
GL_TEXTURE_2D, GL_RGBA, pal->colorCount, GL_RGBA,
GL_UNSIGNED_BYTE, (const void*)pal->colors
);
}
break;

View File

@@ -14,12 +14,18 @@ typedef enum {
TEXTURE_FORMAT_RGBA = GL_RGBA,
TEXTURE_FORMAT_ALPHA = GL_ALPHA,
TEXTURE_FORMAT_PALETTE = GL_COLOR_INDEX8_EXT,
#elif DOLPHIN
TEXTURE_FORMAT_RGBA = GX_TF_RGBA8,
TEXTURE_FORMAT_ALPHA = GX_TF_A8,
TEXTURE_FORMAT_PALETTE = GX_TF_CI8,
#endif
} textureformat_t;
typedef struct {
#if DISPLAY_SDL2
GLuint id;
#elif DOLPHIN
uint8_t id;
#endif
int32_t width;