Commit graph

4031 commits

Author SHA1 Message Date
turleypol
b49af27cb7 ::recv logs 2025-02-10 21:49:52 +01:00
turleypol
2079d3d535 verbose curl flag 2025-02-10 08:17:26 +01:00
turleypol
28fec41f45 iteration increase 2025-02-09 17:28:02 +01:00
turleypol
8f6dd5f687 missing out buffer log 2025-02-08 18:34:16 +01:00
turleypol
f7050d56da fix 2025-02-08 17:49:40 +01:00
turleypol
cb12c53e42 and more.. 2025-02-08 17:40:03 +01:00
turleypol
079ff23909 still no clue 2025-02-08 16:30:26 +01:00
turleypol
c4e692fa93 fix 2025-02-08 13:20:10 +01:00
turleypol
1a9cfeb418 longer http test runs 2025-02-08 12:37:10 +01:00
turleypol
e611f681a3 try to increase the chances to hit the correct spot 2025-02-08 10:02:28 +01:00
turleypol
6e58053235 more logs.. 2025-02-08 09:41:13 +01:00
turleypol
1d94ff603f moredebug.. 2025-02-07 22:29:20 +01:00
turleypol
0e2a20e2a5 disabled more in between 2025-02-07 21:23:08 +01:00
turleypol
1a4bfa8770 itemdescs are needed... 2025-02-07 20:24:23 +01:00
turleypol
f5a30680cb disabled a few pkgs in between 2025-02-07 20:05:24 +01:00
turleypol
8850e7e417 what is the url send.. 2025-02-07 19:19:48 +01:00
turleypol
241b8d3674 debug logs to maybe find weird macos failures 2025-02-07 17:08:48 +01:00
turleypol
0fdd03316b
Worldsave further improvements (#758)
* directly use the capi for file writing
could improve performance

* docs

* file i/o error checking also during writing
2025-02-06 20:41:12 +01:00
turleypol
c588c51a33
Expansion helper classes for central handling of features (#756)
* use uoexpansion enums for A9, B9 flags
added TOL to uoexpansion
currently unsure where this will end

simplified account initialisation, added errorcheck

* Expansion classes for server and account
fixed flags

* use of AccountExpansion,ServerExpansion
extended tests
splitted unittest file
added missing test for Min/MaxAttackRange

* more micro performance for world saving
use all 4 cores in CI builds
fix compiler flag warning on windows

* save test for weight_multiplier

* enable gothic,rustictiles when using HSA expansion

* removed ancient unused files

* addressed comments
renamed ServerExpansion to ServerFeatures
added method for expansion name

* got rid of client UOExpansionFlag which is the same as the accout
expansion

* updated core-changes and docs

* updated generated ssopt

* test for tooltips
changed method names
removed/clarified comments

* npc hitchance was never saved
added missing npc save tests

* hitchance bug exists also for items...
added missing test for movemode
2025-02-05 19:02:25 +01:00
Jakub Kalita
c94ff9d4cf
Fix directory traversal in ecompile (#757)
* Fix directory traversal in ecompile

* Update core-changes
2025-02-04 19:52:19 +00:00
Kevin Eady
fdc8268dbb
Add hidden flag to invisible items (#755)
* implementation

* tests

* docs

* update tests
2025-02-01 13:06:54 +01:00
Jakub Kalita
807df09678
Add missing attack range properties to itemdesc (#754)
* Add missing attack range properties to itemdesc.

* Add comments.

* Update core changes.
2025-01-31 06:44:34 +01:00
turleypol
8e9a044776
WorldSave performance (#753)
* directly write to stream

* quickfix just disabled orphan console print

* now?

* debug timer for each file

* removed pointer indirection
use defined underlying buffer size
reactivated orphans

* missing files

* optimized away dynamic allocations during formatting by using buffer

* debug print thread id used
stop timer of blocking part

* wake up all threads, if the producer thread is faster only one thread
will wake up...
extended debug logging

* after reading the standard...
notify_* is atomic thus multiple calls to notify_one will always wake up
a different thread.
So notify_one is correct here and notify_all pessimistic

* increased the buffer
ordered savefiles roughly by size

* use compile time strings to optimize formatting
added a few shortcuts
optimized hexint by adding a string_view version with threadlocal buffer

* cleanup

* readded terminate protection

* docs

* StreamWriter needs to be destroyed before printing the stream
2025-01-29 06:48:05 +01:00
turleypol
0513b10864
moved remaining eprog2/3 methods to eprog (#752)
simplified Token
2025-01-24 20:20:21 +01:00
turleypol
12eabd789f
more dead code from old compiler (#751) 2025-01-23 21:39:16 +01:00
turleypol
4782dc9757
removed unused code from old compiler out of EProgram (#750)
increased testcoverage for math module to almost 100%
2025-01-23 19:53:11 +01:00
Kevin Eady
1ce1a16f5d
Add allow_negatives to module function util::RandomDiceRoll (#748)
* implementation

* tests

* docs, core-changes

* address review comments
- no need for negative check with clamping
2025-01-21 15:33:22 +01:00
turleypol
b28626432d
Fixed potential overrun/underrun problems using script member setters (#747)
* Clib::clamp_convert is now able to convert between equal sized types.
fixed tons of overflow/underflow problems in script member setters

* fix coverage CI
added docs
fixed warning

* finally got it right?
massively extended tests

* removed unneeded special handling
better comments
2025-01-20 21:26:45 +00:00
turleypol
c7254916d1
Script member item.hp underflow/overflow (#746)
* fixed overflow/underflow of hp scriptmember access.

* docs
2025-01-17 23:41:43 +01:00
turleypol
04beb4f0c6
Suspend worldsave script (#745)
* SaveWorldState(): if possible the script will be suspended until the
async part is finished, added to the returning struct
`ElapsedMillisecondsTotal` for the complete time it takes.

* readded removed header

* extended test by calling save without beeing able to suspend

* fixed function name

* do not suspend script during worldsave when its critical
since testscripts are fast make sure via sleep that the gameclock
changes

* docs
2025-01-17 18:43:46 +01:00
turleypol
487629db80
simplified worldsave commit, do not ignore errors during rename (#744) 2025-01-15 06:52:40 +01:00
turleypol
29761c43d6
Disk full no longer crashes during WorldSave (#742)
* preparation
update boost
build stacktrace

* if worldsave i/o operations fail core terminates directly, allow
exceptions in SaveContext deconstructor to prevent this

* link with boost stackstrace

* print exception backtrace when buffering fails

* replaced other forced backtraces with actuals

* test throw

* revert test throw

* register terminate handler and print stacktrace
unsure if it collides with the other signals register

* StreamSaver can terminate in the deconstructor
added PolCore().last_worldsave which returns the gameclock of the last
successfull world save.
SaveWorldState() can now return error "Failed to save world" if the first critical
part fails. Since the second part runs async you have to check the new PolCore member when the last successfull save was.

* fixed cppdap checkout

* catch exceptions in the deconstructor and do not rethrow during stack
unwinding

* fix mac build

* fix apple builds

* helper lambda to get rid of repeating try/catch blocks per datafile
try to set promise in exception cases to guarantee the set
moved account storage into parallel tasks, comment about extra
thread is no longer valid.

* centralized stacktrace
renamed polcore member

* extended comment for clarification

* docs
2025-01-14 20:37:54 +01:00
turleypol
c4aaa0cb10
Update cppdap to official repo and increase minimum CMake version (#741)
* switch to cppdap original repo, latest commit

* update cppdap cache folder for github actions
coverity still used gcc11 instead 12

* minimum CMake version is now 3.22, since cppdap needs it
updated year

* cmake cleanup due to minimum version change
set c++ minimum version at a not so hidden spot
2025-01-07 08:10:56 +01:00
turleypol
59bf1ffeb9
updated clang, gcc to newer version (#740)
updated picojson to latest
updated cmake and ninja to latest
2025-01-05 17:48:52 +01:00
Kevin Eady
0527692a78
Add Script object script method stacktrace (#739)
* Initial implementation, tests

* Enhance tests

* Add quiet to read_dbg_file

* Add pc to array format

* Add docs, core-changes

* fix bad PCs

* touchup on corechanges
2025-01-05 17:22:55 +01:00
Kevin Eady
d6af5ac9bc
Update Boost download URL (#738) 2025-01-05 07:57:30 +01:00
turleypol
22b01b3b81
added multi prop/itemdesc items_decay (#735)
* added multi prop/itemdesc items_decay
added region cfg entry NoDecay
misc cleanup eg chr->equip sets position instead of calling side

* docs

* added future pos refactoring comment

* changed region NoDecay to ItemsDecay so it matches the other props
2024-11-14 06:58:18 +01:00
Lukáš Novotný
9be58c528e
Add realm decay setting (#734)
* Add realm decay setting

* fix crash on missing realm; recompute decay pause upon changing decay

* docs and corechanges
2024-11-10 00:33:04 +01:00
turleypol
7e07fbe33a
moved polcfg to plib (#732)
removed unused remainings of incremential save
2024-11-03 14:37:38 +01:00
Jonathan Morland-Barrett
8df2f6515e
Added dynaprops for min and max attack range increase. (#511)
* Initial commit of min and max range increase dynaprops.

* Fixed documentation and reported style issues.

* More style check fixes.

* Update missing uobject and script objects for new props.

* Rectify missing code from uoscrobj which prevented assignment on mobiles.
Changed range logic from weapons to include some sanity checks.

* Add a simple test

---------

Co-authored-by: Jonathan Morland-Barrett <jonathan@veridiandynamics.com.au>
Co-authored-by: Kevin Eady <8634912+KevinEady@users.noreply.github.com>
2024-11-02 15:46:50 +01:00
Kevin Eady
ec4f9f79ef
Cancel in-progress GitHub Actions on new push (#689) 2024-11-02 10:46:54 +01:00
turleypol
300a9ca47d
added ssopt AllowVisualRangeModification (#726)
* added ssopt AllowVisualRangeModification which allows clients to modiy
their LOS via pkt 0xC8

* added ssopt MinimumVisualRange and MaximumVisualRange to limit the range
a client can define.
added r/w script member client.visual_range
if set via script the updaterange can no longer be modified by the
client

* fixed typo

* missing include

* if via script the visual_range is set to 0 use the client given range
remove/add objects when the visual range changes
added test
fixed testclient 0xbf sub clienttype packet

* extra logic to send/remove objects only if they are now/no longer
visible due to range change
script can by pass the VisualRange limit
added docs

* core changes
2024-11-01 19:07:43 +01:00
Kevin Eady
ef5931bcc6
Correctly load packages in ecompile (#731) 2024-10-27 11:06:48 +00:00
Kevin Eady
2d0b675754
Fix super-scoped function resolution; Fix SourceLocation for scoped function calls (#730)
* Fix super-scoped function resolution

* Fix SourceLocation for scoped function calls
2024-10-25 11:20:41 +02:00
Lukáš Novotný
d56a6df251
Add moved_at and position_changed_at members to characters (#729)
* add moved_at and position_changed_at members to characters

* add core changes, docs

# Conflicts:
#	docs/docs.polserver.com/pol100/corechanges.xml
#	pol-core/doc/core-changes.txt

* fix docs
2024-10-23 20:27:56 +02:00
Kevin Eady
150d7982fb
Fix too-early fail on calling scoped variable as function (#728) 2024-10-20 17:42:07 +02:00
turleypol
7a7fd344db
increase number of parallel escript tests, especially ThreadSanitizer CI (#727)
build should benefit
2024-10-20 16:32:35 +02:00
Lukáš Novotný
6acc69edc7
Configurable visual range (#715)
* configurable visual range

* visual range => default visual range

* fix code style

* move to ssopt
2024-10-19 15:42:50 +02:00
Kevin Eady
f45d12665d
Fix various case sensitivity issues in classes (#725) 2024-10-18 06:53:50 +02:00
turleypol
034f4687e3
SmoothBoat pkts: reduced pktsize even more 10% + extra margin (#724)
* SmoothBoat pkts: reduced pktsize even more 10% + extra margin

* no need to create 8000 items for the limit test
2024-10-17 22:51:49 +02:00