Commit Graph

293 Commits

Author SHA1 Message Date
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
veclavtalica
ee7fc42fbc inclide math.h so that it works under windows 2024-11-04 07:13:29 +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
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
veclavtalica
9da26638c8 rework input to be in line with rendering semantics 2024-10-22 20:32:17 +03:00
veclavtalica
a22bcfd97e rework timers, update overlap/intersect and other procedures, some other things i dont remember 2024-10-22 14:45:30 +03:00
veclavtalica
b390e9db23 audio_set() -> audio_set_parameter(), with string based convention 2024-10-22 13:52:24 +03:00
veclavtalica
5a08c01208 fix warnings 2024-10-22 11:06:02 +03:00
veclavtalica
eff2d9c5e1 direct header includes, remove redundant ones 2024-10-22 10:39:40 +03:00
veclavtalica
8aecc2bd06 fix rects render 2024-10-22 10:05:53 +03:00
veclavtalica
1296d41ad7 deferred fog, fix of first frame on double buffered option 2024-10-22 09:47:47 +03:00
veclavtalica
48f63fc9df deferred skybox, fixes to use of ARB_depth_clamp extension usage, have TextureKey explicitly in QuadBatch 2024-10-22 09:30:14 +03:00
c49789f1f4 make deferred space triangles work 2024-10-19 20:02:39 +03:00
a7b09b9f39 fix circle rendering over new impl 2024-10-19 19:16:18 +03:00
b683594013 proper size of build_vertex_buffer for circle indices 2024-10-18 18:45:17 +03:00
7e409fc14a work towards DeferredCommandDraw being universal, support for DeferredCommandDepthRange, rework of cirlce mesh (has a bug still), get_quad_element_buffer() now more general, as it should be with gl_any 2024-10-17 21:01:35 +03:00
aa3cab87d2 skip switching texture modes when they're the same as the last used 2024-10-16 22:52:10 +03:00
1dc0dea762 no need for packed types no more 2024-10-16 03:31:02 +03:00
119b706638 minor optimizations over sprite path 2024-10-15 19:32:42 +03:00
f2bbc1863e cache sprite srcrects 2024-10-15 18:43:02 +03:00
768daf1f54 move pipelines and texture modes to deferred commands 2024-10-15 18:35:08 +03:00
139394c6de partial implementation of double buffered render 2024-10-15 15:29:45 +03:00
446402c2e0 don't write unused color to vertices, utilize flat shading for only 2 important edges 2024-10-14 21:23:44 +03:00
f7a718003e send vertex data packed 2024-10-14 20:19:18 +03:00
f087bf1f7f fix depth clearing, ghostly modes not using depth layers, ortho with 0..1 2024-10-14 16:00:27 +03:00
19bf88d44e finally properly implemented depth optimization for 2d 2024-10-14 15:31:56 +03:00
3535a185df don't use depth range hack in rect case 2024-10-14 12:16:23 +03:00
d34516c4ee Merge branch 'main' of https://git.poto.cafe/wanp/townengine 2024-10-14 11:48:46 +03:00