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
Revise view background / border drawing code.
New event "EVENT_UPDATESCREENAREA" Use this event to change the size of the game view, similar to when you press + or -. New event "EVENT_DISPLAYBORDER" Set RETURN to change the background tile of the game view, set -1 to disable the background and border. New userdef structures "screenarea_x1", "screenarea_y1", "screenarea_x2", "screenarea_y2" Use these structures to change the boundaries of the view in EVENT_UPDATESCREENAREA. Patch from Fox.
Add EVENT_RECOGSOUND.
Set RETURN to -1 to disable the sound played when an enemy awaken. You have to use a command to play a sound, because the bosses use globalsound. Patch from Fox.
Add EVENT_OPENMENUSOUND.
Set RETURN to the sound played when the menu is opened. -1 to cancel. Patch from Fox.
Add EVENT_DISPLAYEND and EVENT_DISPLAYROOMSEND.
EVENT_DISPLAYROOMSEND: Triggered right after the game world is rendered and before any sprite above the screen. EVENT_DISPLAYEND: Triggered after the game draws everything above the screen, including menus. A counterpart to EVENT_DISPLAYSTART. Patch from Fox.
Add screenpal command.
screenpal <r> <g> <b> <a> Similar to palfrom, but works on screen events. Values range from 0 to 255. Patch from Fox.
Fix issue with savemapstate/loadmapstate and gamearrays
This should fix the scrambled log output when the game crashes while executing a CON script somewhere
Pass the parameters of the warp and skill cheats to EVENT_ACTIVATECHEAT through userdef[].m_* and read them back afterward.
Make setinput work better in EVENT_PROCESSINPUT
Expose "show2dsector" to CON
Use tokenmap_t struct to define all CON keywords
Call I_ClearAllInput before Anim_Play when executing startcutscene.
Add "stopallmusic" command.
Add starttrackslot <volume> <level>
Clobbering ud.volume_number is a hack no one should need to use any more. Only this command supports specifying -1 for volume to access the main menu, briefing, etc themes.
CON parser: Merge some cases for code size savings.
Fix checkavailweapon command.
Fix playervar quick structure access.
CON-solidation
Sorry for the shitty pun
Another attempt at fixing the problems caused by my recent changes to gamearrays
Maybe, possibly, unfuck gamearrays.
ifspawnedby and ifwasweapon are really the same command. Merge the code to execute them.
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.
Remove special limitations on CON customization access to the DNCGS cheat.
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.