* POLLOG* macros use the new formatting
removed all old logging functions
* removed old fmt lib from everything except StreamWriter
removed unneeded functions
* fixed review comments
* renamed include guard to be able to use both format lib versions in
parallel
* build Fmt lib and link it into clib
* use std::string instead of format Writer for logging
added variant "2" for logging with new fmt lib
* use new logging variant for two logs
* always add \n to flush log, lets see if the assumption holds
* use new lib for tostring
* replaced all INFO_PRINTS in clib
* formatter for Token, BObject and BObjectImp
* started with bsccript
* use function instead of actual object for logging
* remaining bscript, started plib
* logvariant without newline added, more template magic
* format support for base types, added test for format padding
new version for fdump
* chanhed ecompile/runecl fixed compilation with ESCRIPT_PROFILE
* rewrite INFO_PRINT in plib,poltool/uoconvert/uotool
* replaced remaining INFO_PRINTS, renamed macros INFO_PRINT for logging
without newline, INFO_PRINTLN for newline addition.
Replaced also INFO_PRINT_TRACE and renamed it to INFO_PRINTLN_TRACE
* gitignore for fmt lib
* cleanup vim leftovers
* Initial work on boat piloting changes
- Changed: Boat script is now registered as the boat's control script
- Added: Boat piloting via mouse movement
- Added: boatRef.pilot member
- Added: boatRef.pilot([charRef]) method
* add first test
* Fix boat control script attach on scripted create
* move boat move packet warnings to suspicious acts
* set pilot now errors when mutli has no process
* Add test, testclient support for boat move packet
* Touchup pilot members and methods
- Change `pilot` method to `setpilot`. This standarizes it a bit with
the same naming convention of `npc.setmaster`.
- Fix return values in `pilot` member, returning `0` if no pilot.
* Refactor to put functionality inside UBoat
* Address Discord comments
- Remove SuspecisionActs for no boat process.
- Add `relative_direction` to boat move sysevent.
* destroy boatmount on chr death; more error checks
* Fix compilation after master merge
* Fix relative_direction calculation
* wip tests
* Fix boat tests
* Address review comments
- Initialize UBoat::mountpiece
* Add HSA check to boat.setpilot
* Reject movement if boat mountpiece equipped
* docs; test cleanup
* add test for blocked movement
* Address Discord review comments
- Add suspicious acts notice for client movement while piloting
- Return error on attempting to script move a char that is piloting a boat
* Fix compiler warning
* removed pol_distance/inrange* functions
replaced lastxyz with Pos4d
* replaced WorldIterator::InVisualRange with InMaxVisualRange returning
all objects in maximum update range. Adapted each caller, they now have
to check in_visual_range
Multis should now be send to clients with its footprint in mind.
added testscript for boat moving in/out of range
* removed non pos InRange/InBox functions
gamestate.update_range doesnt need to be a Vector, renamed
* corrected send_action_to_inrange
* replaced clip methods with general numeric type clamp function
* added Range2d constructor with radius
* splitted update_range. chr has now a los_size (how far can it see) and
an object has a visible_size (0 for objects 1/2 footprint for multis)
* use in_range instead of pol_distance
* corrected order of checks
* fixed warnings
* fixed visual size of multis
testclient added wornitems pkt support
added tests for los
* corechanges
* - Change all (most?) outgoing packet handlers that should write CP-1252 to convert UTF-8 to CP-1252.
- Update Clib::sanitizeUnicodeWithIso() to sanitize with CP-1252, which is what UO uses instead of ISO-8859.
- Add a test for Clib::sanitizeUnicodeWithIso() to check if it's performing the conversion correctly (currently it is not).
* Fix stylecheck
* Revert changes to sanitizeUnicodeWithIso()
* Change test so it matches acceptable sanitizeUnicodeWithIso behavior.
* Fix warnings.
* Add corechanges.
* replaced baseclass x,y,z,realm members with Pos4d.
Adapted the code, no changes except making the compiler happy
* review changes
* Fixed gotten_item
* fixed copy&waste
In summary:
* Make functions in clientthread.cpp depend on ThreadedClient.
* Wrap session, packet logging and cryptengine
* Other small changes to make ThreadedClient private
* Move fpLog up to ThreadedClient
* Extract send_KR_encryption_response() from process_data() into Client
* Change signature of small helper functions to use a ThreadedClient instead:
valid_message_length(), handle_unknown_packet(), handle_undefined_packet(), handle_humongous_packet() and report_weird_packet().
* Change signature of process_data() to take a ThreadedClient
* origin/master: (70 commits)
Fix to items randomly loading with AOS props due to incorrect initalization of props on load of server.
Rectify core not clearing mobiles from client during shadow realm shift.
SendQuestArrow() fix for HSA clients (#91)
Hotfix/start skill script (#90)
Noninvasive dynaprops (#89)
Update objref.xml
Some network error conditions were missing...
Final adjustments to core-changes
Added Turley's missing core-changes :P
Improved connection handling: - Linux isn't limited to 1024 connections anymore - Windows may have some slight performance boost
removed senseless gitignore files
use generator unspecific clean cmd in build_tools.sh always generate compile_commands.json force color diagnostic (to work with ninja)
Curl building uses now the same compiler as pol
fixed target_link_directories system header declaration
check if container is orphan when adding items as content. for now it crashes the shard to have the backtrace. (would crash anyway later)
add corechanges for doc changes
new build target "clang_format" runs clang-format on current modified or new files in pol-core dir.
Formatting
Fix xml indentation
fix indentation
...
Conflicts:
pol-core/bscript/execmodl.cpp
pol-core/doc/core-changes.txt
pol-core/pol/getmsg.cpp
pol-core/pol/module/unimod.cpp
only once
renamed mklower/mkupper to make it clear that it should only be used
for pure ascii texts
compiler triggers only once a warning about invalid unicode file
Authors are not forced to use the clang-format setting, but should
atleast be inspired by the style.
The only thing which is now not allowed are tabs for ident/alignment!
Currently plib/systemstate, pol/uvars, pol/ucfg, pol/multi/multidef
Next step should be to split them based on usage, since its currently a bit of include hell...
Created a new file (msghandl.cpp) and moved the code from pol.cpp there.
Moved related files to the "network" folder, where they belong. Fixed
include names... (we should make this relative to the project root!)
first version of new animation pkt. created translation entries into animxlate.cfg for definition ob graphic types and conversion between new and old animation.
Needs more testing before documentation.