Build 6411
SVN-
Fix checkavailweapon command.
Nickname SVN e nomi Git sono unificati per persona.
Fix checkavailweapon command.
Fix playervar quick structure access.
ifspawnedby and ifwasweapon are really the same command. Merge the code to execute them.
Add wall.blend to structure access.
Add EVENT_PRELOADGAME and EVENT_POSTLOADGAME.
Add drawline256 and drawlinergb commands that call the internal functions used for the automap lines.
drawline256 <x0> <y0> <x1> <y1> <index> drawlinergb <x0> <y0> <x1> <y1> <index> <rgb> The coordinates are xdim<<12/ydim<<12 based, not 320<<16x200<<16. <index> is a palette index, and for drawlinergb is used as a fallback in the software renderer. <rgb> is encoded the same as PROJ_FLASH_COLOR.
Add getclosestcol command, which finds the closest palette index given
getclosestcol <return> <color> <limit> <color> is encoded the same as PROJ_FLASH_COLOR. <limit> is the index of the last palette color that should be considered. Use 255 for the whole palette, 254 to exclude the transparent color, 239 to exclude Duke 3D's fullbrights, etc.
Add EVENT_DISPLAYOVERHEADMAPTEXT.
Set RETURN to any non-zero value to disable hardcoded display of text. If you wish to replace the hardcoded text, you must check that userdef[].overhead_on == 2 yourself.
Handle the save and savenn commands after the full tic is processed, instead of in the middle of it during execution. DONT_BUILD.
Add undefinegamefunc.
Remove bounds check on rotatesprite coordinates.
Add an optional sixth parameter, a flags bitfield, to action definitions. Bump BYTEVERSION.
Add "defstate" token which functions identically as in M32script: synonymous with CON's "state" only at top-level (when defining a state). Useful for syntax highlighting.
amend action's viewtype -8 to be more in line with the others.
allow viewtype -8 for 'action', meaning to x-flip the shown sprite.
Similarly to how -5 and -7 and are accepted since r3859.
check EVENT_ENTERLEVEL for nonzero RETURN, run w/ other players then.
Background: AMC TC initializes per-player variables from this event.
Add player[].index, which returns the player ID that you put in. Mostly useful to get the magic value of THISACTOR when applied to the player struct.
DONT_BUILD.
Add projectile workslike flag PROJECTILE_NOSETOWNERSHADE = 0x00200000 = 2097152 that prevents actors from inheriting a projectile's shade when shooting it.
Add EVENT_WORLD, EVENT_PREWORLD, and EVENT_PRELEVEL, which respectively function as EVENT_GAME, EVENT_PREGAME, and EVENT_LOADACTOR, but only running once instead of per-actor.
Add token "appendevent", which functions identically to "onevent" except that the event's code is chained to the end of any previous events, instead of the beginning.
Add EVENT_DISPLAYROOMSCAMERA and EVENT_DISPLAYSTART.
EVENT_DISPLAYROOMSCAMERA functions exactly like EVENT_DISPLAYROOMS, including RETURN values, but for the ud.camerasprite >= 0 case. EVENT_DISPLAYSTART is executed immediately after the screen background is cleared and drawn. Ensure its RETURN value is zero, because it is currently not being used. WARNING: Consult the devs before using EVENT_DISPLAYSTART. Its position in the display code sequence is not finalized.
Add EVENT_DISPLAYCAMERAOSD. Set RETURN to -1 to disable it.
From this event, if "getactor[THISACTOR].htg_t 0" is zero, then the camera is functional. Nonzero values indicate the camera has been destroyed, which is only possible when the CAMERASDESTRUCTABLE parameter of gamestartup has been enabled.
Add EVENT_DISPLAYLEVELSTATS. Set RETURN to -1 to disable them.
Add "resetplayerflags". Flag 1 means "don't ask the user if they want to load".
Add "definevolumeflags", currently equipped to hide an episode from the single player and/or multiplayer screens.
enum { EF_HIDEFROMSP = 1<<0, EF_HIDEFROMMP = 1<<1, };