September 2023
-
Add missing GAMEVAR_RAWQ16PTR case in VM_GAMEVAR_OPERATOR
August 2023
-
Add warning when `terminate` found outside state or event
-
Add warning when `break` found inside loop (and not inside `switch`)
-
Add terminate
Show details
- Co-authored by
- Jordon Moss
-
Add exit and continue
-
Add prependstate and appendstate
Show details
- Co-authored by
- Evan Ramos
-
Internal cosmetic cleanup
February 2020
August 2019
February 2019
-
Implement a new VM dispatch method using an explicit jump table
Show details
Most of this patch is by pogokeen.
-
Macro-ize CON keyword tokens in gamedef.h and gameexec.cpp
Show details
Most of this patch is by pogokeen.
-
Move five missed opcodeless keywords down in gamedef.h
-
#ifdef out deactivated stuff that should not be half-in, half-out
January 2019
-
Add EVENT_DISPLAYROOMSCAMERATILE
May 2018
-
Add "swaparrays" command, which performs a pointer-swap on arrays of the same storage class.
-
Factor out the parsing of gamearray names.
-
Remix resizearray in the following ways:
Show details
Make only one allocation instead of two. Calculate array byte sizes in a way compatible with GAMEARRAY_BOOLEAN. Clear the expanded part of grown arrays using correct counts for non-int32 sizes. Support resizing an array to 0 to free it.
-
Implement the copy command for GAMEARRAY_BOOLEAN.
-
Fix two regressions completely breaking the correctness of the copy command, introduced in r6343.
-
make setting a sector's .wallptr call setfirstwall() instead of setting it directly and corrupting the map
-
Revert r6526 and r6527. This restores the longstanding behavior of the killit command, and setting sprites' xrepeat to zero, to not actually delete sprites unless their statnum is STAT_ACTOR or STAT_MISC. Be sure to set a sprite's statnum to one of these statnums if you want it to be deleted.
Show details
This should fix the broken E1L1 sector warp in the existing release of the Duke 64 mod, and the Polymer light culling used in HHR.
April 2018
March 2018
-
Add EVENT_DAMAGESPRITE, EVENT_POSTDAMAGESPRITE, EVENT_DAMAGEWALL, EVENT_DAMAGECEILING, and EVENT_DAMAGEFLOOR.
Show details
In these events, THISACTOR is the projectile (or source of damage), and RETURN is the sprite/wall/sector affected. Set RETURN to -1 to cancel any hardcoded effects. ud.return 1 through 5 are the parameters passed to hitradius if RADIUSEXPLOSION is the source of the damage. ud.return 1 is -1 otherwise. New tokens "damageeventtile" and "damageeventtilerange" or tiledata[].gameflags & SFLAG_DAMAGEEVENT to enable processing for receivers with corresponding tilenums. CON commands to replicate hardcoded effects (beyond switching tilenums, such as spawning glass) are forthcoming. Use of EVENT_DAMAGEHPLANE is hereby discouraged. Patch from Striker, based on work by Fox.
-
Add gettiledata/settiledata. Same members as tiledata[] quick access struct. Not all fields writable.
Show details
Patch from Striker.
February 2018
January 2018
-
Add if statements if(var(var)){a,b}(e).
Show details
Inspired by x86 assembly, these stand for "above" and "below", and perform unsigned versions of greater-than and less-than, respectively. Useful for testing array bounds.
-
Add STR_USERMAPFILENAME for qgetsysstr.
Show details
Patch from Fox.
-
Add commands "swaptrackslot" and "preloadtrackslotforswap"
-
Add user_map and m_user_map read-only userdefs.
November 2017
-
Add EVENT_RECOGSOUND.
Show details
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.
Show details
Set RETURN to the sound played when the menu is opened. -1 to cancel. Patch from Fox.
-
Add EVENT_DISPLAYEND and EVENT_DISPLAYROOMSEND.
Show details
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.
Show details
screenpal <r> <g> <b> <a> Similar to palfrom, but works on screen events. Values range from 0 to 255. Patch from Fox.
-
Add command "startscreen" and corresponding EVENT_SCREEN.
Show details
Use startscreen to take control away from the game and display content with rotatesprite. RETURN is set to 1 when any key is pressed, and if it is nonzero when the event ends, the screen ends and the game resumes. Patch from Fox.
-
Add EVENT_SKIPCUTSCENE.
Show details
Used with startcutscene. RETURN is set to 1 when any key is pressed, and is used to control when a cutscene ends. Patch from Fox.
-
Add EVENT_PRECUTSCENE.
Show details
Used with startcutscene. RETURN sets the frame of an ANM before it is rendered. Patch from Fox.
-
Run EVENT_CUTSCENE during IVFs as well.
Show details
Changing the frame of an IVF file is unsupported, so its only purpose is to play sounds. Patch from Fox.
-
Add "actorsound" command.
Show details
Patch from Striker.
August 2017
-
Call I_ClearAllInput before Anim_Play when executing startcutscene.
-
Add "stopallmusic" command.
-
Add starttrackslot <volume> <level>
Show details
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.