Build 5335
SVN-
allow viewtype -8 for 'action', meaning to x-flip the shown sprite.
Mostra dettagli
Similarly to how -5 and -7 and are accepted since r3859.
Nickname SVN e nomi Git sono unificati per persona.
allow viewtype -8 for 'action', meaning to x-flip the shown sprite.
Similarly to how -5 and -7 and are accepted since r3859.
Add EVENT_PREDRAW2DSCREEN.
make BOUNCEMINE spawn FRAMEEFFECT only if moving horizontally.
Also add "zshoot -4096 BOUNCEMINE" to lunatic/test/weaponvars.con to demonstrate that bouncemines can be shot.
Add SFLAG_HURTSPAWNBLOOD, which allows actors (particularly useractor enemies) to spawn blood when hurt as hardcoded enemies do.
Add userdef members "globalflags" and "globalgameflags", which control the values specified by the def commands of the same name.
Minor internal CON changes.
Add line numbers to a couple of .def parsing warning messages. At some point these should probably all be cleaned up, similar to how they're handled with CON parsing. DONT_BUILD.
fix 'resizearray' after r4735: copy over old values, zero-init new ones.
Make lunatic/test/gamearray.con run in C-CON, too.
fix negative alpha for 'rotatespritea'. BUILD_LUNATIC.
Conceptually, this amends r4428.
from 'definevolumename', make g_numVolumes be determined as in C-CON.
check EVENT_ENTERLEVEL for nonzero RETURN, run w/ other players then.
Background: AMC TC initializes per-player variables from this event.
suffix gamearray file names with '.gar'.
expose g_tile[] members of 'tiledata'.
implement NODEFAULT per-actor gamevars in the C-CON fashion.
For glocal gamevars, the LunaCON semantics (session gamevar) are kept. For per-actor ones, this now prevents resetting a gamevar's value to default on spawn or loadactor. BUILD_LUNATIC.
allow writing -1 to player[].newowner.
For the other player members, where formerly negative values were allowed to be written, only -1 is now.
allow ':' immediately after 'case' (legacy; warns), writing to ud.god.
Also, on one "gamevar `xxx' is not per-*" diagnostic, print the location of the gamevar definition.
honor r_usenewaspect, especially it being off.
For this, add a setaspect_new() setup/restore pair in M32_DrawRoomsAndMasks() like for G_DrawRooms(). With this, changing viewingrange/aspect via m32script (in a.m32: [7] -- [9] on the upper row) can only be done in r_usenewaspect 0, though.
Expose all structs to inline access. Tiledata and paldata are still to-do.
DONT_BUILD.
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.
Correct the month used in automatic names of savegames created by the "save" CON command.
update docs and comments in lunatic/test/event_chaining.con
Add events for the remaining player-related HUD display functions:
EVENT_DISPLAYSPIT - loogies from the SPIT projectile EVENT_DISPLAYFIST - nukebutton fist (shrunk fists are part of EVENT_DISPLAYWEAPON) EVENT_DISPLAYKNEE - pstomp knee (quick kick is part of EVENT_DISPLAYWEAPON) EVENT_DISPLAYKNUCKLES - knuckle crack idle animation EVENT_DISPLAYSCUBA - scuba gear EVENT_DISPLAYTIP - tip hand EVENT_DISPLAYACCESS - access cards / keycards
Replace the use of an "snum" parameter in the screen display functions with screenpeek because we need to keep screenpeek accurate for CON anyway.
Add two new structs, tiledata and paldata, accessible only through quick-access.
Add checks to prevent invalid reads/writes when using get/setprojectile on a tile number that does not have a projectile defined for it.
Add projectile workslike flag PROJECTILE_NOSETOWNERSHADE = 0x00200000 = 2097152 that prevents actors from inheriting a projectile's shade when shooting it.
Really fix get/setprojectile.
weapons.con.sample: Update to use the hudpal member so that fogpals and custom makepalookup definitions display properly.
Fix a mistake in r5086 that broke get/setprojectile.
Add read-only player structure member "hudpal", that returns the result of P_GetHudPal().
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.
Redefine "break" within events to mean "skip the remainder of this event block", not "skip the remainder of execution of this event, through all chained blocks". The latter behavior is still available through the "return" keyword.
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.
Fix processing the bytecode in an incorrect order when executing setplayer on a member with a second parameter, a missed instance of a consideration from r5086.
Remove the restriction that prevents userdef access when the current player is not myconnectindex.
Implement tilesizx/y gamearrays in a fashion similar to M32Script's solution: a STRIDE2 flag.
Modify the parsing of definevolumename and defineskillname so that they only look for the text before a newline.
// valid definevolumename 3 <text> // invalid definevolumename 3 <text>
Add quick access for the remaining structures without it.
Enumify quick structure access.
Factor fast struct access and get<struct> out into single functions.
Add PLAYER_PALETTE to quick player struct access, and add a setter that calls P_SetGamePalette().