Commit Graph

325 Commits

Author SHA1 Message Date
veclavtalica
c6cbf941a2 introduce audio_model = "push" to twn.toml 2025-02-04 00:21:30 +03:00
veclavtalica
ccfdfd8a35 half pi. 2025-02-02 05:39:47 +03:00
veclavtalica
7284bb726a make yaw = 0 result in (0, 0, 1) target vector 2025-02-02 05:32:18 +03:00
veclavtalica
2f629433aa catch null font, report it as unimplemented 2025-02-02 04:12:56 +03:00
veclavtalica
6d58e964bc use ccalloc in input bindings 2025-02-02 03:15:05 +03:00
veclavtalica
0014458dbb actuall no spam. i swear. 2025-02-02 03:13:58 +03:00
veclavtalica
9112630330 don't report useless opengl messages 2025-02-02 02:17:37 +03:00
veclavtalica
2120f6876c camera reset and default state 2025-02-02 01:41:02 +03:00
veclavtalica
dfd888a80a don't bypass x11 compositor 2025-02-02 00:50:26 +03:00
veclavtalica
695784301d twn_filewatch.c: typo 2025-02-01 14:25:54 +03:00
veclavtalica
0929aa9be4 move shell html to /src/ 2025-02-01 13:57:51 +03:00
veclavtalica
24e8dc052d fixes 2025-01-31 05:11:10 +03:00
veclavtalica
bd89c4b938 fix mixing up of SDL and libc allocators, proper flushing of quad build buffers 2025-01-30 21:57:20 +03:00
veclavtalica
7074e7499a ugh? 2025-01-30 05:10:38 +03:00
veclavtalica
74d7190c62 ilimination of system code, removal of x-watcher and replacement of it by dmon, fixes in audio code, dynamic asset reload 2025-01-30 04:30:20 +03:00
veclavtalica
4b2a22bf3c twn_filewatch.c: file and directory change api, initial support for texture reload 2025-01-29 07:21:09 +03:00
veclavtalica
fedf1b5ef3 remove twn_elf 2025-01-29 01:24:10 +03:00
veclavtalica
732b61e207 twn_textures.c: remove hacky .rodata texture lookup method, it turns out to be not anyhow faster than the simplest solution. also fix path=NULL case 2025-01-29 00:56:05 +03:00
veclavtalica
fad11041bc fix uvs in billboards 2025-01-27 05:08:45 +03:00
veclavtalica
7c33107585 game.background_color option in twn.toml 2025-01-27 05:05:43 +03:00
veclavtalica
166ae43981 make face culling optional 2025-01-27 04:15:46 +03:00
veclavtalica
6ef3cf1a3a change near z for orthographic proj 2025-01-27 04:09:59 +03:00
veclavtalica
d84e5f8610 normalize camera direction 2025-01-27 03:46:29 +03:00
veclavtalica
6a87119c70 add zoom option to camera to work around the orthographic camera 2025-01-27 03:25:14 +03:00
veclavtalica
791ab628ca orthographic projection for fov=0, rework of order and defaults for 3d camera api 2025-01-27 02:42:36 +03:00
veclavtalica
20394eed6c disable elf texture lookup hack 2025-01-26 23:26:48 +03:00
veclavtalica
a54657e7be twn_loop.c: limit minimum amount of delay 2025-01-26 18:34:34 +03:00
veclavtalica
cf8227d7d3 twn_loop.c: place SDL_Delay() to not waste CPU time 2025-01-26 12:06:00 +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
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
34a3de73c6 twn_utils.c: make profiling public 2025-01-25 00:53:44 +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
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
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
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
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
4ed3764c1d twn_input.c: remove input_mouse_captured(), add ctx.mouse_capture 2025-01-14 00:28:21 +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
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
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
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
8c401eda75 api changes and progress on filling in twn_api.json 2025-01-07 14:14:21 +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
e914cad0dd infer texture mode for triangles 2025-01-05 23:43:30 +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
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
dc2535358e make input coordinates respect the viewport 2024-12-24 10:24:50 +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