Build 6550
SVN-
General
screenpeek for EVENT_RECOGSOUND
SVN handles and Git names are merged into one person.
screenpeek for EVENT_RECOGSOUND
Revert a minor change I made to EVENT_LOGO
Fix issue with savemapstate/loadmapstate and gamearrays
This should fix the scrambled log output when the game crashes while executing a CON script somewhere
Make setinput work better in EVENT_PROCESSINPUT
Expose "show2dsector" to CON
Use tokenmap_t struct to define all CON keywords
CON-solidation
Sorry for the shitty pun
Another attempt at fixing the problems caused by my recent changes to gamearrays
Maybe, possibly, unfuck gamearrays.
Syntax changes for gamevar and gamearray declarations:
Gamevar: default value and flags are now optional. A var declared without a value will default to 0 and a var declared without flags will default to global. Multiple flags can now be stacked one after another in a var declaration, and the most useful ones (GAMEVAR_PERPLAYER, GAMEVAR_PERACTOR, GAMEVAR_NODEFAULT, and GAMEVAR_NORESET) are now pre-defined tokens for easy use. Gamearray: flags field now allows stacking of multiple flags as described above. Arrays can now be defined with specific data types, including int16_t, uint8_t, and a new bit-packed boolean data type. The tokens GAMEARRAY_RESTORE, GAMEARRAY_INT16, GAMEARRAY_UINT8, and GAMEARRAY_BOOLEAN are pre-defined for use of this feature. This is all still pretty experimental.
Revise some CON VM error messages for consistency. Upgrade a couple of CON VM errors to a new critical error type which pops up a dialog box when the error is encountered. If you've been writing crappy scripts that spam "divide by zero!" errors into the log that you've been ignoring, you're gonna have a bad time.
Some work on CON arrays. Hopefully nothing is broken!
Add support for bitmap gamearrays and expose gotpic to CON
Allow writing to 8 and 16-bit CON arrays
Add OSD_PROTECTED flag, set when gamefunc_Show_Console has been undefined from CON. Currently just requires you hold down shift when pressing the console key to open the console.
Potential CON performance improvements
Can Duke3D CON version compatibility messages in standalone builds
Gamevar cleanup
Use macros for special gamevar access range checking
Change hard-coded subway effect damage to generic explosive damage that can be handled by CON. Fixes subway kills not counting toward the dead monster count and allows CON scripts to handle subway damage however they like.
Move Mapster32 autoexec to before the map specified on the command line is loaded, to allow EVENT_PRELOADMAP and EVENT_LOADMAP to work when loading a map from the command line. This makes the console output of autoexec a little worse but the OSD will be fixed at a later time.