* fixed several deprecation notices and warnings from MySQL8, most notably:
- SQL_CALC_FOUND_ROWS: stopped using DBSimple::selectPage and query 'SELECT COUNT(*) ...' separately where needed
- ON DUPLICATE KEY UPDATE ... VALUES(): use row alias for new values instead of VALUES function
- boolean shorthands to long form (&& -> AND, etc)
* avoid using "echo" to write to CLI as php mistakes it for sent headers (see php-src #12303)
* as we are using fwrite now, errors are written to STDERR instead of STDOUT
* fixes an issue where reloading the config would cause "ini_set(): Session ini settings cannot be changed after headers have already been sent" to be spammed
* split completion table into it's subcomponents
* this should save some disk space as some keys and null fields have been optimized out and col sizes have been reduced
* sort ICC raid bosses first to last
* rework npc <-> chest loot linking
* difficulty is now directly stored
* should fix multiple issues where loot tabs had wrong difficulty or null title
* fixed skipping the value in oneline mode being interpreted as empty string
* fixed entering infinite loop in oneline mode, when passed value was invalid
* fixed displaying config hint, when passed value was valid
* spell: do not create a temporary copy of the spell.dbc, but merge serverside spells directly into aowow_spell.
This sidesteps a mysql issue where a temp table can't be read multiple times.
* spawns: fixed lost var rename in log output
* items: use UNSIGNED instead of INT when typecasting in query so mysql can also understand it
* move areatrigger teleport endpoints and instance entrance points to spawns. This makes them editable like spawn points.
* since instance entrances aren't shown on maps they are moved through the admin menu on the instances page.
* rewrote spawns SetupScript. Individual groups can now be recalculated separately.
* fix spawns for multifloor dungeonmaps that use their worldmaparea entry for coordinates
* fix mapper feature: move visible spawn point
* resolve confused X/Y coordinate remapping from a time before i knew world coordinated are rotated by 90°
* PS: Ulduar floor indizes were funky. No idea why.
* restore old define order for g_zone_areas
* do not handle errors outside of the registered handlers
* always handle all errors otherwise they get stored for error_get_last
* always print errors to CLI
* shutdown function handler should not be picky about what errors it gets to report
* removed some mostly unused error strings
* removed unused option to have custom data defined in code
* table `aowow_setup_custom_data` should be used instead
* this kills a "creation of dynamic property" deprecation notice
* script cleanup
* fixed subzone generation and made color less garish
* fixed alphamap generation and alphamapcheck not pointing to the same path
* fixed padding UtilityScript args with unexpected var types
* rewritten to be able to dynamicly load it's components
- CLISetup -> checks for UtilityScripts (config, setup, dbc reader, etc.) -> checks for SetupScripts (individual sql/file generators)
- each step may now have a help prompt attached. If none are provided, the containing script may provide it's help.
- all Scripts are self contained modules. No more editing of 3+ files if some component is added/removed
* removed intermediaries FileGen & SqlGen
* functional changes
- allow providing CLI arguments to siteconfig and account UtilityScript and skip the interactive prompts
- set slot for consumable enchantment items so they are filtrable
- zones dataset is now localized and generated from GlobalStrings.lua and DungeonMap.dbc. Related data dumps removed.
- 'aowow' and 'prQueue' executables now have shebangs
WARNING - command line options have been renamed!
* move dbc structures to separate files and allow loading a specific build
* handle localized single string fields
* add cli option for output table name
* add cli option for wowbuild
* prevent direct access to some internal files where applicable and reword error for others
* if CFG_DEBUG is set also enable debug in client javascript
* non-breaking formatting changes
* define regions and missing locales for later use
* unify stat handling. If there are discrepancies left at least they are now centralized.
- health should no longer pretend to be mana
- stats are no longer capped to 32.7k points as items can have multiple of the same stat and handily exceed smallints
* weight scale fixes:
- "repair cost" is no longer a weight scale option. Why was it one in the first place? Also it wasn't even accessible before. (that was a bug)
- "bonus armor" is now searchable and only applied to armor pieces
* removed unused parsed stats from itemsets