Unintentionally, bricks were not creating new stacks if you tried to get another stack. This prevents some missions from being completed. This issue is now fixed
Brick building as of right now does not implement the undo action properly. This commit addresses the issue with undoing button being non-functional server side and implements the GM needed for addressing further issues.
Implement GameMessage UnUseModel which is called when a model in BrickBuilding is UnUsed. Important for UGC content down the line. Final code has been tested as follows:
1. Placed a model in brick build
2. saved placed a brick
3. repeat 2 and 3 twice more for 6 total models
4. Place a new model in brick mode and then edit all 7 models into one brick model instance
5. Pressing undo returns the converted model to the inventory and properly discards the other 6 without crashing. Intended live behavior is to store this in the inventory instead however behind the scenes work is needed to implement UGC models properly.
Implement enum
Implement the BlueprintSaveResponseType enum so there are less magic numbers sent via packets.
Correct int sizes from unsigned int to uint32_t
Add deserialize test
Add a test for de-serializing a GM that is sent to the client. Assertions verify the data is in the correct order and has no extra information.
- Give entities that have a script component ID of zero a script component still
- Progress scripted entity missions within the for loop as we do for script calls
Tested that Boogie Down is (finally) completable.
Tested that Mission 737 is still completable
Checked that missions progressed inside OnEmoteReceived scripts to not double trigger progression
Allows the server to be run from a non-build directory. Also only read or write files relative to the build directory, regardless of where the server is run from
* Implement basic functionality
Implements the basic functionality and parsing of property behaviors.
Unhandled messages and logged and discarded for the time being. The only implemented message is a basic one that sends the needed info the the client side User Interface to pop up.
* Stop adding movingpla comps where they aren't needed
* move stuff around to make it more congruent
* invert if else block logic patter
Since setting up the comp will be longer han just adding the path
will make the readability flow better
* address feedback
* cleanup and define all unknowns in zone reading
fix for movement path config reading
* simplify reading and don't use intermediates
* fix spelling
* remove dup variable in struct
read to the proper name that relates to the enum
Implement GTest as a testing infrastructure.
Make windows output binaries to the build folder instead of the release type folder (potentially issue further down the line)
Add a simple unit test for DestroyableComponent
* Fix Pet Taming
* Fix Pet Taming
* fix pet taming path loading
just make it go to build file since the asset managet handles intermediate steps
there is never res in the path in the live db, so no need to check
* special case BrickModels to uppercase if unpacked
remove redundent variable
Co-authored-by: Aaron Kimbrell <aronwk.aaron@gmail.com>
- Replace all interaction of std::string and sqlString.
- Add a return before a debug assertion can be triggered by lvl chunks being loaded on server start.
* First iteration of pack reader and interface
* Fix memory leak and remove logs
* Complete packed asset interface and begin on file loading replacement
* Implement proper BinaryIO error
* Improve AssetMemoryBuffer for reading and implement more reading
* Repair more file loading code and improve how navmeshes are loaded
* Missing checks implementation
* Revert addition of Manifest class and migration changes
* Resolved all feedback.
Implements the basic functionality and parsing of property behaviors.
Unhandled messages and logged and discarded for the time being. The only implemented message is a basic one that sends the needed info the the client side User Interface to pop up.
Tested that the User Interface properly shows up with zero behaviors on it. No other functionality is changed.
* Add behaviors migration
Add migration for behaviors. Tested that the tables get altered correctly, names are set correctly.
Tested that I can place models, both regular and Brick-by-Brick ones and that they get deleted properly. Tested that picking up models and re-placing them down properly updates them in the tables.
* Only update when empty
* Change AMFArray getters to use Templates
Move Template definition to header
* Add more tests
Add tests for casting to wrong template type
Add tests for going out of bounds in the array.
* Try continue-on-error
* Update build-and-test.yml
* Try continue-on-error
Update build-and-test.yml
* change version
* Update CMakeMariaDBLists.txt
Update CMakeMariaDBLists.txt
* Add automatic migrations for CDServer
Add support to automatically migrate and update CDServers with new migrations. Also adds support to simplify the setup process by simply putting the fdb in the res folder and letting the server convert it to sqlite.
This reduces the amount of back and forth when setting up a server.
* Remove transaction language
* Add DML execution
`poggers`
Add a way to execute DML commands through the sqlite connection on the server.
* Make DML Commands more robust
On the off chance the server is shutdown before the whole migration is run, lets just not add it to our "finished list" until the whole file is done.
* Update README