smallmodel
bd021b109c
Fix a terrible mistake in TIKI_FindTiki with uninitialized variable
...
This was using an uninitialized buffer to find the cached TIKI, in most configurations it always returned false, but when compiled with GCC it would return true
2024-12-18 19:31:21 +01:00
smallmodel
28bdd1b2b3
Made the renderer modular and loadable
...
This removes coupling between the renderer and UI/client functions. An option USE_RENDERER_DLOPEN was added to specify whether a renderer module should be compiled and loaded, instead of integrating the renderer into the executable directly. This opens the door for a new renderer
2024-12-06 00:15:19 +01:00
smallmodel
d7c0ee47fe
Check if the skel is valid before freeing it
2024-12-05 00:42:50 +01:00
smallmodel
8446a655bb
Print an error when the skel file extension is unknown
2024-12-04 22:33:42 +01:00
smallmodel
01d098dab5
Clear the number of uses of the skel cache when registering a new skeleton
2024-12-04 22:33:28 +01:00
smallmodel
b6dd3914be
Correctly free skels when freeing TIKIs
...
This fixes a potential memory leak that would occur when the first skelcache's skel is NULL
2024-12-04 22:30:26 +01:00
smallmodel
c2e45710ad
Improve code clarity
2024-12-04 22:15:01 +01:00
smallmodel
387ccd5cc3
Bump the minimum CMake version to 3.12
2024-11-30 00:36:33 +01:00
smallmodel
23f776d3c7
Fix typo
2024-11-17 14:32:44 +01:00
smallmodel
54b9a0c340
Fix incorrect SKB offsets
2024-11-11 18:28:42 +01:00
smallmodel
2cf380c15d
Add scale field for skel header
2024-11-11 18:12:50 +01:00
smallmodel
c2291e92c4
Add Anim_AngularDelta
2024-11-08 19:32:53 +01:00
smallmodel
d1fca3e499
Check for valid skeletor
2024-11-08 19:24:07 +01:00
smallmodel
66b882346f
Clear the animation delta when the animation is invalid
2024-11-08 19:13:56 +01:00
smallmodel
22e7d1e2e4
Only put animation definitions that exist, rather than setting a NULL animation definition
...
This fixes issues when searching animations by name
2024-10-29 22:27:22 +01:00
smallmodel
c9b844b9ea
Count the number of loaded anims and don't return a valid animation definition if there are no loaded animations
2024-10-28 22:57:52 +01:00
smallmodel
d78d8abb9f
Correctly load SKB models on big endian architectures
2024-10-15 23:07:58 +02:00
smallmodel
26a1e24e3a
Fix TIKI_ParseAnimations incorrectly swallowing the full animation file when the map doesn't match
...
This fixes missing animations
2024-10-01 19:53:33 +02:00
smallmodel
9ee0e0a3c9
Correctly copy data on big-endian ( #365 )
2024-09-28 20:09:42 +02:00
smallmodel
1848506f09
Properly pass the size of the path buffer into Q_strncpyz
2024-09-21 23:09:16 +02:00
smallmodel
f9d264058b
Use safe version of sprintf and strcpy
2024-09-20 23:08:53 +02:00
smallmodel
0dfb1a3a2a
Use Com_DPrintf for TIKI/alias warnings/errors
...
This prevent the console from getting spammed with developer errors in production
2024-09-08 18:22:12 +02:00
smallmodel
81b8fe3f61
Use a pointer to an array instead of accessing the tiki mesh field directly to avoid loop badly optimized due to the compiler thinking there can be only 1 element
...
This fixes #337
2024-08-13 20:55:12 +02:00
smallmodel
2a485a6b69
Fixes the endianness when loading LOD from file
2024-06-22 15:34:38 +02:00
smallmodel
f41e92de6e
Fixes possible memory corruption when generating a LOD curve
2024-06-22 15:34:00 +02:00
smallmodel
835c0b0d9a
Adds constants for LOD curve values
2024-06-22 15:30:59 +02:00
smallmodel
de874874e4
Use an enum for setup case rather than raw values
2024-06-13 23:11:28 +02:00
smallmodel
332a635031
Use MAX_GLOBAL_FROM_LOCAL
2024-06-13 21:25:02 +02:00
smallmodel
fb15f0f2b3
Fixed a tiny mistake that prevented morphs from working correctly
...
Actors now have a working dynamic facial expression (moving eyes/mouth/brown...)
2024-06-11 00:12:59 +02:00
smallmodel
ebb3173322
Added skeletorMorphCache_t as an alias to int
2024-06-10 22:06:47 +02:00
smallmodel
c1604c0c8c
Handle animation file endianness
2024-06-08 14:59:52 +02:00
smallmodel
e27f2443e8
Fixed skel loading on big-endian systems
2024-06-08 00:53:39 +02:00
smallmodel
28ea95b9ff
Added scale field
2024-06-08 00:08:54 +02:00
smallmodel
e3b9e48d8c
Added TIKI_SKEL_LOD_INDEXES
2024-06-07 22:38:45 +02:00
smallmodel
026b6b2562
Ignore endianness on skd/skb header signature, as it's a string
2024-06-07 22:08:46 +02:00
smallmodel
2b66672d2d
Added MAX_GLOBAL_FROM_LOCAL constant and implemented skelChannelList_s::GlobalChannel
and skelChannelList_s::LocalChannel
2024-06-04 21:06:43 +02:00
smallmodel
2ee1a2099d
Ignore map name case sensitivity when parsing map-specific animations
2024-06-02 19:46:14 +02:00
smallmodel
7fe7e74fe2
Replaced all stricmp calls with Q_stricmp
2024-06-02 19:44:06 +02:00
smallmodel
e89262ed3b
Fixed TIKI_ParseAnimations improperly returning, even when a map was specified, causing parsing issues
2024-05-28 21:38:17 +02:00
smallmodel
21fda4cabd
Removed redundant code
2024-05-28 21:31:28 +02:00
smallmodel
b76f9a9a6c
Fixed skel_entity_cache initialization
2024-02-20 22:42:34 +01:00
smallmodel
cbe6d85bcd
Added multiple cache per entity
2024-02-20 20:44:55 +01:00
smallmodel
f018c2c15a
Ignore shaders for surface starting with the name "material"
2024-02-07 23:36:04 +01:00
smallmodel
e8109076f4
Assign shaders to surfaces that don't have a shader assigned
2024-02-03 23:03:41 +01:00
smallmodel
5f3ee10bc0
Fixed Linux compilation error because of stupid CL accepting anything
2024-01-29 00:01:39 +01:00
smallmodel
bca71ade85
Added automatic addition of idle animation when there is none (from 2.30 code)
2024-01-28 23:16:47 +01:00
smallmodel
3f8aeac7e6
Exported WriteSkelmodel
2024-01-28 20:27:58 +01:00
smallmodel
c4a9a87929
Added TIKI_AddDefaultIdleAnim
2024-01-28 20:24:17 +01:00
smallmodel
7eca455795
Set the idle skelmodel and increase the number of skels
2024-01-28 20:24:04 +01:00
smallmodel
cb9ac23b23
Added TIKI_AllocAnim
2024-01-28 20:23:05 +01:00