Commit Graph

833 Commits

Author SHA1 Message Date
Lioncash 79f7b62960 CMaterialSet/CModel: Make use of size_t where applicable
Prevents type truncation warnings internally and also provides slightly
better code-gen, given the upper half of 64-bit registers don't need to
be constantly cleared.
2020-06-15 14:49:38 -04:00
Lioncash 6edea6a225 CMaterialSet: Make Clone() return a unique_ptr
Makes the returned pointer leak-free by default.
2020-06-15 14:12:06 -04:00
Lioncash 95f6c3360d CMaterialPass: Make use of size_t where applicable
Plays nicer with standard types.
2020-06-15 14:08:36 -04:00
Lioncash b90bd90e03 CMaterial: std::move string in SetName()
Allows callers to avoid copies.
2020-06-15 14:02:59 -04:00
Lioncash e7b3015f08 CMaterial: Make use of size_t where applicable
Prevents truncation warnings from occurring.
2020-06-15 14:02:55 -04:00
Lioncash 5b96480a45 CMaterial: Simplify Clone() a little
Given we use std::array now, we can perform a direct assignment instead
of a loop.
2020-06-15 13:55:22 -04:00
Lioncash 28587fb622 CSceneNode: std::move string in SetName()
Allows for calling code to completely avoid copies being made.
2020-06-15 13:48:57 -04:00
Lioncash e962d9ba96 CLight: Correct lack of assignment in SetSpotCutoff()
Brought this up with Antidote and was told that this is likely what was
intended to be done.
2020-06-14 20:16:54 -04:00
Lioncash 9e3018809f CWorld: Eliminate sign conversion warnings 2020-06-14 19:48:23 -04:00
Lioncash 35ea47e473 CWorld: Make use of in-class initializers
Same behavior, less code.
2020-06-14 19:47:05 -04:00
Lioncash 128ee0d01c CMaterialLoader: Make use of static
This function doesn't touch instance state at all
2020-06-14 19:43:43 -04:00
Lioncash cc376d3e21 CMaterialLoader: Make use of std::array 2020-06-14 19:41:42 -04:00
Lioncash 903f6dfe7e CGameArea: Make use of in-class initializers where applicable
Same behavior, less code.
2020-06-14 19:27:54 -04:00
Lioncash 2c274897c9 CLightParameters: Make EWorldLightingOptions an enum class
Avoids polluting the global namespace.
2020-06-14 19:21:30 -04:00
Lioncash cec88d182b CLightNode: Mark member functions as const where applicable
Several functions don't modify internal member state.
2020-06-14 19:13:35 -04:00
Lioncash f2201ca03c CLight: Make CalculateSpotAngleAtten() const
This member function doesn't modify internal member state.
2020-06-14 19:05:29 -04:00
Lioncash b439e4bba1 CLight: Make use of in-class initializers where applicable
Same behavior, less code.
2020-06-14 19:03:32 -04:00
Lioncash f942ad6551 CGameTemplate: Mark getter functions as const
These don't modify internal class state, so we can mark them as const.
2020-06-14 18:58:05 -04:00
Lioncash 15708b8624 CGameTemplate: Collapse loops into ranged for where applicable 2020-06-14 18:49:37 -04:00
Lioncash d9bb255518 CGameTemplate: Use in-class initializers where applicable
Same behavior, less code.
2020-06-14 18:35:10 -04:00
Lioncash 332be356de CIndexBuffer: Make use of size_t where applicable
Provides a nicer interface for operating with standard types, etc.
2020-06-14 18:29:39 -04:00
Lioncash d4564434c3 FShowFlags: Remove use of cpp file
Now that these constructs are constexpr capable, we can make use of
constexpr here to contain it fully within the header.
2020-06-14 17:12:37 -04:00
Lioncash b2db6a21fa CFlagsProperty: Mark HasValidValue() as const
This doesn't modify internal state.
2020-06-14 17:07:47 -04:00
Lioncash d5a33b631a CFlagsProperty: Make use of a ranged for loop 2020-06-14 17:06:46 -04:00
Lioncash 84184da66d CFont: Prevent Wmaybe-uninitialized warning 2020-06-14 17:04:35 -04:00
Lioncash 4861f118fb CFont: Make PtsToFloat() internally linked
This is only ever used within the cpp file
2020-06-14 17:04:35 -04:00
Lioncash 1c292f5e2d CFont: Make use of std::array
Same behavior, stronger typing.
2020-06-14 17:04:32 -04:00
Lioncash b6b7bcace1 CFont: In-class initialize members where applicable
Provides a consistent initial state.
2020-06-14 16:54:16 -04:00
Lioncash 01e68ec5d8 CFontLoader: Default constructor 2020-06-14 16:51:13 -04:00
Lioncash e49315a645 CSkeleton: Make use of unique_ptr where applicable
Makes ownership semantics explicit.
2020-06-14 16:49:51 -04:00
Lioncash 4dcb539763 CSkeletonLoader: Make use of ranged for where applicable
Same behavior, less code.
2020-06-14 16:13:28 -04:00
Lioncash 6909c75d64 CTextureDecoder: Misc cleanup
Const correctness, unimplemented prototypes, reducing copies, etc.
2020-06-14 16:07:43 -04:00
Lioncash 68455c54e8 CTextureDecoder: Make utility functions internally linked
Same behavior, but keeps implementation details internal.
2020-06-14 15:41:32 -04:00
Lioncash f0cd6ee99b CStructProperty: Make use of ranged for 2020-06-12 17:25:06 -04:00
Lioncash 7b40eec19c CScriptObject: Collapse for loops into ranged for loops
While we're at it, eliminate sign conversion warnings.
2020-06-12 17:12:37 -04:00
Lioncash 5c42bcc580 CLink: Resolve sign conversion warnings 2020-06-12 16:46:49 -04:00
Lioncash 38d245b460 CLink: Make constructor explicit 2020-06-12 16:45:33 -04:00
Lioncash f5e9254c9a CIndexBuffer: Make use of in-class initializers where applicable 2020-06-12 16:43:54 -04:00
Lioncash 721c4d8121 CIndexBuffer: Make constructor explicit
Prevents implicit constructions.
2020-06-12 16:41:47 -04:00
Lioncash ece0aec27a CGraphics: Make use of std::array 2020-06-12 16:36:34 -04:00
Lioncash bf9233779a CGraphics: Make skDefaultAmbientColor constexpr
Same behavior, no runtime initializer.
2020-06-12 16:19:59 -04:00
Lioncash e8a20933de CVirtualDirectory: Resolve -Wreorder warnings 2020-06-12 16:09:20 -04:00
Lioncash 1ae5462cd7 CGameProject: Make use of unique_ptr where applicable
Makes the ownership semantics explicit.
2020-06-12 16:07:04 -04:00
Lioncash 1bdcdb85de CResourceStore: Use unique_ptr where applicable
Makes the ownership semantics explicit and prevents leaks from occurring
a little better.
2020-06-12 14:43:39 -04:00
Lioncash 137b2395c9 CResourceStore: Use in-class initializers where applicable 2020-06-12 14:11:57 -04:00
Lioncash 7da16efe9d CDependencyTree: Make use of unique_ptr
Makes the ownership semantics explicit in the interface.
2020-06-12 14:09:08 -04:00
Lioncash e2190793fd CDependencyTree: Tidying up
- Convert for loops to ranged for loops.
- Collapse loop into an any_of.
2020-06-12 13:37:54 -04:00
Lioncash 7d4ce7e909 CDependencyGroupLoader: Default constructor 2020-06-12 13:26:39 -04:00
LC 10cbcd4024
Merge pull request #31 from lioncash/properties
Property: Make use of override where applicable
2020-06-12 13:17:05 -04:00
Lioncash c020084587 CCollisionMaterial: Make use of std::array
Allows simplifying some size calculations.
2020-06-12 13:14:39 -04:00
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