mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-06-03 07:12:33 +00:00
0c22dddd0e
* feat: IW3 dump xanim to cod4 mod tools compatible binary * chore: add XAnimPartType enum to game headers * chore: use XAnimPartType in XAnimDumperIW3 * chore: extract xanim filename into XAnimCommon * chore: prefer emplace_back over push_back * chore: small code style improvements * chore: use proper unsigned types for XAnimParts structs * chore: use better understandable calculations for bitfields * chore: use game names for parts * chore: rename method to WriteNoteTracks * chore: adds comments and improve clearity of what the game does * chore: extract stream writing methods into StreamUtils * chore: use vec3 for XAnimPartTransFrames mins and size * chore: properly differ between XQuat and XQuat2 structs * chore: use constants for xanim flags * chore: use optional for delta track quats and trans * chore: split delta track writing methods into quat and trans * chore: add assertion for bDelta * chore: simplify quat frame encoding indexing * chore: simplify float to int bit casting * chore: do not throw exception on failing to reconstruct bone tracks * feat: add xanim loader for iw3 * fix: make sure to sort quats and trans like the game * chore: prevent empty dumped files on bad xanim data * chore: ensure no exception on zero frames in xanim notifies * test: add system test for iw3 xanims --------- Co-authored-by: Jan Laupetin <jan@laupetin.net>
67 lines
1.4 KiB
Lua
67 lines
1.4 KiB
Lua
SystemTests = {}
|
|
|
|
function SystemTests:include(includes)
|
|
if includes:handle(self:name()) then
|
|
includedirs {
|
|
path.join(TestFolder(), "SystemTests")
|
|
}
|
|
end
|
|
end
|
|
|
|
function SystemTests:link(links)
|
|
|
|
end
|
|
|
|
function SystemTests:use()
|
|
|
|
end
|
|
|
|
function SystemTests:name()
|
|
return "SystemTests"
|
|
end
|
|
|
|
function SystemTests:project()
|
|
local folder = TestFolder()
|
|
local includes = Includes:create()
|
|
local links = Links:create()
|
|
|
|
project(self:name())
|
|
targetdir(TargetDirectoryTest)
|
|
location "%{wks.location}/test/%{prj.name}"
|
|
kind "ConsoleApp"
|
|
language "C++"
|
|
|
|
files {
|
|
path.join(folder, "SystemTests/**.h"),
|
|
path.join(folder, "SystemTests/**.cpp")
|
|
}
|
|
|
|
self:include(includes)
|
|
Catch2Common:include(includes)
|
|
Utils:include(includes)
|
|
ZoneLoading:include(includes)
|
|
ZoneWriting:include(includes)
|
|
ObjCommonTestUtils:include(includes)
|
|
ObjLoading:include(includes)
|
|
ObjCompiling:include(includes)
|
|
ObjWriting:include(includes)
|
|
Linking:include(includes)
|
|
Unlinking:include(includes)
|
|
catch2:include(includes)
|
|
|
|
Raw:use()
|
|
|
|
links:linkto(Utils)
|
|
links:linkto(ZoneLoading)
|
|
links:linkto(ZoneWriting)
|
|
links:linkto(ObjCommonTestUtils)
|
|
links:linkto(ObjLoading)
|
|
links:linkto(ObjCompiling)
|
|
links:linkto(ObjWriting)
|
|
links:linkto(catch2)
|
|
links:linkto(Catch2Common)
|
|
links:linkto(Linking)
|
|
links:linkto(Unlinking)
|
|
links:linkall()
|
|
end
|