sideeffects.
ConstString no more assumes tainted source, tus file loading now also
sanitizes data.
Removed duplicate usage of isValidUnicode, sanitize methods also test
it.
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
* upstream/master: (45 commits)
renamed mobile syshook to character used unique_ptr for all syshooks
added docs
code simplification, deprecate warning for uoclient.cfg MethodScript entry
party and guild ref support docs and testing left?
custom methods for client and account references
fixed line length
syshooks for npc/mobiles
first round for scripted object class methods
Fixed formatting error.
Added new return option to consume ammunition hook which allows the hook to make the core continue with the usual ammunition checks.
Fix critical bug in FindObjtypeInContainer()
fixed compiler warning
fixed linesize
windows fixes
Added cmake option to run clang-tidy used everywhere nullptr
Changed classes to be final if possible, removed override macro
Added additional documentation.
next..
clang 7 is currently untrusted... next try 6 ;)
fixed new clang warnings, new compiler version on travis (lets see how many commits are needed till it works)
...
Conflicts:
.travis.yml
pol-core/bscript/impstr.h
pol-core/clib/cfgfile.cpp
pol-core/pol/module/npcmod.cpp
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!
- obj.isLesserThan() and obj.ieEqual() are now replaced by < and ==
- Removed obsolete isLT(), isLE(), isGT(), isGE()
- Also implemented comparison operators for BObjectImp
- These operators may now be fully overriden in child classes
- Default implementations are derived from == and < operators
- As a general rule (that fit into "undefined" behavior":
-- Objects are == if having the same address
-- Objects are < based on their type ID, except of Error and Uninit
that always are < everything else.
-- Objects are supposed to implement their own < and fall back to
base class. If not implemented, as a last fallback, the object's
address in memory is used to do the comparison
- Added test case for comparison operators
String tags were not correctly processed.
"{name} you hit level {level}".format(struct{name:="Jane Doe", level:=4})
now correctly formats as "Jane Doe you hit level 4" instead of
"Jane Doe you hit level <invalid index: #2>"
will move array backwards or forwards in-place as it were a conveyor belt.
{1, 2, 3}.cycle()
Will make it:
{3, 1, 2}
Accepts a negative value as a shift to move different direction
Changed: string.format()
Now actually faster than string concatenation in eScript
Fixes a bug where {:d} formating could cause an arbitrary number shown instead of a real value
tag errors are slightly more intuitive and compact.
Note: Patches submitted by andenixa