Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add instructions on solving missing DLL issue #379

Merged
merged 2 commits into from
May 25, 2022
Merged

Conversation

Jettford
Copy link
Collaborator

No description provided.

@Jettford Jettford requested a review from codeshaunted January 14, 2022 22:07
@codeshaunted
Copy link
Member

codeshaunted commented Jan 15, 2022

Better solution would be to copy the dlls into the build folder. This should be possible with CMake.

@Jettford
Copy link
Collaborator Author

That is a good point to be honest.

@TheMatt2
Copy link
Contributor

TheMatt2 commented Jan 17, 2022

The file can be moved programmatically by adding a line in CMakeLists.txt

229     endif(UNIX)
230    if(WIN32)
231    link_directories(${mysql_SOURCE_DIR}/lib64/vs14)
+++    file(COPY ${mysql_SOURCE_DIR}/lib64/mysqlcppconn-9-vs14.dll DESTINATION ${PROJECT_BINARY_DIR})
232    endif(WIN32)

endif(UNIX)

@Jettford
Copy link
Collaborator Author

You need to also move the lib*.dll's too

@TheMatt2
Copy link
Contributor

TheMatt2 commented Jan 17, 2022

Interesting. It seems work anyway.

There is probably a way to use file(GLOB...) to move all of them at once, otherwise they would all need to be listed.
Or just list them.

Perhaps there should also be a check to move the .pdb files if it is a debug build?

@Jettford
Copy link
Collaborator Author

PDBs are referenced by absolute paths, they shouldn't be moved

@codeshaunted
Copy link
Member

codeshaunted commented Jan 17, 2022

zlib’s dll should also be moved (which notably is named different is the build is debug). Best solution would probably be to recursively add all .dll or .so files to the build folder.

@TheMatt2
Copy link
Contributor

PDBs are referenced by absolute paths, they shouldn't be moved

I'm a bit confused how this could be the case. Specifically for the PDB files for mysql's connector, they are downloaded from mysql website, not compiled.

So how could they be referenced by absolute path?

I assume they are meant to be in the same folder as the corresponding DLL, though I don't know how to really test this.

@Jettford
Copy link
Collaborator Author

Hmm, I have never thought about that. I just know inside the PE files the PDB is always defined by its absolute compile path

@codeshaunted
Copy link
Member

Hmm, I have never thought about that. I just know inside the PE files the PDB is always defined by its absolute compile path

You would likely need to manually re-reference the pdb file if you ever wanted to use it. I don't see it being worth it to move the PDBs by default.

@Xiphoseer
Copy link
Contributor

There's a cmake install directive + command specifically for moving binaries and libraries where they need to be. Doing that as part of build isn't really the best option IMO

@Xiphoseer
Copy link
Contributor

Suggestion: Merge this and open an issue about automatic installation?

@Xiphoseer Xiphoseer added the docs There's something wrong or missing with the documentation label Feb 5, 2022
@aronwk-aaron
Copy link
Member

Taking Xipho's suggestion and merging this doc change, then making an issue to fix the cmake issue

@aronwk-aaron aronwk-aaron merged commit 445c01d into main May 25, 2022
@aronwk-aaron aronwk-aaron deleted the readme-fixes branch May 25, 2022 23:41
RediPanda added a commit to YulxVol-Studios/DarkflameServer that referenced this pull request Jul 8, 2022
* Leaderboard Scoring Updates

* Leaderboard Scoring Updates

* Check user input for the "/runmacro" command

Presents users from specifying a file path, and looking up macros in the 
expected folder.

* Add proper sanitizing for input to SQLite database.

Adds function `ExecuteQueryWithArgs(query, ...)` to allow for queries 
with user input.

There is a known issue, that the funciton does not work with 
std::string. All strings must be converted to c strings.

* Additional SQLite lookup sanitizing with CDClientDatabase::ExecuteQueryWithArgs()

* Additional SQLite lookup sanitizing.

Using CDClientDatabase::ExecuteQueryWithArgs() across all known lookups.

* Comply with Xiphoseer required changes.

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.

