Conversation
…also for Nightly and Release builds Useful for profiling
…ediate link-in-a-library stage. This speeds up overall compilation, since only one link pass is done, instead of one per target.
* - fixed dropping items to container with tdata3/4 ending in point 0,0 (second part of #793) - added check for placing items into containers with tdata3/4 with actual values instead of fixed ones - changed generating value for random location in container with tdata3/4 to be same as without tdata3/4 * - changed max X/Y Gump size calculation with tdata on containers - warning, if tdata4 is lower or not set and tdata3 is
* - require both tdata3/4 when using custom container dimensions * - fallback values for random container position - warn if we don't have hardcoded value - warn not to use hardcoded value * - remove notice about hardoded values (too much spam on console) * - division by zero check
…void heap allocating it each time (happening very often)
- Changed: Moved all the script grammar parsing code to CExpression.
Each Sphere thread has its copy of CExpression, which now is mostly
multi-thread capable.
- Changed into CExpression:
Made CScriptSubExprState array, used for parsing subexpressions, a
member of CExpression, instead of allocating it multiple times
and passing it around through the functions.
Stack-allocate CScriptExprContext struct and pass it around the
functions. It's sufficiently small and way faster than heap
allocating it each time, or taking it from a heap-allocated pool.
- Changed: Moved DEFMSGs, LISTs, VARs into a new class meant to be a
thread-safe holder class for global data, instead of storing them on
CExpression, named CExprGlobals.
- More info about sobjpool.h, added two commits ago:
It's a library to create a pool of heap pre-allocated
objects. These can be reused by borrowing one from the pool. It's
useful for objects with expensive constructors and/or objects that
are very frequently allocated/deallocated, to avoid the cost of
heap allocation/deallocation and construction/destruction.
- Changed: sstacks.h class names, added another helper stack container
class.
- Added: class GuardedAccess into basic_threading.h.
It offers methods to retrieve LockedReader/LockedWriter objects which
also hold a mutex lock.
There are also methods which will lock the mutex only if
MT_ENGINES macro is enabled, so that the core won't incur in useless
mutex locking overhead when unneeded (the multi-threaded world/script
handling and networking isn't complete).These are mtEngineLockedReader
and mtEngineLockedWriter.
It's possible also to retrieve an non-locked/unguarded access.
…ld (#1427) * Replacing existing VarStr/VarNum on Boot now give warning in nightly build * Update sphereCrypt.ini
Moved CppCheck cmake code in a separate file.
Changed fc::vector_set usage to std::vector.
- fix reference to non-pointer member
fix equipping in paperdoll
Fix - players equipping gear by drag in to paperdoll
…ers in alphabetical order.
…ction call stacks, which held data from different threads instead of only one). Split spheresvr.cpp classes in different files.
…not releasing instance to the pool
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.
Merge dev branch