* General AMF cleanup
Proper memory management as well as style cleanup
* General optimizations
Fix AMFArray so values are properly deleted when you leave the scope it was created in.
Add bounds check for deletion so you don't double delete.
Remove all AMFdeletions that are contained in an array since the array now manages its own memory and deletes it when it is no longer needed.
* Better tests and fix de-serialize
Fix de-serialize to be correct and implement a test to check this
* Update AMFDeserializeTests.cpp
* Update AMFFormat.cpp
* Update CMake configuration for easier maintenance
* Incorrect casing fix
* Move package requirement
* Update CTest linking
* Add logs to the CMake
* Add linking for common libraries
Added linking for common libraries in tests subdirectory.
* Move test subdirectory higher up for some reason
* Whitespace a log removal
Missed new line
* Add dCommon to dChatFilter
* Update library output dir
* Correct libBcrypt
* Further refactor CMake behaviour
* Repair bad comments and update library defines
* Revert to old include directory method
* Implement platform defines
* Add missing include
Mac needs a specific include for defining platform. Does not compile without this.
Co-authored-by: EmosewaMC <39972741+EmosewaMC@users.noreply.github.com>
Sanity checks on Prop and LUP launchpads to not open if no valid rocket
Add serialization for sending item configs
so that rockets show for other players
Fixed a few issues in VendorComponent.
- Corrected serialization to only happen on construction.
- Added functionality to refresh the vendor based on info from the vendor component table
- some whitespaceing inconsistencies.
- Sorted includes.
Tested the vendor in Nimbus Station and when the player re-enters the world, the vendor inventory refreshes, as opposed to previously where the world would need to reset in order to refresh the inventory.
Addressed an issue where the Spinjitzu Initiate achievement would not progress. This also allows mission tasks that specify that the player must get a kill on an enemy with a skill to progress. Tested mission 1935 and 1139 and both missions progressed and completed as intended.
Added support for Items to have a loot source attached to them when dropped or rolled. This fixes the issue where achievements would give the item before it appeared in the achievement window.
I promise I'm not farming changes. I woke up at like 4AM and realised that I'd screwed up in an obvious way. Note to self: You are ALLOWED to change variables.
Wasn't caught in testing because, well, it turns out it's actually impossible to test the edge case this covers, due to the script for the brick console.
Doubt it would have affected anyone, but technically if you had a mission to collect something interactable, and you deleted the items at the same time as interacting with something, this would have counted incorrectly. I'm being defensive because I was an idiot who couldn't read, but in my defence, it was late when I made the first edit, and I'm also a blundering idiot!
Previously, the only check that the user wasn't trashing more items than they had was clientsided, and this could be bypassed by contacting the server to remove items via a console or the like, and then trashing them before the server could respond, resulting in the count for the items being less than iStackCount. This check prevents that underflow.
clone id is correctly assigned, reputation now shows up, rejection verdict is sent correctly (not sure about where the reason goes if it even goes here).
Remove the CDClientDatabase::ExecuteQueryWithArgs() function and replace
it with CDClientDatabase::CreatePreppedStmt().
This prevents a developer from accidently using %s, or incorrectly
passing std::string, and causing a silent error.