Commit graph

181 commits

Author SHA1 Message Date
Robert Godward
30a7ccb7da Move additional includes out of the FileSys namespace. 2025-05-20 15:29:23 -04:00
Ricardo Luís Vaz Silva
9e2b1f9c4c
Bone Getters Part 2/3, plus fixed warnings for MSVC
* add getters for frame poses

* fix missing joint in GetJointPose

* clean up models_iqm.cpp

* clean up usage of I_GetTimeFrac, split out matrix calculation into its own function

* clean up SetModelBoneRotationInternal

* clean up a few float <-> double and unsigned <-> signed warnings

* fix more warnings

* further clean up warnings

* split mode ObjectToWorldMatrix stuff

* initial work on bone getters, matrix hell

(the matrix/vec3 multiplications are probably wrong af, just gotta add more stuff 'till i can test it)

* clean up matrix math

* GetBone/TransformByBone

* fix GetBoneFramePose

* fix ObjectToWorldMatrix

* fix missing array resize

* raw matrix getters (for use with gutamatics/etc)

* reverse matrix mult order

* replace GetBoneLength/GetBoneDir with GetBoneBaseTRS

* fix GetBonePosition, remove GetBoneWorldMatrix as it's useless

* GetBonePosition

* deduplicate code

* rename GetBonePosition to GetBoneBasePosition to avoid confusion

* GetBoneBaseRotation

* GetBonePosition helper function

* forgot include_offsets
2025-05-09 17:06:16 -03:00
Rachael Alexanderson
f3b0c3ac5e
- Roll back filesystem changes. These were causing instabilities in the master branch that were interfering with development. 2025-01-04 11:27:21 -05:00
Christoph Oelckers
d1abc3eb8c renamed things in file system to reduce Doom specific terminology. 2024-11-24 18:05:11 +01:00
Christoph Oelckers
a3475d3973 FileSystem cleanup.
* split off the Doom specific lookup with short 8 character names into its own class and cleaned up the interface a bit.
* get rid of all short name aliasing 'optimization' - modern compilers are capable of optimizing memcmp and memcpy to use equally efficient code so none of these hacks are needed anymore.
* added reader for Descent 3's HOG2 format - yet another of these endless uncompressed formats with just a different directory structure...
2024-11-24 17:59:16 +01:00
Christoph Oelckers
634a646c2d take namespace enum out of namespace and added CheckNumForAnyName and CheckNumForFullNameInFile to clarify the meaning of CheckNumForFullName.
This is to take some renaming noise out of the upcoming refactoring.
2024-11-24 17:59:16 +01:00
Christoph Oelckers
ba2800d698 renamed GetFileFullName to GetFileName 2024-11-24 17:59:15 +01:00
Christoph Oelckers
9b62379645 removed -hashfiles after finding out it had been broken for an extended time period.
this is a strong indicator that nobody was using it - and I do not feel like fixing such an invasive feature with little utility.
2024-11-23 21:10:11 +01:00
Christoph Oelckers
c0bd024094 do not open resource files from non-open file readers. 2024-10-19 13:11:48 +02:00
Ritchie Swann
801dc4aaac
sys/stat.h is required on all platforms 2024-08-15 02:43:47 -04:00
Ritchie Swann
e1e5ae16e2
Fix namespace issue
windows.h must be included in the main namespace on mingw64, otherwise there are loads of compile errors
2024-08-15 02:43:47 -04:00
Magnus Norddahl
9d78eb5aa0
Fix directory crash for filenames that appear elsewhere in the path 2024-07-12 13:53:45 -04:00
Rachael Alexanderson
d9f03863bf
- make gcc14 happy 2024-04-25 02:37:51 -04:00
Christoph Oelckers
f2d3275db5 convert leftover file to UTF-8 2024-04-20 10:38:58 +02:00
Rachael Alexanderson
4a80e26ab2
- fix #2248 as suggested in the ticket - fix missing include in FreeBSD 2024-04-18 04:27:41 -04:00
Kyle Evans
b1f53e7eb5 src: filesystem: move includes out of the FileSys namespace
The previous situation is unfortunately not sustainable; header pollution
isn't consistent across all non-Windows platforms.  As a result, some of
the earlier includes may pull functions/types into the global namespace too
soon, and the later includes will have no visibility of them because they're
in a different namespace.  Re-including the necessary one doesn't work
because include guards will prevent their re-inclusion, and it's not a good
idea to try and #undefine include guards now that we're in a new namespace.

This fixes the build on FreeBSD, and likely some other systems as well.
2024-03-17 22:00:00 -04:00
Christoph Oelckers
ef4c4ee503 fixed resource leak in OpenDecompressor 2024-02-27 07:20:40 +01:00
Rachael Alexanderson
d8ef27e0ed
Squashed commit of the following:
commit ad25b50089b6e01b8e4291e34cfe3a008af9128d
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:12:46 2024 -0500

    Revert "Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom."

    This reverts commit d2c2c93cf1.

commit 8537f0d8db804f0076b90daa66b750e44dccf44c
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:12:41 2024 -0500

    Revert "Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars."

    This reverts commit dc897eacc0.

commit d45f6ebf11f31d246f2de4f3bbd11f7970783125
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:10:21 2024 -0500

    Revert "Restored r_orthographic behavior."

    This reverts commit 26908f5bc5.

commit be0836feef9b95f12828eeed4319c726ef13780d
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:09:15 2024 -0500

    Revert "Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom."

    This reverts commit 08b03e6b19.

commit 688288a9199b912203022cb4db37503f6270e0c3
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:09:06 2024 -0500

    Revert "Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars."

    This reverts commit d3405837ce.

commit 72b7df9fa1841d665c2846dd31a89c6f48123e55
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:08:59 2024 -0500

    Revert "Restored r_orthographic behavior."

    This reverts commit e171f4eb6a.

commit aa954132bf29f2f8a51bf09dae127e5ffe2c5670
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:08:48 2024 -0500

    Revert "Merged with latest master and made small change (zcenter -> center.Z) to hw_sprites.cpp. Now compiles and works."

    This reverts commit c8a7507e8e.

commit 3ce90e87a3a9956b615995b57b90619e89bbcff4
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:00:46 2024 -0500

    Revert "Cleaning up implementation of isometric camera with optional orthographic projection."

    This reverts commit 25f1407228.

commit 3aafd363e40c8d1d2ebbe3c61aeb2b80a74e565a
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 11:59:25 2024 -0500

    Revert "Small change to SpectatorCamera actor."

    This reverts commit 2b555d7556.

commit a41911f8907731c098de71ca3e14261ac432ec8c
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 11:59:16 2024 -0500

    Revert "SpectatorCamera can now follow the 'tracer' actor. Also added a 'lagdistance' property for lazy follow."

    This reverts commit 7fbb4cd06c.

commit 19398edd065b7b483b8c7be42cb16026695e241a
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 11:59:05 2024 -0500

    Revert "Minor addition toe SpectatorCamera. Added three chase modes to lazy follow. 0: Catch up until tracer is centered again. 1: Same but don't move if tracer isn't moving (camera moving when character is not is jarring). 2: Stop chasing if tracer is closer than lagdistance. Game modes benefit from a 'center camera' button but that doesn't have to be hard-baked into the engine."

    This reverts commit c3ca564cfc.
2024-02-09 12:15:17 -05:00
Christoph Oelckers
f1db369883 moved a few things out of the common code that should be defined privately. 2024-02-04 13:54:25 +01:00
Dileep V. Reddy
08b03e6b19 Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom. 2024-01-21 12:13:42 -05:00
Rachael Alexanderson
af08413e10
- reverting pull request #2361 - apparently pull request #2364 changed some behaviour and these two do not play nice together. One or the other unfortunately has to be rolled back to allow GZDoom to build properly again.
Revert "Restored r_orthographic behavior."

This reverts commit 26908f5bc5.

Revert "Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars."

This reverts commit dc897eacc0.

Revert "Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom."

This reverts commit d2c2c93cf1.
2024-01-21 08:18:16 -05:00
Dileep V. Reddy
d2c2c93cf1 Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom. 2024-01-21 03:34:00 -05:00
Professor Hastig
cfb4e4f105 fix file names in mounted directories.
This used the normalized file name for access which only works on case insensitive file systems and only as long as no character gets mangled by Unicode normalization.
2024-01-18 07:05:32 +01:00
Rachael Alexanderson
64096658e5
- reverse allowduplicates check since it is a misnomer to what it actually did 2024-01-11 08:02:44 -05:00
Christoph Oelckers
83aa9388ca backend update from Raze
* moving large allocations off the stack
* use proper printf formatters for size_t and ptrdiff_t.
* adding some missing 'noexcept'.
2024-01-06 15:24:10 +01:00
Christoph Oelckers
b31ae22f25 fixed loading of 7z files. 2024-01-02 20:50:45 +01:00
Christoph Oelckers
5b90b2d80c account for resorted directories when accessing the local file path array in file_directory.cpp 2023-12-31 23:39:58 +01:00
Christoph Oelckers
958303556f warnings and debug code cleanup 2023-12-26 22:16:21 +01:00
Christoph Oelckers
36651fffaa deleted unused toWide declaration from file_directory.cpp 2023-12-24 08:51:52 +01:00
Christoph Oelckers
baa9251741 simplified the directory reader a little bit
* we do not need to make a second allocation for the systemFilePath
* as systemFilePath is never null, there is no need to check for that case.
* moved systemFilePath into a separate array to save memory on other file types.
2023-12-24 08:35:47 +01:00
Vasilii Shirokii
f8dcc33e6d Code style 2023-12-24 08:22:40 +01:00
Vasilii Shirokii
90d672e345 Maintain the actual on-disk path (FResourceEntry::SystemFilePath) for the directory filesystem, because the FResourceEntry::FileName can be modified by game filter-s 2023-12-24 08:22:40 +01:00
Christoph Oelckers
d2c395757c fixed bad setup in FileData constructor. 2023-12-21 17:14:56 +01:00
Christoph Oelckers
a31cfa97e4 fixed typo in FZipFile::GetRawData.
This one caused incompletely loaded savegames.
2023-12-20 00:06:49 +01:00
Christoph Oelckers
d11bf52831 fixed crash with files from directories. 2023-12-19 19:09:35 +01:00
Christoph Oelckers
273f7c55bc fixed some filesystem issues with directories and compression. 2023-12-17 17:15:14 +01:00
Christoph Oelckers
efef4bdfd1 addressed a few warnings in the filesystem code. 2023-12-17 13:32:44 +01:00
Christoph Oelckers
aec7feb48a add 'noexcept' to two functions. 2023-12-16 11:48:08 +01:00
Christoph Oelckers
633c09a3bb de-inlined two functions that were generating too much code. 2023-12-16 10:58:04 +01:00
Christoph Oelckers
08614613be for memory backed files, let FResourceFile::Read return a reference to the backing store instead of copying the data. 2023-12-16 10:54:31 +01:00
Christoph Oelckers
d45ca8151f added another missing include 2023-12-16 08:58:46 +01:00
Christoph Oelckers
7ce63abe6c add missing check for embedded WADs. 2023-12-16 07:41:22 +01:00
Christoph Oelckers
cffa49d05f add missing #includes 2023-12-16 07:23:57 +01:00
Christoph Oelckers
bae3adc89f moved writezip.cpp out of filesystem and eliminated uses of TArray. 2023-12-15 16:59:00 +01:00
Christoph Oelckers
96961a5663 moved the hard coded exclusions for the file system to the blockedlist.
These exclusions are still engine specific, in case we want to use this in a more generic context they have to be disabled.
2023-12-15 16:58:26 +01:00
Christoph Oelckers
375faa649e fix missing include. 2023-12-14 20:39:15 +01:00
Christoph Oelckers
869d7a6dcb only try to find a common folder in Zips if there's some data to check against.
Without this the check for required file names will always fail so running the entire thing is pointless.
2023-12-14 17:55:46 +01:00
Christoph Oelckers
f8d839d6eb move root folder detection out of file_zip.
added support for Descent Hog and Mvl files., mainly useful for playing Descent's music directly from the asset files.
2023-12-14 17:22:32 +01:00
Christoph Oelckers
799679bf6c block off shared readers to worker threads.
The file system should be thread safe now.
2023-12-14 17:22:32 +01:00
Christoph Oelckers
737e3f22d7 implement the different reader types. 2023-12-14 17:22:32 +01:00