1
Fork 0
mirror of https://github.com/redstrate/Physis.git synced 2025-04-22 12:47:45 +00:00
Commit graph

50 commits

Author SHA1 Message Date
172952af9b Add PAP module 2024-04-29 20:57:15 -04:00
4fbd2cb668 Add PHYB module 2024-04-29 20:52:25 -04:00
05ccc566e9 Add SCHD module 2024-04-29 20:49:24 -04:00
e588a9bbc9 Add TMB and SKP modules 2024-04-29 20:26:13 -04:00
8a1430378e Add IWC module 2024-04-29 20:19:04 -04:00
5924da0991 Add HWC module 2024-04-29 20:14:19 -04:00
6dec9ba5a5 Add SCD module 2024-04-29 20:11:32 -04:00
bb2effcd70 Add ULD module 2024-04-29 20:06:34 -04:00
d5b3b8a468 Run cargo fmt 2024-04-20 13:18:03 -04:00
b4fe74cf7d Add a new module to extract strings from executables 2024-04-18 22:53:53 -04:00
5574e75325 Add support for reading dictionary files
This is the format used for such things as the vulgar word list. Credit
goes to Jim Kirisame who developed an existing tool to read this format!
2024-04-18 22:09:26 -04:00
da774529da Remove overcomplicated internal race macro to a big match statement
There's really no reason to use macros for this, let's rewrite it in a
big match statement.
2024-04-16 21:14:59 -04:00
f067b653b1 Add common functions for converting bool back and forth from u8/16
Sort of unnecessary, but these are also tested.
2024-04-16 21:03:26 -04:00
256b3f9305 Add basic support for LGB and TERA files
This is for the Novus map editor, although TERA is much more complete
than LGB right now.
2024-02-02 14:20:53 -05:00
fd43401eae Protect model file i/o, decls behind visual_data feature 2024-01-31 16:33:53 -05:00
3721644340 Separate vertex declaration/element code into its own file
This is around 100 LoC by itself, so it's nice to separate that
2023-12-13 17:23:56 -05:00
fadf811505 Move the model file operations to their own file
It helps declutter the already huge model file a bit.
2023-12-12 22:13:15 -05:00
609284ce8f Improve FIIN documentation 2023-12-02 20:28:28 -05:00
7a75c170cc Make a semantic difference between owned and non-owned byte data 2023-10-13 16:16:04 -04:00
07582775cd Add support for reading binary SKLB and PBD
This removes the dependency of the Havok SDK or getting the decompiled
skeleton files from TexTools or some other place. Code courtesy of
FFXIVTools. The other two ways of reading skeletons (SKEL and Packfile)
are removed which gets rid of two dependencies.
2023-10-13 14:55:27 -04:00
7cbe2fe853 Add homepage blurb 2023-09-24 15:40:38 -04:00
cece5936e8 Hide some unnessecary symbols from the doc 2023-09-22 18:34:24 -04:00
80f80ac0f5 Improve common module docs 2023-09-22 18:15:23 -04:00
2ce18ec66a Add the missing documentation for CharDat, rename struct too 2023-09-22 18:13:20 -04:00
5edc411bd7 Better the imperfect config file documentation, rename struct 2023-09-22 18:05:29 -04:00
c41f17a126 Improve the lackluster BootData documentation 2023-09-22 17:56:33 -04:00
1343bcdca6 Expand Blowfish documentation, add example to doc 2023-09-22 17:52:31 -04:00
dccc4e3586 Add support for reading shader packages and it's bytecode 2023-09-22 16:36:12 -04:00
2000b978b3 Ensure compliance with REUSE, add to CI 2023-08-06 08:25:04 -04:00
3eec5764a2 Add support for reading/writing CFG files 2023-08-02 16:26:56 -04:00
59fc7d9786 Expose version 2023-07-30 10:28:32 -04:00
bd104fbae0 Add support for loading character .dat files 2023-07-08 15:29:00 -04:00
2b95630c2b Begin support for CMP files 2023-07-06 17:34:14 -04:00
6da9057d1e Allow cutting out a large amount of dependencies
Before this change, if you wanted to include physis you had to include
a bunch of dependencies you didn't need. For example, a launcher would
have to pull in texpresso which is completely useless. By default,
the features from before (excluding game_install) are included.

Also this creates a game_install feature for eventual Windows builds,
where unshield is not supported.
2022-10-25 13:53:24 -04:00
827e971035 Vendor in sha1_smol
Removes another crate dependency, and it's only used in one place in the
 code. Will eventually pick up the TODO and cut more bits off when
 I get around to it.
2022-10-25 13:00:10 -04:00
7aa306da99 Replace crc crate with simpler implementation
The package is kept as a dev-dependency to prevent regressions though!
2022-10-25 13:00:10 -04:00
85bcfa5db6 WOW missed another one! 2022-09-15 17:02:30 -04:00
1923b626a9 Fix some module descriptions missing from docs 2022-09-15 17:00:27 -04:00
d9e79e563a Reformat code 2022-08-16 11:52:07 -04:00
01717456d1 Add material file parsing 2022-08-11 15:40:14 -04:00
7292ad930a Add Texture structure, begin reading header 2022-08-09 19:31:32 -04:00
42ec97d70c Add chat log parser 2022-08-07 16:19:04 -04:00
5b7cf1d6a3 Add support for reading the file info format
I revisited this format, and discovered a lot of stuff I did wrong the
first time around when writing libxiv. Now that's fixed!
2022-08-06 20:38:15 -04:00
6f12fec62f Make sqpack module public again, as I forgot it's used for benchmarks. 2022-08-06 18:06:06 -04:00
aeed62fb4c Implement MDL parsing
The actual vertex output is untested, but the headers parse fine it
seems. A lot of this is ported straight from C++, so more refactoring
is expected.
2022-07-28 14:11:02 -04:00
c36c4b7470 Document more public APIs in preparation for docs release 2022-07-27 21:41:05 -04:00
be9c850fc1 Remove some warnings 2022-07-27 21:21:50 -04:00
ca4962c876 Add EXH and EXD parsers 2022-07-21 19:58:58 -04:00
e8183b3af6 Add game installation functionality 2022-07-20 19:07:36 -04:00
389c3fe00b Add initial files 2022-07-19 19:29:41 -04:00