Skip to content

2023.10

Choose a tag to compare

@r-lyeh r-lyeh released this 06 Dec 16:25
· 4 commits to master since this release

2023.10

new: object v2 API
new: reflection API
new: tween API (@zpl-zak)
new: tests API, --test, --test-break=NUM
new: ID + quarks + semver APIs, time sortable GUIDs
new: support for fused binaries (exe + zipfiles)
new: -DENABLE_RETAIL to disable printfs, asserts, stdout/stderr, tests, cook and titlebar stats (@zpl-zak)
new: allow search filtering in most ui widgets ^F (fwk_ui, 3rd_nuklear_filebrowser)
new: display menu on MAKE.bat when double-clicked (win)
new: ALLOCA()
new: APP_SINGLETON_GUID
new: AUTORUN snippets
new: MAKE fuse
new: VA_COUNT(), VA_SPLIT(), VA_FIRST(), VA_REST(), TODO(), FIXME()
new: app_beep(), app_hang(), app_crash(), app_singleton(), app_open()
new: atof1()/ftoa1(), itoa2/3/4(), ftoa2/3/4() (with expression evaluators)
new: audio_mute(), audio_muted()
new: byte2/3/4, int2/3/4, uint2/3/4, float2/3/4, double2/3/4 storage types
new: crc64(), arc4(), entropy(), cobs, base92, ddelta de/encoders
new: print2i(), print3i()
new: ease_enum(), ease_enums(), ease_pong()
new: have_tools()
new: input_eval(), input_enum()
new: ui_audio()
new: unique() macro
new: window_has_icon(), window_dpi() (@zpl-zak)
new: vle,int,float,half packers
new: tools/ark
new: ability open zip files by handles given at any seek address (3rd_archive)
new: added BUILD_VERSION, that gets printed at boot time and at window title
new: added benchmark_ms {}
new: added fxColorMapVis
new: added material design icons webfont fork into editor assets
new: allow file_list() to specify multiple dirs, semi-colon separated
new: support for material-icons-webfont

chg: --debug-font-atlas > --font-debug
chg: --test-only > --test
chg: added frame weight into benchmark()
chg: added support for AUTORUN on clang-cl
chg: allowed multiple AUTORUNs within same line
chg: allowed tools/timer to be used as a pipe too
chg: allowed ui_buffer(), ui_string(), ui_label2 to use null labels
chg: allowed multiple STATIC_ASSERT() to be used within same line
chg: allowed reflection module to process const, union and struct types
chg: centered properties
chg: changed NDEBUG to match the compiler optimization levels
chg: changed font module to use RGBA textures
chg: disable .ico icon support
chg: eval() extended to use & | ! operators, _ in symbols (3rd_eval.h)
chg: eval() extended to use many input constants and some input functions (3rd_eval.h)
chg: failed autorun tests will stop game from launching
chg: file_list reimplemented
chg: hide all system folders by default (file_list)
chg: improve reflection printers
chg: increase max size per obj instance (up to 1KiB)
chg: larger ui_contextual() popup
chg: made annotations optional in all reflection macros
chg: made arguments optional in both panic and printf macros
chg: made file browser to fit better within the parent space (3rd_nuklear_filebrowser)
chg: made optional annotations in reflection macros (ENUM,STRUCT,FUNCTION)
chg: made quarks caching more mem friendly
chg: made split/join commands to regenerate single-header distribution too (MAKE.bat)
chg: made tcc the default compiler on windows. vc will only be used when specified, or when instanced within a VS terminal
chg: made test() failures reddish
chg: minor ui styling
chg: obj_make() will return an empty obj type before failing
chg: obj_name() as meta
chg: optimize number of extra bits in obj header (4->19)
chg: optimized cook time by redistributing workload much better into existing cookjobs (higher bits of FNV hashes were too stable)
chg: potentially exclude .dSYM and .o files from cook
chg: promoted time api to their own fwk_time file
chg: quarks up to 64 chars each and 64M addressing by default
chg: re-enable icon mounting from vfs volumes (@zpl-zak)
chg: rebuilt tools/cook (win)
chg: reduce some ms at quit time (win)
chg: reduced severity in shader errors
chg: renamed 3rd_font_md.h > 3rd_icon_md.h
chg: reordered endianness utils
chg: retail builds (MAKE retail)
chg: stylized 99-nodes.c demo
chg: ui_notify() beeps now
chg: unrolled different ui_beep() implementations
chg: updated 3rd_icon_mdi.h
chg: updated docs
chg: upgraded miniaudio to latest

