Commit Graph

40 Commits (33cbc2db219cb77d088cb15c1774c86d9b1be9aa)

Author SHA1 Message Date
Luis Sempé 29c2ee9b0e
Merge pull request #3014 from aws-lumberyard-dev/burelc/removeMCoreAlignedArray
Replace `MCore::AlignedArray` with `AZStd::vector`
4 years ago
Chris Burel e6259882b8 Replace `MCore::AlignedArray` with `AZStd::vector`
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 0953a75a94 Replace MCore::SmallArray usage with AZStd::vector
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 1837d05169 Rename EMotionFX class members to follow the `m_` naming convention
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 04babd3cff Fix misnamed range-for loop variables
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 4034195bdc Convert EMotionFX runtime uint32 -> size_t
This allows the EMotionFX runtime to compile with `/we4267` enabled, which
emits a warning when converting from `size_t` to a smaller type. All tests
for the runtime have been updated accordingly, and they pass.

In instances where a range-for loop could be used, or a std algorithm, that
was used instead of using `size_t numItems = vec.size()` and a for loop.

Casts to `uint32` were removed where possible. Some places remain, like in
the file formats.

Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 382ca192c8 Fix Node/Skeleton uint32->size_t
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 85c96c7596 Remove `static_cast<uint32>` from MemoryFile
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 404ab51439 uint32 -> size_t
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 88a9a4fb5d Correct signature of MCore::MemSet to match memset
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 916b3a94d6 Convert MCoreCommandManager uint32 -> size_t
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 387a1faf23 Convert IDGenerator uint32 -> size_t
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel ce139d6ae9 Remove unused HashFunctions functions
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 5a4b0f5770 Convert Math::Align to a template, so it doesn't depend on the uint32 type
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 24fa61f59e Convert DiskFile to not need uint32
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 38217651c5 Convert CommandSyntax uint32->size_t
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel f4442425ed Convert CommandManagerCallback uint32 -> size_t
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel a86e2ddf24 Convert MCore::CommandLine uint32 -> size_t
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 889cdd8c0a Convert MCore::Command uint32 -> size_t
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel d712c54e20 Convert BoundingSphere to use `int32_t` to match `AZ::Vector3::GetElement`'s signature
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel b8695742d9 Convert MCore Attribute classes uint32 -> size_t
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel a04a0965cc Convert AlignedArray uint32->size_t
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel db622de75f Convert MCore Algorithms to use size_t
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel c3ff3f342d Update StringIdPool to use AZ::u32 instead of uint32
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 0a56c17519 Remove unused MCore::AbstractData class
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 8884227fe6 Remove MCore::Array
This translates all usages of MCore::Array to AZStd::vector. It is
designed to be as minimal of a change as possible (no changing to
range-for loops or other C++11 stuff).

We can decide to submit this wholesale, or submit it to a separate
branch that we can then integrate individual files from once we're ready
to do a specific class's transition.

It does not completely solve the `uint32`->`size_t` transition.

One important finding from doing this: `MCore::Array` uses a `memcpy`
when it reallocates. `AZStd::vector` will use the contained type's copy
or move constructor, per element. This is a significant change in
behavior. If you have type, `SomeStruct` that defines a destructor, that
type is copyable and not movable. So if you have a
`MCore::Array<SomeStruct>`, and you call `Add(); Add(); Add()`, that
reallocates 3 times, copying the contents using `memcpy`, and never
invokes `SomeStruct`'s copy constructor or destructor. Translating that
to `AZStd::vector<SomeStruct>` and calling `push_back(); push_back();
push_back();` will still reallocate 3 times, but it sees that
`SomeStruct` is non-movable, and uses the copy constructor to make the
copies, and then the destructor on the previous values. This call to the
destructor wasn't there before, and can cause things to be deleted that
weren't before. The solution to this is to make that struct be a
move-only type. Where possible, this was done by changing that type to
use `AZStd::unique_ptr` instead of a raw pointer, to get the proper move
behavior. Where that is not possible (types that inherit from
`MCore::MemoryObject`), a hand-written move constructor was created.

In general:
GetLength() becomes size()
GetMaxLength() becomes capacity()
GetIsEmpty() becomes empty()
Reserve() becomes reserve()
ReserveExact() becomes reserve()
Resize() becomes resize()
ResizeFast() becomes resize_no_construct()
Add() becomes emplace_back()
AddExact() becomes emplace_back()
AddEmpty() becomes emplace_back()
AddEmptyExact() becomes emplace_back()
GetPtr() becomes data()
GetItem() becomes at()
Shrink() becomes shrink_to_fit()
GetFirst() becomes front()
GetLast() becomes back()
Remove() becomes erase()
RemoveFirst() becomes erase()
RemoveLast() becomes pop_back()
RemoveByValue() becomes if (const auto it = AZStd::find(...); it != end(container)) container.erase(it);
Insert() becomes emplace()
Swap() becomes swap()
Clear(true) becomes clear(); shrink_to_fit()
Clear() becomes clear(); shrink_to_fit()
Clear(false) becomes clear()
Swap() becomes swap()
Find() becomes AZStd::find
MoveElements() becomes AZStd::move
SetMemoryCategory() is removed

Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Benjamin Jillich 8a47476498 Merge branch 'development' into jillich/EmfxAabbImprovements 4 years ago
Benjamin Jillich 8190d61e18 Removed MCore::OBB
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Chris Burel 8730d5657f Allow special characters in AnimGraph node group names
Relying on the command system's string processing syntax prevents certain
names from being used. This converts the AnimGraphAdjustNodeGroup command
to be directly invokable, so that arguments can be passed directly, instead
of going through the CommandLine string parsing.

Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Benjamin Jillich cd25dbf71f Removed MCore::Quaternion AZ::Quaternion comparison tests
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich aa98be18b7 Removed leftover MCore::Quaternion usages and fixes some include issues
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich 5bb8a17d79 Removed MCore::Quaternion.h/.inl/.cpp files
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Benjamin Jillich a287b67b43 Removed ReadDataSize/ReadData() helpers for attributes
Used only by legacy binary file format

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
Steve Pham 38261d0800
Shorten copyright headers by splitting into 2 lines (#2213)
* Updated all copyright headers to split the longer original copyright line into 2 shorter lines

Signed-off-by: Steve Pham <spham@amazon.com>
5 years ago
Steve Pham b4a2edec6a
Final update copyright headers to reference license files at the repo root (#1693)
* Final update copyright headers to reference license files at the repo root

Signed-off-by: spham <spham@amazon.com>

* Fix copyright validator unit tests to support the stale O3DE header scenario

Signed-off-by: spham <spham@amazon.com>
5 years ago
Steve Pham 70042fcdcd
O3DE Copyright Updates for Linux Foundation (#1504) 5 years ago
greerdv 4b16d34af8 update usages of vector scale on Transform to use uniform scale 5 years ago
Chris Burel 28170ffe41 Add newlines to the end of all files 5 years ago
alexpete 75dc720198 Integrating latest 47acbe8 5 years ago
alexpete a10351f38d Initial commit 5 years ago