Commit Graph

153 Commits

Author SHA1 Message Date
91ea5356fc fix variout memory leaks 2024-10-01 13:34:58 +03:00
9ab7d1edff twn_gl_15_rendering.c: fix memory leak in finally_render_skybox() 2024-10-01 13:22:20 +03:00
8c34d5afe2 twn_audio: capitalize warn 2024-10-01 12:59:40 +03:00
a0ea657eb9 twn_audio: settle down on float32 2-channel sampling only, format enums to style used elsewhere 2024-10-01 12:59:01 +03:00
57fe5e8946 implement game configuration file
this integrates https://github.com/cktan/tomlc99 into the repo as a dependency
2024-10-01 12:48:42 +03:00
078e68387b replace per-tick allocations in push_text with an arena/bump allocator 2024-09-27 15:02:24 -03:00
0481962859 twn_audio.c: no push api for stb_vorbis.h 2024-09-27 18:04:16 +03:00
90361d1caf twn_util.c: fix redundant and erroneous NULL placement in expand_asterisk() 2024-09-27 17:55:33 +03:00
2b25ac8c21 twn_util.c: add twn_util_c.h include for definitions 2024-09-27 17:50:24 +03:00
f4b52b5450 make textures_dump_atlases work again and expose it as a utility function 2024-09-26 21:32:08 -03:00
0e68ecbc88 twn_loop.c: add --debug and --release overrides, fix incorrect argv iteration 2024-09-26 20:48:42 -03:00
64d1c20b4a twn_util.c: make alloc failure death message clearer 2024-09-26 19:37:46 -03:00
5d6a3a5aec remove/replace unused includes 2024-09-26 21:38:24 +03:00
c0dcdf8c0a twn_skybox.c 2024-09-26 21:02:56 +03:00
0fe1023667 use SDL stdlib where possible 2024-09-25 19:42:34 -03:00
65425f5b2e twn_textures.c: stream-based texture load 2024-09-25 18:01:50 +03:00
1430a13832 twn_textures.c: use SDL memory allocation, use SDL_LoadFileRW in texture file loading 2024-09-25 17:41:15 +03:00
34a081fccd rename get_text_width() to text_get_width() 2024-09-23 15:06:58 -03:00
73bf92e706 typedef & PascalCase for ALL structs and enums 2024-09-23 14:43:16 -03:00
e093a6d492 twn_textures.c: handle RGB image files 2024-09-23 14:35:46 +03:00
c8469e9416 twn_textures.c: actually fix srcrect updating lol 2024-09-23 14:07:02 +03:00
ce582d8a80 twn_textures.c: support for .so rodata inference 2024-09-23 12:50:44 +03:00
0ef8a6233f twn_textures.c: fix srcrect setting on atlas rebuild 2024-09-23 11:51:18 +03:00
535d5d8d36 twn_textures.c: little pieces 2024-09-23 09:50:48 +03:00
66678a27cf twn_textures.c: add debug hints about unportable texture dimensions 2024-09-23 09:35:46 +03:00
5caf736370 twn_rendering: m_sprite texture_origin changed for texture_region, stretched subregion work now 2024-09-21 20:07:05 +03:00
ddf0ef6a0c twn_util.c: use more appropriate SDL functions for intersect_(f)rect 2024-09-20 22:57:55 -03:00
999cb78358 rename intersect_(f)rect to overlap_(f)rect and add simplified functions with the old names 2024-09-20 13:39:37 -03:00
5cc36ab46c twn_input.c: fix scancode unbinding (ie make it actually work lol) 2024-09-20 12:39:37 -03:00
veclavtalica
8effcc0421 make baby windows work again 2024-09-18 20:36:00 +03:00
691d781827 text rendering over vertex arrays, rework fully done, finally 2024-09-18 19:01:43 +03:00
16c96010dc finally compiling and running, text still needs rework 2024-09-16 16:17:00 +03:00
551d60ef85 partially done work on total source tree rework, separation of engine context and game context, generalization of renderer for different backends as well as web platform target 2024-09-16 09:07:01 +03:00
veclavtalica
e74cc6bf94 remove symlink as windows is shit, src to townengine 2024-07-30 22:31:18 +03:00
222b68c0a3 flickering fixed ! 2024-07-31 01:12:45 +03:00
967ed0ea9b no mouse change when not captured 2024-07-31 00:18:01 +03:00
7f1efce310 get the flycam going already 2024-07-30 18:05:28 -03:00
f00bae7cfc use alpha test instead of blend for 3d 2024-07-30 23:57:39 +03:00
8a66bc43e4 bypass of near/far planes for 2d case, hints for perspective correction, flat shading for 2d 2024-07-30 23:37:34 +03:00
b12c5e31c3 fix dot product 2024-07-30 21:56:23 +03:00
ea664944bb set depth range for 3d, flush 3d before starting with 2d 2024-07-30 21:43:08 +03:00
81015b1079 limit framebuffer, no error context on release, catching init errors 2024-07-30 20:29:00 +03:00
94ce701dae perlin2d, sample terrain render 2024-07-30 19:36:59 +03:00
a4cb50687e private the texture.c/.h, remove vestigial circle hash table from ctx 2024-07-30 18:31:38 +03:00
2a8f4b1bdc clean the t_ctx a bit 2024-07-30 18:19:04 +03:00
7bfcb26352 move applcation callback declarations to game_api.h to ease warnings 2024-07-30 18:15:31 +03:00
0b215acbdf use t_frect for texture dimentions 2024-07-30 18:09:21 +03:00
ea29f2c5f0 working camera 2024-07-30 18:05:05 +03:00
4a924cb2a9 new option-based api for sprite issue 2024-07-30 15:30:35 +03:00
06ce0eb13a option macros 2024-07-30 15:22:07 +03:00
142321d458 fix indentation 2024-07-30 03:16:46 +03:00
e93d5eb863 move and rename private/audio.h to audio/internal_api.h 2024-07-30 03:16:46 +03:00
c702bd5002 audio.h: fix a volume blunder 2024-07-30 01:31:05 +03:00
a99cb340d8 application separation 2024-07-30 01:22:04 +03:00
922e521867 better access to townengine headers from any point in source tree 2024-07-29 23:40:15 +03:00
ff077c5d0d separation to vec.h, generic vector ops, camera class and its usage for spatial rendering 2024-07-29 15:21:39 +03:00
86d135281e proper getting of window size on resize 2024-07-29 14:01:46 +03:00
0697f845dd move and rename private/rendering.h to rendering/internal_api.h 2024-07-29 13:20:11 +03:00
9181e43fcc rename to townengine 2024-07-29 13:06:23 +03:00
cbd567c4cb move and rename private/textures.h to textures/internal_api.h 2024-07-29 12:53:03 +03:00
e8ff04b3e6 rendering.c: non-square rotating sprites 2024-07-29 12:43:46 +03:00
8a0f767002 disable depth wirte for blended, less or equal depth func for seethrough 2024-07-29 00:08:53 +03:00
3edd692771 automatic detenction of texture mode and batching based on it 2024-07-28 23:59:23 +03:00
945b1d21fe add const qualifiers on color puns 2024-07-28 22:23:28 +03:00
8846e788b2 aligned for vectorization commor primitives, uint32_t cast for color comparison in batch collection 2024-07-28 22:17:53 +03:00
b9188d8d8a rendering.c: sprite constant color that isn't just white only 2024-07-28 16:25:25 +03:00
20e33fe30d rendering.c: sprite batches with no color information when appropriate 2024-07-28 16:06:47 +03:00
ea4d12212c rendering.c: fast cos from sin calculation, with lossy fast_sqrt() 2024-07-28 14:39:23 +03:00
5ddf0eb879 elf.c: section limit inference for linux, fixes for stb_ds.h hashing, more compilation flags 2024-07-28 01:44:39 +03:00
36dcf14db7 resize viewport of window maximization/minimization 2024-07-27 18:01:45 +03:00
910e45a44b rendering.c: fix sprite uv in batches, fix alpha blending of texture atlas 2024-07-27 17:55:57 +03:00
f5ba4a75bd rendering.c: only update opengl viewport once it's actually changed 2024-07-27 17:10:08 +03:00
79bc261ccd rendering.c: sprite rotation 2024-07-27 16:55:38 +03:00
687e42ddfd rendering.c: sprite texture flipping 2024-07-27 15:44:34 +03:00
c529e6ee4e rendering.c: correct-er order and settings of of 2d and 3d 2024-07-27 15:35:49 +03:00
dfde000a3a rendering.c: batching for sprites (blended vs unblended), separation of rendering submodules; textures.c: textures_get_atlas_id() 2024-07-27 15:10:49 +03:00
32b83d68ac demo: proper uvs! 2024-07-20 00:48:30 +03:00
875af2a758 experimental: textures_get_key() caching for embedded in binary path strings 2024-07-19 23:44:29 +03:00
867dea1958 textures.c: remove by one offsetiing, use macro for validity checking 2024-07-19 23:38:10 +03:00
bdf2a54107 replace categorized, sorted render queues with a single ordered 2d queue 2024-07-15 23:31:54 -03:00
5ae59b51d3 textures.h: cleanup, writeup for unfurl_billboard() 2024-07-14 19:18:10 +03:00
7218acb40b textures.c: fix regressions for loner textures 2024-07-14 18:36:48 +03:00
bd53a931c0 rework of textures, finalization of basic opengl rendering 2024-07-14 16:04:12 +03:00
55d85399e9 full removal of SDL_Renderer usage, working spatial triangle rendering, temporary(?) regression of HDPI 2024-07-12 21:16:21 +03:00
34cf504b2b rename *_pair to *_item, as it's the convention used before 2024-07-10 19:16:39 +03:00
b280243d30 work-in-progress for 3d triangle rendering 2024-07-10 19:15:28 +03:00
31167047a7 util.c: rename tick_ftimer_repeat to repeat_ftimer 2024-07-09 15:37:03 +03:00
f98f9e1300 creation of opengl 1.5 context, mixing of gl calls with sdl renderer 2024-07-09 15:36:13 +03:00
96d1f5b7a2 Merge branch 'main' of https://git.poto.cafe/wanp/salesman 2024-07-08 23:50:01 +03:00
194bf0e266 util.c: floating point timers for game loop 2024-07-08 23:47:22 +03:00
98467831d1 audio.c: use xm_repeat on play reenty 2024-07-08 23:46:47 +03:00
17d7bcd330 remove the broken variable timestep 2024-07-08 17:16:24 -03:00
5738870147 remove unused includes 2024-07-08 22:58:57 +03:00
26a89dfe4f audio.c: fix memset error 2024-07-08 22:37:58 +03:00
f6330bfaa6 M_PI shenanigans 2024-07-08 22:20:26 +03:00
veclavtalica
eba3f0a2d5 audio.c: sanity checking with warnings 2024-07-08 18:22:40 +03:00
veclavtalica
6cb8736fc1 audio.c: get_audio_args() 2024-07-08 18:13:33 +03:00
veclavtalica
c07aa3c9a8 implement repeat in libxm 2024-07-08 18:00:38 +03:00
veclavtalica
0eb851e7bf .xm playback 2024-07-08 16:58:23 +03:00
veclavtalica
febe3310aa refactor of panning calculations 2024-07-08 09:57:29 +03:00