Commit Graph

1166 Commits

Author SHA1 Message Date
17d77db1c6 Update SECURITY.md 2022-07-31 15:14:16 +02:00
e97dc6fbff [no ci] update link to darkflame-security-announce 2022-07-31 14:06:05 +02:00
7ec458421f Create SECURITY.md 2022-07-31 13:58:50 +02:00
0b9e97625e Remove parentheses from ADD reporter_id 2022-07-30 22:09:45 -07:00
d64fa1680d Fix missions re-ordering on reload (#686)
* Fix missions re-ordering on reload

Check for success rather than failure

* Add a comment

* Get base value from database

* Update Mission.h
2022-07-30 20:56:21 -07:00
f80a26a944 Fix integer issue with BricksCollected (#679)
This fixes an issue where BricksCollected goes to an insane number after selling more bricks than you collected in the area
2022-07-29 20:41:14 -07:00
26ddeaa429 Fix NPC Proxy items (#684)
* Fix racing lap times

* Address NPC proxies

NPCs are supposed to equip the sub items of items they equip and were not doing so.  This PR adds this functionality and fixes and issue where Neido on Crux Prime was not wearing their sword.

Tested that Neido has their sword and that other NPCs that wear proxies also get their proxies equipped.  Had no issues with any other world crashing.
2022-07-29 19:00:36 -05:00
8b386ae6c5 Merge pull request #685 from DarkflameUniverse/editorconfig
Editorconfig and codebase format
2022-07-29 12:23:27 -05:00
f284e5a6e1 fix filename 2022-07-28 11:35:57 -05:00
1b01abd7d9 Merge branch 'main' into editorconfig 2022-07-28 09:27:06 -05:00
0e46b875a5 blame ignore and contributing update 2022-07-28 08:47:28 -05:00
19e77a38d8 format codebase 2022-07-28 08:39:57 -05:00
adb6a2c609 Fix racing lap times (#683) 2022-07-27 20:54:42 -07:00
4f7aa11067 add editorconfig 2022-07-27 22:33:36 -05:00
ffd4477081 Increment DLU patch version 2022-07-27 10:08:04 +01:00
a632ef8ccd Clean up format logs (#682) 2022-07-26 23:52:53 -07:00
9e08bb20d2 Implement proper bounds checks across the codebase (#681)
* Implement proper bounds checks across the codebase

* Implement strnlen_s for cross platform
2022-07-26 20:52:04 -05:00
9813c3ed2c Better Unicode support in GeneralUtils (#658)
* ASCIIToUTF16: output replacement character instead of failing assert

* Add GeneralUtils::_NextUTF8Char

* Implement GeneralUtils::UTF8ToUTF16

* use string_view everywhere

* use string_view::front instead of begin

* Add PushUTF16CodePoint
2022-07-25 21:11:30 -07:00
e97ae92624 Make logger automatically put a newline (#675)
at the end of the line
remove all the newlines in log calls
2022-07-24 21:26:51 -05:00
a7fb6eb3f3 make LoadFromXml usage consistent across comps (#673) 2022-07-24 21:03:22 -05:00
9ed4a4f47f Remove uneeded include (#674) 2022-07-24 16:17:01 -05:00
b57cacc676 Player forced movement component (#672)
* Split out Level progression component
from Character Component
This is to get to the Player forced movement Comp in a sane way

* move XML to component insted of abusing charComp

* use overrides
should probably make everything that calls that call it correctly

* fix linking issue

* Add proper Player Force movement component
Not used, yet
2022-07-24 13:25:10 -05:00
f2d1c5d26d Split out Level progression component (#671)
* Split out Level progression component
from Character Component
This is to get to the Player forced movement Comp in a sane way

* move XML to component insted of abusing charComp

* use overrides
should probably make everything that calls that call it correctly

* fix linking issue
2022-07-24 13:04:02 -05:00
ef0a3c6d0b Add Hot Properties struct and address some whitespace (no functionality change) (#667)
* Add GameMessages

* General AMF cleanup

Proper memory management as well as style cleanup

* 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 GameMessages.h

* Add GM

* Comment out function

* Spacing

* eof
2022-07-22 19:58:20 -07:00
6a38b67ed5 General AMF cleanup (#663)
* 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
2022-07-21 22:26:09 -07:00
5523b6aafc Refactor UpdateEntities to not lose items if we add them while processing (#664)
* if we are deleting entities, and we add an entity
to delete, dont throw it out

* made it all uniform

* change update back to how it was
since it's an unordere map and
wouldn't be guaranteed to update even in this secnario
2022-07-21 21:09:25 -05:00
40a9aefb5b Aggro radius (#665) 2022-07-20 20:26:52 -07:00
91f2cebcc7 Merge pull request #661 from EmosewaMC/bons-fixes
Use Aggro and Tether radii settings from Entity Settings
2022-07-20 10:10:57 +01:00
45a7dbdadd Add Unimplemented GameMessages (#662) 2022-07-20 01:28:57 -07:00
74bca38253 MSVC: set source / target encoding (#659) 2022-07-20 01:23:53 -07:00
082a2a418f Use radii from settings
Override the DB aggro and tether radii from the settings if they are present.
2022-07-19 23:25:50 -07:00
835cf2b794 Add an AMF Deserializer as well as corresponding Unit Tests (#599)
* Add AMFDeserializer

Add an AMFDeserializer

Reverted unrelated changes

Add unit tests for AMFDeserializer

Added unit tests for the AMFDeserializer

Finish tests

Finish the AMF deserializer tests.  This commit finishes the positive test case and implements a load test case that is expected to take less than 1.5 seconds to process.

Modularized tests

Made tests a bit modular and split into more methods

Specified binary read from file

Specified that on the IO stream we are reading a binary file otherwise windows will terminate reading the binary file on seeing a 1A byte.

Added more tests

Added tests for unimplemented values and edited a test file to be more modular

Updated test text

Fix spacing

Update AMFDeserializeTests.cpp

* Update CMakeLists.txt

* Update AMFDeserializeTests.cpp

f

Actually follow the AMF spec

Update AMFDeserializeTests.cpp

tabs

Add in commented tests

* Follow spec

formatting

Add Integer Tests

Follow Spec more

Follow spec

* Use unique_ptr

* Update AMFDeserialize.cpp

Semantics

Update AMFDeserialize.cpp

Add new lines to EOF

CMake fix

* Add better std string read

Co-authored-by: Daniel Seiler <xiphoseer@mailbox.org>

* make not static

Co-authored-by: Daniel Seiler <xiphoseer@mailbox.org>
2022-07-19 21:51:05 -07:00
74343be871 Enable _dynamic by default (#656) 2022-07-19 16:52:39 -05:00
ed5ced0bed Fix Model Component Serialization (#655)
* Fix model component serialization

* Update ModelComponent.h
2022-07-19 16:51:35 -05:00
3dfe363a6b Added Aronwk and Simon to the readme (#657)
* Added myself and Simon to the readme

Me, since I've started to work on implementing mounts again.
Simon for his work in Reverse engineering the client which has been helping over the years.
Venture Vision and moving platforms/simple movers being two recent things that his RE has helped fix.

moved the special thanks out a header at the suggestion of Xipho and Max, since these people have not directly contributed to the DLU codebase.
made a section under the DLU team recognizing Blaster for the Logo that DLU uses
bumped up the credits header to make formatting make more sense

* Update based on feedback

Credit Blaster builder as they requested.
Remove duplicate entries for under DLU Team as requested
2022-07-19 09:29:26 -05:00
8e5da2cf1f Merge pull request #652 from DarkflameUniverse/blacklist-and-chat-changes
Blacklist and chat changes
2022-07-19 10:40:44 +01:00
ec4ed8fa7e Adding migration command to build script (updated) (#653)
* Added checks for migration runner

* Added migration command to build script
2022-07-18 18:44:21 -05:00
b55606d41e Fix the issue where we would create new worlds on ports that were still being used (#625)
* Wait for world to shutdown

We need to wait for the message that the world has shutdown before shutting it down.

* Dont sent people to dead instances

* Added shutting down check

Added check for isShuttingDown

* Update when we remove from master
2022-07-18 18:08:33 -05:00
69a0d5a50b Efficiency and naming changes. 2022-07-18 10:01:43 +01:00
945e572493 Add best friend check and complete blacklist 2022-07-17 09:40:34 +01:00
ef8c2a40f3 Framework for GM's and helpers for mounts (#651)
* Framework for GM's and helpers for mounts

* docs and spacing

* whitespace
2022-07-17 02:35:11 -05:00
fab8a1e982 Implement new chat features 2022-07-17 07:54:36 +01:00
0d4f86b20b Resolve missing RakNet replacement (#650)
Repair issue from PR earlier, crucial fix.
2022-07-17 06:57:00 +01:00
c689b3d3d1 Parent and Child Deletion Improvements (#649)
* Fix timers

* Update Entity.cpp

* Fix timers

Fix timers

Remove debug logs

remove _dynamic

* I like to move it move it

* Child Deletion Improvements

* Check bounds
2022-07-16 21:39:13 -07:00
77d35019cc Replace the usage of RakString (#648) 2022-07-17 04:40:46 +01:00
9287e5bc4b Split itemType enum into it's own header (#647)
* Split itemType enum into it's own header
add mount item type

* fix whitespace
2022-07-16 20:36:09 -05:00
f5ae5aa13e Address timers being iterated through poorly (#646)
* Fix timers

* Update Entity.cpp

* Fix timers

Fix timers

Remove debug logs

remove _dynamic

* I like to move it move it
2022-07-16 20:21:35 -05:00
df0f11c95b Update CMake configuration for easier maintenance (#642)
* 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>
2022-07-17 00:24:16 +01:00
9c0819de4f Add MacOS building to the Github Actions (#643)
* Add MacOS to CMakePresets.json

* Update workflow to run MacOS builds

* Update test and build presets

* Add libssl install to integration

* Update workflow to install libssl and openssl

* Prevent brew running as super user
2022-07-16 22:55:54 +01:00
3d46d703b2 Remove memory leak in player container and warning in Behavior (#640)
* Add friends list migration

* Change friends to use charID

Update friends table to use charID and not LWOOBJID variant.

* Fix remove friend

Fix remove friend and make the query more readable at a glance.

* Add and remove friends in the container

Properly add and remove friends in the player container

* add enums

* Add best friends and basic GM support V1

* Add more features

* not online / doesnt exist implementation

Implements the not online and invalid character response codes

* Address players not being removed

Fix an issue where players would not be marked as offline in the friends list due to the message not being sent in all circumstances.

Tested changes on 3 clients, switching characters, logging out from character select, switching characters, world transfer and my friends list looked as it was supposed to.

* Implement proper friends system

Remove debug logs

Track count of best friends

Add best friends list cap of 5

Add config option and best friend update

Add a config option and implement the last missing best friend serialization

Added comments and fixed remove best friend bug

Added some comments and addressed an issue where removing best friends would not remove them from your internal count of friends.

properties and logs fixes

whoops, had an issue

send reply if already BFFs

Send the correct objectID

I really need to rename these

Fix white space

goon

* Replace queries with unique ptrs

* remove user from player container on deletion

Remove the user from the player container when they delete their character.

* Bump patch version

* Improvements to PlayerContainer

Resolved a memory leak in the player container, removed commented out code and resolved a warning in Behavior.cpp

* Make it a unique ptr

* Improvements to PlayerContainer

Resolved a memory leak in the player container, removed commented out code and resolved a warning in Behavior.cpp

Make it a unique ptr

* Update PlayerContainer.cpp
2022-07-13 09:11:24 -07:00