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

Merge Dev into master #1339

Merged
merged 90 commits into from
Dec 2, 2024
Merged

Merge Dev into master #1339

merged 90 commits into from
Dec 2, 2024

Conversation

raydienull
Copy link
Contributor

No description provided.

cbnolok and others added 30 commits August 10, 2024 18:59
…ntext data in server logs.

- Fixed: custom triggers not firing.
- Fixed: CUOClientVersion not parsing correctly new string format.
- Fixed: TOOLTIP Dialog keyword sending the cliloc number in hex notation if ini DecimalVariables == 0 (unsupported by client, making some of them crash).
- Fixed: some integer data type size inconsistencies.
- Fixed: initialization order fiasco for CAccounts at server shutdown.
- Changed: Str_To* functions to return a std::optional value, in order to get the best error handling (before, it depended on errno and there were ambiguous return values for invalid or "0" zero strings.
- Changed: Refactored CUOMobTypes.
- Changed: replaced localtime function with thread-safe alternatives, avoiding data race conditions.
- Added: stypecast.h. It has utilities to cast numbers with strong guarantees and error checking at compile time, to avoid undefined behaviors, involuntary wrong sign/size cast or overflowing.
…ad of signed char) and initialization order fiasco for g_Srv
…rties:

Changed: since there was too much data to be stored in the FACTION/SLAYER property, so that it sometimes couldn't fit and caused issues,
	it has been split in two different propertie
	  - FACTION/SLAYER_GROUP (expects a bitmask, max value of the usable flag: 0x800000),
	  - FACTION/SLAYER_SPECIES (plain number, max value 255).
	    SPECIES with index/value 1 are always considered to be SuperSlayers for their group.
Added some security checks and constexpr.
…ebug builds.

Fixed: gump tooltips not showing. Also, small refactoring of dialog parsing code.
Fixed: CUOMobtypes not parsing correctly strings with comments, bug introduced with a recent refactor commit.
Fixed: CGlobalChatChanMember name could be corrupted/overwritten since it was using a temporary string instead of a properly owned one.
Fixed: undefined behavior warning in CScriptObj.cpp.
Added more stypecast functions and a couple of fixes there.
Added more noexcept specifiers.
Added: RETRY_LOCK_FOR_TASK*, used to retry mutex lock in the (rare) case
it fails. This has to be used only for critical mutexes.
Added: STDERR_LOG to log critical messages to stderr if standard CLog
methods are failing or can't be used.
Added: NOTHROW macro to specify functions that might throw an exception,
as opposite to nothrow.
Adapted some CLog and threading methods to actually be noexcept.
Reordered common.h.
Removed legacy/unused SLAYER* properties.
Added log message when a new thread is created or a thread is being renamed.
Added more methods for enum conversion in stypecast.h.
Made more resilient to rare mutex locking errors the threads-managing code.
Made more threads.h methods noexcept.
Reordered CChar members to reduce memory usage.
Added ensure_comptime() in common.h.
Fixed Windows compilation error.
…e base def.

Splitted num_alias_cast into n_alias_cast and enum_alias_cast.
cbnolok and others added 24 commits October 13, 2024 18:30
Added different macros, instead of using _MSC_VER. This one is added
even when Clang with MSVC runtime, so it's not viable to check if we're
compiling with MSVC.
…r 1 as a return value.

Fixed regression for FOLLOWERSLOTS.
…rcase some macros, converted some strcpy to safer variants.
If the memory owner is not present, skills do not fail when taking damage, but if the memory owner is alive, skills fail when taking damage.

Tested.
Previously, many memories did not have morex information, but now for some reason many memories have morex information and for this reason the trigger was not triggered in almost most of the memories, the morex query was removed. Also, the slang did not represent the memory item,
If you are around an entity that you own and you are trying to open a bank next to a bank, the "bank" command is perceived as a pet command and the bank does not open. There is no problem when you type "bank" after mounting the mount, but "bank" does not work when you dismount. (Issue #1331)

tested.
* Added TAG.NOREJOIN tag for corpses

If the NOREJOIN tag is 1, the player cannot come back to life on that corpse. That is, the player comes back to life but not on the corpse.
	This tag does not prevent the player from coming back to life, it just prevents them from respawning on that corpse. The player always comes back to life, but not on that corpse.
Caused by changes in mariadb-c-connector homebrew packaging.
All skills that have a distance query have been adjusted to take the RANGE values ​​of that skill.
@raydienull raydienull self-assigned this Dec 2, 2024
@raydienull raydienull merged commit bb06831 into master Dec 2, 2024
37 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants