mirror of https://github.com/encounter/aurora.git
Update submodules; add (very) simple example
This commit is contained in:
parent
9a725c89cf
commit
1213f32d0e
|
@ -79,8 +79,11 @@ if (DAWN_ENABLE_NULL)
|
||||||
target_sources(aurora PRIVATE lib/dawn/NullBinding.cpp)
|
target_sources(aurora PRIVATE lib/dawn/NullBinding.cpp)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Optional
|
|
||||||
add_library(aurora_main STATIC lib/main.cpp)
|
add_library(aurora_main STATIC lib/main.cpp)
|
||||||
target_include_directories(aurora_main PUBLIC include)
|
target_include_directories(aurora_main PUBLIC include)
|
||||||
target_link_libraries(aurora_main PUBLIC SDL2::SDL2main)
|
target_link_libraries(aurora_main PUBLIC SDL2::SDL2main)
|
||||||
add_library(aurora::main ALIAS aurora_main)
|
add_library(aurora::main ALIAS aurora_main)
|
||||||
|
|
||||||
|
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
||||||
|
add_subdirectory(examples)
|
||||||
|
endif ()
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
add_executable(simple simple.c)
|
||||||
|
target_link_libraries(simple PRIVATE aurora::aurora aurora::main)
|
|
@ -0,0 +1,89 @@
|
||||||
|
#include <aurora/aurora.h>
|
||||||
|
#include <aurora/event.h>
|
||||||
|
#include <aurora/main.h>
|
||||||
|
#include <dolphin/gx.h>
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
static void log_callback(AuroraLogLevel level, const char* message, unsigned int len) {
|
||||||
|
const char* levelStr;
|
||||||
|
FILE* out = stdout;
|
||||||
|
switch (level) {
|
||||||
|
case LOG_DEBUG:
|
||||||
|
levelStr = "DEBUG";
|
||||||
|
break;
|
||||||
|
case LOG_INFO:
|
||||||
|
levelStr = "INFO";
|
||||||
|
break;
|
||||||
|
case LOG_WARNING:
|
||||||
|
levelStr = "WARNING";
|
||||||
|
break;
|
||||||
|
case LOG_ERROR:
|
||||||
|
levelStr = "ERROR";
|
||||||
|
out = stderr;
|
||||||
|
break;
|
||||||
|
case LOG_FATAL:
|
||||||
|
levelStr = "FATAL";
|
||||||
|
out = stderr;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
fprintf(out, "[%s: %s]\n", levelStr, message);
|
||||||
|
if (level == LOG_FATAL) {
|
||||||
|
fflush(out);
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void draw() {
|
||||||
|
GXSetCopyClear(
|
||||||
|
(GXColor){
|
||||||
|
.r = 0,
|
||||||
|
.g = 0,
|
||||||
|
.b = 100,
|
||||||
|
.a = 255,
|
||||||
|
},
|
||||||
|
GX_MAX_Z24);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char* argv[]) {
|
||||||
|
const AuroraConfig config = {
|
||||||
|
.appName = "Demo",
|
||||||
|
.logCallback = &log_callback,
|
||||||
|
};
|
||||||
|
AuroraInfo initInfo = aurora_initialize(argc, argv, &config);
|
||||||
|
|
||||||
|
bool exiting = false;
|
||||||
|
bool paused = false;
|
||||||
|
while (!exiting) {
|
||||||
|
const AuroraEvent* event = aurora_update();
|
||||||
|
while (event != NULL && event->type != AURORA_NONE) {
|
||||||
|
switch (event->type) {
|
||||||
|
case AURORA_EXIT:
|
||||||
|
exiting = true;
|
||||||
|
break;
|
||||||
|
case AURORA_PAUSED:
|
||||||
|
paused = true;
|
||||||
|
break;
|
||||||
|
case AURORA_UNPAUSED:
|
||||||
|
paused = false;
|
||||||
|
break;
|
||||||
|
case AURORA_WINDOW_RESIZED:
|
||||||
|
initInfo.windowSize = event->windowSize;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
++event;
|
||||||
|
}
|
||||||
|
if (exiting || paused || !aurora_begin_frame()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
draw();
|
||||||
|
aurora_end_frame();
|
||||||
|
}
|
||||||
|
|
||||||
|
aurora_shutdown();
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -1 +1 @@
|
||||||
Subproject commit 81f1cc74a776581cdef8659d176049d3aeb743c6
|
Subproject commit c4ee726532178e556d923372f29163bd206d7732
|
|
@ -1 +1 @@
|
||||||
Subproject commit e99c4fc6688e218a0e5da50f56638aebab45da9b
|
Subproject commit 9aae45eb4a05a5a1f96be1ef37eb503a12ceb889
|
|
@ -23,6 +23,7 @@ void GXSetArray(GXAttr attr, const void* data, u32 size, u8 stride);
|
||||||
#else
|
#else
|
||||||
void GXSetArray(GXAttr attr, const void* data, u8 stride);
|
void GXSetArray(GXAttr attr, const void* data, u8 stride);
|
||||||
#endif
|
#endif
|
||||||
|
void GXInvalidateVtxCache(void);
|
||||||
|
|
||||||
static inline void GXSetTexCoordGen(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx) {
|
static inline void GXSetTexCoordGen(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx) {
|
||||||
GXSetTexCoordGen2(dst_coord, func, src_param, mtx, GX_FALSE, GX_PTIDENTITY);
|
GXSetTexCoordGen2(dst_coord, func, src_param, mtx, GX_FALSE, GX_PTIDENTITY);
|
||||||
|
|
|
@ -52,7 +52,9 @@ void GXSetTexCoordGen2(GXTexCoordID dst, GXTexGenType type, GXTexGenSrc src, u32
|
||||||
|
|
||||||
void GXSetNumTexGens(u8 num) { update_gx_state(g_gxState.numTexGens, num); }
|
void GXSetNumTexGens(u8 num) { update_gx_state(g_gxState.numTexGens, num); }
|
||||||
|
|
||||||
// TODO GXInvalidateVtxCache
|
void GXInvalidateVtxCache() {
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
void GXSetLineWidth(u8 width, GXTexOffset offs) {
|
void GXSetLineWidth(u8 width, GXTexOffset offs) {
|
||||||
// TODO
|
// TODO
|
||||||
|
|
Loading…
Reference in New Issue