Merged
Conversation
Using vfork() directly is extremely fragile, and posix_spawn() is easier to use. This implements a TODO comment.
Each "apt install" invocation loads the package database, and merging two calls speeds up the build.
"apt" is a wrapper for "apt-get" that is "better suited for interactive usage", but really only adds overhead, and GitHub actions are non-interactive by design.
Let's make this a single command, removing the overhead for two "cd" commands (the latter of which had no effect anyway because it was the last command in the shell process).
It's only used on non-Windows OSes, and declaring it on all but glibc broke the Windows build. Fixes regression by commit 2a129d5
The CI log should be verbose so we can see what commands are really
being used, and it's pointless to use the default "beautified" ninja
output. In this case, I'd like to know why my ccache changes were not
used ("Hits: 0 / Uncacheable: 210"), see commit b06a46e
ccache cannot cache projects using PCH properly unless we allow it to be "sloppy" about it. See ccache manual.
Another improvement for ccache with GCC+PCH, see ccache maual.
to CUSTOM_CXX_FLAGS and CUSTOM_EXE_LINKER_FLAGS. Added -Wdouble-promotion.
This hides all symbols that have no explicit "visibility" attribute. Since Sphere never needs to export any of its symbols to another ELF object (e.g. a loadable module), it makes no sense to leave them in the executable as global symbols. This will make a big difference once we use `--gc-sections`, because only sections with hidden symbols can be dropped from the executable.
This linker flag, if supported, removes unused sections from the
executable. Unused sections are those that do not contain public
symbols (therefore `-fvisibility=hidden`) and are not referenced by
other sections.
This shrinks the code size by 4%:
text data bss dec hex filename
4069421 285904 1427713 5783038 583dfe Debug/bin-native64/SphereSvrX64_release
3918858 284456 1427713 5631027 55ec33 Debug/bin-native64/SphereSvrX64_release
.github/workflows/build*: pass "-v" to ninja
…l Variables to @UserExtCmd Trigger Credits to @canerksk
…ing Animate Dead spell.
Fixed: If Giant Spiders and Fire Elementals are denied going into sleeping state into a sleeping sector, their dropped items (ie. i_spider_web) went into sleeping state and didn't decay, leading to accumulation (Issue #1249). Also, stamina wasn't consumed, thus NPCs had no limit in placing those items.
…g in a sleeping sector.
…if just placed in a sector exceeding complexity threshold.
…the random device. Moved xorshift inclusion in the cpp. Added the mt19937_64 variant for the generation of pseudo-random 64 bits numbers on a 64-bits machine (should be faster). Made xorshift and mt generators multithreaded.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.