fix: --cook-debug not working when using multiple jobs
fix: 4-byte unicodes not being printed (3rd_nuklear)
fix: AUTORUN macro being executed in reverse order (gcc,clang,clang-cl,mingw...)
fix: adjusted spacing webfont
fix: allowed ///- document tags to be included anywhere within a line
fix: app_beep() not working in retail builds
fix: benchmark() not reporting while executed within first ms
fix: cc_t compilation error on emscripten
fix: detached from parent before deleting (obj_free)
fix: detached objects no longer create holes within children array (obj_detach)
fix: each_objchild()
fix: editor compilation error on osx
fix: fix profiler being rendered while filtering is on
fix: fixed canvas scaling artifacts (html5) @zpl-zak
fix: fixed display of long string names when doing vfs lookups
fix: fixed editor_pick() (@zpl-zak)
fix: fixed potential argument in each_substring() evaluated twice
fix: fixed utterly broken shader params after the atof1/2/3/4() upgrade
fix: font demo broken after opening debug panel
fix: font shader modulates color by alpha now (@zpl-zak)
fix: format warnings (gcc+linux)
fix: fused executables not being mounted while launched from a different work directory
fix: handled SEH exceptions (trap_install)
fix: include objname as member in debug builds (obj)
fix: initial cwd in python runs
fix: initialize ui in mono thread. could prevent stack corruption in MT
fix: invalid tar files not being marked as such (3rd_archive)
fix: leaks in 3rd_archive.h while compressing
fix: lua demo
fix: made alert() visible always
fix: made cache api MT safe
fix: made cache_lookup() threadsafe
fix: made compile-time cc4,cc8 macros
fix: mingw compilation fix
fix: mingw warnings
fix: miniaudio not working on latest osx
fix: missing folders in filebrowser since file_list() upgrade (3rd_nuklear_filebrowser)
fix: mouse in shadertoys
fix: obj stack not working properly
fix: obj_make() clears payload now
fix: opengl scissor issue when window is minimized (3rd_nuklear_glfw3.h)
fix: pixel aligned combo arrows
fix: popups outside window client (3rd_nuklear)
fix: popups snapping to the left border (3rd_nuklear)
fix: popups with vertical scrollbars (3rd_nuklear)
fix: potential crash unless rounded up to 8-byte boundaries (obj_malloc)
fix: python demo
fix: redudant each_array(), each_array_ptr() calls when T was a function call
fix: removed all audio spamming messages on webaudio (html5) @zpl-zak
fix: reverted webaudio initialization (html5)
fix: symbol visiblity in quark api
fix: using filelocks for zip (should hopefully match OSX behavior from now)
fix: video recordings from debug panel included a stamped ui_notify() on them
fix: visual studio solutions were broken
fix: vsmcube ifdefs on osx
fix: wrong BRDF texture in 99-pbr + retail builds
fix: wrong app_path() in linux/osx
fix: wrong boids nearby check
fix: wrong mouse cursors when resizing panels/windows (3rd_nuklear)
fix: wrong pointer cast (each_objchild)
fix: wrong program assignment in model rendering (@zpl-zak)
fix: wrong rgba() endianness (@zpl-zak)
fix: zip_open_handle closing file handles after an error

brk: KEY_(R)ALT,KEY_(R)CTRL,KEY_(R)SHIFT to check both L+R keys
brk: added argument to request a contextual close in ui_contextual_end()
brk: array_erase() split into array_erase_slow() (preserves order) and array_erase_fast() (alters order) (@zpl-zak)
brk: breakpoint() changed signature
brk: changed behavior nk_selectable_text()
brk: deprecated obj api in favor of upcoming objv2 api
brk: dialog_load() > app_loadfile(), dialog_save() > app_savefile()
brk: ease_ping_pong(), ease_pong_ping() signatures
brk: file_list() and vfs_list() signatures
brk: reflected_t -> reflect_t
brk: signals api renamed to trap api

lab: editor v3, bindings, console and selection (^A,^D,^I,^LMB)
lab: editor_send()
lab: tween sub-editor
lab: old editor api > engine api
lab: interleave(), netstring()
lab: internal do_threadlock()
lab: made va() allowed to grow on demand
lab: msgpack api

2023 10