load icon from vfs + non-workdir
parent
c0c72ae39b
commit
b043390964
|
@ -14028,7 +14028,7 @@ extern "C" {
|
|||
//-----------------------------------------------------------------------------
|
||||
// Headers
|
||||
|
||||
#line 1 "v4k_config.h"
|
||||
#line 1 "engine/split/v4k_config.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// config directives
|
||||
|
||||
|
@ -14060,6 +14060,10 @@ extern "C" {
|
|||
#define ENABLE_TESTS 0 // ifdef(debug, 1, 0) ///+
|
||||
#endif
|
||||
|
||||
#ifndef ENABLE_RETAIL
|
||||
#define ENABLE_RETAIL 0
|
||||
#endif
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// if/n/def hell
|
||||
|
||||
|
@ -14362,7 +14366,7 @@ typedef char bool;
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_ds.h"
|
||||
#line 1 "engine/split/v4k_ds.h"
|
||||
// data structures and utils: array, set, map, hash, sort.
|
||||
// - rlyeh, public domain
|
||||
|
||||
|
@ -14826,7 +14830,7 @@ enum {
|
|||
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_math.h"
|
||||
#line 1 "engine/split/v4k_math.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// math framework: rand, ease, vec2, vec3, vec4, quat, mat2, mat33, mat34, mat4
|
||||
// - rlyeh, public domain
|
||||
|
@ -15186,7 +15190,7 @@ API void swapf4(vec4 *a, vec4 *b);
|
|||
#line 0
|
||||
|
||||
|
||||
#line 1 "v4k_ai.h"
|
||||
#line 1 "engine/split/v4k_ai.h"
|
||||
typedef enum SWARM_DISTANCE {
|
||||
SWARM_DISTANCE_LINEAR,
|
||||
SWARM_DISTANCE_INVERSE_LINEAR,
|
||||
|
@ -15239,7 +15243,7 @@ API int ui_swarm(swarm_t *self);
|
|||
API int pathfind_astar(int width, int height, const unsigned* map, vec2i src, vec2i dst, vec2i* path, size_t maxpath);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_bt.h"
|
||||
#line 1 "engine/split/v4k_bt.h"
|
||||
// Behavior trees: decision planning and decision making.
|
||||
// Supersedes finite state-machines (FSM) and hierarchical finite state-machines (HFSM).
|
||||
// - rlyeh, public domain.
|
||||
|
@ -15265,7 +15269,7 @@ API char *bt_funcname(bt_func fn);
|
|||
API int ui_bt(bt_t *b);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_audio.h"
|
||||
#line 1 "engine/split/v4k_audio.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// audio framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -15326,7 +15330,7 @@ enum AUDIO_FLAGS {
|
|||
API int audio_queue( const void *samples, int num_samples, int flags );
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_buffer.h"
|
||||
#line 1 "engine/split/v4k_buffer.h"
|
||||
// ----------------------------------------------------------------------------
|
||||
// compression api
|
||||
|
||||
|
@ -15424,7 +15428,7 @@ API uint64_t crc64(uint64_t h, const void *ptr, uint64_t len);
|
|||
API void entropy( void *buf, unsigned n );
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_collide.h"
|
||||
#line 1 "engine/split/v4k_collide.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// original code by @vurtun (PD) and @barerose (CC0).
|
||||
// [src] https://gist.github.com/vurtun/95f088e4889da2474ad1ce82d7911fee
|
||||
|
@ -15585,7 +15589,7 @@ API poly diamond(vec3 from, vec3 to, float size); // poly_free() required
|
|||
API void collide_demo(); // debug draw collisions
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_cooker.h"
|
||||
#line 1 "engine/split/v4k_cooker.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// asset pipeline framework
|
||||
// - rlyeh, public domain.
|
||||
|
@ -15620,7 +15624,7 @@ API int cook_progress(); // [0..100]
|
|||
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_data.h"
|
||||
#line 1 "engine/split/v4k_data.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// data framework (json5, xml, compression) @todo:kvdb
|
||||
// - rlyeh, public domain
|
||||
|
@ -15659,7 +15663,7 @@ API void xml_pop();
|
|||
API bool data_tests();
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_dll.h"
|
||||
#line 1 "engine/split/v4k_dll.h"
|
||||
// dll utils
|
||||
// - rlyeh, public domain
|
||||
|
||||
|
@ -15674,7 +15678,7 @@ API bool data_tests();
|
|||
API void* dll(const char *filename, const char *symbol);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_editor.h"
|
||||
#line 1 "engine/split/v4k_editor.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// in-game editor
|
||||
// - rlyeh, public domain.
|
||||
|
@ -15719,7 +15723,7 @@ API char* kit_translate2( const char *id, const char *langcode_iso639_1 ); // pe
|
|||
API void kit_dump_state( FILE *fp );
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_file.h"
|
||||
#line 1 "engine/split/v4k_file.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// files, cache and virtual filesystem (registered directories and/or compressed zip archives).
|
||||
// - rlyeh, public domain.
|
||||
|
@ -15819,7 +15823,7 @@ API void ini_destroy(ini_t);
|
|||
API bool ini_write(const char *filename, const char *section, const char *key, const char *value);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_font.h"
|
||||
#line 1 "engine/split/v4k_font.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// font framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -15911,7 +15915,7 @@ API void* font_colorize(const char *text, const char *comma_types, const char *c
|
|||
API vec2 font_highlight(const char *text, const void *colors);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_id.h"
|
||||
#line 1 "engine/split/v4k_id.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// factory of handle ids, based on code by randy gaul (PD/Zlib licensed)
|
||||
// - rlyeh, public domain
|
||||
|
@ -15940,7 +15944,7 @@ bool id_valid(uintptr_t id);
|
|||
#define ID_DATA_BITS (64-ID_COUNT_BITS)
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_pack.h"
|
||||
#line 1 "engine/split/v4k_pack.h"
|
||||
// ----------------------------------------------------------------------------
|
||||
// endianness
|
||||
|
||||
|
@ -16131,7 +16135,7 @@ API int loadf(FILE *file, const char *format, ...);
|
|||
API int loadb(const unsigned char *buf, const char *format, ...);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_input.h"
|
||||
#line 1 "engine/split/v4k_input.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// input framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -16251,7 +16255,7 @@ enum INPUT_ENUMS {
|
|||
};
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_memory.h"
|
||||
#line 1 "engine/split/v4k_memory.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// memory framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -16291,7 +16295,7 @@ static FORCE_INLINE void *(CALLOC_)(size_t m, size_t n) { return n *= m, memset(
|
|||
static FORCE_INLINE char *(STRDUP_)(const char *s) { size_t n = strlen(s)+1; return ((char*)memcpy(REALLOC(0,n), s, n)); } ///-
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_network.h"
|
||||
#line 1 "engine/split/v4k_network.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// network framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -16343,7 +16347,7 @@ API int tcp_debug(int); // toggle traffic monitoring on/off for given socket
|
|||
//API int tcp_crypt(int,uint64_t); // set shared secret
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_netsync.h"
|
||||
#line 1 "engine/split/v4k_netsync.h"
|
||||
// high-level, socket-less networking api. inspired by Quake, MPI and RenderBuckets theories.
|
||||
// - rlyeh, public domain
|
||||
//
|
||||
|
@ -16429,7 +16433,7 @@ API int64_t client_join(const char *ip, int port);
|
|||
#define LOCALHOST_IPV6 "::1"
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_obj.h"
|
||||
#line 1 "engine/split/v4k_obj.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// semantic versioning in a single byte (octal)
|
||||
// - rlyeh, public domain.
|
||||
|
@ -16489,7 +16493,7 @@ typedef struct double4 { double x,y,z,w; } double4;
|
|||
#define double4(x,y,z,w) M_CAST(double4, (double)(x), (double)(y), (double)(z), (double)(w) )
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_profile.h"
|
||||
#line 1 "engine/split/v4k_profile.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// profiler & stats (@fixme: threadsafe)
|
||||
|
||||
|
@ -16521,7 +16525,7 @@ extern API int profiler_enabled; ///-
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_reflect.h"
|
||||
#line 1 "engine/split/v4k_reflect.h"
|
||||
// C reflection: enums, functions, structs, members and anotations.
|
||||
// - rlyeh, public domain
|
||||
//
|
||||
|
@ -16583,7 +16587,7 @@ API void reflected_printf(reflected_t *r);
|
|||
API void reflected_printf_all();
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_render.h"
|
||||
#line 1 "engine/split/v4k_render.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// naive rendering framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -17285,7 +17289,7 @@ API void* screenshot(int components); // 3 RGB, 4 RGBA, -3 BGR, -4 BGRA
|
|||
API void* screenshot_async(int components); // 3 RGB, 4 RGBA, -3 BGR, -4 BGRA
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_renderdd.h"
|
||||
#line 1 "engine/split/v4k_renderdd.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// debugdraw framework
|
||||
// - rlyeh, public domain.
|
||||
|
@ -17352,7 +17356,7 @@ API void ddraw_flush();
|
|||
API void ddraw_flush_projview(mat44 proj, mat44 view);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_scene.h"
|
||||
#line 1 "engine/split/v4k_scene.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// scene framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -17489,7 +17493,7 @@ API unsigned scene_count_light();
|
|||
API light_t* scene_index_light(unsigned index);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_script.h"
|
||||
#line 1 "engine/split/v4k_script.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// script framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -17505,7 +17509,7 @@ API void script_call(const char *lua_function);
|
|||
API bool script_tests();
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_string.h"
|
||||
#line 1 "engine/split/v4k_string.h"
|
||||
// string framework
|
||||
// - rlyeh, public domain
|
||||
|
||||
|
@ -17599,7 +17603,7 @@ unsigned quark_intern( quarks_db*, const char *string );
|
|||
const char *quark_string( quarks_db*, unsigned key );
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_time.h"
|
||||
#line 1 "engine/split/v4k_time.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// time framework utils
|
||||
// - rlyeh, public domain.
|
||||
|
@ -17646,7 +17650,7 @@ AUTORUN {
|
|||
*/
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_system.h"
|
||||
#line 1 "engine/split/v4k_system.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// system framework utils
|
||||
// - rlyeh, public domain.
|
||||
|
@ -17727,7 +17731,7 @@ API int (test)(const char *file, int line, const char *expr, bool result);
|
|||
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_ui.h"
|
||||
#line 1 "engine/split/v4k_ui.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// immediate ui framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -17817,7 +17821,7 @@ API int ui_active(); // ui_is_active()?
|
|||
API int ui_demo(int do_windows);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_video.h"
|
||||
#line 1 "engine/split/v4k_video.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// video decoder (mpeg)
|
||||
// - rlyeh, public domain
|
||||
|
@ -17860,7 +17864,7 @@ API bool record_active();
|
|||
API void record_stop(void);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_window.h"
|
||||
#line 1 "engine/split/v4k_window.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// window framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -17993,7 +17997,7 @@ API void window_cursor_shape(unsigned shape);
|
|||
#define GLAD_GL_IMPLEMENTATION // glad
|
||||
#endif
|
||||
|
||||
#line 1 "3rd_glad.h"
|
||||
#line 1 "engine/split/3rd_glad.h"
|
||||
#ifndef __EMSCRIPTEN__
|
||||
|
||||
#ifndef _GNU_SOURCE // juicy linux headers
|
||||
|
@ -29675,7 +29679,7 @@ int gladLoadGL( GLADloadfunc load) {
|
|||
|
||||
#endif /* __EMSCRIPTEN__ */
|
||||
#line 0
|
||||
#line 1 "3rd_icon_md.h"
|
||||
#line 1 "engine/split/3rd_icon_md.h"
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
|
||||
// from https://github.com/google/material-design-icons/raw/master/font/MaterialIcons-Regular.codepoints
|
||||
// for use with https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf
|
||||
|
@ -32017,7 +32021,7 @@ errno_t fopen_s(
|
|||
|
||||
|
||||
//---
|
||||
#line 1 "3rd_glfw3.h"
|
||||
#line 1 "engine/split/3rd_glfw3.h"
|
||||
#ifndef __EMSCRIPTEN__
|
||||
|
||||
// forked from https://github.com/SasLuca/glfw-single-header (CC0-1.0 licensed)
|
||||
|
@ -71214,7 +71218,7 @@ uint32_t _glfwKeySym2Unicode(unsigned int keysym)
|
|||
#line 0
|
||||
#undef timeGetTime
|
||||
//---
|
||||
#line 1 "3rd_swrap.h"
|
||||
#line 1 "engine/split/3rd_swrap.h"
|
||||
// https://github.com/BareRose/swrap/blob/master/swrap.h
|
||||
|
||||
/*
|
||||
|
@ -71507,7 +71511,7 @@ SWDEF int swrapMultiSelect (int* socks, size_t socks_size, double timeout) {
|
|||
#endif //SWRAP_H
|
||||
#line 0
|
||||
//---
|
||||
#line 1 "3rd_jo_mp1.h"
|
||||
#line 1 "engine/split/3rd_jo_mp1.h"
|
||||
/* public domain Simple, Minimalistic MPEG Layer 1 decoder - http://jonolick.com
|
||||
*
|
||||
* Revision History:
|
||||
|
@ -71918,7 +71922,7 @@ bool jo_read_mp1(const void *input, int inputSize, short **output_, int *outputS
|
|||
#line 0
|
||||
#define get_bits stb_vorbis_get_bits
|
||||
#define error stb_vorbis_error
|
||||
#line 1 "3rd_stb_vorbis.h"
|
||||
#line 1 "engine/split/3rd_stb_vorbis.h"
|
||||
// Ogg Vorbis audio decoder - v1.19 - public domain
|
||||
// http://nothings.org/stb_vorbis/
|
||||
//
|
||||
|
@ -77479,7 +77483,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#line 0
|
||||
#undef error
|
||||
#undef DEBUG
|
||||
#line 1 "3rd_sts_mixer.h"
|
||||
#line 1 "engine/split/3rd_sts_mixer.h"
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// sts_mixer.h - v0.02
|
||||
// written 2016 by Sebastian Steinhauer
|
||||
|
@ -77992,7 +77996,7 @@ int main(int argc, char *argv[]) {
|
|||
For more information, please refer to <http://unlicense.org/>
|
||||
*/
|
||||
#line 0
|
||||
#line 1 "3rd_miniaudio.h"
|
||||
#line 1 "engine/split/3rd_miniaudio.h"
|
||||
/*
|
||||
Audio playback and capture library. Choice of public domain or MIT-0. See license statements at the end of this file.
|
||||
miniaudio - v0.11.18 - 2023-08-07
|
||||
|
@ -170537,7 +170541,7 @@ SOFTWARE.
|
|||
#undef R
|
||||
#define error l_error
|
||||
#define panic l_panic
|
||||
#line 1 "3rd_lua.h"
|
||||
#line 1 "engine/split/3rd_lua.h"
|
||||
/*
|
||||
minilua.h -- Lua in a single header
|
||||
Project URL: https://github.com/edubart/minilua
|
||||
|
@ -199515,7 +199519,7 @@ int main (int argc, char **argv) {
|
|||
#undef cast
|
||||
#undef G
|
||||
//---
|
||||
#line 1 "3rd_stb_image.h"
|
||||
#line 1 "engine/split/3rd_stb_image.h"
|
||||
/* stb_image - v2.26 - public domain image loader - http://nothings.org/stb
|
||||
no warranty implied; use at your own risk
|
||||
|
||||
|
@ -207279,7 +207283,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
------------------------------------------------------------------------------
|
||||
*/
|
||||
#line 0
|
||||
#line 1 "3rd_stb_image_write.h"
|
||||
#line 1 "engine/split/3rd_stb_image_write.h"
|
||||
/* stb_image_write - v1.15 - public domain - http://nothings.org/stb
|
||||
writes out PNG/BMP/TGA/JPEG/HDR images to C stdio - Sean Barrett 2010-2015
|
||||
no warranty implied; use at your own risk
|
||||
|
@ -208977,7 +208981,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#define STBTT_free(x,u) ((void)(u),FREE(x))
|
||||
#define NK_ASSERT ASSERT
|
||||
#define NK_DTOA(s,n) strcpy(s, va("%f", n)) // override cos built-in nk_dtoa() will freeze while parsing UINT_MAX otherwise
|
||||
#line 1 "3rd_nuklear.h"
|
||||
#line 1 "engine/split/3rd_nuklear.h"
|
||||
/*
|
||||
/// # Nuklear
|
||||
/// ![](https://cloud.githubusercontent.com/assets/8057201/11761525/ae06f0ca-a0c6-11e5-819d-5610b25f6ef4.gif)
|
||||
|
@ -239338,7 +239342,7 @@ nk_tooltipfv(struct nk_context *ctx, const char *fmt, va_list args)
|
|||
/// for his single header file packer.
|
||||
*/
|
||||
#line 0
|
||||
#line 1 "3rd_nuklear_glfw_gl3.h"
|
||||
#line 1 "engine/split/3rd_nuklear_glfw_gl3.h"
|
||||
|
||||
/*
|
||||
* Nuklear - 1.32.0 - public domain
|
||||
|
@ -239889,7 +239893,7 @@ void nk_glfw3_shutdown(struct nk_glfw* glfw)
|
|||
#endif
|
||||
#endif
|
||||
#line 0
|
||||
#line 1 "3rd_nuklear_filebrowser.h"
|
||||
#line 1 "engine/split/3rd_nuklear_filebrowser.h"
|
||||
// file browser for nuklear, based on https://github.com/vurtun/nuklear/blob/master/example/file_browser.c (public domain)
|
||||
// - rlyeh, public domain
|
||||
//
|
||||
|
@ -240300,7 +240304,7 @@ static struct nk_image icon_load_rect(unsigned id, unsigned w, unsigned h, unsig
|
|||
//#include "3rd_assimp/postprocess.h"
|
||||
//#pragma comment(lib, "3rd/3rd_assimp/x64/assimp")
|
||||
#endif
|
||||
#line 1 "3rd_json5.h"
|
||||
#line 1 "engine/split/3rd_json5.h"
|
||||
// JSON5 + SJSON parser module
|
||||
//
|
||||
// License:
|
||||
|
@ -240740,7 +240744,7 @@ int main() {
|
|||
|
||||
#endif // JSON5_C
|
||||
#line 0
|
||||
#line 1 "3rd_gjk.h"
|
||||
#line 1 "engine/split/3rd_gjk.h"
|
||||
// GJK distance algorithm. original code by @vurtun and @randygaul, public domain.
|
||||
// [src] https://gist.github.com/vurtun/29727217c269a2fbf4c0ed9a1d11cb40
|
||||
// - rlyeh, public domain.
|
||||
|
@ -241349,7 +241353,7 @@ gjk_result gjk_quad(float a_radius, float b_radius) {
|
|||
|
||||
#endif
|
||||
#line 0
|
||||
#line 1 "3rd_compress.h"
|
||||
#line 1 "engine/split/3rd_compress.h"
|
||||
// compress.c de/compressors into a single-file header
|
||||
// - rlyeh, public domain
|
||||
//
|
||||
|
@ -252198,7 +252202,7 @@ unsigned file_decode(FILE* in, FILE* out, FILE *logfile) { // multi decoder
|
|||
|
||||
#endif // COMPRESS_C
|
||||
#line 0
|
||||
#line 1 "3rd_archive.h"
|
||||
#line 1 "engine/split/3rd_archive.h"
|
||||
// archive.c pak/zip/tar/dir archivers
|
||||
// - rlyeh, public domain
|
||||
|
||||
|
@ -253802,7 +253806,7 @@ int main( int argc, char **argv ) {
|
|||
#if is(win32)
|
||||
#include <mmsystem.h> // timeapi.h
|
||||
#endif
|
||||
#line 1 "3rd_thread.h"
|
||||
#line 1 "engine/split/3rd_thread.h"
|
||||
/*
|
||||
------------------------------------------------------------------------------
|
||||
Licensing information can be found at the end of the file.
|
||||
|
@ -255532,7 +255536,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
------------------------------------------------------------------------------
|
||||
*/
|
||||
#line 0
|
||||
#line 1 "3rd_plmpeg.h"
|
||||
#line 1 "engine/split/3rd_plmpeg.h"
|
||||
/*
|
||||
PL_MPEG - MPEG1 Video decoder, MP2 Audio decoder, MPEG-PS demuxer
|
||||
|
||||
|
@ -259798,7 +259802,7 @@ void plm_audio_matrix_transform(int s[32][3], int ss, float *d, int dp) {
|
|||
|
||||
#endif // PL_MPEG_IMPLEMENTATION
|
||||
#line 0
|
||||
#line 1 "3rd_jo_mpeg.h"
|
||||
#line 1 "engine/split/3rd_jo_mpeg.h"
|
||||
/* public domain Simple, Minimalistic, No Allocations MPEG writer - http://jonolick.com
|
||||
*
|
||||
* Latest revisions:
|
||||
|
@ -260065,7 +260069,7 @@ void jo_write_mpeg(FILE *fp, const unsigned char *bgrx, int width, int height, i
|
|||
#endif
|
||||
#line 0
|
||||
//#define _RTL_RUN_ONCE _RTL_RUN_ONCE2 // __MINGW64__
|
||||
#line 1 "3rd_https.h"
|
||||
#line 1 "engine/split/3rd_https.h"
|
||||
/*
|
||||
------------------------------------------------------------------------------
|
||||
Licensing information can be found at the end of the file.
|
||||
|
@ -307048,7 +307052,7 @@ int main() {
|
|||
#line 0
|
||||
#undef F2
|
||||
#undef F3
|
||||
#line 1 "3rd_enet.h"
|
||||
#line 1 "engine/split/3rd_enet.h"
|
||||
/**
|
||||
* include/enet.h - a Single-Header auto-generated variant of enet.h library.
|
||||
*
|
||||
|
@ -313189,7 +313193,7 @@ extern "C" {
|
|||
#endif // ENET_INCLUDE_H
|
||||
#line 0
|
||||
#define tls_init tls_init2
|
||||
#line 1 "3rd_bq_websocket.h"
|
||||
#line 1 "engine/split/3rd_bq_websocket.h"
|
||||
/*
|
||||
------------------------------------------------------------------------------
|
||||
This software is available under 2 licenses -- choose whichever you prefer.
|
||||
|
@ -319552,7 +319556,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
#endif // BQ_PLATFORM_IMPLEMENTATION
|
||||
#line 0
|
||||
#line 1 "3rd_simplex.h"
|
||||
#line 1 "engine/split/3rd_simplex.h"
|
||||
/** 1D, 2D, 3D and 4D float Perlin Simplex noise */
|
||||
/** Original code, stefan gustavson (PD). */
|
||||
|
||||
|
@ -320035,7 +320039,7 @@ float snoise4(float x, float y, float z, float w) {
|
|||
|
||||
#endif
|
||||
#line 0
|
||||
#line 1 "3rd_tfd.h"
|
||||
#line 1 "engine/split/3rd_tfd.h"
|
||||
/* If you are using a C++ compiler to compile tinyfiledialogs.c (maybe renamed with an extension ".cpp")
|
||||
then comment out << extern "C" >> bellow in this header file) */
|
||||
|
||||
|
@ -328095,7 +328099,7 @@ tinyfd_messageBox("The selected hexcolor is",
|
|||
|
||||
#endif // TFD_IMPLEMENTATION
|
||||
#line 0
|
||||
#line 1 "3rd_stb_sprintf.h"
|
||||
#line 1 "engine/split/3rd_stb_sprintf.h"
|
||||
// stb_sprintf - v1.10 - public domain snprintf() implementation
|
||||
// originally by Jeff Roberts / RAD Game Tools, 2015/10/20
|
||||
// http://github.com/nothings/stb
|
||||
|
@ -330004,7 +330008,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
*/
|
||||
#line 0
|
||||
#define g g2
|
||||
#line 1 "3rd_xml.h"
|
||||
#line 1 "engine/split/3rd_xml.h"
|
||||
// original xml.h/xml.c files by tor andersson, public domain
|
||||
|
||||
#ifndef xml_h
|
||||
|
@ -330535,7 +330539,7 @@ struct xml *xml_parse(char *s, int preserve_white, char **errorp)
|
|||
#endif
|
||||
#line 0
|
||||
#undef g
|
||||
#line 1 "3rd_polychop.h"
|
||||
#line 1 "engine/split/3rd_polychop.h"
|
||||
/* Progressive Mesh type Polygon Reduction Algorithm
|
||||
*
|
||||
* 1998: Original version by Stan Melax (c) 1998
|
||||
|
@ -331067,7 +331071,7 @@ for( int lock_ = (thread_mutex_lock( mutexptr ), 1); lock_; lock_ = (thread_mute
|
|||
//-----------------------------------------------------------------------------
|
||||
// C files
|
||||
|
||||
#line 1 "v4k_ds.c"
|
||||
#line 1 "engine/split/v4k_ds.c"
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// sort/less
|
||||
|
@ -331476,7 +331480,7 @@ char *cc8str(uint64_t x) {
|
|||
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_string.c"
|
||||
#line 1 "engine/split/v4k_string.c"
|
||||
#include <stdarg.h>
|
||||
|
||||
char* tempvl(const char *fmt, va_list vl) {
|
||||
|
@ -331897,7 +331901,7 @@ AUTORUN {
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_compat.c"
|
||||
#line 1 "engine/split/v4k_compat.c"
|
||||
//-----------------------------------------------------------------------------
|
||||
// compat (unix & stdio.h)
|
||||
|
||||
|
@ -332014,7 +332018,7 @@ static void v4k_pre_init();
|
|||
static void v4k_post_init(float);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_audio.c"
|
||||
#line 1 "engine/split/v4k_audio.c"
|
||||
// @fixme: really shutdown audio & related threads before quitting. ma_dr_wav crashes.
|
||||
|
||||
|
||||
|
@ -332607,7 +332611,7 @@ int ui_audio() {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_buffer.c"
|
||||
#line 1 "engine/split/v4k_buffer.c"
|
||||
// ----------------------------------------------------------------------------
|
||||
// compression api
|
||||
|
||||
|
@ -333363,7 +333367,7 @@ AUTORUN {
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_collide.c"
|
||||
#line 1 "engine/split/v4k_collide.c"
|
||||
/* poly */
|
||||
poly poly_alloc(int cnt) {
|
||||
poly p = {0};
|
||||
|
@ -334791,7 +334795,7 @@ void collide_demo() { // debug draw collisions // @fixme: fix leaks: poly_free()
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_cooker.c"
|
||||
#line 1 "engine/split/v4k_cooker.c"
|
||||
// data pipeline
|
||||
// - rlyeh, public domain.
|
||||
// ----------------------------------------------------------------------------
|
||||
|
@ -335608,7 +335612,7 @@ void cook_config( const char *pathfile_to_cook_ini ) { // @todo: test run-from-"
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_data.c"
|
||||
#line 1 "engine/split/v4k_data.c"
|
||||
|
||||
static
|
||||
array(char) base64__decode(const char *in_, unsigned inlen) {
|
||||
|
@ -335911,7 +335915,7 @@ bool data_tests() {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_dll.c"
|
||||
#line 1 "engine/split/v4k_dll.c"
|
||||
#if is(win32)
|
||||
# include <winsock2.h>
|
||||
# define dlopen(name,mode) (void*)( (name) ? LoadLibraryA(name) : GetModuleHandle(NULL))
|
||||
|
@ -335943,7 +335947,7 @@ int main() { int (*adder)() = dll("demo.dll", "add2"); printf("%d\n", adder(2,3)
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_file.c"
|
||||
#line 1 "engine/split/v4k_file.c"
|
||||
// -----------------------------------------------------------------------------
|
||||
// file
|
||||
|
||||
|
@ -337083,7 +337087,7 @@ bool ini_write(const char *filename, const char *section, const char *key, const
|
|||
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_font.c"
|
||||
#line 1 "engine/split/v4k_font.c"
|
||||
// font framework. original code by Vassvik (UNLICENSED)
|
||||
// - rlyeh, public domain.
|
||||
//
|
||||
|
@ -339433,7 +339437,7 @@ vec2 font_rect(const char *str) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_input.c"
|
||||
#line 1 "engine/split/v4k_input.c"
|
||||
// input framework
|
||||
// - rlyeh, public domain
|
||||
//
|
||||
|
@ -340166,7 +340170,7 @@ int ui_gamepads() {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_math.c"
|
||||
#line 1 "engine/split/v4k_math.c"
|
||||
// -----------------------------------------------------------------------------
|
||||
// math framework: rand, ease, vec2, vec3, vec4, quat, mat2, mat33, mat34, mat4
|
||||
// - rlyeh, public domain
|
||||
|
@ -341172,7 +341176,7 @@ void print34( float *m ) { print_(m,3,4); }
|
|||
void print44( float *m ) { print_(m,4,4); }
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_memory.c"
|
||||
#line 1 "engine/split/v4k_memory.c"
|
||||
size_t dlmalloc_usable_size(void*); // __ANDROID_API__
|
||||
|
||||
#if is(bsd) || is(osx) // bsd or osx
|
||||
|
@ -341270,7 +341274,7 @@ void* forget( void *ptr ) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_network.c"
|
||||
#line 1 "engine/split/v4k_network.c"
|
||||
|
||||
#if is(tcc) && is(win32) // @fixme: https lib is broken with tcc. replaced with InternetReadFile() api for now
|
||||
|
||||
|
@ -341580,7 +341584,7 @@ static void network_init() {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_netsync.c"
|
||||
#line 1 "engine/split/v4k_netsync.c"
|
||||
typedef void* (*rpc_function)();
|
||||
|
||||
typedef struct rpc_call {
|
||||
|
@ -342266,7 +342270,7 @@ void network_rpc_send(unsigned id, const char *cmdline) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_pack.c"
|
||||
#line 1 "engine/split/v4k_pack.c"
|
||||
// endianness -----------------------------------------------------------------
|
||||
// - rlyeh, public domain
|
||||
|
||||
|
@ -343726,7 +343730,7 @@ AUTORUN {
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_reflect.c"
|
||||
#line 1 "engine/split/v4k_reflect.c"
|
||||
// C reflection: enums, functions, structs, members and anotations.
|
||||
// - rlyeh, public domain
|
||||
//
|
||||
|
@ -343838,7 +343842,7 @@ AUTOTEST {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_render.c"
|
||||
#line 1 "engine/split/v4k_render.c"
|
||||
// -----------------------------------------------------------------------------
|
||||
// opengl
|
||||
|
||||
|
@ -348606,7 +348610,7 @@ anims_t animations(const char *pathfile, int flags) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_renderdd.c"
|
||||
#line 1 "engine/split/v4k_renderdd.c"
|
||||
static const char *dd_vs = "//" FILELINE "\n"
|
||||
"in vec3 att_position;\n"
|
||||
"uniform mat4 u_MVP;\n"
|
||||
|
@ -349454,7 +349458,7 @@ void ddraw_demo() {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_scene.c"
|
||||
#line 1 "engine/split/v4k_scene.c"
|
||||
//
|
||||
// @todo: remove explicit GL code from here
|
||||
|
||||
|
@ -350026,7 +350030,7 @@ void scene_render(int flags) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_script.c"
|
||||
#line 1 "engine/split/v4k_script.c"
|
||||
typedef lua_State lua;
|
||||
|
||||
// the Lua interpreter
|
||||
|
@ -350207,7 +350211,7 @@ bool script_tests() {
|
|||
#undef XMACRO
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_time.c"
|
||||
#line 1 "engine/split/v4k_time.c"
|
||||
// ----------------------------------------------------------------------------
|
||||
// time
|
||||
|
||||
|
@ -350458,7 +350462,7 @@ guid guid_create() {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_system.c"
|
||||
#line 1 "engine/split/v4k_system.c"
|
||||
#if (is(tcc) && is(linux)) || (is(gcc) && !is(mingw)) // || is(clang)
|
||||
int __argc; char **__argv;
|
||||
#if !is(ems)
|
||||
|
@ -351343,7 +351347,7 @@ int (test)(const char *file, int line, const char *expr, bool result) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_id.c"
|
||||
#line 1 "engine/split/v4k_id.c"
|
||||
// -----------------------------------------------------------------------------
|
||||
// factory of handle ids, based on code by randy gaul (PD/Zlib licensed)
|
||||
// - rlyeh, public domain
|
||||
|
@ -351513,7 +351517,7 @@ bool id_valid(uintptr_t id) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_ui.c"
|
||||
#line 1 "engine/split/v4k_ui.c"
|
||||
|
||||
#ifndef UI_ICONS_SMALL
|
||||
//#define UI_ICONS_SMALL 1
|
||||
|
@ -353978,7 +353982,7 @@ int ui_demo(int do_windows) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_profile.c"
|
||||
#line 1 "engine/split/v4k_profile.c"
|
||||
#if ENABLE_PROFILER
|
||||
profiler_t profiler;
|
||||
int profiler_enabled = 1;
|
||||
|
@ -354034,7 +354038,7 @@ void (ui_profiler)() {
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_video.c"
|
||||
#line 1 "engine/split/v4k_video.c"
|
||||
// tip: convert video to x265/mp4. note: higher crf to increase compression (default crf is 28)
|
||||
// ffmpeg -i {{infile}} -c:v libx265 -crf 24 -c:a copy {{outfile}}
|
||||
|
||||
|
@ -354266,7 +354270,7 @@ void record_frame() {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_window.c"
|
||||
#line 1 "engine/split/v4k_window.c"
|
||||
//-----------------------------------------------------------------------------
|
||||
// fps locking
|
||||
|
||||
|
@ -355252,9 +355256,9 @@ void window_color(unsigned color) {
|
|||
winbgcolor = vec4(r / 255.0, g / 255.0, b / 255.0, a / 255.0);
|
||||
}
|
||||
void window_icon(const char *file_icon) {
|
||||
unsigned len = file_size(file_icon); // len = len ? len : vfs_size(file_icon); // @fixme: reenable this to allow icons to be put in cooked .zipfiles
|
||||
unsigned len = file_size(file_icon); len = len ? len : vfs_size(file_icon); // @fixme: reenable this to allow icons to be put in cooked .zipfiles
|
||||
if( len ) {
|
||||
void *data = file_read(file_icon); // data = data ? data : vfs_read(file_icon); // @fixme: reenable this to allow icons to be put in cooked .zipfiles
|
||||
void *data = file_read(file_icon); data = data ? data : vfs_read(file_icon); // @fixme: reenable this to allow icons to be put in cooked .zipfiles
|
||||
if( data ) {
|
||||
image_t img = image_from_mem(data, len, IMAGE_RGBA);
|
||||
if( img.w && img.h && img.pixels ) {
|
||||
|
@ -355539,7 +355543,7 @@ int window_has_maximize() {
|
|||
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_obj.c"
|
||||
#line 1 "engine/split/v4k_obj.c"
|
||||
// -----------------------------------------------------------------------------
|
||||
// semantic versioning in a single byte (octal)
|
||||
// - rlyeh, public domain.
|
||||
|
@ -355586,7 +355590,7 @@ AUTORUN {
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_ai.c"
|
||||
#line 1 "engine/split/v4k_ai.c"
|
||||
// AI framework
|
||||
// - rlyeh, public domain.
|
||||
//
|
||||
|
@ -356162,7 +356166,7 @@ int pathfind_astar(int width, int height, const unsigned* map, vec2i src, vec2i
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_bt.c"
|
||||
#line 1 "engine/split/v4k_bt.c"
|
||||
// Behavior trees: decision planning and decision making.
|
||||
// Supersedes finite state-machines (FSM) and hierarchical finite state-machines (HFSM).
|
||||
// - rlyeh, public domain.
|
||||
|
@ -356426,7 +356430,7 @@ int ui_bt(bt_t *b) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_editor.c"
|
||||
#line 1 "engine/split/v4k_editor.c"
|
||||
// editing:
|
||||
// nope > functions: add/rem property
|
||||
|
||||
|
@ -356880,13 +356884,14 @@ int main() {
|
|||
|
||||
// editor is last in place, so it can use all internals from above headers
|
||||
|
||||
#line 1 "v4k_main.c"
|
||||
#line 1 "engine/split/v4k_main.c"
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
static void v4k_pre_init() {
|
||||
const char *appname = app_name();
|
||||
window_icon(va("%s.png", appname));
|
||||
ifdef(win32,window_icon(va("%s.ico", appname)));
|
||||
const char *appdir = app_path();
|
||||
window_icon(va("%s/%s.png", appdir, appname));
|
||||
ifdef(win32,window_icon(va("%s/%s.ico", appdir, appname)));
|
||||
|
||||
glfwPollEvents();
|
||||
|
||||
|
@ -356922,8 +356927,9 @@ static void v4k_post_init(float refresh_rate) {
|
|||
}
|
||||
|
||||
// @todo
|
||||
// window_icon(vfs_file(va("%s.png", app)));
|
||||
// window_icon(vfs_file(va("%s.ico", app)));
|
||||
const char *appname = app_name();
|
||||
window_icon(va("%s.png", appname));
|
||||
window_icon(va("%s.ico", appname));
|
||||
|
||||
// display window
|
||||
glfwShowWindow(window);
|
||||
|
@ -356972,7 +356978,7 @@ void v4k_init() {
|
|||
__argc = 0;
|
||||
}
|
||||
|
||||
#ifdef COOK_DISABLED
|
||||
#if defined(COOK_DISABLED) || ENABLE_RETAIL
|
||||
cook_disable();
|
||||
#endif
|
||||
|
||||
|
|
|
@ -29,6 +29,10 @@
|
|||
#define ENABLE_TESTS 0 // ifdef(debug, 1, 0) ///+
|
||||
#endif
|
||||
|
||||
#ifndef ENABLE_RETAIL
|
||||
#define ENABLE_RETAIL 0
|
||||
#endif
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// if/n/def hell
|
||||
|
||||
|
|
|
@ -2,8 +2,9 @@
|
|||
|
||||
static void v4k_pre_init() {
|
||||
const char *appname = app_name();
|
||||
window_icon(va("%s.png", appname));
|
||||
ifdef(win32,window_icon(va("%s.ico", appname)));
|
||||
const char *appdir = app_path();
|
||||
window_icon(va("%s/%s.png", appdir, appname));
|
||||
ifdef(win32,window_icon(va("%s/%s.ico", appdir, appname)));
|
||||
|
||||
glfwPollEvents();
|
||||
|
||||
|
@ -39,8 +40,9 @@ static void v4k_post_init(float refresh_rate) {
|
|||
}
|
||||
|
||||
// @todo
|
||||
// window_icon(vfs_file(va("%s.png", app)));
|
||||
// window_icon(vfs_file(va("%s.ico", app)));
|
||||
const char *appname = app_name();
|
||||
window_icon(va("%s.png", appname));
|
||||
window_icon(va("%s.ico", appname));
|
||||
|
||||
// display window
|
||||
glfwShowWindow(window);
|
||||
|
@ -89,7 +91,7 @@ void v4k_init() {
|
|||
__argc = 0;
|
||||
}
|
||||
|
||||
#ifdef COOK_DISABLED
|
||||
#if defined(COOK_DISABLED) || ENABLE_RETAIL
|
||||
cook_disable();
|
||||
#endif
|
||||
|
||||
|
|
|
@ -983,9 +983,9 @@ void window_color(unsigned color) {
|
|||
winbgcolor = vec4(r / 255.0, g / 255.0, b / 255.0, a / 255.0);
|
||||
}
|
||||
void window_icon(const char *file_icon) {
|
||||
unsigned len = file_size(file_icon); // len = len ? len : vfs_size(file_icon); // @fixme: reenable this to allow icons to be put in cooked .zipfiles
|
||||
unsigned len = file_size(file_icon); len = len ? len : vfs_size(file_icon); // @fixme: reenable this to allow icons to be put in cooked .zipfiles
|
||||
if( len ) {
|
||||
void *data = file_read(file_icon); // data = data ? data : vfs_read(file_icon); // @fixme: reenable this to allow icons to be put in cooked .zipfiles
|
||||
void *data = file_read(file_icon); data = data ? data : vfs_read(file_icon); // @fixme: reenable this to allow icons to be put in cooked .zipfiles
|
||||
if( data ) {
|
||||
image_t img = image_from_mem(data, len, IMAGE_RGBA);
|
||||
if( img.w && img.h && img.pixels ) {
|
||||
|
|
58
engine/v4k
58
engine/v4k
|
@ -6,7 +6,7 @@
|
|||
#define GLAD_GL_IMPLEMENTATION // glad
|
||||
#endif
|
||||
|
||||
#line 1 "3rd_glad.h"
|
||||
#line 1 "engine/split/3rd_glad.h"
|
||||
#ifndef __EMSCRIPTEN__
|
||||
|
||||
#ifndef _GNU_SOURCE // juicy linux headers
|
||||
|
@ -11688,7 +11688,7 @@ int gladLoadGL( GLADloadfunc load) {
|
|||
|
||||
#endif /* __EMSCRIPTEN__ */
|
||||
#line 0
|
||||
#line 1 "3rd_icon_md.h"
|
||||
#line 1 "engine/split/3rd_icon_md.h"
|
||||
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for languages C and C++
|
||||
// from https://github.com/google/material-design-icons/raw/master/font/MaterialIcons-Regular.codepoints
|
||||
// for use with https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf
|
||||
|
@ -14030,7 +14030,7 @@ errno_t fopen_s(
|
|||
|
||||
|
||||
//---
|
||||
#line 1 "3rd_glfw3.h"
|
||||
#line 1 "engine/split/3rd_glfw3.h"
|
||||
#ifndef __EMSCRIPTEN__
|
||||
|
||||
// forked from https://github.com/SasLuca/glfw-single-header (CC0-1.0 licensed)
|
||||
|
@ -53227,7 +53227,7 @@ uint32_t _glfwKeySym2Unicode(unsigned int keysym)
|
|||
#line 0
|
||||
#undef timeGetTime
|
||||
//---
|
||||
#line 1 "3rd_swrap.h"
|
||||
#line 1 "engine/split/3rd_swrap.h"
|
||||
// https://github.com/BareRose/swrap/blob/master/swrap.h
|
||||
|
||||
/*
|
||||
|
@ -53520,7 +53520,7 @@ SWDEF int swrapMultiSelect (int* socks, size_t socks_size, double timeout) {
|
|||
#endif //SWRAP_H
|
||||
#line 0
|
||||
//---
|
||||
#line 1 "3rd_jo_mp1.h"
|
||||
#line 1 "engine/split/3rd_jo_mp1.h"
|
||||
/* public domain Simple, Minimalistic MPEG Layer 1 decoder - http://jonolick.com
|
||||
*
|
||||
* Revision History:
|
||||
|
@ -53931,7 +53931,7 @@ bool jo_read_mp1(const void *input, int inputSize, short **output_, int *outputS
|
|||
#line 0
|
||||
#define get_bits stb_vorbis_get_bits
|
||||
#define error stb_vorbis_error
|
||||
#line 1 "3rd_stb_vorbis.h"
|
||||
#line 1 "engine/split/3rd_stb_vorbis.h"
|
||||
// Ogg Vorbis audio decoder - v1.19 - public domain
|
||||
// http://nothings.org/stb_vorbis/
|
||||
//
|
||||
|
@ -59492,7 +59492,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#line 0
|
||||
#undef error
|
||||
#undef DEBUG
|
||||
#line 1 "3rd_sts_mixer.h"
|
||||
#line 1 "engine/split/3rd_sts_mixer.h"
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// sts_mixer.h - v0.02
|
||||
// written 2016 by Sebastian Steinhauer
|
||||
|
@ -60005,7 +60005,7 @@ int main(int argc, char *argv[]) {
|
|||
For more information, please refer to <http://unlicense.org/>
|
||||
*/
|
||||
#line 0
|
||||
#line 1 "3rd_miniaudio.h"
|
||||
#line 1 "engine/split/3rd_miniaudio.h"
|
||||
/*
|
||||
Audio playback and capture library. Choice of public domain or MIT-0. See license statements at the end of this file.
|
||||
miniaudio - v0.11.18 - 2023-08-07
|
||||
|
@ -152550,7 +152550,7 @@ SOFTWARE.
|
|||
#undef R
|
||||
#define error l_error
|
||||
#define panic l_panic
|
||||
#line 1 "3rd_lua.h"
|
||||
#line 1 "engine/split/3rd_lua.h"
|
||||
/*
|
||||
minilua.h -- Lua in a single header
|
||||
Project URL: https://github.com/edubart/minilua
|
||||
|
@ -181528,7 +181528,7 @@ int main (int argc, char **argv) {
|
|||
#undef cast
|
||||
#undef G
|
||||
//---
|
||||
#line 1 "3rd_stb_image.h"
|
||||
#line 1 "engine/split/3rd_stb_image.h"
|
||||
/* stb_image - v2.26 - public domain image loader - http://nothings.org/stb
|
||||
no warranty implied; use at your own risk
|
||||
|
||||
|
@ -189292,7 +189292,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
------------------------------------------------------------------------------
|
||||
*/
|
||||
#line 0
|
||||
#line 1 "3rd_stb_image_write.h"
|
||||
#line 1 "engine/split/3rd_stb_image_write.h"
|
||||
/* stb_image_write - v1.15 - public domain - http://nothings.org/stb
|
||||
writes out PNG/BMP/TGA/JPEG/HDR images to C stdio - Sean Barrett 2010-2015
|
||||
no warranty implied; use at your own risk
|
||||
|
@ -190990,7 +190990,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#define STBTT_free(x,u) ((void)(u),FREE(x))
|
||||
#define NK_ASSERT ASSERT
|
||||
#define NK_DTOA(s,n) strcpy(s, va("%f", n)) // override cos built-in nk_dtoa() will freeze while parsing UINT_MAX otherwise
|
||||
#line 1 "3rd_nuklear.h"
|
||||
#line 1 "engine/split/3rd_nuklear.h"
|
||||
/*
|
||||
/// # Nuklear
|
||||
/// ![](https://cloud.githubusercontent.com/assets/8057201/11761525/ae06f0ca-a0c6-11e5-819d-5610b25f6ef4.gif)
|
||||
|
@ -221351,7 +221351,7 @@ nk_tooltipfv(struct nk_context *ctx, const char *fmt, va_list args)
|
|||
/// for his single header file packer.
|
||||
*/
|
||||
#line 0
|
||||
#line 1 "3rd_nuklear_glfw_gl3.h"
|
||||
#line 1 "engine/split/3rd_nuklear_glfw_gl3.h"
|
||||
|
||||
/*
|
||||
* Nuklear - 1.32.0 - public domain
|
||||
|
@ -221902,7 +221902,7 @@ void nk_glfw3_shutdown(struct nk_glfw* glfw)
|
|||
#endif
|
||||
#endif
|
||||
#line 0
|
||||
#line 1 "3rd_nuklear_filebrowser.h"
|
||||
#line 1 "engine/split/3rd_nuklear_filebrowser.h"
|
||||
// file browser for nuklear, based on https://github.com/vurtun/nuklear/blob/master/example/file_browser.c (public domain)
|
||||
// - rlyeh, public domain
|
||||
//
|
||||
|
@ -222313,7 +222313,7 @@ static struct nk_image icon_load_rect(unsigned id, unsigned w, unsigned h, unsig
|
|||
//#include "3rd_assimp/postprocess.h"
|
||||
//#pragma comment(lib, "3rd/3rd_assimp/x64/assimp")
|
||||
#endif
|
||||
#line 1 "3rd_json5.h"
|
||||
#line 1 "engine/split/3rd_json5.h"
|
||||
// JSON5 + SJSON parser module
|
||||
//
|
||||
// License:
|
||||
|
@ -222753,7 +222753,7 @@ int main() {
|
|||
|
||||
#endif // JSON5_C
|
||||
#line 0
|
||||
#line 1 "3rd_gjk.h"
|
||||
#line 1 "engine/split/3rd_gjk.h"
|
||||
// GJK distance algorithm. original code by @vurtun and @randygaul, public domain.
|
||||
// [src] https://gist.github.com/vurtun/29727217c269a2fbf4c0ed9a1d11cb40
|
||||
// - rlyeh, public domain.
|
||||
|
@ -223362,7 +223362,7 @@ gjk_result gjk_quad(float a_radius, float b_radius) {
|
|||
|
||||
#endif
|
||||
#line 0
|
||||
#line 1 "3rd_compress.h"
|
||||
#line 1 "engine/split/3rd_compress.h"
|
||||
// compress.c de/compressors into a single-file header
|
||||
// - rlyeh, public domain
|
||||
//
|
||||
|
@ -234211,7 +234211,7 @@ unsigned file_decode(FILE* in, FILE* out, FILE *logfile) { // multi decoder
|
|||
|
||||
#endif // COMPRESS_C
|
||||
#line 0
|
||||
#line 1 "3rd_archive.h"
|
||||
#line 1 "engine/split/3rd_archive.h"
|
||||
// archive.c pak/zip/tar/dir archivers
|
||||
// - rlyeh, public domain
|
||||
|
||||
|
@ -235815,7 +235815,7 @@ int main( int argc, char **argv ) {
|
|||
#if is(win32)
|
||||
#include <mmsystem.h> // timeapi.h
|
||||
#endif
|
||||
#line 1 "3rd_thread.h"
|
||||
#line 1 "engine/split/3rd_thread.h"
|
||||
/*
|
||||
------------------------------------------------------------------------------
|
||||
Licensing information can be found at the end of the file.
|
||||
|
@ -237545,7 +237545,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
------------------------------------------------------------------------------
|
||||
*/
|
||||
#line 0
|
||||
#line 1 "3rd_plmpeg.h"
|
||||
#line 1 "engine/split/3rd_plmpeg.h"
|
||||
/*
|
||||
PL_MPEG - MPEG1 Video decoder, MP2 Audio decoder, MPEG-PS demuxer
|
||||
|
||||
|
@ -241811,7 +241811,7 @@ void plm_audio_matrix_transform(int s[32][3], int ss, float *d, int dp) {
|
|||
|
||||
#endif // PL_MPEG_IMPLEMENTATION
|
||||
#line 0
|
||||
#line 1 "3rd_jo_mpeg.h"
|
||||
#line 1 "engine/split/3rd_jo_mpeg.h"
|
||||
/* public domain Simple, Minimalistic, No Allocations MPEG writer - http://jonolick.com
|
||||
*
|
||||
* Latest revisions:
|
||||
|
@ -242078,7 +242078,7 @@ void jo_write_mpeg(FILE *fp, const unsigned char *bgrx, int width, int height, i
|
|||
#endif
|
||||
#line 0
|
||||
//#define _RTL_RUN_ONCE _RTL_RUN_ONCE2 // __MINGW64__
|
||||
#line 1 "3rd_https.h"
|
||||
#line 1 "engine/split/3rd_https.h"
|
||||
/*
|
||||
------------------------------------------------------------------------------
|
||||
Licensing information can be found at the end of the file.
|
||||
|
@ -289061,7 +289061,7 @@ int main() {
|
|||
#line 0
|
||||
#undef F2
|
||||
#undef F3
|
||||
#line 1 "3rd_enet.h"
|
||||
#line 1 "engine/split/3rd_enet.h"
|
||||
/**
|
||||
* include/enet.h - a Single-Header auto-generated variant of enet.h library.
|
||||
*
|
||||
|
@ -295202,7 +295202,7 @@ extern "C" {
|
|||
#endif // ENET_INCLUDE_H
|
||||
#line 0
|
||||
#define tls_init tls_init2
|
||||
#line 1 "3rd_bq_websocket.h"
|
||||
#line 1 "engine/split/3rd_bq_websocket.h"
|
||||
/*
|
||||
------------------------------------------------------------------------------
|
||||
This software is available under 2 licenses -- choose whichever you prefer.
|
||||
|
@ -301565,7 +301565,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
#endif // BQ_PLATFORM_IMPLEMENTATION
|
||||
#line 0
|
||||
#line 1 "3rd_simplex.h"
|
||||
#line 1 "engine/split/3rd_simplex.h"
|
||||
/** 1D, 2D, 3D and 4D float Perlin Simplex noise */
|
||||
/** Original code, stefan gustavson (PD). */
|
||||
|
||||
|
@ -302048,7 +302048,7 @@ float snoise4(float x, float y, float z, float w) {
|
|||
|
||||
#endif
|
||||
#line 0
|
||||
#line 1 "3rd_tfd.h"
|
||||
#line 1 "engine/split/3rd_tfd.h"
|
||||
/* If you are using a C++ compiler to compile tinyfiledialogs.c (maybe renamed with an extension ".cpp")
|
||||
then comment out << extern "C" >> bellow in this header file) */
|
||||
|
||||
|
@ -310108,7 +310108,7 @@ tinyfd_messageBox("The selected hexcolor is",
|
|||
|
||||
#endif // TFD_IMPLEMENTATION
|
||||
#line 0
|
||||
#line 1 "3rd_stb_sprintf.h"
|
||||
#line 1 "engine/split/3rd_stb_sprintf.h"
|
||||
// stb_sprintf - v1.10 - public domain snprintf() implementation
|
||||
// originally by Jeff Roberts / RAD Game Tools, 2015/10/20
|
||||
// http://github.com/nothings/stb
|
||||
|
@ -312017,7 +312017,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
*/
|
||||
#line 0
|
||||
#define g g2
|
||||
#line 1 "3rd_xml.h"
|
||||
#line 1 "engine/split/3rd_xml.h"
|
||||
// original xml.h/xml.c files by tor andersson, public domain
|
||||
|
||||
#ifndef xml_h
|
||||
|
@ -312548,7 +312548,7 @@ struct xml *xml_parse(char *s, int preserve_white, char **errorp)
|
|||
#endif
|
||||
#line 0
|
||||
#undef g
|
||||
#line 1 "3rd_polychop.h"
|
||||
#line 1 "engine/split/3rd_polychop.h"
|
||||
/* Progressive Mesh type Polygon Reduction Algorithm
|
||||
*
|
||||
* 1998: Original version by Stan Melax (c) 1998
|
||||
|
|
84
engine/v4k.c
84
engine/v4k.c
|
@ -105,7 +105,7 @@ for( int lock_ = (thread_mutex_lock( mutexptr ), 1); lock_; lock_ = (thread_mute
|
|||
//-----------------------------------------------------------------------------
|
||||
// C files
|
||||
|
||||
#line 1 "v4k_ds.c"
|
||||
#line 1 "engine/split/v4k_ds.c"
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// sort/less
|
||||
|
@ -514,7 +514,7 @@ char *cc8str(uint64_t x) {
|
|||
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_string.c"
|
||||
#line 1 "engine/split/v4k_string.c"
|
||||
#include <stdarg.h>
|
||||
|
||||
char* tempvl(const char *fmt, va_list vl) {
|
||||
|
@ -935,7 +935,7 @@ AUTORUN {
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_compat.c"
|
||||
#line 1 "engine/split/v4k_compat.c"
|
||||
//-----------------------------------------------------------------------------
|
||||
// compat (unix & stdio.h)
|
||||
|
||||
|
@ -1052,7 +1052,7 @@ static void v4k_pre_init();
|
|||
static void v4k_post_init(float);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_audio.c"
|
||||
#line 1 "engine/split/v4k_audio.c"
|
||||
// @fixme: really shutdown audio & related threads before quitting. ma_dr_wav crashes.
|
||||
|
||||
|
||||
|
@ -1645,7 +1645,7 @@ int ui_audio() {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_buffer.c"
|
||||
#line 1 "engine/split/v4k_buffer.c"
|
||||
// ----------------------------------------------------------------------------
|
||||
// compression api
|
||||
|
||||
|
@ -2401,7 +2401,7 @@ AUTORUN {
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_collide.c"
|
||||
#line 1 "engine/split/v4k_collide.c"
|
||||
/* poly */
|
||||
poly poly_alloc(int cnt) {
|
||||
poly p = {0};
|
||||
|
@ -3829,7 +3829,7 @@ void collide_demo() { // debug draw collisions // @fixme: fix leaks: poly_free()
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_cooker.c"
|
||||
#line 1 "engine/split/v4k_cooker.c"
|
||||
// data pipeline
|
||||
// - rlyeh, public domain.
|
||||
// ----------------------------------------------------------------------------
|
||||
|
@ -4646,7 +4646,7 @@ void cook_config( const char *pathfile_to_cook_ini ) { // @todo: test run-from-"
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_data.c"
|
||||
#line 1 "engine/split/v4k_data.c"
|
||||
|
||||
static
|
||||
array(char) base64__decode(const char *in_, unsigned inlen) {
|
||||
|
@ -4949,7 +4949,7 @@ bool data_tests() {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_dll.c"
|
||||
#line 1 "engine/split/v4k_dll.c"
|
||||
#if is(win32)
|
||||
# include <winsock2.h>
|
||||
# define dlopen(name,mode) (void*)( (name) ? LoadLibraryA(name) : GetModuleHandle(NULL))
|
||||
|
@ -4981,7 +4981,7 @@ int main() { int (*adder)() = dll("demo.dll", "add2"); printf("%d\n", adder(2,3)
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_file.c"
|
||||
#line 1 "engine/split/v4k_file.c"
|
||||
// -----------------------------------------------------------------------------
|
||||
// file
|
||||
|
||||
|
@ -6121,7 +6121,7 @@ bool ini_write(const char *filename, const char *section, const char *key, const
|
|||
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_font.c"
|
||||
#line 1 "engine/split/v4k_font.c"
|
||||
// font framework. original code by Vassvik (UNLICENSED)
|
||||
// - rlyeh, public domain.
|
||||
//
|
||||
|
@ -8471,7 +8471,7 @@ vec2 font_rect(const char *str) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_input.c"
|
||||
#line 1 "engine/split/v4k_input.c"
|
||||
// input framework
|
||||
// - rlyeh, public domain
|
||||
//
|
||||
|
@ -9204,7 +9204,7 @@ int ui_gamepads() {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_math.c"
|
||||
#line 1 "engine/split/v4k_math.c"
|
||||
// -----------------------------------------------------------------------------
|
||||
// math framework: rand, ease, vec2, vec3, vec4, quat, mat2, mat33, mat34, mat4
|
||||
// - rlyeh, public domain
|
||||
|
@ -10210,7 +10210,7 @@ void print34( float *m ) { print_(m,3,4); }
|
|||
void print44( float *m ) { print_(m,4,4); }
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_memory.c"
|
||||
#line 1 "engine/split/v4k_memory.c"
|
||||
size_t dlmalloc_usable_size(void*); // __ANDROID_API__
|
||||
|
||||
#if is(bsd) || is(osx) // bsd or osx
|
||||
|
@ -10308,7 +10308,7 @@ void* forget( void *ptr ) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_network.c"
|
||||
#line 1 "engine/split/v4k_network.c"
|
||||
|
||||
#if is(tcc) && is(win32) // @fixme: https lib is broken with tcc. replaced with InternetReadFile() api for now
|
||||
|
||||
|
@ -10618,7 +10618,7 @@ static void network_init() {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_netsync.c"
|
||||
#line 1 "engine/split/v4k_netsync.c"
|
||||
typedef void* (*rpc_function)();
|
||||
|
||||
typedef struct rpc_call {
|
||||
|
@ -11304,7 +11304,7 @@ void network_rpc_send(unsigned id, const char *cmdline) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_pack.c"
|
||||
#line 1 "engine/split/v4k_pack.c"
|
||||
// endianness -----------------------------------------------------------------
|
||||
// - rlyeh, public domain
|
||||
|
||||
|
@ -12764,7 +12764,7 @@ AUTORUN {
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_reflect.c"
|
||||
#line 1 "engine/split/v4k_reflect.c"
|
||||
// C reflection: enums, functions, structs, members and anotations.
|
||||
// - rlyeh, public domain
|
||||
//
|
||||
|
@ -12876,7 +12876,7 @@ AUTOTEST {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_render.c"
|
||||
#line 1 "engine/split/v4k_render.c"
|
||||
// -----------------------------------------------------------------------------
|
||||
// opengl
|
||||
|
||||
|
@ -17644,7 +17644,7 @@ anims_t animations(const char *pathfile, int flags) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_renderdd.c"
|
||||
#line 1 "engine/split/v4k_renderdd.c"
|
||||
static const char *dd_vs = "//" FILELINE "\n"
|
||||
"in vec3 att_position;\n"
|
||||
"uniform mat4 u_MVP;\n"
|
||||
|
@ -18492,7 +18492,7 @@ void ddraw_demo() {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_scene.c"
|
||||
#line 1 "engine/split/v4k_scene.c"
|
||||
//
|
||||
// @todo: remove explicit GL code from here
|
||||
|
||||
|
@ -19064,7 +19064,7 @@ void scene_render(int flags) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_script.c"
|
||||
#line 1 "engine/split/v4k_script.c"
|
||||
typedef lua_State lua;
|
||||
|
||||
// the Lua interpreter
|
||||
|
@ -19245,7 +19245,7 @@ bool script_tests() {
|
|||
#undef XMACRO
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_time.c"
|
||||
#line 1 "engine/split/v4k_time.c"
|
||||
// ----------------------------------------------------------------------------
|
||||
// time
|
||||
|
||||
|
@ -19496,7 +19496,7 @@ guid guid_create() {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_system.c"
|
||||
#line 1 "engine/split/v4k_system.c"
|
||||
#if (is(tcc) && is(linux)) || (is(gcc) && !is(mingw)) // || is(clang)
|
||||
int __argc; char **__argv;
|
||||
#if !is(ems)
|
||||
|
@ -20381,7 +20381,7 @@ int (test)(const char *file, int line, const char *expr, bool result) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_id.c"
|
||||
#line 1 "engine/split/v4k_id.c"
|
||||
// -----------------------------------------------------------------------------
|
||||
// factory of handle ids, based on code by randy gaul (PD/Zlib licensed)
|
||||
// - rlyeh, public domain
|
||||
|
@ -20551,7 +20551,7 @@ bool id_valid(uintptr_t id) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_ui.c"
|
||||
#line 1 "engine/split/v4k_ui.c"
|
||||
|
||||
#ifndef UI_ICONS_SMALL
|
||||
//#define UI_ICONS_SMALL 1
|
||||
|
@ -23016,7 +23016,7 @@ int ui_demo(int do_windows) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_profile.c"
|
||||
#line 1 "engine/split/v4k_profile.c"
|
||||
#if ENABLE_PROFILER
|
||||
profiler_t profiler;
|
||||
int profiler_enabled = 1;
|
||||
|
@ -23072,7 +23072,7 @@ void (ui_profiler)() {
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_video.c"
|
||||
#line 1 "engine/split/v4k_video.c"
|
||||
// tip: convert video to x265/mp4. note: higher crf to increase compression (default crf is 28)
|
||||
// ffmpeg -i {{infile}} -c:v libx265 -crf 24 -c:a copy {{outfile}}
|
||||
|
||||
|
@ -23304,7 +23304,7 @@ void record_frame() {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_window.c"
|
||||
#line 1 "engine/split/v4k_window.c"
|
||||
//-----------------------------------------------------------------------------
|
||||
// fps locking
|
||||
|
||||
|
@ -24290,9 +24290,9 @@ void window_color(unsigned color) {
|
|||
winbgcolor = vec4(r / 255.0, g / 255.0, b / 255.0, a / 255.0);
|
||||
}
|
||||
void window_icon(const char *file_icon) {
|
||||
unsigned len = file_size(file_icon); // len = len ? len : vfs_size(file_icon); // @fixme: reenable this to allow icons to be put in cooked .zipfiles
|
||||
unsigned len = file_size(file_icon); len = len ? len : vfs_size(file_icon); // @fixme: reenable this to allow icons to be put in cooked .zipfiles
|
||||
if( len ) {
|
||||
void *data = file_read(file_icon); // data = data ? data : vfs_read(file_icon); // @fixme: reenable this to allow icons to be put in cooked .zipfiles
|
||||
void *data = file_read(file_icon); data = data ? data : vfs_read(file_icon); // @fixme: reenable this to allow icons to be put in cooked .zipfiles
|
||||
if( data ) {
|
||||
image_t img = image_from_mem(data, len, IMAGE_RGBA);
|
||||
if( img.w && img.h && img.pixels ) {
|
||||
|
@ -24577,7 +24577,7 @@ int window_has_maximize() {
|
|||
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_obj.c"
|
||||
#line 1 "engine/split/v4k_obj.c"
|
||||
// -----------------------------------------------------------------------------
|
||||
// semantic versioning in a single byte (octal)
|
||||
// - rlyeh, public domain.
|
||||
|
@ -24624,7 +24624,7 @@ AUTORUN {
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_ai.c"
|
||||
#line 1 "engine/split/v4k_ai.c"
|
||||
// AI framework
|
||||
// - rlyeh, public domain.
|
||||
//
|
||||
|
@ -25200,7 +25200,7 @@ int pathfind_astar(int width, int height, const unsigned* map, vec2i src, vec2i
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_bt.c"
|
||||
#line 1 "engine/split/v4k_bt.c"
|
||||
// Behavior trees: decision planning and decision making.
|
||||
// Supersedes finite state-machines (FSM) and hierarchical finite state-machines (HFSM).
|
||||
// - rlyeh, public domain.
|
||||
|
@ -25464,7 +25464,7 @@ int ui_bt(bt_t *b) {
|
|||
}
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_editor.c"
|
||||
#line 1 "engine/split/v4k_editor.c"
|
||||
// editing:
|
||||
// nope > functions: add/rem property
|
||||
|
||||
|
@ -25918,13 +25918,14 @@ int main() {
|
|||
|
||||
// editor is last in place, so it can use all internals from above headers
|
||||
|
||||
#line 1 "v4k_main.c"
|
||||
#line 1 "engine/split/v4k_main.c"
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
static void v4k_pre_init() {
|
||||
const char *appname = app_name();
|
||||
window_icon(va("%s.png", appname));
|
||||
ifdef(win32,window_icon(va("%s.ico", appname)));
|
||||
const char *appdir = app_path();
|
||||
window_icon(va("%s/%s.png", appdir, appname));
|
||||
ifdef(win32,window_icon(va("%s/%s.ico", appdir, appname)));
|
||||
|
||||
glfwPollEvents();
|
||||
|
||||
|
@ -25960,8 +25961,9 @@ static void v4k_post_init(float refresh_rate) {
|
|||
}
|
||||
|
||||
// @todo
|
||||
// window_icon(vfs_file(va("%s.png", app)));
|
||||
// window_icon(vfs_file(va("%s.ico", app)));
|
||||
const char *appname = app_name();
|
||||
window_icon(va("%s.png", appname));
|
||||
window_icon(va("%s.ico", appname));
|
||||
|
||||
// display window
|
||||
glfwShowWindow(window);
|
||||
|
@ -26010,7 +26012,7 @@ void v4k_init() {
|
|||
__argc = 0;
|
||||
}
|
||||
|
||||
#ifdef COOK_DISABLED
|
||||
#if defined(COOK_DISABLED) || ENABLE_RETAIL
|
||||
cook_disable();
|
||||
#endif
|
||||
|
||||
|
|
70
engine/v4k.h
70
engine/v4k.h
|
@ -95,7 +95,7 @@ extern "C" {
|
|||
//-----------------------------------------------------------------------------
|
||||
// Headers
|
||||
|
||||
#line 1 "v4k_config.h"
|
||||
#line 1 "engine/split/v4k_config.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// config directives
|
||||
|
||||
|
@ -127,6 +127,10 @@ extern "C" {
|
|||
#define ENABLE_TESTS 0 // ifdef(debug, 1, 0) ///+
|
||||
#endif
|
||||
|
||||
#ifndef ENABLE_RETAIL
|
||||
#define ENABLE_RETAIL 0
|
||||
#endif
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// if/n/def hell
|
||||
|
||||
|
@ -429,7 +433,7 @@ typedef char bool;
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_ds.h"
|
||||
#line 1 "engine/split/v4k_ds.h"
|
||||
// data structures and utils: array, set, map, hash, sort.
|
||||
// - rlyeh, public domain
|
||||
|
||||
|
@ -893,7 +897,7 @@ enum {
|
|||
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_math.h"
|
||||
#line 1 "engine/split/v4k_math.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// math framework: rand, ease, vec2, vec3, vec4, quat, mat2, mat33, mat34, mat4
|
||||
// - rlyeh, public domain
|
||||
|
@ -1253,7 +1257,7 @@ API void swapf4(vec4 *a, vec4 *b);
|
|||
#line 0
|
||||
|
||||
|
||||
#line 1 "v4k_ai.h"
|
||||
#line 1 "engine/split/v4k_ai.h"
|
||||
typedef enum SWARM_DISTANCE {
|
||||
SWARM_DISTANCE_LINEAR,
|
||||
SWARM_DISTANCE_INVERSE_LINEAR,
|
||||
|
@ -1306,7 +1310,7 @@ API int ui_swarm(swarm_t *self);
|
|||
API int pathfind_astar(int width, int height, const unsigned* map, vec2i src, vec2i dst, vec2i* path, size_t maxpath);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_bt.h"
|
||||
#line 1 "engine/split/v4k_bt.h"
|
||||
// Behavior trees: decision planning and decision making.
|
||||
// Supersedes finite state-machines (FSM) and hierarchical finite state-machines (HFSM).
|
||||
// - rlyeh, public domain.
|
||||
|
@ -1332,7 +1336,7 @@ API char *bt_funcname(bt_func fn);
|
|||
API int ui_bt(bt_t *b);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_audio.h"
|
||||
#line 1 "engine/split/v4k_audio.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// audio framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -1393,7 +1397,7 @@ enum AUDIO_FLAGS {
|
|||
API int audio_queue( const void *samples, int num_samples, int flags );
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_buffer.h"
|
||||
#line 1 "engine/split/v4k_buffer.h"
|
||||
// ----------------------------------------------------------------------------
|
||||
// compression api
|
||||
|
||||
|
@ -1491,7 +1495,7 @@ API uint64_t crc64(uint64_t h, const void *ptr, uint64_t len);
|
|||
API void entropy( void *buf, unsigned n );
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_collide.h"
|
||||
#line 1 "engine/split/v4k_collide.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// original code by @vurtun (PD) and @barerose (CC0).
|
||||
// [src] https://gist.github.com/vurtun/95f088e4889da2474ad1ce82d7911fee
|
||||
|
@ -1652,7 +1656,7 @@ API poly diamond(vec3 from, vec3 to, float size); // poly_free() required
|
|||
API void collide_demo(); // debug draw collisions
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_cooker.h"
|
||||
#line 1 "engine/split/v4k_cooker.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// asset pipeline framework
|
||||
// - rlyeh, public domain.
|
||||
|
@ -1687,7 +1691,7 @@ API int cook_progress(); // [0..100]
|
|||
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_data.h"
|
||||
#line 1 "engine/split/v4k_data.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// data framework (json5, xml, compression) @todo:kvdb
|
||||
// - rlyeh, public domain
|
||||
|
@ -1726,7 +1730,7 @@ API void xml_pop();
|
|||
API bool data_tests();
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_dll.h"
|
||||
#line 1 "engine/split/v4k_dll.h"
|
||||
// dll utils
|
||||
// - rlyeh, public domain
|
||||
|
||||
|
@ -1741,7 +1745,7 @@ API bool data_tests();
|
|||
API void* dll(const char *filename, const char *symbol);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_editor.h"
|
||||
#line 1 "engine/split/v4k_editor.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// in-game editor
|
||||
// - rlyeh, public domain.
|
||||
|
@ -1786,7 +1790,7 @@ API char* kit_translate2( const char *id, const char *langcode_iso639_1 ); // pe
|
|||
API void kit_dump_state( FILE *fp );
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_file.h"
|
||||
#line 1 "engine/split/v4k_file.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// files, cache and virtual filesystem (registered directories and/or compressed zip archives).
|
||||
// - rlyeh, public domain.
|
||||
|
@ -1886,7 +1890,7 @@ API void ini_destroy(ini_t);
|
|||
API bool ini_write(const char *filename, const char *section, const char *key, const char *value);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_font.h"
|
||||
#line 1 "engine/split/v4k_font.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// font framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -1978,7 +1982,7 @@ API void* font_colorize(const char *text, const char *comma_types, const char *c
|
|||
API vec2 font_highlight(const char *text, const void *colors);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_id.h"
|
||||
#line 1 "engine/split/v4k_id.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// factory of handle ids, based on code by randy gaul (PD/Zlib licensed)
|
||||
// - rlyeh, public domain
|
||||
|
@ -2007,7 +2011,7 @@ bool id_valid(uintptr_t id);
|
|||
#define ID_DATA_BITS (64-ID_COUNT_BITS)
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_pack.h"
|
||||
#line 1 "engine/split/v4k_pack.h"
|
||||
// ----------------------------------------------------------------------------
|
||||
// endianness
|
||||
|
||||
|
@ -2198,7 +2202,7 @@ API int loadf(FILE *file, const char *format, ...);
|
|||
API int loadb(const unsigned char *buf, const char *format, ...);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_input.h"
|
||||
#line 1 "engine/split/v4k_input.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// input framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -2318,7 +2322,7 @@ enum INPUT_ENUMS {
|
|||
};
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_memory.h"
|
||||
#line 1 "engine/split/v4k_memory.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// memory framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -2358,7 +2362,7 @@ static FORCE_INLINE void *(CALLOC_)(size_t m, size_t n) { return n *= m, memset(
|
|||
static FORCE_INLINE char *(STRDUP_)(const char *s) { size_t n = strlen(s)+1; return ((char*)memcpy(REALLOC(0,n), s, n)); } ///-
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_network.h"
|
||||
#line 1 "engine/split/v4k_network.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// network framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -2410,7 +2414,7 @@ API int tcp_debug(int); // toggle traffic monitoring on/off for given socket
|
|||
//API int tcp_crypt(int,uint64_t); // set shared secret
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_netsync.h"
|
||||
#line 1 "engine/split/v4k_netsync.h"
|
||||
// high-level, socket-less networking api. inspired by Quake, MPI and RenderBuckets theories.
|
||||
// - rlyeh, public domain
|
||||
//
|
||||
|
@ -2496,7 +2500,7 @@ API int64_t client_join(const char *ip, int port);
|
|||
#define LOCALHOST_IPV6 "::1"
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_obj.h"
|
||||
#line 1 "engine/split/v4k_obj.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// semantic versioning in a single byte (octal)
|
||||
// - rlyeh, public domain.
|
||||
|
@ -2556,7 +2560,7 @@ typedef struct double4 { double x,y,z,w; } double4;
|
|||
#define double4(x,y,z,w) M_CAST(double4, (double)(x), (double)(y), (double)(z), (double)(w) )
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_profile.h"
|
||||
#line 1 "engine/split/v4k_profile.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// profiler & stats (@fixme: threadsafe)
|
||||
|
||||
|
@ -2588,7 +2592,7 @@ extern API int profiler_enabled; ///-
|
|||
#endif
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_reflect.h"
|
||||
#line 1 "engine/split/v4k_reflect.h"
|
||||
// C reflection: enums, functions, structs, members and anotations.
|
||||
// - rlyeh, public domain
|
||||
//
|
||||
|
@ -2650,7 +2654,7 @@ API void reflected_printf(reflected_t *r);
|
|||
API void reflected_printf_all();
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_render.h"
|
||||
#line 1 "engine/split/v4k_render.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// naive rendering framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -3352,7 +3356,7 @@ API void* screenshot(int components); // 3 RGB, 4 RGBA, -3 BGR, -4 BGRA
|
|||
API void* screenshot_async(int components); // 3 RGB, 4 RGBA, -3 BGR, -4 BGRA
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_renderdd.h"
|
||||
#line 1 "engine/split/v4k_renderdd.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// debugdraw framework
|
||||
// - rlyeh, public domain.
|
||||
|
@ -3419,7 +3423,7 @@ API void ddraw_flush();
|
|||
API void ddraw_flush_projview(mat44 proj, mat44 view);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_scene.h"
|
||||
#line 1 "engine/split/v4k_scene.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// scene framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -3556,7 +3560,7 @@ API unsigned scene_count_light();
|
|||
API light_t* scene_index_light(unsigned index);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_script.h"
|
||||
#line 1 "engine/split/v4k_script.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// script framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -3572,7 +3576,7 @@ API void script_call(const char *lua_function);
|
|||
API bool script_tests();
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_string.h"
|
||||
#line 1 "engine/split/v4k_string.h"
|
||||
// string framework
|
||||
// - rlyeh, public domain
|
||||
|
||||
|
@ -3666,7 +3670,7 @@ unsigned quark_intern( quarks_db*, const char *string );
|
|||
const char *quark_string( quarks_db*, unsigned key );
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_time.h"
|
||||
#line 1 "engine/split/v4k_time.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// time framework utils
|
||||
// - rlyeh, public domain.
|
||||
|
@ -3713,7 +3717,7 @@ AUTORUN {
|
|||
*/
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_system.h"
|
||||
#line 1 "engine/split/v4k_system.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// system framework utils
|
||||
// - rlyeh, public domain.
|
||||
|
@ -3794,7 +3798,7 @@ API int (test)(const char *file, int line, const char *expr, bool result);
|
|||
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_ui.h"
|
||||
#line 1 "engine/split/v4k_ui.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// immediate ui framework
|
||||
// - rlyeh, public domain
|
||||
|
@ -3884,7 +3888,7 @@ API int ui_active(); // ui_is_active()?
|
|||
API int ui_demo(int do_windows);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_video.h"
|
||||
#line 1 "engine/split/v4k_video.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// video decoder (mpeg)
|
||||
// - rlyeh, public domain
|
||||
|
@ -3927,7 +3931,7 @@ API bool record_active();
|
|||
API void record_stop(void);
|
||||
#line 0
|
||||
|
||||
#line 1 "v4k_window.h"
|
||||
#line 1 "engine/split/v4k_window.h"
|
||||
// -----------------------------------------------------------------------------
|
||||
// window framework
|
||||
// - rlyeh, public domain
|
||||
|
|
|
@ -35,7 +35,7 @@ def process_command(name, value):
|
|||
file_path = os.path.join(input_path, value)
|
||||
print("Appending file: " + value)
|
||||
with open(file_path, "r") as file:
|
||||
res = "#line 1 \"" + value + "\"\n"
|
||||
res = "#line 1 \"engine/split/" + value + "\"\n"
|
||||
res += file.read()
|
||||
res += "#line 0"
|
||||
return res
|
||||
|
|
Loading…
Reference in New Issue