idk
This commit is contained in:
@@ -52,13 +52,13 @@ project(${DUSK_LIBRARY_TARGET_NAME}
|
|||||||
|
|
||||||
# Either, create library and binary separately (used for tests), or make them
|
# Either, create library and binary separately (used for tests), or make them
|
||||||
# one in the same so all code is in the binary only.
|
# one in the same so all code is in the binary only.
|
||||||
|
# Binary Executable
|
||||||
|
add_executable(${DUSK_BINARY_TARGET_NAME} ${DUSK_SOURCES_DIR}/dusk/null.c)
|
||||||
|
|
||||||
if(ENABLE_TESTS)
|
if(ENABLE_TESTS)
|
||||||
# MainLibrary
|
# MainLibrary
|
||||||
add_library(${DUSK_LIBRARY_TARGET_NAME} STATIC)
|
add_library(${DUSK_LIBRARY_TARGET_NAME} STATIC)
|
||||||
|
|
||||||
# Binary Executable
|
|
||||||
add_executable(${DUSK_BINARY_TARGET_NAME} ${DUSK_SOURCES_DIR}/null.c)
|
|
||||||
|
|
||||||
# Link library to binary
|
# Link library to binary
|
||||||
target_link_libraries(${DUSK_BINARY_TARGET_NAME}
|
target_link_libraries(${DUSK_BINARY_TARGET_NAME}
|
||||||
PUBLIC
|
PUBLIC
|
||||||
@@ -66,7 +66,6 @@ if(ENABLE_TESTS)
|
|||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
set(DUSK_LIBRARY_TARGET_NAME "${DUSK_BINARY_TARGET_NAME}" CACHE INTERNAL ${DUSK_CACHE_TARGET})
|
set(DUSK_LIBRARY_TARGET_NAME "${DUSK_BINARY_TARGET_NAME}" CACHE INTERNAL ${DUSK_CACHE_TARGET})
|
||||||
add_executable(${DUSK_BINARY_TARGET_NAME} ${DUSK_SOURCES_DIR}/null.c)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Definitions
|
# Definitions
|
||||||
|
|||||||
@@ -7,9 +7,13 @@ add_subdirectory(dusk)
|
|||||||
|
|
||||||
if(DUSK_TARGET_SYSTEM STREQUAL "linux")
|
if(DUSK_TARGET_SYSTEM STREQUAL "linux")
|
||||||
add_subdirectory(dusklinux)
|
add_subdirectory(dusklinux)
|
||||||
|
add_subdirectory(dusksdl2)
|
||||||
|
add_subdirectory(duskopengl)
|
||||||
|
|
||||||
elseif(DUSK_TARGET_SYSTEM STREQUAL "psp")
|
elseif(DUSK_TARGET_SYSTEM STREQUAL "psp")
|
||||||
add_subdirectory(duskpsp)
|
add_subdirectory(duskpsp)
|
||||||
|
add_subdirectory(dusksdl2)
|
||||||
|
add_subdirectory(duskopengl)
|
||||||
|
|
||||||
elseif(DUSK_TARGET_SYSTEM STREQUAL "gamecube" OR DUSK_TARGET_SYSTEM STREQUAL "wii")
|
elseif(DUSK_TARGET_SYSTEM STREQUAL "gamecube" OR DUSK_TARGET_SYSTEM STREQUAL "wii")
|
||||||
add_subdirectory(duskdolphin)
|
add_subdirectory(duskdolphin)
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) 2026 Dominic Masters
|
|
||||||
*
|
|
||||||
* This software is released under the MIT License.
|
|
||||||
* https://opensource.org/licenses/MIT
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
#include "debug/debug.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Platform-specific debug print function for Dolphin.
|
|
||||||
*
|
|
||||||
* @param message The message format string.
|
|
||||||
* @param ... Additional arguments for the format string.
|
|
||||||
*/
|
|
||||||
void debugPrintDolphin(const char_t *message, ...);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Flushes the Dolphin debug output buffer.
|
|
||||||
*/
|
|
||||||
void debugFlushDolphin();
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) 2026 Dominic Masters
|
|
||||||
*
|
|
||||||
* This software is released under the MIT License.
|
|
||||||
* https://opensource.org/licenses/MIT
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
#include "debug/debug.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Platform-specific debug print function for PSP.
|
|
||||||
*
|
|
||||||
* @param message The message format string.
|
|
||||||
* @param ... Additional arguments for the format string.
|
|
||||||
*/
|
|
||||||
void debugPrintPSP(const char_t *message, ...);
|
|
||||||
@@ -17,7 +17,6 @@ target_sources(${DUSK_LIBRARY_TARGET_NAME}
|
|||||||
add_subdirectory(camera)
|
add_subdirectory(camera)
|
||||||
add_subdirectory(mesh)
|
add_subdirectory(mesh)
|
||||||
add_subdirectory(texture)
|
add_subdirectory(texture)
|
||||||
add_subdirectory(platform)
|
|
||||||
|
|
||||||
# Color definitions
|
# Color definitions
|
||||||
dusk_run_python(
|
dusk_run_python(
|
||||||
|
|||||||
@@ -10,19 +10,9 @@
|
|||||||
#include "error/error.h"
|
#include "error/error.h"
|
||||||
#include "display/camera/camera.h"
|
#include "display/camera/camera.h"
|
||||||
#include "display/framebuffer.h"
|
#include "display/framebuffer.h"
|
||||||
#if DISPLAY_SDL2
|
#include "display/displayplatform.h"
|
||||||
#include "display/platform/sdl2.h"
|
|
||||||
#elif DOLPHIN
|
|
||||||
#include "display/platform/dolphin.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct {
|
typedef displayplatform_t display_t;
|
||||||
#if DISPLAY_SDL2
|
|
||||||
displaysdl2_t sdl2;
|
|
||||||
#elif DOLPHIN
|
|
||||||
displaydolphin_t dolphin;
|
|
||||||
#endif
|
|
||||||
} display_t;
|
|
||||||
|
|
||||||
extern display_t DISPLAY;
|
extern display_t DISPLAY;
|
||||||
|
|
||||||
|
|||||||
@@ -2,3 +2,12 @@
|
|||||||
#
|
#
|
||||||
# This software is released under the MIT License.
|
# This software is released under the MIT License.
|
||||||
# https://opensource.org/licenses/MIT
|
# https://opensource.org/licenses/MIT
|
||||||
|
|
||||||
|
# Includes
|
||||||
|
target_include_directories(${DUSK_LIBRARY_TARGET_NAME}
|
||||||
|
PUBLIC
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
# Subdirs
|
||||||
|
add_subdirectory(debug)
|
||||||
@@ -7,6 +7,5 @@
|
|||||||
|
|
||||||
target_sources(${DUSK_LIBRARY_TARGET_NAME}
|
target_sources(${DUSK_LIBRARY_TARGET_NAME}
|
||||||
PUBLIC
|
PUBLIC
|
||||||
psp.c
|
debug.c
|
||||||
dolphin.c
|
|
||||||
)
|
)
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
static char_t DEBUG_ERROR_BUFFER[16*1024] = {0};
|
static char_t DEBUG_ERROR_BUFFER[16*1024] = {0};
|
||||||
|
|
||||||
void debugPrintDolphin(const char_t *message, ...) {
|
void debugPrint(const char_t *message, ...) {
|
||||||
// append to error buffer
|
// append to error buffer
|
||||||
size_t start = strlen(DEBUG_ERROR_BUFFER);
|
size_t start = strlen(DEBUG_ERROR_BUFFER);
|
||||||
va_list args;
|
va_list args;
|
||||||
@@ -24,7 +24,7 @@ void debugPrintDolphin(const char_t *message, ...) {
|
|||||||
va_end(args);
|
va_end(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
void debugFlushDolphin() {
|
void debugFlush() {
|
||||||
// Either create graphics, or hijack the displays' graphics.
|
// Either create graphics, or hijack the displays' graphics.
|
||||||
void *xfb = NULL;
|
void *xfb = NULL;
|
||||||
GXRModeObj *rmode = NULL;
|
GXRModeObj *rmode = NULL;
|
||||||
9
src/duskdolphin/display/displayplatform.h
Normal file
9
src/duskdolphin/display/displayplatform.h
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2026 Dominic Masters
|
||||||
|
*
|
||||||
|
* This software is released under the MIT License.
|
||||||
|
* https://opensource.org/licenses/MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
#include "display/displaysdl2.h"
|
||||||
@@ -3,5 +3,11 @@
|
|||||||
# This software is released under the MIT License.
|
# This software is released under the MIT License.
|
||||||
# https://opensource.org/licenses/MIT
|
# https://opensource.org/licenses/MIT
|
||||||
|
|
||||||
|
# Includes
|
||||||
|
target_include_directories(${DUSK_LIBRARY_TARGET_NAME}
|
||||||
|
PUBLIC
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
# Subdirs
|
# Subdirs
|
||||||
add_subdirectory(debug)
|
add_subdirectory(debug)
|
||||||
@@ -6,3 +6,4 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
#include "dusksdl2.h"
|
||||||
12
src/duskopengl/CMakeLists.txt
Normal file
12
src/duskopengl/CMakeLists.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# Copyright (c) 2026 Dominic Masters
|
||||||
|
#
|
||||||
|
# This software is released under the MIT License.
|
||||||
|
# https://opensource.org/licenses/MIT
|
||||||
|
|
||||||
|
# Includes
|
||||||
|
target_include_directories(${DUSK_LIBRARY_TARGET_NAME}
|
||||||
|
PUBLIC
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
# Subdirs
|
||||||
8
src/duskopengl/duskopengl.h
Normal file
8
src/duskopengl/duskopengl.h
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2026 Dominic Masters
|
||||||
|
*
|
||||||
|
* This software is released under the MIT License.
|
||||||
|
* https://opensource.org/licenses/MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Copyright (c) 2026 Dominic Masters
|
||||||
|
#
|
||||||
|
# This software is released under the MIT License.
|
||||||
|
# https://opensource.org/licenses/MIT
|
||||||
|
|
||||||
|
# Includes
|
||||||
|
target_include_directories(${DUSK_LIBRARY_TARGET_NAME}
|
||||||
|
PUBLIC
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
# Subdirs
|
||||||
|
add_subdirectory(debug)
|
||||||
11
src/duskpsp/debug/CMakeLists.txt
Normal file
11
src/duskpsp/debug/CMakeLists.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# Copyright (c) 2026 Dominic Masters
|
||||||
|
#
|
||||||
|
# This software is released under the MIT License.
|
||||||
|
# https://opensource.org/licenses/MIT
|
||||||
|
|
||||||
|
# Sources
|
||||||
|
|
||||||
|
target_sources(${DUSK_LIBRARY_TARGET_NAME}
|
||||||
|
PUBLIC
|
||||||
|
debug.c
|
||||||
|
)
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#include "psp.h"
|
#include "psp.h"
|
||||||
|
|
||||||
void debugPrintPSP(const char_t *message, ...) {
|
void debugPrint(const char_t *message, ...) {
|
||||||
FILE *file = fopen("ms0:/PSP/GAME/Dusk/debug.log", "a");
|
FILE *file = fopen("ms0:/PSP/GAME/Dusk/debug.log", "a");
|
||||||
if(!file) return;
|
if(!file) return;
|
||||||
|
|
||||||
@@ -17,3 +17,7 @@ void debugPrintPSP(const char_t *message, ...) {
|
|||||||
va_end(args);
|
va_end(args);
|
||||||
fclose(file);
|
fclose(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void debugFlush() {
|
||||||
|
fflush(stdout);
|
||||||
|
}
|
||||||
12
src/dusksdl2/CMakeLists.txt
Normal file
12
src/dusksdl2/CMakeLists.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# Copyright (c) 2026 Dominic Masters
|
||||||
|
#
|
||||||
|
# This software is released under the MIT License.
|
||||||
|
# https://opensource.org/licenses/MIT
|
||||||
|
|
||||||
|
# Includes
|
||||||
|
target_include_directories(${DUSK_LIBRARY_TARGET_NAME}
|
||||||
|
PUBLIC
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
# Subdirs
|
||||||
15
src/dusksdl2/display/displaysdl2.h
Normal file
15
src/dusksdl2/display/displaysdl2.h
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2026 Dominic Masters
|
||||||
|
*
|
||||||
|
* This software is released under the MIT License.
|
||||||
|
* https://opensource.org/licenses/MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
#include "dusk.h"
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
SDL_Window *window;
|
||||||
|
SDL_GLContext glContext;
|
||||||
|
bool_t usingShaderedPalettes;
|
||||||
|
} displayplatform_t;
|
||||||
9
src/dusksdl2/dusksdl2.h
Normal file
9
src/dusksdl2/dusksdl2.h
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2026 Dominic Masters
|
||||||
|
*
|
||||||
|
* This software is released under the MIT License.
|
||||||
|
* https://opensource.org/licenses/MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
#include "duskopengl.h"
|
||||||
Reference in New Issue
Block a user