Add compile flags to remove bits of engine; sokol_gfx_ext works on windows; remove glad/gl
This commit is contained in:
parent
e6ef147c40
commit
009609458b
14
Makefile
14
Makefile
|
@ -20,6 +20,18 @@ ifeq ($(CC), clang)
|
|||
AR = llvm-ar
|
||||
endif
|
||||
|
||||
ifdef NEDITOR
|
||||
CFLAGS += -DNO_EDITOR
|
||||
endif
|
||||
|
||||
ifdef NFLAC
|
||||
CFLAGS += -DNFLAC
|
||||
endif
|
||||
|
||||
ifdef NMP3
|
||||
CFLAGS += -DNMP3
|
||||
endif
|
||||
|
||||
ifeq ($(DBG),1)
|
||||
CFLAGS += -g
|
||||
INFO += _dbg
|
||||
|
@ -61,7 +73,7 @@ ARCH = x64
|
|||
ifeq ($(OS), Windows_NT)
|
||||
LDFLAGS += -mwin32 -static
|
||||
CFLAGS += -mwin32
|
||||
LDLIBS += mingw32 kernel32 user32 shell32 dxgi gdi32 ws2_32 ole32 winmm setupapi m
|
||||
LDLIBS += mingw32 kernel32 opengl32 user32 shell32 dxgi gdi32 ws2_32 ole32 winmm setupapi m
|
||||
EXT = .exe
|
||||
PLAT = w64
|
||||
PKGCMD = cd $(BIN); zip -q -r $(MAKEDIR)/$(DISTDIR)/$(DIST) . -x \*.a ./obj/\*
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#include "log.h"
|
||||
#include "mix.h"
|
||||
#include "music.h"
|
||||
#include "nuke.h"
|
||||
|
||||
#include "sound.h"
|
||||
#include "sprite.h"
|
||||
#include "stb_ds.h"
|
||||
|
@ -24,8 +24,6 @@
|
|||
#include "resources.h"
|
||||
#include <sokol/sokol_time.h>
|
||||
|
||||
#include <glob.h>
|
||||
|
||||
#include "render.h"
|
||||
|
||||
#include "model.h"
|
||||
|
@ -90,15 +88,6 @@ JSValue strarr2js(const char **c, int len)
|
|||
return arr;
|
||||
}
|
||||
|
||||
JSValue glob2js(char *pat)
|
||||
{
|
||||
glob_t mglob;
|
||||
glob(pat, GLOB_NOSORT, NULL, &mglob);
|
||||
JSValue arr = strarr2js(mglob.gl_pathv, mglob.gl_pathc);
|
||||
globfree(&mglob);
|
||||
return arr;
|
||||
}
|
||||
|
||||
double js2number(JSValue v) {
|
||||
double g;
|
||||
JS_ToFloat64(js, &g, v);
|
||||
|
@ -326,6 +315,10 @@ JSValue bb2js(struct boundingbox bb)
|
|||
return obj;
|
||||
}
|
||||
|
||||
|
||||
#ifndef NO_EDITOR
|
||||
|
||||
#include "nuke.h"
|
||||
JSValue duk_nuke(JSContext *js, JSValueConst this, int argc, JSValueConst *argv) {
|
||||
int cmd = js2int(argv[0]);
|
||||
float editnum;
|
||||
|
@ -426,6 +419,8 @@ JSValue duk_nuke(JSContext *js, JSValueConst this, int argc, JSValueConst *argv)
|
|||
return ret;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
JSValue duk_win_make(JSContext *js, JSValueConst this, int argc, JSValueConst *argv) {
|
||||
/*
|
||||
const char *title = JS_ToCString(js, argv[0]);
|
||||
|
@ -1079,9 +1074,6 @@ JSValue duk_cmd(JSContext *js, JSValueConst this, int argc, JSValueConst *argv)
|
|||
return num2js(get_timescale());
|
||||
break;
|
||||
case 122:
|
||||
str = JS_ToCString(js, argv[1]);
|
||||
ret = glob2js(str);
|
||||
|
||||
break;
|
||||
|
||||
case 123:
|
||||
|
@ -1685,7 +1677,11 @@ void ffi_load() {
|
|||
globalThis = JS_GetGlobalObject(js);
|
||||
|
||||
DUK_FUNC(yughlog, 4)
|
||||
|
||||
#ifndef NO_EDITOR
|
||||
DUK_FUNC(nuke, 6)
|
||||
#endif
|
||||
|
||||
DUK_FUNC(make_gameobject, 7)
|
||||
DUK_FUNC(set_body, 3)
|
||||
DUK_FUNC(q_body, 2)
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,7 @@
|
|||
#include "nuke.h"
|
||||
|
||||
#ifndef NO_EDITOR
|
||||
|
||||
#define NK_INCLUDE_STANDARD_IO
|
||||
#define NK_IMPLEMENTATION
|
||||
#define NK_KEYSTATE_BASED_INPUT
|
||||
|
@ -172,3 +175,5 @@ void nuke_labelf(const char *fmt, ...) {
|
|||
nuke_label(buf);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -31,7 +31,6 @@ void nuke_img(char *path);
|
|||
|
||||
void nuke_scrolltext(char *str);
|
||||
|
||||
|
||||
int nuke_push_tree_id(const char *name, int id);
|
||||
void nuke_tree_pop();
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#include "window.h"
|
||||
#include "model.h"
|
||||
#include "stb_ds.h"
|
||||
#include "stb_image_resize.h";
|
||||
#include "resources.h"
|
||||
#include "yugine.h"
|
||||
|
||||
|
@ -220,8 +219,11 @@ void render_init() {
|
|||
font_init();
|
||||
debugdraw_init();
|
||||
sprite_initialize();
|
||||
nuke_init(&mainwin);
|
||||
|
||||
#ifndef NO_EDITOR
|
||||
nuke_init(&mainwin);
|
||||
#endif
|
||||
|
||||
model_init();
|
||||
sg_color c;
|
||||
rgba2floats(&c, editorClearColor);
|
||||
|
@ -427,14 +429,18 @@ void full_2d_pass(struct window *window)
|
|||
|
||||
////// TEXT && GUI
|
||||
debug_nextpass();
|
||||
nuke_start();
|
||||
#ifndef NO_EDITOR
|
||||
nuke_start();
|
||||
#endif
|
||||
|
||||
call_gui();
|
||||
debug_flush(&hudproj);
|
||||
text_flush(&hudproj);
|
||||
|
||||
#ifndef NO_EDITOR
|
||||
call_nk_gui();
|
||||
nuke_end();
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
void full_3d_pass(struct window *window)
|
||||
|
|
|
@ -13,8 +13,6 @@
|
|||
#include <unistd.h>
|
||||
#include "font.h"
|
||||
|
||||
#include <glob.h>
|
||||
|
||||
#include <fcntl.h>
|
||||
#include "cdb.h"
|
||||
|
||||
|
@ -200,11 +198,6 @@ int slurp_write(const char *txt, const char *filename) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int glob_err(const char *epath, int errno)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifndef __EMSCRIPTEN__
|
||||
static struct cdb_make cdbm;
|
||||
|
||||
|
|
|
@ -27,11 +27,16 @@
|
|||
#define DR_WAV_IMPLEMENTATION
|
||||
#include "dr_wav.h"
|
||||
|
||||
|
||||
#ifndef NFLAC
|
||||
#define DR_FLAC_IMPLEMENTATION
|
||||
#include "dr_flac.h"
|
||||
#endif
|
||||
|
||||
#ifndef NMP3
|
||||
#define DR_MP3_IMPLEMENTATION
|
||||
#include "dr_mp3.h"
|
||||
#endif
|
||||
|
||||
#define QOA_IMPLEMENTATION
|
||||
#include "qoa.h"
|
||||
|
@ -141,14 +146,21 @@ struct wav *make_sound(const char *wav) {
|
|||
|
||||
if (!strcmp(ext, "wav")) {
|
||||
mwav.data = drwav_open_file_and_read_pcm_frames_f32(wav, &mwav.ch, &mwav.samplerate, &mwav.frames, NULL);
|
||||
} else if (!strcmp(ext, "flac")) {
|
||||
}
|
||||
#ifndef NFLAC
|
||||
else if (!strcmp(ext, "flac")) {
|
||||
mwav.data = drflac_open_file_and_read_pcm_frames_f32(wav, &mwav.ch, &mwav.samplerate, &mwav.frames, NULL);
|
||||
} else if (!strcmp(ext, "mp3")) {
|
||||
}
|
||||
#endif
|
||||
#ifndef NMP3
|
||||
else if (!strcmp(ext, "mp3")) {
|
||||
drmp3_config cnf;
|
||||
mwav.data = drmp3_open_file_and_read_pcm_frames_f32(wav, &cnf, &mwav.frames, NULL);
|
||||
mwav.ch = cnf.channels;
|
||||
mwav.samplerate = cnf.sampleRate;
|
||||
} else if (!strcmp(ext, "qoa")) {
|
||||
}
|
||||
#endif
|
||||
else if (!strcmp(ext, "qoa")) {
|
||||
unsigned char header[QOA_MIN_FILESIZE];
|
||||
FILE *f = fopen(wav, "rb");
|
||||
fread(header, QOA_MIN_FILESIZE, 1, f);
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
#define STB_IMAGE_RESIZE_IMPLEMENTATION
|
||||
#include "stb_image_resize.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#define QOI_IMPLEMENTATION
|
||||
|
|
1
source/engine/thirdparty/sokol/sokol_gfx.h
vendored
1
source/engine/thirdparty/sokol/sokol_gfx.h
vendored
|
@ -3513,6 +3513,7 @@ inline int sg_append_buffer(sg_buffer buf_id, const sg_range& data) { return sg_
|
|||
#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
|
||||
#define GL_UNPACK_ALIGNMENT 0x0CF5
|
||||
#define GL_FRAMEBUFFER_SRGB 0x8DB9
|
||||
#define GL_VIEWPORT 0x0BA2
|
||||
#endif
|
||||
|
||||
#ifndef GL_UNSIGNED_INT_2_10_10_10_REV
|
||||
|
|
|
@ -33,13 +33,8 @@
|
|||
|
||||
#include "string.h"
|
||||
|
||||
#include "nuklear.h"
|
||||
#include "sokol/sokol_nuklear.h"
|
||||
|
||||
#define SOKOL_TRACE_HOOKS
|
||||
#define SOKOL_IMPL
|
||||
|
||||
|
||||
#include "sokol/sokol_app.h"
|
||||
#include "sokol/sokol_audio.h"
|
||||
#include "sokol/sokol_time.h"
|
||||
|
@ -206,7 +201,11 @@ void c_clean() {
|
|||
void c_event(const sapp_event *e)
|
||||
{
|
||||
render_dirty = 1;
|
||||
|
||||
#ifndef NO_EDITOR
|
||||
snk_handle_event(e);
|
||||
#endif
|
||||
|
||||
switch (e->type) {
|
||||
case SAPP_EVENTTYPE_MOUSE_MOVE:
|
||||
input_mouse_move(e->mouse_x, e->mouse_y, e->mouse_dx, e->mouse_dy);
|
||||
|
|
Loading…
Reference in a new issue