* Fix whitespace

* Fix whitespace

Convert to tabs and remove trailing whitespace

* Fix UserManager not logging chosen name properly

* Fix MasterServer not always closing database connection on exit

* Use exit code macros

* Improve GitHub issue templates

* Adjust chosen character name logging

* Explain in issue templates how to get Git commit SHA

* Fetch zlib library over HTTPS

* Added a GM send after QB complete

* resolved MacOS compilation warnings

* special case for pets

* Client does calcs

* uses number of bricks now

* removed unnccessary work

* dirty bit

* fixed erronous log

* Fixed skills proxies

* Added migration for plunger gun

* added comment

* updated initial migration

Made it so people wont accidentally wipe their database if 0_initial.sql is ever run again

* Sped up server shutdown

* Destroying database specifier

* correct exit

* added returns

* Update MasterServer.cpp

* Chat log no longer needed

* Spacing

* separated world server to more functions

* more specific logging

* incorrecly named variable

* Updated logging

* check if map exists for testmap

* simplify

* fix tabs/spaces

* missed a semicolon

* Prevent integer underflow in item removal

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.

* Vault corrections

* Ensure items correctly removed from missions

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!

* Added a bracket... -_-

Maybe I should write and test code on my computer rather than using Git as an IDE and commits as the save button...

* Update GameMessages.cpp

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.

* implement some missing scripts

* fix comparator

* fix copy past error

* update script path for fans

* Simplify some stuff
Remove render component in startup

* fix volumen physics name

* tabs and log

* make the hydrant match the lua script

* update the Effect ID

* remove log

* rock hydrants work

* honor the logic in the lua script

* missed semicolon

* scope

* ugh, another semicolon

* cleaning up some stuff

* Fixed Racing Mission

* Try, Try Again achievement now progresses when the player gets last place in a race of 3 or more players, or when solo racing is enabled.
* Race Series 1 mission from Velocity Lane now progresses correctly.

* Fixes

