Commit Graph

21 Commits

Author SHA1 Message Date
Luis Gutierrez 6a618bb8fd
Fix for unaligned IQM *_ofs fields (#221) 2023-09-11 06:55:05 -07:00
Luis Gutierrez 25e1db29bf
Fix for IQM skeletons with multiple root bones (#218)
Fix case where skeleton contains multiple root bones with no parent bone
2023-08-28 20:29:55 -07:00
Shpoike 4431972ff6 Fix bad texture coord clamping on mdl export. 2023-04-17 03:58:20 +01:00
Eukara bc94d42767 Merge patch from ticket #120 from illwieckz, renaming iqm to iqmtool in the Makefile.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6203 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-03-06 19:47:42 +00:00
Spoike c5daf67332 Tweak IQM tool to cope with longer bone names.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6189 fc73d0e0-1445-4013-8a0c-d673dee63da5
2022-02-19 20:48:51 +00:00
Spoike 022e42c6c7 Move model loaders over to variable-length file-magics.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6104 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-11-03 20:31:32 +00:00
Spoike 051442c041 iqmtool now supports --static. Also embeds some multi-skin info.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6056 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-09-03 08:02:21 +00:00
Spoike eea586dd13 Fix up our iqmtool to not fail on md5mesh inputs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6035 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-23 06:36:44 +00:00
Spoike afe62bcf7f Allow the iqm tool to be built from its own makefile. This will disable mdl export and gltf import features.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6019 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-08-14 04:04:07 +00:00
Spoike ac427ff76c Improve gltf->iqm frame timings, update iqmtool's help text.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5905 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-06-21 13:46:31 +00:00
Spoike b9cd6ec91b openxr plugin: tweaked - inputs should be working properly now, and are visible to csqc. subject to further breaking changes, however.
_pext_vrinputs: added cvar to enable vr inputs protocol extension allowing vr inputs to be networked to ssqc too. defaults to 0 for now, will be renamed when deemed final.
updates menu: the prompt to enable sources is now more explicit instead of expecting the user to have a clue.
updates menu: added a v3 sources format, which should be more maintainable. not final.
updates menu: try to give reasons why sources might be failing (to help blame ISPs if they try fucking over TTH dns again).
presets menu: no longer closes the instant a preset is chosen. some presets have a couple of modifiers listed. force the demo loop in the background to serve as a preview.
prompts menus: now does word wrapping.
ftemaster: support importing server lists from other master servers (requested by Eukara).
server: try to detect when non-reply inbound packets are blocked by firewalls/nats/etc (using ftemaster to do so).
qcvm: added pointcontentsmask builtin, allowing it to probe more than just world, with fte's full contentbit range instead of just q1 legacy.
qcvm: memfill8 builtin now works on createbuffer() pointers.
qcvm: add missing unsigned ops. Fixed double comparison ops. fixed bug with op_store_i64. added missing OP_LOADP_I64
qcc: added '#pragma framerate RATE' for overriding implicit nextthink durations.
qcc: fixed '#pragma DONT_COMPILE_THIS_FILE' to not screw up comments.
qcc: added __GITURL__ __GITHASH__ __GITDATE__ __GITDATETIME__ __GITDESC__ for any mods that might want to make use of that.
qcc: fix up -Fhashonly a little
setrenderer: support for vulkan gpu enumeration.
rulesets: reworked to support custom rulesets (using hashes to catch haxxors, though still nothing prevents just changing the client to ignore rulesets)
bspx: use our BIH code for the bspx BRUSHLIST lump instead of the older less efficient code.
(static)iqm+obj: these model formats can now be used for the worldmodel (with a suitable .ent file). Also using BIH for much better collision performance.
pmove: tried to optimise PM_NudgePosition, should boost fps in stress tests.
wayland: fix a crash on startup. mousegrabs now works better.
imagetool: uses sdl for previews.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5813 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-04-14 05:21:04 +00:00
Spoike d855cc6e84 Try to make sense of obj's mtl files.
Added --ignoresurfname arg to optimise obj files (where the source object's name is not going to be used for skin files).


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5811 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-03-13 16:06:09 +00:00
Spoike 9d2573f708 Fix a couple of issues when importing obj files.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5810 fc73d0e0-1445-4013-8a0c-d673dee63da5
2021-03-13 11:35:34 +00:00
Spoike ce76201081 Work around gcc bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5705 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-06-13 00:21:47 +00:00
Spoike 5501fa249d makefile: attempt to fix freetype when not using makelibs (should make it slightly easier for people to compile with msys2 without needing to resort to cmake).
emenu: clean up hexen2's maplist options slightly.
emenu: modelviewer should now be slightly more friendly (click+wasd to move around).
particles: fix up randomised s coords.
csqc: try to fix issue with applycustomskin not refcounting properly.
client: [s_]precache and (new) mod_precache cvars can be set to 2 to precache the resources after load, for faster loading at the expense of some early stutter, without risking later mid-game stuttering.
gltf: add support for morphweights in a cpu-fallback path. don't expect good performance on surfaces with morphtargets for now.
gtlf: add some support for gltf1 files. far from perfect.
shaders: gltf1 semantics handling
shaders: const correctness
iqmtool: fix up mdl skin export.
iqmtool: integrate the engine's gltf2 loader. works with animated models, but unanimated ones suffer from basepose-different-from-bindpose issues.
q3bsp: hopefully fixed bih traces. still disabled for now.
qc: change default value of pr_gc_threaded to 1.
qcext: add the '__deprecated' keyword to various symbols in fteextensions.qc, now that fteqcc supports it.
ssqc: spit out a more readable error for WriteByte(MSG_CSQC,...) outside of SendEntity.
ssqc: add registercommand builtin, for consistency with menuqc and csqc (though only one can register any single command).
sv: report userinfo/serverinfo sizes (some clients still have arbitrary limits, plus its nice to see how abusive things are)
sv: try to optimise sv_cullentities_trace a little.
movechain: relink moved ents.
csqc: add spriteframe builtin, for freecs to use instead of more ugly less reliable hacks.
menuqc: fopen("tls://host:port", FILE_STREAM) should now open a tls stream. tcp:// should also work.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5704 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-06-13 00:05:47 +00:00
Spoike 11e6214daf Add explicit skyroom fog.
Changed how cubemaps are held in memory, making all images basically just 3d textures.
Don't start up at all if no game data is found.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5570 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-10-18 08:37:38 +00:00
Spoike 2ee8387644 Many general cleaups and warning fixes.
Console code no longer makes assumptions about con_main
Screenshots rework, for screenshot_360, but also some other cleanups.
Fixed an issue with beginpolygon (finally).
Added per-rtlight style strings.
Added cvar to control whether ents will be culled by fog.
Added define to disable IPLOG, etc.
Added r_editlights cvar and related commands, for whenever csaddon isn't available.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5338 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-11-19 06:37:25 +00:00
Spoike 85da162f49 Try to fix up some linux / build script stuff.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5095 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-04-29 02:45:21 +00:00
Spoike f71f6260b1 implement missing svcdp_spawnstatic2, try to clean up various different 'spawnstatic2' svcs from different protocols.
try to fix lightning beam positions (which was a problem with nq+svc_setview)
fix iqm events.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5041 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-01-16 08:13:51 +00:00
Spoike fc7664a69f tweaked the iqm exporter code to output some custom iqm extensions.
importing tweaked to support importing from multiple mesh files.
bone remapping is supported for animations that have extra/missing bones.
complex commandline deprecated, now supports a proper import script thing, so the fte-specific iqm extension info can be specified.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5039 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-01-13 00:42:51 +00:00
Spoike cd75caeb27 Initial (unmodified) import of Lee Salzman's iqm exporter.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5037 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-01-07 02:13:20 +00:00