Commit Graph
100 Commits
Author SHA1 Message Date
veclavtalica 00bfa35252 add line drawing 2025-01-23 03:17:05 +03:00
veclavtalica 3f9906a918 remove fog start and fog end parameters 2025-01-20 19:30:17 +03:00
veclavtalica 8a5d639f95 remove indirection in vertex builder 2025-01-17 22:48:35 +03:00
veclavtalica 40aef0a1f9 scale in mixing to prevent excessive gain 2025-01-15 21:31:19 +03:00
veclavtalica 2de536210b fix --release switch 2025-01-15 07:58:42 +03:00
veclavtalica 449d4d3c32 move opengl library loading to a thread that starts as soon as possible and is awaited as late as we can allow 2025-01-15 07:54:45 +03:00
veclavtalica 8233f31269 oopsie 2025-01-15 06:50:19 +03:00
veclavtalica 45b8b21ec3 add todo 2025-01-15 06:08:55 +03:00
veclavtalica 4659cf2aef profile atlas recreation 2025-01-15 06:04:02 +03:00
veclavtalica db530ca3a0 make audio device init delayed until first use 2025-01-15 05:43:56 +03:00
veclavtalica f0dfd5627a more startup profiling, removal of irrelevant calls and zeroing in textures_cache_init() 2025-01-15 05:39:18 +03:00
veclavtalica 0da1e413aa only init the necessary with SDL, speeding up the startup 2025-01-15 05:00:45 +03:00
veclavtalica 8c165974c7 twn_util.c: make profiler collect worst case, dispaly the stats with awareness of sample count 2025-01-15 04:55:18 +03:00
veclavtalica 1ba33bdc26 collect profile of startup and pack resolution 2025-01-15 04:47:36 +03:00
veclavtalica 760515c551 minor optimization of strncmp for literal comparison 2025-01-15 04:36:00 +03:00
veclavtalica 9d0a2cab81 expose audio to twnlua 2025-01-15 04:15:08 +03:00
veclavtalica d5b42fa242 add a todo 2025-01-15 01:01:16 +03:00
veclavtalica 851ab80292 remove ctx.update_multiplicity 2025-01-15 00:52:42 +03:00
veclavtalica 688d71953a make inputs up-to-date for game tick 2025-01-15 00:43:46 +03:00
veclavtalica 63abf3d374 disable vsync, make us rule over frames fully 2025-01-15 00:31:17 +03:00
veclavtalica 80c77424e2 /apps/demos/scenery: more detailed terrain 2025-01-15 00:30:46 +03:00
veclavtalica 82d4f21a4b twn_textures.c: minor optimization 2025-01-15 00:11:47 +03:00
veclavtalica 3990f78a74 twn_textures.c: make missing texture single and reused 2025-01-15 00:10:30 +03:00
veclavtalica f0ad9b9a8a twn_textures.c: fix repeated bind to work over varying channel count 2025-01-14 23:47:59 +03:00
veclavtalica ea0af5159f only enable fog for 3d 2025-01-14 23:28:48 +03:00
veclavtalica 5059802d09 big rendering overhaul (cleaning and api abstraction) 2025-01-14 23:20:54 +03:00
veclavtalica b7cb37c06a no TWNBUILDDIR 2025-01-14 04:47:53 +03:00
veclavtalica 664f123a85 twn_input.c: zero ctx.mouse_movement on focus lost 2025-01-14 02:56:55 +03:00
veclavtalica 2351d4114c twn_draw.c: add draw_quad() 2025-01-14 02:53:18 +03:00
veclavtalica 86bf16b680 make mouse movement and capture depend on window focus 2025-01-14 02:07:54 +03:00
veclavtalica dbe6217e24 /apps/twnlua: add .gitignore 2025-01-14 01:37:16 +03:00
veclavtalica b037d7a0b9 /apps/twnlua: ctx uploading 2025-01-14 01:35:54 +03:00
veclavtalica e984e95fa8 /apps/twnlua: make dependent on twn_api.json for rebuilding 2025-01-14 00:30:48 +03:00
veclavtalica 4ed3764c1d twn_input.c: remove input_mouse_captured(), add ctx.mouse_capture 2025-01-14 00:28:21 +03:00
veclavtalica 6d19d2d819 /apps/twnlua: make no warnings 2025-01-14 00:06:55 +03:00
veclavtalica 5bce3e5238 twn_textures.c: remove unused amask 2025-01-13 23:56:22 +03:00
veclavtalica 6298394957 twn_audio.c: a lot of fixes, optional TWN_FEATURE_PUSH_AUDIO for converging game ticks and audio, proper .wav handling with resample 2025-01-13 23:52:55 +03:00
veclavtalica eefd53a630 twn_audio.c: .wav support and scratch channels 2025-01-13 19:56:20 +03:00
veclavtalica 87ae1a7312 missing textures: fix double free 2025-01-13 18:09:06 +03:00
veclavtalica 3052bb693a /apps/demos/scenery: skip title scene 2025-01-13 17:36:18 +03:00
veclavtalica 5f6c8dd8e6 missing texture when loading fails 2025-01-13 17:35:50 +03:00
veclavtalica c694dfff82 use flatshading for space and skip setting irrelevant vertex color 2025-01-13 09:18:51 +03:00
veclavtalica b6ca9bedb4 /apps/twnlua: don't use module tables 2025-01-13 08:57:21 +03:00
veclavtalica 8d67e44009 /apps/twnlua: use lua_numberx for slightly more optimized defaults 2025-01-12 03:51:02 +03:00
veclavtalica 192907a0db use slot size of 128 for twnlua allocator 2025-01-12 03:21:05 +03:00
veclavtalica e8b02570a2 slot based allocator for lua, usage of lua_createtable 2025-01-12 02:44:41 +03:00
veclavtalica 46e077ba63 make ctx.frame_number overflow to 0 2025-01-11 17:33:05 +03:00
veclavtalica 41d0e24780 /apps/twnlua: ctx.udata preservation (not yet for reload case) 2025-01-11 16:22:41 +03:00
veclavtalica 777a06a002 /apps/twnlua: expose ctx 2025-01-11 16:01:41 +03:00
veclavtalica 313108092b don't use clamped float random_seed internally 2025-01-10 02:52:04 +03:00
veclavtalica 83e2dc5468 make vec4 and matrix types internal 2025-01-10 02:40:52 +03:00
veclavtalica 951d9c76c8 use floats for ctx.frame_number and ctx.random_seed 2025-01-10 02:20:21 +03:00
veclavtalica f3848d2d52 progress on twnlua bindgen 2025-01-09 21:47:08 +03:00
veclavtalica 8c401eda75 api changes and progress on filling in twn_api.json 2025-01-07 14:14:21 +03:00
veclavtalica 5c89c55b3e /apps/twnlua: support out of tree usage 2025-01-07 13:22:31 +03:00
veclavtalica 5b05386bb0 changes to twn.toml specification of resolution, make it optional as well 2025-01-06 21:19:26 +03:00
veclavtalica b0549612a9 /apps/demos/scenery: lock movement direction to a plane 2025-01-06 15:38:40 +03:00
veclavtalica 6463ac3dd7 /apps/demos/scenery: separate height_at(), position grass right 2025-01-06 15:34:12 +03:00
veclavtalica e914cad0dd infer texture mode for triangles 2025-01-05 23:43:30 +03:00
veclavtalica a9d9936cb7 /apps/demos/scenery: reduce fov 2025-01-05 23:37:08 +03:00
veclavtalica 4dd028aeae support arbitrary count of billboards per batch (in regards to preallocated short index buffer) 2025-01-05 23:36:48 +03:00
veclavtalica d7a119a592 fix aspect ratio as well as billboard scaling 2025-01-05 21:08:54 +03:00
veclavtalica cb6c1df0be disallow ghostly billboards, reenable skybox in scenery demo 2025-01-05 19:59:23 +03:00
veclavtalica 3bfa86066e billboards! 2025-01-05 19:46:05 +03:00
veclavtalica 7c0bf39f12 CMakeLists.txt: fix no amalgam build 2025-01-03 22:04:16 +03:00
veclavtalica 4f2b8ccd01 separate the rest of general drawing code 2025-01-03 21:59:00 +03:00
veclavtalica 472a0657f3 twn_draw.c: remove gl headers 2025-01-03 21:10:15 +03:00
veclavtalica 0f368e2700 move render_circle to twn_draw.c 2025-01-03 21:08:54 +03:00
veclavtalica 33471b4c46 generalization of deferred commands and any_gl rendering where appropriate 2025-01-03 21:01:26 +03:00
veclavtalica edcb7fc39c make deferred draw primitives agnostic to backend 2025-01-03 19:59:37 +03:00
veclavtalica f9a8448782 make SpritePrimitive take less space (52 -> 48 bytes) 2025-01-03 19:48:00 +03:00
veclavtalica 6d5732cc2b tweaks to tooling 2025-01-03 11:55:39 +03:00
veclavtalica 62d738cbbe /docs/interop.md: update 2025-01-03 11:49:00 +03:00
veclavtalica f4a3298906 disallow pointer to pointer in api 2025-01-03 11:45:10 +03:00
veclavtalica 8ec5a96333 /apps/demos/scenery: cleanup 2025-01-02 13:35:13 +03:00
veclavtalica 4277852fc5 /apps/demos/scenery: add walking 2025-01-02 13:29:28 +03:00
veclavtalica dc2535358e make input coordinates respect the viewport 2024-12-24 10:24:50 +03:00
veclavtalica 190eb1f107 twnlua: use stb_ds.h for enum conversions 2024-12-24 10:03:19 +03:00
veclavtalica e06c879869 twnlua: partial impl for return propagation, input now works 2024-12-23 22:02:17 +03:00
veclavtalica e7ed72dfc0 twnlua: bindgen.py capable of converting share/twn_api.h spec to lua bindings 2024-12-23 20:59:00 +03:00
veclavtalica c4c097f050 Revert "amalgam of batch and bash scripts for twn basetool"
This reverts commit cd9c65212d.
2024-11-06 17:20:38 +03:00
veclavtalica 1d34c91106 add .editorconfig 2024-11-05 16:51:48 +03:00
veclavtalica 0d81236331 set eol=lf in .gitattributes 2024-11-05 16:47:30 +03:00
veclavtalica f9bb6412b7 make build directory now prefixed with dot, as it what clangd expects, remove .clangd file 2024-11-05 01:56:50 +03:00
veclavtalica b18f6f1d87 CMakeLists.txt: also allow GNU linker to use thinlto cache 2024-11-04 16:26:56 +03:00
veclavtalica 2f94e17852 twn_util_c.h: profile_list_stats() for average summary, without spam in console 2024-11-04 16:22:13 +03:00
veclavtalica 26a2bf293f twn_util_c.h: internal profiling api 2024-11-04 16:04:02 +03:00
veclavtalica 4b0d584b7e mark scripts executable again 2024-11-04 13:36:17 +03:00
veclavtalica ccaef34d61 update interop.md 2024-11-03 23:30:29 +03:00
veclavtalica 833f7dbc53 update interop.md 2024-11-03 23:27:10 +03:00
veclavtalica a7feb7b61b update interop.md 2024-11-03 23:25:06 +03:00
veclavtalica 4be27816c2 scenery: make render distance come from a define 2024-11-03 23:09:10 +03:00
veclavtalica d794ca862f remove junky UncoloredSpaceTriangle union, hide vertex generation from generic triangle implementation 2024-11-03 23:08:53 +03:00
veclavtalica 26c75ffd7c optimize case of sequential shared radius circle drawing by reusing the geometry by just offsetting it 2024-11-03 22:33:18 +03:00
veclavtalica e4da4a8b7f add a TODO 2024-11-03 21:54:55 +03:00
veclavtalica 963d549eed CMakeLists.txt: only put -s for gcc 2024-10-29 12:32:21 +03:00
veclavtalica 9121da0675 yet another api rework, removal of integer types in public api, optionals at the end, some cleaning 2024-10-29 12:25:24 +03:00
veclavtalica 6464d14b3e twn_input.h: remove unbinding 2024-10-28 13:04:49 +03:00
veclavtalica eff9fe6918 twn_util.h: make return structs comply to type naming 2024-10-28 12:39:42 +03:00
veclavtalica d11143ac86 twn_draw.h: new camera api 2024-10-28 12:34:48 +03:00