Commit Graph

1528 Commits

Author SHA1 Message Date
8edade5f98 Fix client paths (#811) 2022-11-02 20:30:35 -07:00
353c328485 compile fixes and default client_location (#809)
* support for gcc9 on ubuntu 18.04
This is needed to make filesystem work

* fix default for client location
2022-11-02 22:05:52 -05:00
4a6f3e44ee Add support for packed clients (#802)
* 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.
2022-11-01 13:21:26 -05:00
971e0fb3b6 Modularize gargantuan objects (#797) 2022-10-31 17:32:17 -05:00
62213cd701 Implement basic functionality (#794)
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.
2022-10-31 17:32:07 -05:00
d4af7d76a2 Add property behaviors migration (#790)
* 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
2022-10-31 17:31:49 -05:00
89fb66c4a9 Change AMFArray getters to use Templates and fix CI halting when one matrix fails (#796)
* 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
2022-10-30 13:06:05 -07:00
906887bda9 Add automatic cdclient migration runner support and setup (#789)
* 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
2022-10-30 00:38:43 -07:00
a745cdb727 Implement a shared config between servers (#795)
* Implement a shared config between servers

* Auto move config file on CMake run
2022-10-29 16:17:35 -07:00
d8e73def9d Update GameMessages.cpp (#793) 2022-10-29 10:12:29 +02:00
2bdbf129cf removed migration runner from build script (#788) 2022-10-25 15:32:46 -05:00
c13937bd1f Address Brick-By-Brick builds not properly saving and make migrations automatic (#725)
* Properly store BBB in database

Store the BBB data in the database as the received SD0 packet as opposed to just the raw lxfml.  Addressed several memory leaks as well.

* Add Sd0Conversion

Add brick by brick conversion commands with 2 parameters to tell the program what to do with the data.

Add zlib -> sd0 conversion.  Files look good at a glance but should be tested in game to ensure stability.  Tests to come.

* moving to laptop

ignore this commit.  I need to move this to my laptop

* Add functionality to delete bad models

Adds functionality to delete bad models.  Models are batched together and deleted in one commit.

More testing is needed to ensure data safety.  Positive tests on a live database reveal the broken models were truncated and complete ones were kept around successfully.  Tests should be done to ensure larger sd0 models are properly saved and not truncated since this command should be able to be run any time.

Valgrind tests need to be run as well to ensure no memory leaks exist.

* Delete from query change

Changed from delete to delete cascade and instead deleting from properties_contents as opposed to ugc.

* Address numerous bugs

DELETE CASCADE is not a valid SQL command so this was changed to a better delete statement.

Added user confirmation before deleting a broken model.
Address appending the string model appending bad data, causing excess deletion.
Addressed memory leaks with sql::Blob

* Error handling for string

* Even more proper handling...

* Add bounds check for cli command

Output a message if a bad command is used.

Update MasterServer.cpp

* Remove user interference

-Add back in mariadb build jobs so i dont nuke others systems
- Remove all user interference and consolidate work into one command since 1 depends on the next.

* Add comments

test

Revert "test"

This reverts commit fb831f268b7a2f0ccd20595aff64902ab4f4b4ee.

* Update CMakeMariaDBLists.txt

Test

* Improve migration runner

Migration runner now runs automatically.
- Resolved an issue where extremely large sql queries caused the database to go into an invalid state.
- Made migrations run automatically on server start.
- Resolved a tiny memory leak in migration runner? (discarded returned pointer)
- Moved sd0 migrations of brick models to be run automatically with migration runner.
- Created dummy file to tell when brick migrations have been run.

* Update README

Updated the README to reflect the new server migration state.

* Make model deleter actually delete models

My complicated sql actually did nothing...  Tested that this new SQL properly gets rid of bad data.

* Revert "Update CMakeMariaDBLists.txt"

This reverts commit 8b859d8529.
2022-10-24 17:20:36 -05:00
8d44f2f5da Add missing property path checks for new zones (#783)
Co-authored-by: Jett <55758076+Jettford@users.noreply.github.com>
2022-10-24 00:54:21 -05:00
366c3db7fe fix reading respawn for older maps (#784) 2022-10-23 21:54:59 -05:00
f02e9c0f6a Address being able to friend yourself (#779)
* Address being able to friend yourself

Fix an issue where players could friend themselves.  Also stops yourself as appearing as a friend on your own friends list.

* Send a Response instead

Send a MYTHRAN response since the player is attempting to friend a Mythran.
2022-10-21 19:35:12 -05:00
409d682c9d fix loading scenes in some older formats (#782)
This fix is based on lcdr's luzviewer
2022-10-21 19:34:38 -05:00
63af2c8da7 Add ZLIB for Windows (#768)
Added ZLIB for Windows.  Packets for character creation are now compressed on windows before sending and ZCompression can now be used on Windows.
2022-09-05 20:28:47 -07:00
ce2e6f595b Resolve incorrectly marked consumables being unusable (#770)
A change was made in the mounts pull request that broke consumables without correctly marked types such as the picnic basket
2022-09-05 17:28:32 -05:00
c552f46780 ignore empty.lua and empty scripts (#769)
* ignore empty.lua and empty scripts
and return early if it's an ignored script

* return it else if logic
2022-09-04 21:43:16 -05:00
14d4bf3cc5 Script for aborting a wbl zone transfer (#766) 2022-09-02 13:49:38 -05:00
26f2eb409f Mounts v2 (#726)
* Mounts -v2

* fix stun state and make comments a bit nicer

* remove extra serilization

* update the char position a bit more correctly

* make vehicles face thr player's direction

* address feedback

* fix compiling for real this time

* removed uneeded check
2022-09-02 13:49:19 -05:00
1af3e59348 Scripts for the AG sentinel camp QB wall (#761)
* Scripts for the AG sentinel camp QB wall

* use lookat

* Address feedback

* Fix stromling spawner

* fix aggro and remove logs

Co-authored-by: Jett <55758076+Jettford@users.noreply.github.com>
2022-09-01 21:44:26 -05:00
e3077aa410 Fix Windows not working due to libbcrypt not working on Ninja (#765) 2022-09-01 19:24:00 -07:00
3b75ecc0b4 Add script to playfx on canisters before consoles are active (#754)
* Add script to playfx on canisters before consoles are active

* remove debug stuff
2022-08-27 21:48:03 -05:00
b70e7334e8 Parrot crash script to become a sneaky ninja and steal the pirate's booty (#752) 2022-08-26 22:58:41 -05:00
500b7885e2 Add pirate rep script (#751)
* Add pirate rep script

* fix formattimg
2022-08-25 21:09:08 -05:00
bc132487e9 Updated README (Formatting and flow) (#744)
* Updated flow of database section

* Changed bolded headers to actual headers

Will now allow you to link to them

* Updated Linux build command to match build script

* Updated database wording
2022-08-25 14:16:20 -07:00
47f0830483 Add GF geyser script (#749)
* Add GF geyser script

* remove uneeeded include

* const
2022-08-25 15:51:22 -05:00
e707207ffa Add FV Geyser script (#748)
* Add FV Geyser script

* remove uneeded include

* const
2022-08-25 15:50:13 -05:00
ceb374591f Move mailbox closing to its script (#740) 2022-08-18 19:42:52 -07:00
c05562a227 Modularize CMakeLists for submodules (#736)
* Use RecastNavigation CMakeLists

* Use tinyxml2 CMakeLists

* Use bcrypt CMakeLists

* Move variable init to CMakeLists

This has to be done here to prevent missing dependency errors.

* General improvements

Only link dynamic if on gnu
use more thirdparty cmakes

* Disable tinyxml2 testing
2022-08-18 19:23:42 -07:00
f8c1e2fb52 Script for when archway rebuild is done (#739) 2022-08-18 15:33:32 -05:00
e4a15a0f2e Add imagimeter visibility script (#738) 2022-08-18 00:09:14 -05:00
dd8091f60e Hide dependency compilation warnings (#696)
* Hide raknet compilation warnings

* Move out MariaDB Connector/C++ logic

* remove mariadb warnings?

* hide mariadb cmake warnings?
2022-08-17 01:43:54 -07:00
50b3946548 Fix death planes (#735)
* Correct death plane size

The death plane file size is not in units but is actually in 4x2 tiles.

* Make it a bit bigger for now

* Enjoy your crust

"These things add flavor they said"

Move the position of the death barrier down 13.521004 units so we effectively only extend its hitbox in the -Y direction as opposed to the +Y direction, resolving an issue in Battle of Nimbus Station where the death plane was too tall
2022-08-16 22:28:50 -05:00
976bd3c41b Selective saving for map and location (#732)
* Don't save the map and char location info if
we are in an instanced 
* LUP worlds will be handled in a future PR
* simplify check
2022-08-16 20:53:28 -05:00
3b7f1dad54 Fix death planes (#733)
* Correct death plane size

The death plane file size is not in units but is actually in 4x2 tiles.

* Make it a bit bigger for now
2022-08-16 18:53:01 -07:00
54021458bd Change build command in build script (#729)
The script now uses the cmake build as to be compatible with all platforms as opposed to just platforms that supported gnu make.
2022-08-16 01:49:44 -07:00
1e1b6aaa0b Update Docker.md submodule note (#730)
* Update Docker.md 

Changed note to recursively update git submodules, otherwise would lead users into #728
2022-08-14 11:05:07 -07:00
008f953003 Add physics volume for property orb (#718) 2022-08-08 09:34:56 -05:00
dc960cb99c Fix landing animation (#720) 2022-08-08 09:34:33 -05:00
2d0faae759 Merge pull request #719 from DarkflameUniverse/unix-line-endings
Unix line endings
2022-08-08 09:33:43 -05:00
932d8030f0 update git blame ignore 2022-08-08 08:31:44 -05:00
7f5ab8b9fa Dockerfile: Copy dNavigation to build dir (#722)
Fixes an issue where new directory was not copied over to the correct folder for Docker
2022-08-06 22:59:27 -07:00
6c97ea8208 Implement flying command (#713)
* Implement flying command

* Add documentation.
2022-08-06 01:19:34 -07:00
72477e01e2 convert to unix line endings 2022-08-05 22:01:59 -05:00
ea86988521 Revert dZoneManager Initialization order (#717) 2022-08-05 19:20:11 -07:00
d626ac1ed4 Merge pull request #714 from DarkflameUniverse/macro-formatting
Macro formatting consistency
2022-08-05 12:37:29 -05:00
168f837b94 add blame ignore 2022-08-05 08:40:59 -05:00
9e4ce24fd2 add semi-colons to macros consistently 2022-08-05 08:40:12 -05:00