1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-21 11:57:44 +00:00
Commit graph

170 commits

Author SHA1 Message Date
05dfd81581 Overhaul file explorer
File Explorer is still in functionality limbo, but this at least removes
the libxiv dependency and will make it easier to use the new GUI parts
system in the future.
2023-04-09 15:32:09 -04:00
7407d26247 Overhaul mdlviewer to use the MDL part, and add the full model viewer
This is a major code overhaul for mdlviewer, which will make it easier
to extend and modify in the future (trust me, the old code was garbage).

The different views are now split up (SingleGearView, FullModelViewer,
and MDLPart) which makes the functionality easier to handle, and less
error-prone.

Right now bone debugging is disabled (not that it worked that well
anyway) but will be brought back in a future commit.
2023-04-09 15:31:19 -04:00
102ccd96ae Use the new EXD part in exdviewer and remove it's libxiv dependency 2023-04-09 15:28:32 -04:00
97f46bcca1 Introduce the parts system and EXD and MDL parts
These parts (inspired by the KDE parts system) will allow the tooling
to reuse GUI mechanisms. Right now the two supported parts are for Excel
and Models, and exdviewer and mdlviewer will be retrofitted to them in
future commits.
2023-04-09 15:28:00 -04:00
792da6da6a Expand Renderer's capabilities for materials and skeletons
The renderer can now store diffuse, normal, specular, and multi
textures. Skin textures now color with a hardcoded skin tone (to be
changed) and bone info buffers are now per-model instead of set globally

Level of detail above 0 is now loaded properly, although break for
other reasons.
2023-04-09 15:26:27 -04:00
8003571d13 Stop mdlviewer from crashing when selecting a second item 2022-10-17 20:16:01 -04:00
361e911bce Update corrosion to 0.2.2, libphysis to 0.1.1 2022-10-17 20:09:43 -04:00
46f1fe5467 Update mdlviewer screenshot 2022-08-11 17:55:42 -04:00
ab0d0a7d1e Add material and texture support to mdlviewer, renderer 2022-08-11 17:53:56 -04:00
2b79c33d1f Use physis in mdlviewer 2022-08-10 14:52:28 -04:00
7a4c5efbf3 Fix TickCount not picking up on OS properly at build-time 2022-08-04 11:32:28 -04:00
ea4a056815 Use blowfish implementation from physis 2022-08-04 11:32:12 -04:00
f20cb2179c Export all 4 bone weights, normals and texture coordinates 2022-06-23 16:11:01 -04:00
19a138e114 Remove mirror links 2022-06-23 14:16:58 -04:00
8e795bc292 Start work on exporting vertex weights and skeletons
The mapping to vertex weights work, but skeleton exporting is still a
heavy WIP. Vertex weight export will need another pass in order to get
all 4 weights, but it's a functional proof of concept.
2022-06-22 23:16:56 -04:00
8c712c816e Add bonedecomp tool for recreating TexTool skeleton JSON 2022-05-04 15:56:30 -04:00
47d2d5744a Convert bone list widget to a tree widget
This makes it a lot easier to see the hierarchy of bones.
2022-05-04 15:56:30 -04:00
6800c875b8 Fix the remaining depth buffer issues 2022-05-04 15:56:30 -04:00
92ac7b1163 Add depth buffer to mdlviewer 2022-05-04 15:56:30 -04:00
4fab565843 Fix camera position in mdlviewer 2022-05-04 15:56:30 -04:00
1142d1c143 Add support for reading arbitrary MDL files from disk 2022-04-28 23:20:58 -04:00
9802bafaa8 Fix stupid absolute path 2022-04-28 18:15:14 -04:00
9688c091af Add bone editing to mdlviewer
This is big, as it shows we are now correctly parsing the havok XML
sidecard data and you can edit the scale of the bones in the viewport.

This also pulls in a new libxiv version, which is required to fill out
the used bones list on a Model. Right now the bone editing is incredibly
basic, and the viewport suffers from a lack of depth testing still.
2022-04-28 17:50:05 -04:00
606c2f97cd Export skeleton with assimp 2022-04-28 13:32:11 -04:00
275c1a9976 Overhaul race and lod combos in mdlviewer
The number of lods are now properly loaded from the model data, and race
is checked by checking for the existence of race-specific models (I
think this is the current best way?).

Also, magic_enum is added as a dependency for some enum magic involving
enumerating Race.
2022-04-17 20:02:06 -04:00
d454dcf005 Handle even more changes in libxiv refactors 2022-04-17 19:08:48 -04:00
53ff0e72e7 Handle new changes in libxiv refactoring 2022-04-17 16:55:54 -04:00
7a9c752f94 Fix standalone window compilation 2022-04-16 16:38:48 -04:00
0ce540bb5b Set maximum list widget width in exdviewer 2022-04-16 16:19:22 -04:00
879cd60dc1 Add argcracker tool 2022-04-14 19:00:42 -04:00
7ec107dfd8 Add level of detail selection in mdlviewer 2022-04-14 10:32:41 -04:00
6c691ae630 Read correct slot data
Now you can view more than just shirts!
2022-04-14 10:25:18 -04:00
1c77a0b06e Add explorer tool
This is similar to FFXIVExplorer, where you can view a list of known
files in a nice tree view.
2022-04-14 08:24:06 -04:00
de2b6f6307 Add export button and support for exporting all mesh parts 2022-04-12 20:18:22 -04:00
4a1d0cb0a1 Add model export support 2022-04-12 20:02:50 -04:00
bef13de12f Support mdlviewer on macOS
Qt5 for macOS can actually use the same code as on Linux/Win, but
apparently no one wants to build it with Vulkan support. Instead, we
spawn a standalone SDL2 window.
2022-04-12 16:19:06 -04:00
813e8fddd9 Update README with new mdlviewer screenshot 2022-04-12 15:34:25 -04:00
b3e13fa5b1 Add arbitrary item viewing
Right now it only supports a limited number of items.
2022-04-12 15:28:29 -04:00
3c49c87f66 Properly initialize currentRace on startup 2022-04-12 12:43:27 -04:00
2f4f212c86 Add race selection combo box to mdlviewer 2022-04-12 12:39:33 -04:00
98edd9e57d Add gear list to mdlviewer
It doesn't (yet) grab gear information automatically, but
you can select between smallclothes body/legs now, and it
works.
2022-04-12 12:19:46 -04:00
a3632dc582 Add mdlviewer screenshot in README 2022-04-12 09:56:16 -04:00
d168592db9 Remove the hideous red and green colors in the mdlviewer viewport 2022-04-12 09:55:48 -04:00
93c6bf726a Fixup vertex normals 2022-04-12 09:47:36 -04:00
0b01715824 Use mdl normals to display some lighting 2022-04-12 09:11:31 -04:00
a2688ca2dc Load all parts in render model 2022-04-12 08:55:38 -04:00
4123dc3f3f Fix camera 2022-04-12 08:49:43 -04:00
eb13fbbb64 Properly set camera so model is visible
There's still a long way to go, but now it finally works :-)
2022-04-12 02:06:16 -04:00
92c52e358a Properly render out model
Right now it doesn't actually display anything, because we
don't have any camera.
2022-04-12 01:57:37 -04:00
338c485018 Load vertex data and load shaders from disk 2022-04-12 00:54:11 -04:00