Skip to content
Merged

Dev #1513

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
e19f9bb
Fixed typo in NPCWANDERLOOKAROUNDCHANCE
cbnolok May 9, 2025
09ada28
CMake: Added FORCE_DEBUG_INFO option to enable debug info generation …
cbnolok May 9, 2025
6cdf242
CMake: external libs are now compiled as obj files, without an interm…
cbnolok May 9, 2025
642e88d
CMake: fix MSVC toolchain generator expression
cbnolok May 9, 2025
63bfae6
- allow more extensions to be used as WebPageSrc in WEBPAGE section i…
mtwango May 10, 2025
bf1653c
Fixed: Check for followers update only when using pet slots (#1409) (…
mtwango May 15, 2025
077e025
Fix dropping items to container with tdata3/4 (#1414)
mtwango May 16, 2025
9405a7c
Fix posibly forged layer and different layer during equip trigger (#1…
mtwango May 16, 2025
93931dd
Feature: script for creating Debian package (#1417)
mtwango May 16, 2025
c61a91e
update special ability and udpate defmessages
raydienull May 19, 2025
b6c1323
Fix for container spam / crash (#1423)
mtwango May 19, 2025
743f67a
Speed improvement: created an object pool for CScriptTriggerArgs to a…
cbnolok May 17, 2025
f5f4e2c
sstring.cpp: added a commented Str_CopyLimitNull implementation, to b…
cbnolok May 17, 2025
70362b0
Script parsing code relocation and optimization.
cbnolok May 19, 2025
904d14f
Fixed MSVC compilation warning.
cbnolok May 19, 2025
c4a7feb
Fix state buffer usage for nested conditional expressions.
cbnolok May 22, 2025
04f469e
Changed some included files.
cbnolok May 22, 2025
23b97b0
Fixed regression: damage not forwarded to @GetHit trigger
cbnolok May 22, 2025
9f81388
Warning of Replacing existing VarStr/VarNum now appear on nightly bui…
Jhobean May 22, 2025
37cb1d2
Clamp item onto container edge, when placed out of bounds (#1426)
mtwango May 23, 2025
f7bca29
CPointBase.cpp: optimized some dist or point-validity calculations
cbnolok May 22, 2025
af895d5
Added support for CppCheck static analysis and utility script to run …
cbnolok May 24, 2025
6c492d2
Updated CodeQL actions.
cbnolok May 24, 2025
36c0b71
Added option to run static analysis via CppCheck
cbnolok May 24, 2025
86373c9
Add unit testing via DocTest
cbnolok May 25, 2025
0b99cd0
Reviewed edge cases for the optimized CPointBase checks.
cbnolok May 25, 2025
0f73e78
Fix Windows compilation error.
cbnolok May 25, 2025
b439f71
Github workflows: update jobs permissions.
cbnolok May 25, 2025
22bf1f3
Fixed implicit sign conversion
cbnolok May 25, 2025
1957673
Workflows: update coverity-scan.yml.
cbnolok May 25, 2025
5ffd80b
Fixed some Coverity-reported issues.
cbnolok May 26, 2025
ca06669
Added automatic CodeQL and Coverity scans also to master branch commi…
cbnolok May 26, 2025
72350cb
Fix: Unresolved reference in a Doxygen comments
mtwango May 26, 2025
887bd78
Grammar check and proofreading comments.
mtwango May 26, 2025
9171ea3
Make links secure (https)
mtwango May 26, 2025
cc5079c
Doxygen config file update (1.8.6 -> 1.14.0)
mtwango May 26, 2025
8c5da3b
Merge pull request #1431 from mtwango/fix
cbnolok May 26, 2025
d0a51b4
Cleanup:
mtwango May 28, 2025
37bffb3
Add missing parameter descriptions
mtwango May 28, 2025
7bd0e6f
Fixed some regressions.
cbnolok May 28, 2025
39e2d5b
Fix issue with dclicking items on ground with return 1 in equip test …
mtwango May 30, 2025
5768a1e
Merge branch 'master' into dev
cbnolok Jun 1, 2025
5ad8a31
CSFile: de-virtualized and/or inlined some simple and hot methods.
cbnolok Jun 1, 2025
17b0745
Fixed some typos in comments.
cbnolok Jun 1, 2025
30ad764
CRect/CUOMapList: more optimizations.
cbnolok Jun 1, 2025
4429a0a
sfastmath.h: added more methods.
cbnolok Jun 2, 2025
33c1540
Optimized coords calculations and operations in CRect, CPointBase, CS…
cbnolok Jun 2, 2025
e5b0aef
Removed duplicate thread data for PingServer.
cbnolok Jun 3, 2025
41a4063
Fixed false-positive assertion when sending a message to the whole pa…
cbnolok Jun 3, 2025
8b5bfc0
CWorldSearch: minor optimization of search methods.
cbnolok Jun 3, 2025
48b0c1e
sstring.cpp: Added max str length parameter and renamed Str_Check and…
cbnolok Jun 4, 2025
02a9d95
CompilerFlagsChecker.cmake: disable --icf=safe linker flag if ASan/*S…
cbnolok Jun 4, 2025
d21afc2
Moved some networking headers inclusion from CSocket.h to .cpp.
cbnolok Jun 4, 2025
e28eca1
CScript parsing buffer optimization: do not dynamically allocate and …
cbnolok Jun 4, 2025
0467bfc
Optimized startup.
cbnolok Jun 5, 2025
daefcd1
Optimized startup (at least x2 in the debug build).
cbnolok Jun 5, 2025
20c9729
Removed assertion in CChar::_OnTick and added debug message to monito…
cbnolok Jun 5, 2025
6996ab4
More detailed debug message
cbnolok Jun 5, 2025
17a1cb2
Fixed regression for hex number parsing, added unit tests for number
cbnolok Jun 5, 2025
d5cb18b
Other minor optimizations
cbnolok Jun 8, 2025
d218743
send.cpp/h: cleaned includes in .h, moved away some methods implement…
cbnolok Jun 9, 2025
42a329a
Fixed CUOClientVersion implementation.
cbnolok Jun 11, 2025
792c0d8
CMake: added generic FetchGithubDep.cmake, to download and cache remo…
cbnolok Jun 11, 2025
d5a1d11
Added CUOClientVersion unit tests.
cbnolok Jun 11, 2025
7efe172
Updated packet documentation / unused values.
mtwango Aug 5, 2025
707f304
Remove empty line with dot after invalid more error message
mtwango Sep 17, 2025
a648493
Update sphereCrypt.ini
Jhobean Apr 26, 2025
4c68898
sresetevents: protected from spurious wakeups
cbnolok Jun 12, 2025
d557d12
asyncdb: fixed possible data race condition in CDataBaseAsyncHelper::…
cbnolok Jun 12, 2025
e37e9de
Changed enum SERVMODE_TYPE to ServMode enum class. Split Loading into…
cbnolok Jun 12, 2025
fb297e4
Made VarDef overwrite warning be issued only during startup script pa…
cbnolok Jun 12, 2025
181b840
Fixed typo in asyncdb.cpp.
cbnolok Jun 12, 2025
1397893
Changed functions taking CScriptTriggerArgsPtr to take a const&, in o…
cbnolok Jun 12, 2025
4e21706
Added a check to ignore spurious thread wakeups from Auto/ManualReset…
cbnolok Jun 16, 2025
1374bd4
Fixed boat navigation in map with id > 0 (issue #1444, fix by Canerksk)
cbnolok Sep 5, 2025
97b5814
Swap distance calc methods switched in 8b5bfc091b111d622086b5fecfb85d…
mtwango Sep 23, 2025
7df95a9
Update Ubuntu LTS to fix mariadb/mysql conflict in build job (#1468)
mtwango Sep 23, 2025
08b69ea
Fix speech arguments initialization (#1467)
mtwango Sep 23, 2025
78a8636
Increased max dmg for dragon breath (#1466)
mtwango Sep 25, 2025
3788eb9
Show real character name on login screen (#1452)
mtwango Sep 25, 2025
bbfc587
Restore out of bounds checks in SetAdjacentSectors (#1474)
DavideRei Sep 25, 2025
2785f49
Notoriety (#1481)
mtwango Sep 30, 2025
b87d722
ARGN3 for @PersonalSpace trigger to bypass max stamina requirement ov…
mtwango Sep 30, 2025
5a052da
Remove Party Member update (#1476)
mtwango Sep 30, 2025
750db1a
Send login rejection to all client requests (#1479)
mtwango Sep 30, 2025
2a18521
Fix of custom multi copying first level into other higher ones (#1484)
GladieUO Oct 1, 2025
14161a4
Check, whether CCItemDamageable has been placed in the world before c…
mtwango Sep 30, 2025
5e9b84e
Assertions for _pLink
mtwango Oct 1, 2025
35d8f14
Fixed issue with building on RISC-V and ARMv5 architectures
mtwango Oct 3, 2025
ecd546a
MacOS container image update (13 will be removed in december) (#1489)
mtwango Oct 4, 2025
b0c5d25
Fix CClient::~CClient issue in builds without _EXCEPTIONS_DEBUG
mtwango Oct 7, 2025
48dae6d
Update CCharStatus.cpp
GladieUO Oct 8, 2025
7f9ddbe
Merge pull request #1494 from GladieUO/fix-equipping-gear-paperdoll
raydienull Oct 23, 2025
1a54307
Changed number parsing algorithms.
cbnolok Oct 18, 2025
1a71270
Rewritten STDERR_LOG to be a function, stderrLog
cbnolok Oct 18, 2025
920e22a
Debug version: added old VarDef value log message when overriding it …
cbnolok Oct 18, 2025
1c29686
Changed: made both Windows and other platforms load scripts from fold…
cbnolok Oct 18, 2025
e9f7441
Started threading system rework (race condition/wrong handling of fun…
cbnolok Oct 18, 2025
c5d0fb3
Updated threading. Fixed several threading system inconsistencies. Te…
cbnolok Oct 18, 2025
9d0bea2
Fixed: CScriptTriggerArgs pool exhausted too soon by CResourceScript …
cbnolok Oct 23, 2025
50bde77
Minimal threading refactoring
cbnolok Oct 23, 2025
38331de
Fixed compilation warning/error for non-debug builds
cbnolok Oct 24, 2025
535bf67
Added Github Issues templates (courtesy of Canerksk).
cbnolok Sep 28, 2025
0c67435
Fixed Release build compilation error.
cbnolok Sep 28, 2025
e90ca92
Actually use x and y arguments to CSectorBase::Init method.
cbnolok Sep 28, 2025
a52f027
Another compilation error fix
cbnolok Oct 24, 2025
4cc071f
Fixed int to str conversion.
cbnolok Oct 24, 2025
2c1c05e
Fixed: changing char flags didn't always trigger a full update packet.
cbnolok Oct 29, 2025
c3f6514
Minor changes, uniform some data types in related code(llong to int64)
cbnolok Oct 29, 2025
b2b5b89
CSector/CPointBase: added some safety checks
cbnolok Oct 30, 2025
061dbd6
Potentially fixed sector issue added by e90ca922
cbnolok Oct 30, 2025
e74d51d
Fixed compilation error, moved some stypecast.h non templated functio…
cbnolok Oct 30, 2025
5c82639
Fixed: Sector indexing issue
cbnolok Nov 3, 2025
15fef5f
More sector indexing fixes. Added garbage collection safety checks.
cbnolok Nov 12, 2025
199f496
Fixed: changed column-major -> row-major indexing in setting adjacent…
cbnolok Nov 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
23 changes: 18 additions & 5 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ExcludeHeaderFilterRegex: ^.*(lib\/).*
#ExcludeHeaderFilterRegex: ^.*(lib\/).*

Checks: >
#-*,
Expand All @@ -16,33 +16,44 @@ Checks: >
-clang-analyzer-security.insecureAPI.strcpy,
-clang-diagnostic-format-security,
-cppcoreguidelines-avoid-c-arrays,
-cppcoreguidelines-avoid-do-while,
-cppcoreguidelines-avoid-goto,
-cppcoreguidelines-avoid-magic-numbers,
-cppcoreguidelines-no-malloc,
-cppcoreguidelines-init-variables, # false positives
-cppcoreguidelines-owning-memory,
-cppcoreguidelines-prefer-member-initializer,
-cppcoreguidelines-pro-bounds-array-pointer-decay,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
#-cppcoreguidelines-pro-bounds-array-pointer-decay,
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
-cppcoreguidelines-pro-bounds-constant-array-index,
-cppcoreguidelines-pro-type-const-cast, # we have some instances, and we should remove them...
-cppcoreguidelines-pro-type-vararg,
-cppcoreguidelines-pro-type-reinterpret-cast,
-cppcoreguidelines-pro-type-union-access,
-cppcoreguidelines-pro-type-vararg,
-cppcoreguidelines-special-member-functions, # explicit move, copy contructors...
##-hicpp-use-auto, #duplicate
##-hicpp-braces-around-statements,
##-hicpp-vararg, #duplicate
-misc-const-correctness, # temporary
-misc-include-cleaner,
-misc-non-private-member-variables-in-classes,
-modernize-avoid-c-arrays,
-modernize-use-auto,
-modernize-use-trailing-return-type,
-modernize-loop-convert,
-modernize-macro-to-enum,
-modernize-use-designated-initializers,
-modernize-use-nodiscard,
-modernize-use-using,
-readability-braces-around-statements,
-readability-delete-null-pointer,
-readability-else-after-return,
-readability-function-cognitive-complexity,
-readability-identifier-length,
-readability-identifier-naming,
-readability-implicit-bool-conversion,
-readability-inconsistent-declaration-parameter-name,
-readability-magic-numbers,
-readability-misleading-indentation, # to be enabled after the source is properly formatted
-readability-simplify-boolean-expr,
Expand All @@ -52,12 +63,14 @@ Checks: >
##-readability-braces-around-statements,
##-readability-magic-numbers

#-format security

# Turn all the warnings from the checks above into errors.
#WarningsAsErrors: "*"

CheckOptions:
- key: 'clang-analyzer-core.NonNullParamChecker:assert_like_macro'
value: 'DEBUG_ASSERT,ASSERT,ASSERT_ALWAYS'
# - key: 'clang-analyzer-core.NonNullParamChecker:assert_like_macro'
# value: 'DEBUG_ASSERT,ASSERT,ASSERT_ALWAYS'
- key: 'clang-analyzer-config:noreturn_function'
value: 'RaiseImmediateAbort,RaiseRecoverableAbort'
- { key: readability-identifier-naming.NamespaceCase, value: lower_case }
Expand Down
3 changes: 2 additions & 1 deletion .clangd
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,5 @@ CompileFlags:
# Diagnostics:
# Suppress: ['-Wunused-include-directive']

# TODO: disable clazy-non-pod-global-static
Diagnostics:
Suppress: non-pod-global-static
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: 🐛 Bug Report
description: Report unexpected behavior
labels: ["bug"]
#assignees:
# - cbnolok
body:
- type: markdown
attributes:
value: |
Before opening a bug report, please search for the behaviour in the existing issues.
---
Thank you for taking the time to file a bug report. To address this bug as fast as possible, we need some information.
- type: textarea
id: bug-description
attributes:
label: Bug description
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to reproduce
description: Step-by-step guide for reproducing the bug in a vanilla SphereServer instance. If addressing a regression, please provide the sphere revision number or commit since when the bug started to occur.
validations:
required: false
- type: textarea
id: logs
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: false
- type: input
id: sphere-rev
attributes:
label: Revision Number and Git Version Hash
placeholder: "e.g. 4031 bbfc587bb2c270c53ecb54cb5e1ea2f54cd9031f"
validations:
required: true
- type: dropdown
id: sphere-branch
attributes:
label: Branch
description: "Select the branch you are working with"
options:
- "master"
- "dev"
validations:
required: true
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Support & Discussions & More
url: https://discord.gg/ZrMTXrs
about: ''
- name: Documentation (Wiki)
url: https://wiki.spherecommunity.net/
about: ''
- name: Changelogs (Master branch)
url: https://github.com/Sphereserver/Source-X/blob/master/Changelog.txt
about: ''
- name: Changelogs (Dev branch)
url: https://github.com/Sphereserver/Source-X/blob/dev/Changelog.txt
about: ''
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: "\U0001F4A1 Feature Request"
about: Suggest an idea.
title: ''
labels: feature
#assignees: cbnolok

---

#### Description
<!-- Description of the feature -->

#### Why this should be added
<!-- Give a use case for this feature -->
6 changes: 5 additions & 1 deletion .github/workflows/build_aux_files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,14 @@ jobs:
# Upload artifact linked to GitHub RELEASE we are creating - only if the run is for a pull request, or for selected branches
#if: contains(fromJson('["master", "main"]'), github.ref_name)

permissions:
contents: write
actions: write

runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

Expand Down
17 changes: 13 additions & 4 deletions .github/workflows/build_linux_x86.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,14 @@ on:

jobs:
linux-x86:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
contents: read
actions: read

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Install prerequisites
Expand Down Expand Up @@ -130,11 +133,14 @@ jobs:
needs: linux-x86
# Upload artifact linked to GitHub RELEASE we are creating - only if the run is for a pull request, or for selected branches
if: contains(fromJson('["master", "main"]'), github.ref_name)
permissions:
contents: read
actions: write

runs-on: ubuntu-latest
steps:
- name: Download builds
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: Build-linux-x86
merge-multiple: true
Expand All @@ -153,11 +159,14 @@ jobs:
upload_selfhost_release:
needs: linux-x86
if: contains(fromJson('["master", "main"]'), github.ref_name) && (github.repository == 'SphereServer/Source-X')
permissions:
contents: read
actions: write

runs-on: ubuntu-latest
steps:
- name: Download builds
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: Build-linux-x86
merge-multiple: true
Expand Down
17 changes: 13 additions & 4 deletions .github/workflows/build_linux_x86_64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,14 @@ on:

jobs:
linux-x86_64:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
contents: read
actions: read

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Install prerequisites
Expand Down Expand Up @@ -85,11 +88,14 @@ jobs:
needs: linux-x86_64
# Upload artifact linked to GitHub RELEASE we are creating - only if the run is for a pull request, or for selected branches
if: contains(fromJson('["master", "main"]'), github.ref_name)
permissions:
contents: read
actions: write

runs-on: ubuntu-latest
steps:
- name: Download builds
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: Build-linux-x86_64
merge-multiple: true
Expand All @@ -107,11 +113,14 @@ jobs:
upload_selfhost_release:
needs: linux-x86_64
if: contains(fromJson('["master", "main"]'), github.ref_name) && (github.repository == 'SphereServer/Source-X')
permissions:
contents: read
actions: write

runs-on: ubuntu-latest
steps:
- name: Download builds
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: Build-linux-x86_64
merge-multiple: true
Expand Down
21 changes: 15 additions & 6 deletions .github/workflows/build_osx_arm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,19 @@ on:

jobs:
macos-arm64:
runs-on: macos-14 # apple silicon
runs-on: macos-15 # apple silicon
permissions:
contents: read
actions: read

env:
CMAKE_GEN: Ninja
#CMAKE_TCH: cmake/toolchains/OSX-AppleClang-native.cmake
CMAKE_TCH: cmake/toolchains/OSX-AppleClang-AArch64.cmake

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Install prerequisites
Expand Down Expand Up @@ -72,14 +76,16 @@ jobs:


upload_github_release:
needs: macos-arm64
# Upload artifact linked to GitHub RELEASE we are creating - only if the run is for a pull request, or for selected branches
needs: macos-arm64 # Upload artifact linked to GitHub RELEASE we are creating - only if the run is for a pull request, or for selected branches
if: contains(fromJson('["master", "main"]'), github.ref_name)
permissions:
contents: read
actions: write

runs-on: ubuntu-latest
steps:
- name: Download builds
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: Build-osx-arm64
merge-multiple: true
Expand All @@ -98,11 +104,14 @@ jobs:
upload_selfhost_release:
needs: macos-arm64
if: contains(fromJson('["master", "main"]'), github.ref_name) && (github.repository == 'SphereServer/Source-X')
permissions:
contents: read
actions: write

runs-on: ubuntu-latest
steps:
- name: Download builds
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: Build-osx-arm64
merge-multiple: true
Expand Down
16 changes: 12 additions & 4 deletions .github/workflows/build_osx_x86_64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,18 @@ on:

jobs:
macos-x86_64:
runs-on: macos-13 # intel
runs-on: macos-15-intel
permissions:
contents: read
actions: read

env:
CMAKE_GEN: Ninja
CMAKE_TCH: cmake/toolchains/OSX-AppleClang-x86_64.cmake

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Install prerequisites
Expand Down Expand Up @@ -70,13 +74,17 @@ jobs:

upload_github_release:
needs: macos-x86_64
permissions:
contents: read
actions: write

# Upload artifact linked to GitHub RELEASE we are creating - only if the run is for a pull request, or for selected branches
if: contains(fromJson('["master", "main"]'), github.ref_name)

runs-on: ubuntu-latest
steps:
- name: Download builds
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: Build-osx-x86_64
merge-multiple: true
Expand All @@ -99,7 +107,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download builds
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: Build-osx-x86_64
merge-multiple: true
Expand Down
Loading