* remove dereference
(I think that's what it is called)

* cleanup logs, fix overrides, define LOTs in header

* also apply overrides to AG fans

* case for putting you back into FB when leavign space blizzard

* Fix solo_racing for Frostburgh's Space Blizzard Racetrack

* Fix migration 0 for cd server
setting every component to 1901 instead of just component 39
Add migration to fix it for existing users
and set the values back to what they were

* make newline at end of file

* isPlayer changes

Changed isPlayer to check for whether the entity has a character instead of checking system address of entity.

* Grammar error

Level reward needed an underscore

* Updated AddItemToInventorySync

AddItemToInventorySync now sends the correct loot source type

* Vendor buyback inventory

Fixed vendor buyback inventory so it properly scrolls when the player adds enough items to it.

* added lootsource send in GM

WIP commit

* corrected number

* Specified enum

the LOOT_SOURCE enum is now attached to all loot sources.

* loot source for item drops

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.

* Revert "isPlayer changes"

This reverts commit 2e61839.

* missed change for forge

* removed debug logs

* commit

* removed logs

* changed loot sources to none

Changed loot sources for some scripts to none so they properly give loot to the player.

* Skill Tasks changes

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.

* Corrected action for OverTimeBehavior

* Typo in NsConcertInstruments

* Updated vendor component

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.

* corrected serialization

* added comments

* Vendor refresh change

Changed vendor refresh to happen as soon as it is able to.

* Added Loot Buff Behavior

Added functions and methods to support the pickup radius.  Functionality includes:
Corrected serialization for ControllablePhysicsComponent which correctly serializes the pickup radius to the client.
A method to add the pickup radius to the list of active pickup radii the component has.
A method to remove and re-calculate the largest active radii the component currently has.

Tested equipping all variations of the LootBuff behavior (passive skills, items, item skills) and all functioned as intended.  Tested equipping multiple items with a loot buff and then unequipping them in different orders.  Tested adding pickup radii of different values and the server correctly adjusted the pickup radius to the largest one currently equipped.

* Serialize ape when changing armor value

* Added back brick inventory resizing

* Added animation

Added the GM animation and stun for the Nexus Tower Paradox Panels for mission 1281.  Tested on local instance and animation played correctly when having the mission and did not play at all before or after completing the mission

* Split out Darkitect reveal into it's own file
add reveal to Fong

* Update RebuildComponent.h

Quickbuilds jump fix

Corrected an error where the builder was erronously changed to an empty lwoobjid when a quickbuild was completed, causing the builds to no longer jump on completion (if configured to do so.)  Packet captures from live show that we do not want to get rid of the builder during resetting or during completion of the build so the file has been changed to not clear the builder in those cases.

* Implement Rocket Launch Lup Component

* Add precondition check

* Client handles rocket being unequiped
when closing the dialog
and when launching

* Styling edits

* fix Java doc comments
removed unused param

* remove sysaddr from call in Game Messages

* bump patch version

- Quickbuilds jump on completion
- Fong now plays darkitect cutscene on a mission completion
- Nexus Tower panels now play the repair animation
- Vendors can now refresh
- Loot magnet abilities now work
- Spinjitzu Initiate now works
- Achievement items now get moved to the players inventory as they did in live, by popping up from the achievement box
- pop up when you get a new life container now shows up as it did in live
- Parrot in Nexus Tower is no longer an oar
- Fixed an item underflow bug
- Vaults for Items and Models now are the same size and start out at the correct size
- The buy back inventory for vendors now allows you to scroll (only after backing out of the menu first for some reason)
- Untamed pets no longer cause client hitches in Nimbus Station and Forbidden Valley
- When shutting down, the server now shuts down in 1 second instead of 75
- Plunger gun is no longer a main hand item
- Skills for proxy items no longer require a reload to be used
- Resolved some MacOS compilation warnings
- Quickbuilds now play a celebration on completion
- Bug reports are more specific
- Property viewer and plaques now work as they did in live and display all the correct information
- Properties now also save more often instead of every 10 minutes
- Avant Gardens Survival buff station now works
- Exploding dummy for Nexus Tower combat training now works and allows progression
- Racing missions for smashables now work
- Apes now act as they did in live
- Dragons on Crux Prime now spawn the quick build for insta smashes
- Civilian players can no longer use /playanim
- Proxy items no longer grant extra stats
- Shooting gallery daily missions now work
- Operators can now spawn race cars in non-racing worlds
- Level rewards now show their achievement as they did in live

We really need to do this monthly so the notes arent this long lol

* Proper Rocket Holding
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

* Exclude space blizzard from Zone ghosting

* replace the survey link with the repo link
(not that anything can load in the in-game browser anyway)

* Set url from world config instead of hardcoding

* Add AM Teapot server
Resolves DarkflameUniverse#224

* get zones from settings

* remove cdclient include

* resolves DarkflameUniverse#556

* climbable server side settings

* explicit set to 0

* resolve comments

* maybe fix it

* Added Comprehensive Slash Command Documentation (DarkflameUniverse#402)

* Added documentation for all available commands

* Adjust formatting, removing backtick characters

* Replace HTML tables with Markdown tables

* Formatting changes

* Suggestions from @sersorrel in DarkflameUniverse#402 and other minor edits

* Add detailed usage for /inspect

(thanks to @sersorrel for this information, in discussion of DarkflameUniverse#402)

* Fixed display logic for NS Survival leaderboard

* Update Docker.md with buildkit and submodule notes. (DarkflameUniverse#458)

* Update Docker.md

Add link to enabling docker buildkit. Add note to remember to clone submodules.

* Remove unpacked client option

Unpacked client does not have required directories/files (e.g. /versions/trunk.txt) and thus the packed client is required.

* Add note about renaming CDClient.fdb

DarkflameSetup will fail because it cannot find cdclient.fdb. However, CDClient.fdb exists. Renaming it fixes the issue.

* Remove extra "client"

* Add instructions on solving missing DLL issue (DarkflameUniverse#379)

* Add instructions on solving missing DLL issue

* Repair formatting to be consistent

* only make teams for minigames
if we have more than one participant

* Fix overrides in ActMine (DarkflameUniverse#568)

* Corrected string to long conversion

For Windows, the definition for a long is 32 bits, not 64 bits like on other operating systems.  This caused an issue on Windows only where a number larger than 32 bits was attempted to be converted to a long, the WorldServer would crash.  This commit replaces all instances of `stol` with `stoull` to further define a long and reduce ambiguity of number length.

* Fix unhealthy docker containers (DarkflameUniverse#574)

* Add curl to brickfix dockerfile.

* Add curl to AccountManager docker.

* Fix issue preventing container from building.

* Move owner override

Mover owner override to be earlier so that we dont try to get the team of an entity that doesnt have a team and may be a child entity of a player.  Tested changes with a team of two players and players were correctly given credit for kills

* Fix item getter for moving items

This fixes an issue where the item would get overwritten and would effectively fetch a "random" item in the inventory to move instead of the requested one.

* Address bricks selling 1 at a time

Bricks have a stack size of zero in the cdclient so we need to make sure to give them a full stack size of 999 as we do for the bricks inventory with the selling inventory.

* Don't give activity loot for Battle of Nimbus Station

Address an issue on Brick Mesa where Battle of Nimbus Station was dropping activity loot.  Tested completing Battle of Nimbus Station and ending early and was not given loot as is expected.

* Revert "Don't give activity loot for Battle of Nimbus Station"

* Add /setlevel slash command

Add the setlevel slash command.  Command accepts parameters of the requested level and a player to set the level of.  This also adjects the uscore of the player accordingly.  The player must re-log upon using the command to see any updates to themselves or others.

* Add setlevel to commands doc

* Address quickbuilds being unbuildable

Address an issue where quickbuilds would become unbuildable.  The main issue lied within serializing parent/child info too often for some reason / serializing it when the info wasnt dirty.  Only serializing this info when it is actually dirty and has changed has addressed the issue and allows quickbuilds to never break.

* Properly place build activator

The build activator as a result of the previous changes was spawning at the wrong position.  This commit pulls the activators position from the settings (should they exist) and sets them accordingly.

* Added comment

* Address reviews

Changed the activator position parsing to have TryParse so that we dont throw an exception trying to load the position.  Should the loading of the activator position fail the game will default to the position of the entity.

change delimiter value to hex

Updated the character delimiter used for rebuild_activator settings to use hex

Remove extra parsing of activator position

in Entity.cpp we were parsing the activator position but when doing so where we were, this was after we had ended up spawning the activator since that is now in the constructor of the rebuild component.  The extra parsing has been removed.

Simplify dirty parent/child info

Simplify the if condition for parent child info.  This info only needs to be written should it be changed (dirty) or if the packet being sent is a construction, meaning that a requesting player needs all base data and needs to know what parents/children an entity has at that time.

get rid of extra parenthesis

Left over extra parenthesis were around these conditions on accident

* remove children

We need to make sure we are actually deleting children from the vector of children when they are deleted as entities.

* Add to common vars and dnet

Added values to enums on dnet and common vars that were missing

* Add GM

Added GM for UseItemRequirementsResponse that was missing in current implementation

* Add pet imagination draining

Address an issue where pets did not consume imagination when they were spawned.

* Added config setting

Added a config setting to allow players to disable pets consuming imagination.  This value defaults to zero as a feature of DLU.

* inverted config check

Since most people are not regularly updating their config files, this needs to assume the value is disabled rather than enabled.

* Dont take imagination on initial tame

* update name

Pets will take imagination by default now

* Move to new branch

Added comments

Added some comments and changed a variable name to be less ambiguous.

* Move to new branch

Added comments

Added some comments and changed a variable name to be less ambiguous.

* The shooting Gallery now properly ends when a player leaves the instance

The shooting Gallery now properly ends when a player leaves the instance

Frakjaw player update

Update the Frakjaw battle instance script to remove players when they leave the instance

Simplify comparison

Simplify comparison for entity pointer to be implicit

* Update README.md

* Added item precondition checks

Added item precondition checks for items so players who do not meet the conditions cannot use the items.  tested with the faction bag tokens and they only gave the tokens when a player met all the preconditions or was a Game Master of level 6+

* Fix issue with dropship computer

The dropship computer now no longer gives a player a second mission item should they interact with it again after mission completion

* Add new contributors to contributions list

* Update Credits markdown data

* Revert "Update Credits markdown data"

This reverts commit e24ad43.

* Update CREDITS.md

* Update Xiphoseers position on the project

* Reflect the same order as that in the CREDITS.md file

* Replace list with new formatting

* Update CREDITS.md with more accurate information

* Update README.md

* Update Darwins link on the README

* Update to simpler list.

* removing myself from the situation

* yoink

I just want mounts to work, this isn't fun

* Update README.md

* Address players leaving Battle of Nimbus Station causing a crash that wont save (DarkflameUniverse#600)

* Address issue with Inventor Beehive and Buccaneer Monkey ability on valiant weapon (DarkflameUniverse#604)

* Add Script

Add the FireFirstSkillonStartup script to allow for scripts that use this to function.

* Add comments

* Address incorrect stun played by growl speakers (DarkflameUniverse#605)

Add the FireFirstSkillonStartup script to allow for scripts that use this to function.

Add comments

Fix QB Stunner scripts

Use SetVar for variable

Remember that variables for scripts need to be stored in the entity since a script can be used across multiple entities.

Remove unused variable

Specify Unsigned Int

Start skill asap, not next tick

* breakout possessor from char comp (DarkflameUniverse#606)

* breakout possessor from char comp
Use the correct component for possessor
cleanup scirps that were using possessor improperly
beginnings of mounts

* fix comments
added bounds check

* Add Aarch64 support (DarkflameUniverse#231)

* added mariadb-connector-cpp submodule

* raknet aarch64 support

* fix compile errors

* mariadb connector swap (in progress)

* update CMakeLists, add preprocessor definition to switch between mysql and mariadb connectors

* update types with missing aarch64 check

* corrected adding extra flag to properly compile mariadbconn in CMakeLists

* updated readme with arm builds section

* fix build failure if test folder does not exist

* Remove mysql connector from all builds, add mariadbconnector to windows build

* readd Linux check for backtrace lib to CMakeLists.txt

* Separate system specific mariadbconncpp extra compile flags

* Copy dlls to exes directory once built

* fetch prebuilt binaries on windows so that ClangCL can be used

* Delay load dll so that plugin directory is set correctly

* Fixed typo in glibcxx compile flag

* whitespacing, spaces -> tabs

* Updated README.md, included instructions to update

* Updated README.md

added libssl-dev requirement and removed mysql connector references from macOS builds section

* apple compile fixes for zlib and shared library name

* add windows arm64 checks to raknet

* remove extra . in shared library location

* Setup plugins directory for the connector to search in, pass openssl_root_dir on for apple

* Fix copy paths for single config generators and non windows

* change plugin folder location, another single config generator fix

* GENERATOR_IS_MULTI_CONFIG is a property not a variable

* Fixed a few errors after merge

* Fix plugin directory path, force windows to look at the right folder

* fixed directory name for make_directory command

* Update README.md

Updated MacOS, Windows build instructions.

* set INSTALL_PLUGINDIR so that the right directory is used

* Support for relative rpath for docker build

* added mariadb-connector-cpp submodule

* raknet aarch64 support

* fix compile errors

* mariadb connector swap (in progress)

* update CMakeLists, add preprocessor definition to switch between mysql and mariadb connectors

* update types with missing aarch64 check

* corrected adding extra flag to properly compile mariadbconn in CMakeLists

* updated readme with arm builds section

* fix build failure if test folder does not exist

* Remove mysql connector from all builds, add mariadbconnector to windows build

* readd Linux check for backtrace lib to CMakeLists.txt

* Separate system specific mariadbconncpp extra compile flags

* Copy dlls to exes directory once built

* fetch prebuilt binaries on windows so that ClangCL can be used

* Delay load dll so that plugin directory is set correctly

* Fixed typo in glibcxx compile flag

* whitespacing, spaces -> tabs

* Updated README.md, included instructions to update

* Updated README.md

added libssl-dev requirement and removed mysql connector references from macOS builds section

* apple compile fixes for zlib and shared library name

* add windows arm64 checks to raknet

* Setup plugins directory for the connector to search in, pass openssl_root_dir on for apple

* Fix copy paths for single config generators and non windows

* change plugin folder location, another single config generator fix

* GENERATOR_IS_MULTI_CONFIG is a property not a variable

* Fixed a few errors after merge

* Fix plugin directory path, force windows to look at the right folder

* fixed directory name for make_directory command

* Update README.md

Updated MacOS, Windows build instructions.

* set INSTALL_PLUGINDIR so that the right directory is used

* Support for relative rpath for docker build

* Rebase on main

* Remove extra git submodule

* Update CMakeLists.txt

* Remove CMakeLists.txt file from mariadb

Remove the CMakeLists.txt file from the mariaDBConnector so we dont build the tests.  Also add a config option to the CMakeVariables.txt so you can build the connector with multiple jobs

* Compile on windows

Specify the mariadbcpp.dll file location with a defined absolute path so windows knows it actually exists.

* default to 1 job

Default mariadb jobs running in parallel to 1 instead of 4

* Move mariadbcpp.dll file to the expected directory on windows

* Changed plugin

Updated the plugin location from the project binary directory to the expected location, the mariadb binary directory.

* Addressed windows dll issues by moving files to the expected directory instead of a directory that wouldnt get created

* Update README

Co-authored-by: Aaron Kimbrell <aronwk.aaron@gmail.com>
Co-authored-by: EmosewaMC <39972741+EmosewaMC@users.noreply.github.com>

* Improve CI (DarkflameUniverse#345)

* Don't upload artifacts unless on main

* Fix if/endif mismatch warning

* Add thirdparty CMakeLists

* Keep more warnings around

* Remove more RakNet warnings

* Fix indentation and divided the cmake into libraries and bins

- Each library and binary got their own CMakeLists.txt
- Indentation was fixed everywhere
- Weird if statement flows replaced

* Revert "Fix indentation and divided the cmake into libraries and bins"

This reverts commit 005a124.

* Add async value assignments

Resolves a warning where on some compilers this thread would _not_ be run async and would instead be run synchronous with the main thread, halting execution.

* Revert "Add async value assignments"

This commit was meant to be done on a seaparate branch but was accidentally pushed upstream to this branch.

* Fix Merge Conflict

* Resolve errors

Resolve errors with using continue() outside a foreach loop.

* breakout mariadb to thirdparty cmake

Move the mariadb cmake to its own directory to make each cmake file more focussed.

Co-authored-by: Jett <55758076+Jettford@users.noreply.github.com>
Co-authored-by: EmosewaMC <39972741+EmosewaMC@users.noreply.github.com>

* Implement Precompiled Headers (DarkflameUniverse#591)

When applied, this will speed up compile times dramatically.

* Add Venture Vision Behavior (DarkflameUniverse#609)

Add the Venture Vision behavior and associated functionality.  Pet digs still do not show up however.

The Kit bonus for factions have been tested and properly grant and take away the buff when it is casted and uncasted.  Tested as well using multiple Venture Vision behaviors at once and the vision only went away when there were zero equipped at once.

Remove extra includes

Convert to Tabs

Remove extra forward declaration

* Optimize scripts for faster compilation (DarkflameUniverse#597)

* Implement Precompiled Headers

* First volume of optimizations

* Scripts A-B

Gonna be doing this in alphabetical order now.

* C Scripts and remove unneeded includes from base cppscripts header

Remove the MissionComponent and Loot includes from all base scripts and place their needed includes in the respective scripts.

* D scripts

* F scripts

* F scripts 2

Finish up removing extraneous includes from scripts that start with the letter F

* G scripts

Removing extraneous includes from scripts that start with the letter G

* I scripts

Removing extraneous includes from scripts that start with the letter I

* M-Z scripts

Removing extraneous includes from scripts that start with the letter M-Z

* Revert "Implement Precompiled Headers"

This reverts commit d79d8d4.

* Revert "Revert "Implement Precompiled Headers""

This reverts commit 0597faf.

* Add back in PCH

Add back in PCH

* Fix CMake

Whitespace

Remove duplicate file glob

Remove newline

* Address modular build not returning parts upon switching some out (DarkflameUniverse#614)

* Address items not re-equipping upon exiting build mode (DarkflameUniverse#615)

* Implement Precompiled Headers

* fix cmake

* Fix modular builds not returning parts

Modular builds would not search inventory A for their corresponding item and by default would only look in the models bag.  This PR forces the item to be looked for in the inventory its coming from (inventoryA) as a second resort before doing the final search in the default inventory of the item.

Tested modular building a car and a rocket and when replacing parts the part that was already placed was returned to the inventory correctly.

* Push equipped items upon entering build mode

Fixes an issue where leaving build mode anywhere would not re-equip your items.  This also implements the feature to set your stats back to full, as was done in the live game.

Tested exiting build mode on a property with full venture gear and all gear was re-equipped and stats were set to the expected values.

* Fix item collection missions  (DarkflameUniverse#617)

* Implement Precompiled Headers

* fix cmake

* Fix modular builds not returning parts

Modular builds would not search inventory A for their corresponding item and by default would only look in the models bag.  This PR forces the item to be looked for in the inventory its coming from (inventoryA) as a second resort before doing the final search in the default inventory of the item.

Tested modular building a car and a rocket and when replacing parts the part that was already placed was returned to the inventory correctly.

* Push equipped items upon entering build mode

Fixes an issue where leaving build mode anywhere would not re-equip your items.  This also implements the feature to set your stats back to full, as was done in the live game.

Tested exiting build mode on a property with full venture gear and all gear was re-equipped and stats were set to the expected values.

* Fix item collection missions

Item collection missions are only supposed to take items should they be in the items inventory or the hidden inventory and no others.  This change removes the global inventory find of items and only removes it from the two inventories that items get taken from in live, ITEMS and HIDDEN

Tested completing mission 470 and 477 as well as 622 and the correct items were taken or not taken, based on the inventory the target item was in.

* Add openssl to list of package requirements

I forgot to add this to the list of needed packages.

* Fix nested preconditions not evaluating costs (DarkflameUniverse#618)

Fixed an issue with some builds that had preconditions not taking items from the players due to the evaluate costs parameter not being passed to nested conditions.

Tested the build in Avant Gardens and it now correctly takes items from the player upon completion.

Co-authored-by: Verathian <verathian@gmail.com>
Co-authored-by: TheMatt2 <TheMatt2@users.noreply.github.com>
Co-authored-by: TheMatt2 <22862051+TheMatt2@users.noreply.github.com>
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com>
Co-authored-by: EmosewaMC <39972741+EmosewaMC@users.noreply.github.com>
Co-authored-by: Gie "Max" Vanommeslaeghe <gievanom@hotmail.com>
Co-authored-by: Aaron Kimbre <aronwk.aaron@gmail.com>
Co-authored-by: NinjaOfLU <theninjaoflu@gmail.com>
Co-authored-by: Majo <git@maxoverlack.dev>
Co-authored-by: Jasper Reddin <jbreddin@uams.edu>
Co-authored-by: HailStorm32 <demetriv.s.7@gmail.com>
Co-authored-by: luke-sparks <49217947+luke-sparks@users.noreply.github.com>
Co-authored-by: Jett <55758076+Jettford@users.noreply.github.com>
Co-authored-by: Shane Clark <ff.shane.clark@outlook.com>
Co-authored-by: Avery <averysumner@gmail.com>
Co-authored-by: jumpy-badger <the.jumpy.badger@gmail.com>
Co-authored-by: Daniel Seiler <hi@dseiler.eu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs There's something wrong or missing with the documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants