Lioncash
a51604ca91
CCollisionMeshGroup: Make use of unique_ptr
2020-06-12 13:08:48 -04:00
Lioncash
48d8d361b6
CCollisionLoader: Collapse for loop into ranged for pt. 2
2020-06-12 12:57:18 -04:00
Lioncash
3b3b2cc80f
CCollisionLoader: Collapse for loop into ranged for
...
Also removes a delete left behind in an error case.
2020-06-12 12:52:28 -04:00
Lioncash
3449f60317
CCollisionLoader: Make use of unique_ptr more
...
Same behavior, but makes the allocation ownership explicit
2020-06-12 12:50:19 -04:00
Lioncash
d43f2dab31
CAudioGroupLoader: Default constructor
2020-06-12 12:44:27 -04:00
Lioncash
9e2a8bd693
CAnimationLoader: Make use of std::array
...
Prevents implicit array to pointer decay.
2020-06-12 12:43:09 -04:00
Lioncash
12ccb2fbd4
CGameArea: Simplify allocation handling
...
Eliminates manual new/delete and also makes the lifecycle of allocations
enforced within the interface.
2020-06-12 12:38:54 -04:00
Lioncash
674ae65e56
CAnimSetLoader: Collapse for loops into ranged for loops
2020-06-12 11:28:05 -04:00
Lioncash
9921ccfe25
IMetaTransition: Always initialize CMetaTransTrans members
...
Always provides a deterministic initial state.
2020-06-12 10:47:22 -04:00
Lioncash
eabc789910
CAnimSet: Simplify allocation code
...
We can make use of std::unique_ptr to prevent any potential memory leaks
from occurring and simplifying the destruction code.
2020-06-12 10:43:29 -04:00
Lioncash
4eb1027362
CAnimSet: Collapse loops into ranged for where applicable
2020-06-12 10:03:02 -04:00
Lioncash
2a5ab1ed32
CAnimEventLoader: Use unique_ptr more
...
Makes memory handling a little more robust.
2020-06-11 21:10:02 -04:00
Lioncash
ecbd3eb83d
CAnimEventLoader: Default destructor
...
Allows the constructor to be considered trivial.
2020-06-11 21:00:08 -04:00
Lioncash
114742fc37
CCamera: Resolve -Wreorder warnings
2020-06-11 20:58:59 -04:00
Lioncash
6f0c8669de
CCollisionLoader: Formatting
2020-06-11 20:53:11 -04:00
Lioncash
d0bd7eb292
CCollisionLoader: Make LoadAreaCollision() return a unique_ptr
...
Same behavior, less boilerplate
2020-06-11 20:46:39 -04:00
Lioncash
907f1270bd
CResourceFactory: Make use of unique_ptr
...
Makes the API more memory safe
2020-06-11 20:22:21 -04:00
Lioncash
ce315280c3
CResource: Make BuildDependencyTree() return a unique_ptr
...
Makes the functions more memory safe in terms of freeing memory in
exceptional paths .
2020-06-11 18:39:07 -04:00
Lioncash
eb8ca98a8a
CAnimEventData: Collapse for loop into a ranged for loop
2020-06-11 18:02:52 -04:00
Lioncash
044efcf59d
CAnimEventData: Remove unnecessary inline specifiers
2020-06-11 18:01:18 -04:00
Lioncash
aeea0f8052
CMaterialPass: Make use of std::array
2020-06-11 17:50:40 -04:00
Lioncash
7b81aa5268
CMaterialPass: Simplify initialization code
2020-06-11 17:41:54 -04:00
Lioncash
92811a9309
CShader: Simplify initialization
2020-06-11 17:34:52 -04:00
Lioncash
b8078e7419
CShaderGenerator: Fix compiler warning
...
MSVC desires the namespace version
2020-06-11 15:55:06 -04:00
Lioncash
012da6fb6d
General: Remove unnecessary inline specifiers and add overrides
2020-06-11 15:49:42 -04:00
Lioncash
2d76c5865a
CCharacterNode: Add missing override specifiers
2020-06-11 13:44:20 -04:00
Lioncash
060101c718
CCharacterNode: Remove unnecessary inline specifiers
...
Functions defined in class declarations are implicitly inline
2020-06-11 13:43:19 -04:00
Lioncash
100453b356
CCamera: Remove unnecessary inline specifiers
...
Functions defined within a class declaration are inline by default.
2020-06-11 13:41:33 -04:00
Lioncash
53b257fb8a
CBoneTransformData: Remove unnecessary inline keywords
...
Functions defined within the class declaration are inline by default.
2020-06-11 13:40:00 -04:00
Lioncash
9ec61de2ca
CAudioManager: Make LogSoundInfo() a const member function
...
This function doesn't modify internal state.
2020-06-11 13:38:00 -04:00
Lioncash
872c38b384
CAudioManager: Make GetSoundInfo() a const member function
...
This doesn't modify internal member state.
2020-06-11 13:35:38 -04:00
Lioncash
9692a064cd
CAudioManager: Make constructor explicit
...
Prevents potentially error-prone constructions from occurring
2020-06-11 13:34:17 -04:00
Lioncash
7f881b1b10
CAudioMacro: Make use of ranged for where applicable
...
Same behavior, less moving parts.
2020-06-11 13:32:29 -04:00
Lioncash
f9031283d0
CAudioMacro: Add missing override specifier
2020-06-11 13:31:40 -04:00
Lioncash
416608a76a
CAudioMacro: Remove unnecessary inline specifiers
...
Functions defined within a class declaration are already inline by
default.
2020-06-11 13:31:00 -04:00
Lioncash
edaafd4bcf
CAudioMacro: Make constructor explicit
...
Prevents implicit error-prone constructions from occurring.
2020-06-11 13:30:07 -04:00
Lioncash
e95cb1117a
CAudioLookupTable: Include used headers
2020-06-11 13:28:11 -04:00
Lioncash
1b4ebd5f7b
CAudioLookupTable: Make FindSoundDefineID() const
...
This doesn't mutate any contained state, so it can be const.
2020-06-11 13:26:32 -04:00
Lioncash
a82f9c197b
CAudioLookupTable: Make use of explicit constructors
...
Prevents implicit constructions
2020-06-11 13:25:19 -04:00
Lioncash
d223bac56a
CAudioGroup: Make use of in-class initializers
2020-06-11 13:23:50 -04:00
Lioncash
7ce0e14e29
CAssetNameMap: Eliminate file-scope string allocations
2020-06-11 13:21:33 -04:00
Lioncash
9925925b6f
TResPtr: Use in-class initializers where applicable
2020-06-11 13:14:33 -04:00
Lioncash
11f156352a
CAnimSetLoader: Default constructor
2020-06-11 13:11:38 -04:00
Lioncash
61a6151afe
externals: Update LibCommon
2020-06-11 11:10:04 -04:00
LC
b5ddc20771
Merge pull request #26 from lioncash/scene
...
CSceneNode: Minor cleanup
2020-06-11 10:53:51 -04:00
LC
1fb554fa4c
Merge pull request #24 from lioncash/cook
...
CAreaCooker: Minor cleanup
2020-06-11 10:53:17 -04:00
LC
8babcc13bb
Merge pull request #22 from lioncash/anim2
...
CAnimation: Minor clean up
2020-06-11 10:52:59 -04:00
LC
9c2b7e4c95
Merge pull request #23 from lioncash/iter
...
CResourceIterator: Cleanup and undefined behavior prevention
2020-06-11 10:52:41 -04:00
LC
d7b6ab81ea
Merge pull request #27 from lioncash/gen
...
CShaderGenerator: Make file-scope arrays non-allocating
2020-06-11 10:52:19 -04:00
LC
80ccc32e68
Merge pull request #29 from lioncash/viewport
...
CBasicViewport: Make member functions const where applicable
2020-06-11 10:51:53 -04:00
LC
919dcfd8d9
Merge pull request #28 from lioncash/table
...
CStringTable: Eliminate file-scope allocations
2020-06-11 10:51:34 -04:00
LC
4f289193bb
Merge pull request #32 from lioncash/str
...
CGameInfo: Make file-scope strings non-allocating
2020-06-11 10:51:20 -04:00
LC
156c92909e
Merge pull request #33 from lioncash/index
...
CIndexBuffer: Mark member functions as const where applicable
2020-06-11 10:50:52 -04:00
Lioncash
76ec0df8a2
externals: Update LibCommon
2020-06-11 10:49:37 -04:00
Lioncash
c929293789
CIndexBuffer: Mark member functions as const where applicable
...
These member functions don't alter internal state, so we can mark them
as const.
2020-06-10 19:33:50 -04:00
Lioncash
7da0cdb8a3
CGameInfo: Make file-scope strings non-allocating
...
Same behavior, minus any potential heap allocations and static
constructors.
2020-06-10 18:04:40 -04:00
Lioncash
96876b70e0
Property: Make use of override where applicable
...
Makes the API strongly enforced. This also fixes a bug in CBoolProperty,
where ValueAsString() had an incorrect signature (was missing a const).
2020-06-10 09:19:12 -04:00
Lioncash
01372f7049
CBasicViewport: Make member functions const where applicable
...
These don't modify member state. While we're at it, we can mark
functions as override where applicable.
2020-06-10 01:47:51 -04:00
Lioncash
583472f2f9
CStringTable: Eliminate file-scope allocations
...
Eliminates all runtime static initializers, reducing the heap usage of
the application lifetime just a little bit.
2020-06-10 01:06:46 -04:00
Lioncash
ef0030872a
CShaderGenerator: default constructor and destructor
2020-06-10 00:55:12 -04:00
Lioncash
e75c077bda
CShaderGenerator: Make file-scope arrays non-allocating
...
We can make these plain views to eliminate any potential static runtime
constructors.
2020-06-10 00:55:08 -04:00
Lioncash
c285207f24
CSceneNode: Collapse loops into ranged for loops
...
Where applicable, we can simplify some loops a little bit, migrating off
the slightly more verbose iterator means of traversing standard
containers.
2020-06-09 23:07:47 -04:00
Lioncash
3d4f2d60eb
CSceneNode: Make use of std::array
...
Same behavior, stronger typing.
2020-06-09 22:57:44 -04:00
Lioncash
7065005c30
CSceneNode: Make use of override
...
Same behavior, stronger enforcement of API.
2020-06-09 22:56:38 -04:00
Lioncash
d3315bf84f
CSceneNode: Make use of in-class initializers
...
Same behavior, less code.
2020-06-09 22:55:25 -04:00
Lioncash
03f1aba7e8
CAreaCooker: Collapse for loops into ranged for where applicable
...
Same behavior, less code.
2020-06-09 07:56:56 -04:00
Lioncash
f727c07d13
CAreaCooker: Make use of in-class initializers where applicable
...
Simplifies the construction code.
2020-06-09 07:42:51 -04:00
Lioncash
0eef99f72e
CResourceIterator: Provide a virtual destructor
...
Prevents any potential undefined behavior from occurring from deleting a
derived type from a base class pointer.
2020-06-09 05:14:15 -04:00
Lioncash
621367e120
CResourceIterator: Make use of override where applicable
...
Same behavior, but enforces the interface.
2020-06-09 05:11:08 -04:00
Lioncash
65cc3a0d89
CResourceIterator: Use prefix form for iterators
...
Same behavior, minus any created temporaries.
2020-06-09 05:10:09 -04:00
Lioncash
e2209106fb
CResourceIterator: Remove unnecessary inline specifiers
2020-06-09 05:09:31 -04:00
Lioncash
0c784aa305
CAnimation: Make use of std::array
...
Same behavior, but more strongly typed.
2020-06-09 04:21:45 -04:00
Lioncash
9f63991a0a
CAnimation: Mark BuildDependencyTree() as overwritten
...
Same behavior, but enforces the interface.
2020-06-09 04:21:45 -04:00
Lioncash
a4f45aeb2d
CAnimation: Remove unnecessary inline specifiers
...
Same behavior, less writing. Functions defined in a class declaration
are already implicitly inline.
2020-06-09 04:21:45 -04:00
Lioncash
f233af5de4
CAnimation: Convert typedefs into using aliases
...
Same behavior, nicer readability
2020-06-09 04:21:45 -04:00
Lioncash
d4d7cf66cd
CAnimation: Make use of in-class initializers where applicable
...
Simplifies member initialization
2020-06-09 04:21:41 -04:00
Lioncash
7824d0720d
CAnimationParameters: Add missing break in switch cases in SetUnknown()
...
Prevents undocumented switch fallthrough.
2020-06-09 04:10:49 -04:00
Lioncash
cf92227587
CAnimationParameters: Make use of in-class variable declarations where applicable
...
Same behavior, less code.
2020-06-09 04:10:45 -04:00
Jack Andersen
644d89aa2d
Use PrimeWorldEditor for setApplicationName
2020-03-30 19:44:07 -10:00
Jack Andersen
6e08f95d10
Replace deprecated Qt APIs, Windows fixes
2020-03-30 18:07:18 -10:00
Jack Andersen
5bda353d57
Fix dolphin open panel filter, force X11 on linux launcher
2020-03-30 13:50:07 -10:00
EthanArmbrust
3aefd515bb
Include QCloseEvent in IEditor.cpp
...
Without this include, project fails to build on Arch Linux with gcc 9.3.0 with the following error:
`../src/Editor/IEditor.cpp:79:15: error: invalid use of incomplete type ‘class QCloseEvent’
79 | pEvent->ignore();
| ^~
`
2020-03-26 14:10:55 -04:00
Bearborg
4f3f5ea02d
Replace deprecated GL_LUMINANCE and GL_LUMINANCE_ALPHA texture formats
2019-12-25 11:34:28 -05:00
Jack Andersen
94bdd70cb3
Prevent unpriveleged mouse-drag on macOS from conflicting with priveleged case.
2019-11-25 16:49:17 -10:00
Jack Andersen
9a96deed0a
Add *.nfs extract support
2019-11-24 17:50:08 -10:00
Jack Andersen
bcfcab1247
Merge branch 'master' of https://github.com/AxioDL/PrimeWorldEditor
2019-11-24 16:50:43 -10:00
Jack Andersen
30c1646f02
Update dew, fix no lighting mode
2019-11-24 16:46:57 -10:00
April Wade
c90ce7d507
Fix 3D rendering on macOS
2019-11-22 03:17:50 -06:00
Jack Andersen
e55b6b43e3
Fixes for building on ubuntu
2019-11-19 05:06:03 +00:00
Jack Andersen
37c462725c
Default zero mat/amb alpha so bloom does not get overpowered
2019-11-17 12:03:09 -10:00
Jack Andersen
6e2bf5be83
Fix MP3 extraction crash
2019-11-16 20:48:07 -10:00
Jack Andersen
8ad13ff4c9
MP1 material fix after MP3 refactor
2019-11-16 15:42:36 -10:00
Jack Andersen
dfc9d1ddb0
Merge remote-tracking branch 'origin/mp3-materials'
2019-11-16 15:26:14 -10:00
Jack Andersen
cfea90e9d2
Segfault fixes
2019-11-16 15:24:46 -10:00
Jack Andersen
55c4a5818e
Use non-1.0 alpha component for default lighting
2019-11-07 14:54:35 -10:00
Jack Andersen
6e3b23ec50
Accurate MP3 material processing
2019-11-06 16:52:45 -10:00
Phillip Stephens
79ec379c66
Minor lighting fixes and initial Mode 8 implementation
2019-10-27 04:03:57 -07:00
Aruki
cd7937f73c
Fixed CMayaSpline source files not compiling
2019-06-18 12:10:04 -07:00
Aruki
ca40d34739
Merge branch 'master' of https://github.com/arukibree/primeworldeditor
2019-06-14 23:32:26 -07:00
Aruki
a21407a1b7
Commit of old 2016-era WIP CMayaSpline implementation
2019-06-14 23:31:27 -07:00
Jack Andersen
036c56370c
Various memory-related bug fixes
...
Also new lzokay API to reduce erroneous usage.
2019-06-14 09:01:29 -10:00
Jack Andersen
4c873591f0
Make InstanceID label selectable and add parsing tooltip
2019-06-13 13:12:53 -10:00
Jack Andersen
741185e8d6
Add CMake variable for PUBLIC_RELEASE
2019-06-12 11:21:41 -10:00
Jack Andersen
b507196851
LibCommon now being integrated as an add_subdirectory submodule
2019-06-04 14:44:39 -10:00
Jack Andersen
12f4d5a267
Native handling of relative cursor coordinates for camera control
2019-06-03 19:38:13 -10:00
Pwootage
694c0b0765
Fix HiDPI on macOS (and possibly others?)
2019-06-03 21:51:01 -06:00
Jack Andersen
fb88c81ef6
Fix package target for macOS
2019-06-03 14:01:15 -10:00
Jack Andersen
574ab7d6ac
Enable CPack for Windows and macOS deployment
2019-06-03 11:28:47 -10:00
Jack Andersen
9b95f0b33d
Ensure editor window deletion is deferred
2019-05-28 19:32:18 -10:00
Jack Andersen
ca28e21739
Fixes to support building with GCC
2019-05-28 16:51:30 -10:00
Jack Andersen
5011e7d26b
Make tooltip base color black for contrast
2019-05-27 13:47:08 -10:00
Jack Andersen
5304f8026e
Quickplay integration for MacOS
2019-05-27 12:39:24 -10:00
Jack Andersen
acd925ffaa
Mac OpenGL fixes
2019-05-27 11:25:00 -10:00
Jack Andersen
c4cc4b8657
Merge pull request #2 from Antidote/cmake
...
Fix crashes while attempting to load MP2 and MP3
2019-05-27 01:01:51 -10:00
Jack Andersen
5a8b62b1cd
Mac build fixes
2019-05-27 00:59:37 -10:00
Phillip Stephens
cd9601d6aa
Fix QuickPlay on Linux, add more robust executable validation
2019-05-27 00:13:15 -07:00
Jack Andersen
374d836154
Disable user template editing if directory not writable
2019-05-26 20:38:29 -10:00
Phillip Stephens
7819b07df5
Fix crash in CompressionUtil::DecompressLZO
...
Fix invalid ActorMultiKeyFrame template reference
2019-05-26 22:23:54 -07:00
Jack Andersen
28f96e91c2
More linux and memory leak fixes
2019-05-26 18:59:19 -10:00
Jack Andersen
fc7cffbf37
Silence MSVC warning and remove pointless glew utilities
2019-05-26 15:49:50 -10:00
Jack Andersen
981b374232
Merge pull request #1 from Antidote/cmake
...
Silence Warnings
2019-05-26 15:38:50 -10:00
Jack Andersen
d593500e18
Codegen fixes, DPI scaling, SVG icons
2019-05-26 15:29:10 -10:00
Phillip Stephens
1c80a13c23
Silence Warnings
2019-05-26 18:18:31 -07:00
Jack Andersen
9f94db6c82
Linux build fixes
2019-05-25 20:24:13 -10:00
Jack Andersen
20862139b6
Alphabetical includes and UICommon usages
2019-05-23 15:35:23 -10:00
Jack Andersen
1c86aedb21
Fixes for binary directory generation
2019-05-23 15:02:08 -10:00
Jack Andersen
b6191dc330
Initial round of CMake refactoring
2019-05-23 13:04:29 -10:00
Aruki
b1fdc7e025
Update version number on master
2019-04-17 23:47:52 -07:00
Aruki
a21fd08e4a
Fixed Dolphin browse button not being hooked up
2019-04-08 11:03:34 -07:00
Aruki
cfd5088a30
Added layer toggle support for quickplay
2019-04-08 01:04:54 -07:00
Aruki
da30cac887
Added "Give All Items" quickplay feature
2019-04-07 11:43:32 -07:00
Aruki
42d079ff49
Added widget for toggling quickplay properties
2019-04-07 00:00:33 -07:00
Aruki
7de85a5a2d
Quickplay support
2019-04-06 15:53:05 -07:00
Aruki
3507be8e42
Polished collision editor UI a bit
2019-02-18 03:59:19 -07:00
Aruki
0827c05802
Various crash fixes
2019-02-18 03:54:58 -07:00
Aruki
4e1560a99c
Reorganized collision data classes & added basic collision editor window with an OBB tree visualization
2019-02-12 02:50:07 -07:00
Aruki
ff021dcdda
Fixed log spam during project creation
2019-02-11 01:57:29 -07:00
Aruki
b49f19c386
Fixed crash when creating new projects
2019-02-04 23:15:20 -07:00
Aruki
1baa48de34
Merge branch 'StringEditing'
2019-02-03 03:32:34 -07:00
Aruki
96c1aae27f
Added support for deleting resources + minor fixes
2019-02-03 02:22:36 -07:00
Aruki
56843e214d
Added ability to create brand new SCAN/STRG assets. Added ability to update old projects.
2019-02-02 17:32:19 -07:00
Aruki
1e997dac46
Implemented SCAN cooker
2019-01-30 13:48:05 -07:00
Aruki
1360202ee5
Added commandline-operated test for verifying cooker output
2019-01-30 01:05:52 -07:00
Aruki
9d23d9550a
MP2/MP3/DKCR tweak saving support
2019-01-28 03:55:15 -07:00
Aruki
246784926f
Added scan editor
2019-01-27 16:49:51 -07:00
Aruki
e2d554ae8b
Tweak templates for MP2, MP3, and DKCR
2019-01-27 16:47:56 -07:00
Aruki
992c76720d
Support for loading MP2/MP3/DKCR tweaks
2019-01-25 14:06:13 -07:00
Aruki
e9e1ccb8d6
String cooking support
2019-01-12 23:43:41 -08:00
Aruki
a1d94cc58f
Rewrote SCAN asset handling + loading
2019-01-12 21:28:04 -08:00
Aruki
32b12ff650
Fixed a couple things related to attempting to create projects for demo builds
2019-01-12 09:28:06 -08:00
Aruki
4714c6ccf5
Support for reordering strings with drag & drop
2019-01-02 19:03:41 -07:00
Aruki
cb262504af
Support for adding/removing strings
2019-01-02 12:26:06 -07:00
Aruki
eb9236bbea
Tweak cooking for MP1
2018-12-30 16:41:43 -07:00
Aruki
e67471c480
MP1 tweaks default values
2018-12-30 14:45:00 -07:00
Aruki
7b005d7ebd
Changes made in the tweak editor are now correctly applied to the tweak data & are undo/redo supported
2018-12-30 03:55:50 -07:00
Aruki
e8d3224088
Added tweak editor
2018-12-27 23:56:43 -07:00
Aruki
7588200c26
Tweak loader for MP1
2018-12-27 20:16:39 -07:00
Aruki
d6340dced9
More string editor UI
2018-12-27 00:00:43 -07:00
Aruki
76bc2b50f8
WIP string editor UI
2018-12-26 23:59:59 -07:00
Aruki
12ff0d1f73
Integrated lzokay
2018-12-23 22:41:21 -07:00
Aruki
0ae7b8686e
More changes to how we handle text encoding, fixing up the code so it compiles now
2018-12-23 21:44:31 -07:00
Aruki
e92a9fc6b0
Rewrote CStringTable (currently doesn't compile)
2018-12-20 02:46:46 -07:00
Aruki
9dbe24adbb
Fixed lzo and nod submodules
2018-12-18 17:11:32 -07:00
Aruki
a35b673e8a
Remove PUBLIC_RELEASE configuration on master
2018-12-16 14:58:36 -07:00
Aruki
c4829f5fda
Cleanup & refactoring
2018-12-16 14:00:40 -07:00
Aruki
2287b05bc3
Refactor so PWE compiles with the newly externalized LibCommon
2018-12-11 22:50:46 -07:00
Aruki
dacd21d7fc
Added LibCommon as a submodule (PWE code still needs to be updated to compile correctly with LibCommon changes)
2018-12-09 18:48:02 -07:00
Aruki
f92b36a8ab
Merge branch 'master' into release
2018-10-21 19:58:19 -06:00
Aruki
64e0aa8a44
Updated outdated IArchive documentation and got rid of old template reader/writer classes
2018-10-21 19:23:41 -06:00
Aruki
1bc95a30a5
Added ability to test Int properties as Choices. Added functionality to fix the property name map keeping track of unused type/ID pairs. Fixed various UI bugs.
2018-10-21 19:01:57 -06:00
Aruki
8d1aec35ad
DKCR property updates
2018-10-16 00:36:54 -06:00
Aruki
f18ae798bd
Fixed disabled widgets not changing color
2018-10-15 03:27:19 -06:00
Aruki
bac4f9db82
Fixed script object properties never getting their dirty flag cleared after saving
2018-10-15 03:11:10 -06:00
Aruki
7dcfda78ba
Added support for converting some property types to other types
2018-10-15 02:58:11 -06:00
Aruki
95d270cde7
Added support for excluding properties from generation results that already have valid names. Plus some more property names
2018-10-14 20:29:50 -06:00
Aruki
bd8579167d
Fixing some stuff I screwed up in the last commit, oops.
2018-10-13 22:44:39 -06:00
Aruki
5a56764815
Merged in new property names; fixed games being able to rename UnknownStruct* templates in other games
2018-10-13 21:40:09 -06:00
Aruki
cf219cf17a
Added support for renaming property archetypes. Added support for enums to override the default type name. Added the ability for enums/choices/flags with no values/flags to be edited as ints.
2018-10-13 16:33:31 -06:00
Aruki
1ef86f0896
Changed Echoes enum properties to choices
2018-10-12 21:19:12 -06:00
Aruki
1d724b69d9
Added support for enum combo boxes, and added casing combo box and property ID pools to the property name generator
2018-10-12 19:38:08 -06:00
Aruki
ef6759df4a
Removed an unnecessary parameter from game templates
2018-10-09 23:27:31 -06:00
Aruki
22ab73883c
Fixed property name generator/template edit dialog to work with new property system
2018-10-09 23:15:15 -06:00
Aruki
803ea5788b
New templates
2018-10-07 21:47:18 -06:00
Aruki
84d689e104
Changed EGame to an enum class. Created NGameList and NPropertyMap to change how templates are managed/saved/loaded. Added support for property map keeping track of ID/type pairs.
2018-10-07 17:53:19 -06:00
Aruki
42d021e757
More cleanup, renamed CMasterTemplate to CGameTemplate
2018-09-22 23:54:34 -06:00
Aruki
31dac74a64
Property cleanup
2018-09-22 13:36:50 -06:00
Aruki
e68b961a8c
Fixed doors not rendering correctly, fixed array properties not displaying correctly, fixed crashes when accessing certain property types
2018-09-22 12:18:39 -06:00
Aruki
2118bbd0cd
More fixes. Property/serialization changes are finally basically finished now. Serialized property templates now load & display correctly in the editor
2018-09-22 03:26:15 -06:00
Aruki
33e915a638
Fixed a few last things to get script template serialization working 100%. Fixed some bugs that caused the serializer to crash on loading old projects and prevented dependency trees from serializing correctly.
2018-09-20 13:11:42 -06:00
Aruki
0afa16f3a0
Fixed enums not serializing default value in hex & support for saving property name map
2018-09-16 11:03:28 -07:00
Aruki
36926ca28e
WIP script object template serialization
2018-09-16 09:44:19 -07:00
Aruki
5182f436b8
Major refactor of serialization system
2018-09-04 13:27:27 -06:00
Aruki
91650a2924
Codegen integration + string enum serialization support
2018-07-30 20:33:51 -06:00
Aruki
6a72bae97a
WIP start of property serialization support
2018-07-30 20:30:43 -06:00
Aruki
148449e50b
Various property cleanup, fixing more broken stuff, trialing new features
2018-07-16 02:29:29 -06:00
Aruki
a90f1d0441
Reimplemented array resizing
2018-07-09 06:53:56 -06:00
Aruki
641cf81dd8
Fixed array property display on UI (they still can't be resized)
2018-07-09 03:54:19 -06:00
Aruki
4faadbda61
Fixed a lot of property bugs, fixed more various VS2017 compiler errors, property editor works correctly now
2018-07-08 21:59:01 -06:00
Aruki
6cbc2a3208
Re-commit of VS2017/submodule/library changes
2018-07-07 17:17:33 -06:00
Aruki
635e3b8e58
Initial commit of Qt Creator debugger visualizers
2018-07-07 15:19:01 -06:00
Aruki
ce3dfdc397
Massive overhaul of property system done over the last few months. There is unfinished/broken stuff still, but it compiles now.
2018-06-22 15:24:04 -06:00
Aruki
6719b82077
Added ability to separate words by underscore in generated names
2018-02-18 12:16:55 -07:00
Aruki
366c4cd3ff
Some more property names from DKCR3D and Bearborg
2018-02-13 20:18:10 -07:00
Aruki
3d72c9e4b2
Added property name generation system using dictionary attacks and added a UI dialog that allows you to search for property names and apply them to templates
2018-02-13 00:30:35 -07:00
Aruki
11917d03e8
Implemented property name validation system
2018-02-11 16:11:49 -07:00
Aruki
e4d4beeaed
Fixed crash when copy/pasting objects in MP1
2017-07-26 03:43:22 -06:00
Aruki
4084375dce
Finishing touches on PWE v1.2.0
2017-07-26 03:42:57 -06:00
Aruki
f980bc7536
Added support for tracking extra dependencies in Corruption areas (necessary to avoid crashes)
2017-07-26 01:30:52 -06:00
Aruki
95d0279027
Fixed a couple issues with the resource browser and fixed an error in the 32-bit name map
2017-07-26 01:29:40 -06:00
Aruki
18482cbae6
Added drag/drop support to directory tree view
2017-07-25 18:34:02 -06:00
Aruki
ca40c26154
Directory tree view now updates to reflect changes when moving/renaming folders
2017-07-25 04:02:48 -06:00
Aruki
5e79d88bb8
Minor bugfix - Prime 3 is not Wii de Asobu
2017-07-25 00:50:50 -06:00
Aruki
588c4aa0bd
Added support for building Wii de Asobu/Trilogy ISOs
2017-07-24 23:51:09 -06:00
Aruki
e4d7c37541
Added support for exporting Trilogy and Wii de Asobu builds
2017-07-24 21:08:12 -06:00
Aruki
305fbbdeed
Added ability to look up asset IDs with the search bar
2017-07-22 17:39:49 -06:00
Aruki
4f2828e0f8
Added asset lookup by ID, fixed a bug with asset ID display, added "go to parent directory" icon
2017-07-22 16:26:49 -06:00
Aruki
89d668a810
Added ability to display referencers/dependencies of assets
2017-07-20 20:56:29 -06:00
Aruki
905173a0a0
Added ability to create/delete directories
2017-07-20 20:48:12 -06:00
Aruki
16e310fb2f
Update resource selectors when their asset is renamed, fixed default world editor split sizes, disabled model editor save button outside of MP1
2017-07-18 03:07:42 -06:00
Aruki
db277d7a15
Added ability to rename resources/directories in the resource table view
2017-07-16 03:24:14 -06:00
Aruki
932e2bff7a
Changed resource cache to save with the basic binary serializer to improve read/write time
2017-07-15 23:19:26 -06:00
Aruki
bfe541a35d
Added null progress notifier, optimized CResourceStore::BuildFromDirectory a little
2017-07-15 22:55:26 -06:00
Aruki
a813c4c61c
Fixed table view updating to properly show changes after moving resources/directories
2017-07-15 22:24:59 -06:00
Aruki
dbe8b7922c
Added support for dragging/dropping resources; you can use drag/drop to rearrange resources/folders in the resource browser now, and you can drag/drop resources onto resource selector widgets
2017-07-14 18:41:56 -06:00
Aruki
fe9a074029
Added context menu to the resource browser; fixed search results not displaying correctly
2017-07-13 01:41:46 -06:00
Aruki
137c10f28f
Major resource browser UI overhaul
2017-07-12 20:45:14 -06:00
Aruki
31dec78050
Moved /WX flag in the .pro files into a win32 block
2017-07-12 00:22:04 -06:00
Aruki
097ab23687
Fix to .qmake.conf so MSVC compiler flags are only set on Windows
2017-07-12 00:17:42 -06:00
Aruki
0ffbaefcde
Added ability to edit the game name in opening.bnr; slightly reorganized world editor menu options
2017-07-10 16:43:53 -06:00
Aruki
581d5f7267
Changed resource selector widgets so they can pop up a panel with a list of acceptable resources
2017-07-10 15:19:11 -06:00
Aruki
2348b8514f
Changed resource selector so you click the resource name to find it instead of having a separate find button
2017-07-09 23:55:29 -06:00
Aruki
096ef45bac
Added support for building Wii ISOs
2017-07-09 15:44:42 -06:00
Aruki
665a098d50
Integrated latest changes from nod, and updated the structure of the Disc folder for compatibility with the upcoming Dolphin directory blob updates
2017-07-09 13:44:06 -06:00
Aruki
2ddba0cacc
Removed unneeded ToLower() call
2017-07-08 13:42:31 -06:00
Aruki
cbdebd2f7e
Fixed some issues with asset name generation in MP3/DKCR and fixed a memory leak in the character editor
2017-07-08 13:38:03 -06:00
Aruki
21efd3999f
Fixed issue causing the viewport axes to sometimes not render correctly
2017-07-07 23:14:41 -06:00
Aruki
5c1d4f70ae
Fixed save and save+cook buttons being enabled when no area is open
2017-07-07 20:52:14 -06:00
Aruki
8b84b638ac
Fixed all DKCR name generation issues
2017-07-05 01:10:57 -06:00
Aruki
6a01bf5982
Removed raw extensions
2017-07-04 19:55:44 -06:00
Aruki
2c21276f5a
Use uppercase extensions for editor resources
2017-07-04 19:32:12 -06:00
Aruki
3fa1279d29
Lots of changes to how resource database/entry data is serialized; resource database file is now binary and merged with the cache data file. Binary reader/writer now use 32-bit sizes.
2017-07-04 19:02:56 -06:00
Aruki
4652e125e5
Resource database can now keep track of empty directories
2017-07-04 13:34:14 -06:00
Aruki
9a52fe52d4
Added ability to rebuild the resource database from the project resources folder. Editor can detect if the resource database is corrupt on load and if so prompts the user to repair it.
2017-07-04 04:59:22 -06:00
Aruki
1f3df14b02
Configured asset name map and resource entries to be able to track whether or not a resource/directory name is auto-generated, and made adjustments to the name generation system to not override custom-set names
2017-07-02 15:56:30 -06:00
Aruki
4b73d0abcc
Added resource metadata files
2017-07-02 02:17:04 -06:00
Aruki
5a398423e1
Applied some fixes to the binary reader/writer classes
2017-07-02 02:12:01 -06:00
Aruki
c6e6ccaa89
Unify directory structure for cooked/raw assets
2017-07-01 19:03:56 -06:00
Aruki
4dc11023df
Rewrote a chunk of the script cooker. SCGN script layer is now generated and written at cook time.
2017-06-27 06:13:42 -06:00
Aruki
2081835ae6
Spiffed up progress dialog visuals a little
2017-06-26 20:41:17 -06:00
Aruki
46b65a5bcd
Added support for the remaining DKCR formats; DKCR repacking works now
2017-06-26 20:34:58 -06:00
Aruki
87906aafb9
Fixed bugs with copy/pasting instances
2017-05-23 19:58:36 -06:00
Aruki
09bcf4114c
Updated disc extraction/building progress bar code to use the new progress reporting functionality in nod
2017-05-22 00:26:24 -06:00
Aruki
8e819fd454
Fixed new link line not showing up in the world editor
2017-05-21 19:20:27 -06:00
Aruki
f5654dcfa7
Removed includes for deleted header files
2017-05-21 18:07:19 -06:00
Aruki
0a9b052413
Added progress bars for most major blocking operations
2017-05-21 18:01:09 -06:00
Aruki
31621874a6
Added preliminary support for building new ISOs
2017-05-20 23:29:09 -06:00
Aruki
4ffd1f0a2d
Remove the stupid "-component" garbage from MP1 instance names
2017-05-18 13:57:31 -06:00
Aruki
f9f6d1f963
Fixed bug where asset properties on new instances are created with the wrong length
2017-05-14 21:30:50 -06:00
Aruki
43a3558383
Fixed bug that could produce multiple script instances with equivalent instance IDs
2017-05-14 21:30:32 -06:00
Aruki
77cda50153
Modified world info sidebar so it handles DKCR much more smoothly
2017-05-14 01:49:15 -06:00
Aruki
b45eaae106
Fixed major issues when exporting DKCR
2017-05-14 01:48:47 -06:00
Aruki
7f18a33fae
Added support for Prime 3 package cooking
2017-05-09 21:08:52 -06:00
Aruki
560706d285
Fixed issues in MP3 package list building
2017-05-09 14:16:41 -06:00
Aruki
f72f82d519
Dropped support for transient resources; I am not using this functionality at all whatsoever and likely won't for a while, so why do I have it?
2017-05-07 20:29:33 -06:00
Aruki
283444cea4
Fixed broken UV anim modes
2017-05-07 19:25:46 -06:00
Aruki
e112c93498
Switch to using forward slashes in file paths
2017-05-05 14:06:42 -06:00
Aruki
fc29370427
Switch CStringTable over to using UTF-8 internally
2017-05-04 15:58:06 -06:00
Aruki
e950634db2
Switch over to using TString to represent filesystem paths instead of TWideString. Fixed FileUtil not handling UTF-8 paths with Unicode characters correctly.
2017-05-04 15:43:25 -06:00
Aruki
bdf0d188c3
Integrated FileIO as part of Common instead of a separate subproject
2017-05-04 12:18:52 -06:00
Aruki
336744ed49
Split asset name map into separate 32-bit and 64-bit files (necessary to avoid name conflict errors)
2017-05-04 01:14:51 -06:00
Aruki
9d6798b7ae
Fixed up MP3 asset name generation, implemented a bunch of extra checks and safeguards to ensure asset names/directories are valid
2017-05-03 03:07:34 -06:00
Aruki
3fc35b7c09
Fixed log spam while exporting MP3 + fixed world asset name being generated incorrectly
2017-04-30 23:45:56 -06:00
Aruki
88c11555c0
Added support for CHAR, SAND, and SCAN dependencies in MP3
2017-04-30 22:28:37 -06:00
Aruki
11ccd23baf
Removed zlib and LZO from the Common/Math pro files
2017-03-31 23:49:40 -06:00
Aruki
15f0b9338c
Moved CompressionUtil to Core (to keep zlib/LZO dependencies out of Common and Math)
2017-03-31 23:42:41 -06:00
Aruki
e138cd7035
Removed dependencies on GLM
2017-03-31 23:33:11 -06:00
Aruki
cd8f4147c2
Added a couple new utility/convenience functions in FileIO and Math
2017-03-30 01:25:50 -06:00
Aruki
98cd617b3e
Added support for loading Corruption particle dependencies
2017-03-01 00:52:25 -07:00
Aruki
ac2430e61c
Minor fixes/adjustments
2017-02-21 00:09:03 -07:00
Aruki
d350e983d9
Updated POI map sidebar icon, fixed minor spacing issue in the world info sidebar
2017-02-20 23:40:19 -07:00
Aruki
e89d44f7a7
Moved POI mapping dialog to be a sidebar instead, fixed standable collision visualization in MP2/3
2017-02-20 16:02:05 -07:00
Aruki
a88afe31e3
Added support for CAUD dependencies, dropped redundant asset ID in dependency trees, various MP3 fixes
2017-02-20 03:42:04 -07:00
Aruki
5485d42b56
Bunch of fixes to get MP3 exports working on a basic level; lots of fixes still needed
2017-02-18 19:41:39 -07:00
Aruki
68840e69f9
Changed over to new FOURCC macro
2017-02-17 22:38:25 -07:00
Aruki
423613c1c1
Added 16x16 World icon, remove recent projects that no longer exist
2017-02-17 18:04:06 -07:00
Aruki
bdb753dca2
Added project settings dialog; added build name lookup functionality
2017-02-15 01:00:48 -07:00
Aruki
3697401ebb
Dropped support for resource collections in package definitions
2017-02-14 19:20:22 -07:00
Aruki
c5de322ac7
Fixed various bugs and crashes and moved more functionality into the world editor
2017-02-13 13:44:02 -07:00
Aruki
00a48e69f8
Added world/area info sections to the world info sidebar
2017-02-12 23:46:22 -07:00
Aruki
009c42f281
Moved edit mode buttons onto a toolbar, fixed a couple bugs
2017-02-12 14:19:51 -07:00
Aruki
4d87ef0312
Added functionality to change edit mode, made resource browser accessible from the world editor
2017-02-12 10:41:13 -07:00
Aruki
ce0c544168
Added new WIP UI to the world editor for loading worlds/areas
2017-02-12 00:34:04 -07:00
Aruki
9928a599be
Initial work towards making the World Editor the main application window
2017-02-11 18:35:33 -07:00
Aruki
568cd67994
Node rotation/scale now transforms correctly around the pivot point
2017-02-10 23:55:07 -07:00
Aruki
882973d9d5
Improved error handling and reporting when loading/saving project files; added file lock class to prevent the same project from being opened in multiple PWE instances
2017-02-10 14:52:47 -07:00
Aruki
6d77604667
Added shader sharing mechanism; added "cook all dirty packages" button; other various tweaks and fixes
2017-02-09 10:54:38 -07:00
Aruki
9b6376af68
Fixed asset name map conflict checks to be case-insensitive, new icons for export dialog disc filesystem tree, regenerated asset names
2017-02-08 12:40:09 -07:00
Aruki
a7b0a2480c
Reimplemented save & repack button to work in the project system
2017-02-08 11:20:33 -07:00
Aruki
1b97cd459a
Reworked area saving to work with the project system; lots of bug fixes
2017-02-08 00:05:59 -07:00
Aruki
b3a0e52b6f
Fixed crash after generating asset names, added MP2 auto-generated names to the map
2017-02-06 15:10:54 -07:00
Aruki
eca833cf89
Changed game exporter to export from a full disc image using nod instead of a pre-extracted disc filesystem; also fixed issue with tabbing in/out with a file dialog open, and fixed a memory leak in CAnimSet
2017-02-06 09:20:18 -07:00
Aruki
fbdf9023d1
Upgraded to VS2015 64-bit compiler
2017-02-04 09:36:37 -07:00
Aruki
7f9bed653b
Added type filtering to the resource browser
2017-02-02 21:20:54 -07:00
Aruki
c53352c290
Implemented "find" button on resource selector widget
2017-02-01 21:01:14 -07:00
Aruki
548fcb2f8e
Modified resource browser to use a filesystem browser view
2017-02-01 20:23:51 -07:00
Aruki
c51d79cc42
Added "edit" button to resource selector context menu
2017-02-01 10:54:53 -07:00
Aruki
4e8ecdb79c
Created new resource selector widget class
2017-02-01 08:43:42 -07:00
Aruki
8a66e393e7
Added CResTypeInfo class
2017-01-31 21:56:53 -07:00
Aruki
4f03c2431e
Added editor game info system, exporter now fetches game build version, merged asset name maps for all games, resource browser can now import/export names to/from a map XML, reworked asset name generation to more closely match Retro's organization scheme, bug fixes
2017-01-31 11:23:28 -07:00
Aruki
5ac292ebc5
Made search bar in resource browser feel more responsive
2017-01-29 08:01:33 -07:00
parax0
678ca01fb1
Merge branch 'master' into ContentExporting
2017-01-29 07:33:14 -07:00
parax0
57c2830b04
Fixes for standable collision tris visualization in Metroid Prime 3
2017-01-29 05:01:41 -07:00
parax0
9654cf1428
Merge branches 'CollisionRendering' and 'release'
2017-01-16 01:31:25 -07:00
parax0
7cc8e2a0c9
Updated version number for public release
2017-01-16 01:02:03 -07:00
parax0
c62a01e4d9
Added a couple more collision view features; set up a proper UI for changing collision render settings
2017-01-14 10:32:41 -07:00
parax0
a2762e034e
Lots of collision surface color tweaking
2017-01-11 08:30:40 -07:00
parax0
08dee84367
Set up game-neutral collision materials; Jump Not Allowed flag now flags that surface as unstandable; other minor fixes
2017-01-11 06:29:30 -07:00
parax0
be40dfdf02
Added a basic UI to change collision render settings, added the ability to color collision based on the surface type
2016-12-26 23:02:32 -07:00
parax0
78baa42bce
Added fog to the collision shader, made changes to enable rendering different collision materials separately (also, murry crimmas)
2016-12-25 14:47:59 -07:00
parax0
c0fb54888d
Rewrote collision shader to use generated normals with fake lighting instead of generated UV coords
2016-12-24 03:05:51 -07:00
parax0
712e545c7b
Fixed editor viewport rendering black when opening multiple editor windows at the same time
2016-12-24 02:11:25 -07:00
parax0
d96a3c2af7
Added functionality to import filenames from .pak.contents.txt files
2016-12-24 00:47:45 -07:00
parax0
ed446ccbec
Removed audio groups array from CWorld
2016-12-12 01:45:19 -07:00
parax0
2e44e5b119
Added functionality to generate asset names
2016-12-12 01:33:46 -07:00
parax0
efa85036c2
Added basic support for tracking DUMB dependencies
2016-12-03 14:32:41 -07:00
parax0
f6fd78af14
Lots of work to get MP2 repacking functional
2016-11-07 03:07:00 -07:00
parax0
040caca896
Added support for loading meta-animations and meta-transitions (yay! animation exclusion doesn't crash anymore!)
2016-10-27 07:18:59 -06:00
parax0
595e4b931e
Moved animation-related classes to their own subfolder
2016-10-26 18:12:08 -06:00
parax0
3942c09e89
Added support for omitting unused animations from paks (needs work to not crash)
2016-10-26 06:15:08 -06:00
parax0
a18655da00
Added support for tracking event character indices in the dependency tree
2016-10-21 18:16:57 -06:00
parax0
10c87779b3
Added support for tracking AGSC dependencies
2016-09-16 02:47:46 -06:00
parax0
2e1add84be
Added support for sound properties, labelled most MP1 sound properties
2016-09-01 18:02:26 -06:00
parax0
0929b20ba1
Renamed file properties to asset properties and modified asset properties to store a CAssetID instead of a CResourceInfo
2016-09-01 00:24:46 -06:00
parax0
f6ae1376ac
Added functionality to determine what AGSC a sound ID belongs to
2016-08-31 19:42:12 -06:00
parax0
1f357b4250
Fixed crash occurring when closing the world editor
2016-08-31 02:53:48 -06:00
parax0
a7b381f301
Made a bunch of changes to make the resource store system more friendly to multiple stores instead of just a single active one, and set up a resource database for editor assets
2016-08-31 02:09:13 -06:00
parax0
1de2691f33
Enabled MSAA
2016-08-30 19:05:28 -06:00
parax0
4fd3e9c437
Skip viewport render if editor window is minimized (probably more fixes that can be applied similar to this)
2016-08-30 01:09:54 -06:00
parax0
3f3735ac7a
Created application class to manage editor windows, improved camera AABox orbit
2016-08-30 00:47:02 -06:00
parax0
d263610d43
Added ability to double click a resource in the resource browser to open it for editing
2016-08-28 04:07:17 -06:00
parax0
20bddd5ed7
Modified all editor file formats to use the serialization system; changed dependency caching so all resource cache data is in one file
2016-08-26 19:33:33 -06:00
parax0
3dc0d71403
Implemented binary serializer classes
2016-08-23 20:42:05 -06:00
parax0
9a243f94ac
Heavily modified the dependency tree system and applied other various fixes and updates to work towards supporting Echoes package cooking
2016-08-19 02:13:02 -06:00
parax0
881bb28d84
Added support for loading all dependencies of MP2 ANCS, FRME, and SCAN
2016-08-16 03:00:31 -06:00
parax0
bc35e15a6a
Added support for parsing MP2 particles
2016-08-15 00:40:13 -06:00
parax0
8f2b39469a
Added versioning support to the serializer; began restructuring CWorld and getting world cooking/serialization working for other games; gave CAssetID an alternate input stream constructor that takes an EGame instead of an EIDLength
2016-08-14 04:56:51 -06:00
parax0
a914736172
Added rel/rso module dependencies to the script template format
2016-08-13 23:57:41 -06:00
parax0
74574c318e
Moved EGame to Common
2016-08-13 01:43:55 -06:00
parax0
de18044ae0
Fixed some missed dependencies in a few formats and implemented support for building file lists for paks and MLVLs, and implemented support for package cooking for MP1
2016-08-12 04:27:19 -06:00
parax0
0f2c0d5b39
Implemented serialization support and initial support for raw resource formats
2016-08-09 21:58:27 -06:00