Commit Graph
100 Commits
Author SHA1 Message Date
veclavtalica cf8227d7d3 twn_loop.c: place SDL_Delay() to not waste CPU time 2025-01-26 12:06:00 +03:00
veclavtalica f365cff590 twnlua: prepend /scripts/ in package loader 2025-01-26 11:35:34 +03:00
veclavtalica 77ff5c7f25 add TODOs on streaming lua load 2025-01-26 11:10:05 +03:00
veclavtalica bf3eb50b55 twn_audio.c: only apply volume scaling on mixing of different streams 2025-01-26 11:08:13 +03:00
veclavtalica 6a029b7e79 fix audio overrun 2025-01-26 09:39:31 +03:00
veclavtalica fad46137a0 set ctx.frame_duration 2025-01-26 09:09:21 +03:00
veclavtalica 7a403c766e /apps/twnlua: report error on loading 2025-01-26 08:51:54 +03:00
veclavtalica b0e718876a show time limit in sanity timer 2025-01-26 02:56:00 +03:00
veclavtalica 785b507330 twn_input.c: ignore input param 2025-01-26 02:45:50 +03:00
veclavtalica d884a9026f clean twn_timer 2025-01-26 02:45:01 +03:00
veclavtalica 9ddc5c4a66 twn_timer.c: time limiter for game ticks 2025-01-26 02:37:21 +03:00
veclavtalica 16bd49b42e twn_util.c: show profiles in milliseconds when appropriate, don't include time taken for profile internals 2025-01-26 01:42:12 +03:00
veclavtalica dd158dee01 apps/examples/circle-raster: add acc precalc method 2025-01-25 05:48:11 +03:00
veclavtalica ab3c032313 /apps/examples/circle-raster: acc variant 2025-01-25 02:28:40 +03:00
veclavtalica 34a3de73c6 twn_utils.c: make profiling public 2025-01-25 00:53:44 +03:00
veclavtalica 597168c282 /apps/examples/circle-raster: benchmarking and int32_t variant 2025-01-25 00:53:28 +03:00
veclavtalica 37cd8cf2cf /apps/examples/circle-raster: simple code for grid-centered circle rasterization 2025-01-24 23:26:32 +03:00
veclavtalica cb5f207761 twn_util.c: fix profile worst case, update formatting 2025-01-24 23:06:34 +03:00
veclavtalica 6e421543c4 cmake ctx.mouse_position viewport and resolution based 2025-01-24 21:52:11 +03:00
veclavtalica c97d9b2568 twn_draw.c: fix upper limit for camera fov warn 2025-01-24 16:28:06 +03:00
veclavtalica e281ba593c twn_vec.h: add vec2_length(), remove legacy code 2025-01-24 04:28:09 +03:00
veclavtalica a20be2c523 twn_draw.c: add warning for erroneous fov parameters 2025-01-24 04:27:45 +03:00
veclavtalica b20e7202fe twn_util.c: add handling of NULL in log_<type> 2025-01-23 22:15:09 +03:00
veclavtalica 045d2764fa twn_util.c: add logging over base types 2025-01-23 22:13:01 +03:00
veclavtalica 53917b05b7 twn_draw.c: draw_box() 2025-01-23 21:53:15 +03:00
veclavtalica 0dc0a18019 fix color for line rendering 2025-01-23 20:05:29 +03:00
veclavtalica 2df5616410 add line drawing 2025-01-23 04:29:59 +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