* 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
* 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
* reworked get_item and its undo behaviour.
old position gets stored and in case of failures restored
* removed ancient container content defines
* Fix some packet oddities
- dropitem: Success sent after rejections
- getitem: Double Delete Item packet due to item->extricate
* Store container serial when creating GottenInfo
* Add tests
* add socket mutex to disconnect checks
* Use mutable socket mutex
* add core changes
---------
Co-authored-by: turleypol <turley@polserver.com>
* SendPopUpMenu supports now the newer format which removes the limitation
of the cliloc values
* fixed build errors
* revision increase when insurance gets reset on death.
added core changes
* updated online docs
* using enum for flag values
* converted multidef
added to the testsuite a big multi
ListMultisInBox now uses the update range, but since its the only spot
and the chances are low that someone really has such a big multi
corechanges are not really worth it I would say
* Fixed a few grid bugs, one endless loop and changed the range a chr can move while customhouse is active
* - 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
* added os:GetEnvironmentVariable to list all environs or get a single one
* first version of restarting the core to test save/load
added environment variable to filter tests
* fixed string constructor (size_t instead of signed int)
* added string_view constructor
* splitted and extended restart tests
* added docs
* added pol.cfg setting to disallow environment variable access
* Change environmental variable access rules
Instead of defaulting to all values allowed, now defaults to none. May
specify either `*` to allow all variables, or a comma-delimited list.
* Address review changes
- Use Clib lower instead of boost
- const auto references
- Separate tests for access and finding env vars
* Update documentation
* Apply suggestions from code review
Co-authored-by: Kevin Eady <8634912+KevinEady@users.noreply.github.com>
Co-authored-by: Fernando Rozenblit <rozenblit@gmail.com>
* Core version is now a semantic version, starting at 100.0.0
* Remove 'POL' prefix from POL_VERSION_ID
* re-add dash in between version str and name in POL_VERSION_ID
Co-authored-by: Fernando Rozenblit <rozenblit@gmail.com>
* Added explicit path to the lib/ folder.
* Added use_zlib() function to the cmake files. Changed the remaining cmake files to use POL_EXT_LIB_DIR.
* Removed relative path to zlib. It seems we were always using our zlib header (even when linking to the system zlib on linux!).
* use c++14 on linux, visual studio still undefined which means highest
available
* removed make_unique.h due to c++14 no more needed
* stumbled across pre c++14 code
* Removed use of boost::make_unique<> (updated to C++14)
Co-authored-by: turleypol <turley@polserver.com>
- polcore().last_character_serial returns last character serial assigned by core
- polcore().last_item_serial returns last item serial assigned by core.
* Changed: pol.cfg settings HideWarningGump and HideWarningItem to ShowWarningGump and ShowWarningItem. This positive logic is consistent with all other console output settings.
Default is zero (0). The output will not be displayed unless set to one (1).
* Set default behaviour for ShowWarningGump and ShowWarningItem to display warnings (1).
* Added ShowWarningGump and ShowWarningItem settings to pol.cfg.example.
logs name and memoryusage of variables for given script into
log/scriptmemory.log.
Globals, locals and all current call stacks.
scriptname has to be the relative path from root with ecl ending.
Precondition is an existing .dbg file for the given script, this will
be created by compiling the script with -x