Build 6895
SVN-
make setting a sector's .wallptr call setfirstwall() instead of setting it directly and corrupting the map
Nickname SVN e nomi Git sono unificati per persona.
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.
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.
Add EVENT_DAMAGESPRITE, EVENT_POSTDAMAGESPRITE, EVENT_DAMAGEWALL, EVENT_DAMAGECEILING, and EVENT_DAMAGEFLOOR.
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 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 wall.blend to structure access.
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.
allow viewtype -8 for 'action', meaning to x-flip the shown sprite.
Similarly to how -5 and -7 and are accepted since r3859.
always return non-negative values from 'clipmove' and related.
Previously, the C function clipmove() returned negative values when hit a wall (32768+wallnum) or sprite (49152+spritenum) because internally, these values were encoded into a *signed* 16-bit integer. This made no difference to C code using it, since it always proceeded by bit checks, but was inconsistent with documentation on CON 'clipmove' on the wiki. The following commands are affected too, since they use the value returned by clipmove(): 'clipmovenoslide', 'movesprite'. Also, the value of actor[].movflag ('htmovflag' from CON). Also, fix 'clipmove*' in LunaCON and add lunatic/test/checknearwall.con as an example of how to implement a being-close-to-a-wall checker as requested in http://forums.duke4.net/topic/7869-determining-closeness-to-a-wall/
add getactor[]/sprite[] member 'movflags'.
This is exactly the same as the actor[].movflags member in the Lunatic build: http://lunatic.eduke32.com/lunatic.html#actor
make lotag/hitag getters return signed values, as per agreement on IRC.
This means that the internal change done to these sprite members in r3159 is hidden from CON for backward-compatibility purposes. Note that .cstat and .{ceiling,floor}stat aren't touched, and will return unsigned values to CON.