149 Commits

Author SHA1 Message Date
Lioncash
1b71d91ea7 CResourceStore: Make use of ranged for where applicable
Same behavior, less code.
2020-06-18 06:47:02 -04:00
Lioncash
5ce6b972a0 CGameProject: Make use of size_t where applicable
Plays nicely with standard containers.
2020-06-18 06:14:26 -04:00
Lioncash
6a0a20e3fa CGameProject: Make use of std::move where applicable
Same behavior, but allows calling code to completely eliminate copies.
2020-06-18 05:30:29 -04:00
Lioncash
bb9947fe0e CGameProject: Make use of std::string_view where applicable
Makes a few functions have non-allocating arguments
2020-06-18 05:29:52 -04:00
Lioncash
6d98e918ae CGameArea: Make use of size_t where applicable
Plays nicer with the standard library and avoids truncation warnings.
2020-06-18 05:16:46 -04:00
Lioncash
09f5163184 CStringTable: Make use of size_t
Plays nicer with standard containers. While we're at it, we can use
std::move where applicable.
2020-06-16 15:17:23 -04:00
Lioncash
84a42cd3c2 CWorld: Make use of size_t where applicable
Plays nicer with standard types and prevents type truncations.
2020-06-15 20:14:17 -04:00
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
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
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
012da6fb6d General: Remove unnecessary inline specifiers and add overrides 2020-06-11 15:49:42 -04:00
Lioncash
7ce0e14e29 CAssetNameMap: Eliminate file-scope string allocations 2020-06-11 13:21:33 -04:00
Lioncash
61a6151afe externals: Update LibCommon 2020-06-11 11:10:04 -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
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
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
Jack Andersen
30c1646f02 Update dew, fix no lighting mode 2019-11-24 16:46:57 -10:00
Jack Andersen
6e3b23ec50 Accurate MP3 material processing 2019-11-06 16:52:45 -10:00
Jack Andersen
374d836154 Disable user template editing if directory not writable 2019-05-26 20:38:29 -10:00
Jack Andersen
d593500e18 Codegen fixes, DPI scaling, SVG icons 2019-05-26 15:29:10 -10:00
Jack Andersen
9f94db6c82 Linux build fixes 2019-05-25 20:24:13 -10:00
Jack Andersen
b6191dc330 Initial round of CMake refactoring 2019-05-23 13:04:29 -10: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
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
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
eb9236bbea Tweak cooking for MP1 2018-12-30 16:41:43 -07:00
Aruki
7588200c26 Tweak loader for MP1 2018-12-27 20:16:39 -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
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
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
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
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