Commit Graph

345 Commits

Author SHA1 Message Date
5ba9983594 also migrate frame accumulator to world state instead of it being a static variable in some weird timeline i have multiple physics sims running at once 2026-08-19 20:18:45 -05:00
cb86b34076 impressive... (some physics fixes i wasn't able to find myself), some fixes to get it to compile under linux (again, I thought it did before) 2026-08-19 19:32:27 -05:00
2b41912c4d 'what an expensive mistake this turned to to be' (was curious and revived my mistake of a .5K rig from a couple of years ago to toss the CPU=>GPU serialization issue at it just for it to shuffle some lines after 5M tokens) 2026-08-19 15:44:13 -05:00
a0fab08ca4 non-blocking transient buffer draining + ring buffer or something 2026-08-18 22:41:55 -05:00
25470f8ac3 sanity and cleanup 2026-08-18 19:19:52 -05:00
b43a6179df fixed vxgi trace, something else I think 2026-08-16 19:50:27 -05:00
a43b1567b3 rabbithole of swapping VXGI to SVOGI (currently enabled arbitrary regions to voxelize into (mostly working)), repaired shadowmaps (kind of flickers from depth precision when moving), to-do: fix annoying race issue when GPU is under load that is not fixed with N-buffered attachments, but is fixed with vkDeviceWaitIdle (although this is a horribad bandaid fix) 2026-08-15 23:36:26 -05:00
08134804cf mesh/texture ''streaming'' (dynamic loading) is (relatively) seamless on the dreamcast now (due to concurrency issues with disk reads despite there only being one worker thread), a bunch of s/push_back/emplace_back since i've been getting lazy with it 2026-08-14 12:27:26 -05:00
0f29016823 cleaned up GD-ROM/MIL-CD creation stack with my own utility, updated documentation (somewhat) 2026-08-12 15:47:41 -05:00
1f84f2b214 fixed audio issues for AICA backend (sound effects play now, OGG/WAV plays too), updated uf::io::preferred to have an order of preference, added query caching for most uf::io calls 2026-08-10 20:43:46 -05:00
8565569ec5 fixed issue with -ffast-math treating nan == nan as true instead of false, fixed normalize on dreamcast, squashed remaining failing physics unit tests (while hunting for the first two bugs), fixed position solver 2026-08-10 16:24:27 -05:00
f7f6d54c54 re-enabled internal allocator for STL containers (because of lines being swapped), fixed async asset loading (for OpenGL, Vulkan still doesn't like it), grouped OpenGL draw calls by material type for a speedup, some other stuff 2026-08-09 23:28:11 -05:00
956b0ddb4a final fixes (refit/decide is flat aware, can fully clear unflat bounds/nodes when flattened, some timing issue with creating/initializing/updating the physics state), dreamcast still stutters on streaming in data though...... 2026-08-09 13:13:48 -05:00
d078784088 fixed footsteps returning wrong sound (due to it assuming the view ID was a triangle ID), overhauled flattened BVHs by shrinking node size and quantizing AABBS to reduce memory footprint, fixed BVHs to clear the unflattened node/bounds when flattened (for meshes, broadphase BVHs need to be updated to use the flattened versions) 2026-08-09 11:35:04 -05:00
1324cf7e42 properly fixed this streamed-in BVH nightmare (to-do: fix the footsteps because it's passing in a local triangle ID instead of a global triangle ID like it expected before) 2026-08-08 22:55:20 -05:00
992556b054 more fixes (to-do: fix BVH serialization/deserialization since I'm very sure it's wrong, but everything else should be plumbed right) 2026-08-08 20:54:32 -05:00
24d1d63516 actually fix BVH building, overhauled BVH building to (theoretically) allow for nodes to be disabled so the BVH is loaded once and unloaded mesh regions are deactivated, build mesh BVHs when saving graph to disk and load them (to-do: actually fix it, since the writer might be broken) 2026-08-08 16:09:13 -05:00
ff72196418 fixed some bugs (to-do: squash the stutter from building the mesh's BVH) 2026-08-07 22:51:35 -05:00
fed6db2d17 more overkill optimizations (dedicated uf::thread implementation for KOS, replaced std::istream in VFS, mesh code cleanup, probably fixed std::swap maybe naively copying), dramatically sped up mesh streaming/processing, but still a small noticeable stutter on the dreamcast 2026-08-07 21:08:58 -05:00
25ee978a8d fixed bug in texconv, dreamcast settings adjustments (namely shrinking the threshold for reading the entire file vs streaming it in because for some reason I thought 2MB wasn't an issue) 2026-08-07 10:30:26 -05:00
e3ae6d6b85 mesh streaming works with interleaved meshes, overhauled mesh streaming to work asynchronously (ironically only x86_64 OpenGL works well with it), reverted dtex conversion to 32x32 because any larger size doesn't actually work 2026-08-06 20:45:41 -05:00
d758cf6db9 fixed some weird memory leak with keymap import/merge, validated allocator settings, some other things (mds-mcdonalds can now theoretically load on a real dreamcast) (to-do: asynchronous mesh loading since it stutters on streaming new mesh data) 2026-08-05 20:18:21 -05:00
f4fdf5208f fixed emitted audio crashing if not-existant, fixed GLdc non-compressed texture loading, bin lightmaps to partitions for NewDark MIS and Valve BSP loaders (NewDark doesn't group by portal-cell), validated that game scene does load on dreamcast (even though mds-mcdonalds clocks at 23MiB at runtime with gutting everything......) 2026-08-04 20:40:56 -05:00
fc47cff1fa maybe final fixes for opengl (properly set depth range and ops, just need a scene to test for dreamcast......) 2026-08-03 23:28:44 -05:00
eacde883d0 finally fixed dreamcast/flycast not rendering the main menu (to-do: fix inside out for x86_64 opengl), fixed uf::vector::notEquals, added deterministic fnv1a hashing for when it needs to be cross platformed 2026-08-03 19:30:52 -05:00
d481d8ae4a added cache VFS to store all these offline-converted formats, repaired opengl renderer because of some annoying bug of implicitly casted vectors of different dimensions...... 2026-08-01 00:03:06 -05:00
44e0caca5b added ADPCM, added encode/decode functions for vorbis/wav, automatically convert audio to ADPCM for Dreamcast playback, (theoretically working) spatial audio for AICA-audio backend, non-streamed (SFX) maybe working? 2026-07-28 00:57:52 -05:00
d3d33383ec actually flycast had a bug that refused to play audio from kallistios-based programs... 2026-07-27 07:24:14 -05:00
9ac47e843f more schizophrenic fixes for the dreamcast build (for audio/graphics to still be broken), dropped freetype for stb_truetype (to shrink the DC binary down to 2.6MB) 2026-07-26 20:36:55 -05:00
c61e502dcb a bunch of schizoshit to get dreamcast target to boot (crashes from a memory pool assert) while simultaneously shrinking the .elf (3.60MB=>3.06MB) 2026-07-24 22:45:57 -05:00
9597916568 fixed simd normalize because i guess you needed to check for dot > eps2, actually enabled use of custom allocator for uf::stl containers, updated nlohmann/json wrapper to use supplied types (should fully remove the need to glue on float64_t to it for dreamcast, even though either -m4/-m4-single fixed that last i checked), fixed weird issue with debug draw having frame % 3 draw the wireframe without a transformation matrix presumably because the camera viewport was [4] instead of [6] (even-even though it fixed itself when i only set the specialization constant for debug text only), mostly corrected source-engine physics state even though it should probably get defined in the bsp loader or something 2026-07-23 21:45:57 -05:00
b309a60b8c more physics tweaks (disabled NGS because it behaved poorly, added some small code to keep objects when grounded to moving bodies, fixed oversight with kinematic bodies), made darkengine lightmaps properly dark with baking it as srgb 2026-07-21 00:11:43 -05:00
5cc441bb63 chasing down demons in the physics system...... 2026-07-20 20:18:00 -05:00
afd04c317e renamed ttlg => lgs (because it makes slightly more sense as it follows the naming convention of ext::valve for Valve formats, although it might be better to instead be dark/source or darkengine/sourceengine) 2026-07-20 16:41:18 -05:00
4fba288af5 newdark: cleaned up code, io.lua handles strictly IO, osm.lua handles replicating OSM code, schema_db.lua handles resolving schemas => filenames, lua hook calls returns their values (to-do, try and return any value, probably never happening) 2026-07-20 16:35:56 -05:00
988a61de7a newdark: code cleanup (with uf::stl::reader), squashed bugs with ambience (to-do: fix attenuation), more I/O (buttons actually work, most things sans keycard readers emit the right sound, elevator lifts mostly work), added mask filtering for raycast to avoid hitting triggers, to-do: add a crosshair and draw a square around entity looking at, fix SIMD normalize being dreadfully slow 2026-07-20 00:06:17 -05:00
7bd018dae0 newdark: (ughhhh) binding physics states, ambient sounds, doors, triggers, songs (missing things like XXMIX_S), to-do: more I/O, fix trigger bounds being weird, optimize physics bodies because it eats half my frametime | added dir listing for VFS, added queueing pending sounds to seamlessly transition (streamed audio only), probably a lot of other things just to make the former features happen.............. 2026-07-19 02:38:10 -05:00
bd6b41a7a7 newdark: fixed orientation (naively binding a light to a proper entity caused issues), code cleanup (to-do: fix some models loading the wrong materials, finish binding data) 2026-07-17 20:13:44 -05:00
9520e33d75 newdark: fixed lights not loading, almost fixed orientation loading wrong, (to-do: fix prop materials sometimes being wrong) 2026-07-17 11:55:20 -05:00
c5e49e59eb fixed stacking multiple Zip mounts from overwriting due to not assigning mount.path, adding NewDark .mis loading (to-do: fix rotation quirks, some textures not loading, implement LGMM loading, handle non-lightmap lights, handle soundscapes, tie in links, etc.) 2026-07-15 22:19:11 -05:00
234aba6782 finishing integration of batched-scattered reads for fast load 2026-07-12 22:12:49 -05:00
d1c2de0423 added lz4 because i forgot to finish it i guess (and starting to abstract this batched-scattered read paradigm) 2026-07-12 12:44:07 -05:00
2a02e08383 fixes for streaming in meshes/textures (sped up scene loading because I was thrashing I/O with re-walking a gunzip file constantly the moment i swapped to storing all mesh data inside one file......), some other things I don't remember since it was a week ago 2026-07-11 17:48:07 -05:00
ad360a351d when load times regress (more fixes related to opengl, to-do actually make interleaving + streaming work) 2026-07-04 23:20:09 -05:00
fa5f421140 more opengl related fixes (like proper instancing), disabled signaling a command buffer rebuild on graphic.updateMesh (to-do: properly handle this strictly for immediate-mode debug draw, or just do some lambda memery) 2026-07-02 19:22:07 -05:00
65a08839f9 more fixes 2026-06-30 21:21:43 -05:00
a2636e834c opengl related fixes that almost are done (some props aren't rendering because of alpha shitcannery) 2026-06-28 19:56:55 -05:00
c3e337bb87 finalized VR rendermode, rendertarget handles the camera for where it should render at (defaults to 3 units in front of camera), fixed flat GUI not clicking/hovering when in VR because of mismatched viewport sizes, fixed validation error regressions 2026-06-23 21:51:01 -05:00
a98298b668 repaired VR support (to-do: make the VR rendermode work) 2026-06-22 22:04:18 -05:00
e0fbed4a14 more fixes (chasing down demons because of forgetting to support BGR888......), theoretical HDR image saving/loading and animated textures (to-do: actually animate them) 2026-06-20 23:10:53 -05:00