Subversion Repositories eduke32

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
5067 2127d 4h terminx /polymer/eduke32/source/actors.h "Stylistic changes"

Translation: I made some stuff const because I felt like it.
 
4956 2173d 12h helixhorned /polymer/eduke32/source/actors.h Add SFLAG_NOWATERDIP, unconditionally preventing actors from dipping into ST1 water.

By default, the following enemies have this flag set: OCTABRAIN, COMMANDER, DRONE.
DONT_BUILD.
 
4898 2198d 23h terminx /polymer/eduke32/source/actors.h Revise C++ structure trackers for performance and introduce "tspritetype", for temporary sprites or other usages where using the trackers would be invalid or undesired. DONT_BUILD.  
4766 2245d 0h hendricks266 /polymer/eduke32/source/actors.h Make a bunch of things extern "C". This should fix C++ builds on OS X and with Lunatic. DONT_BUILD.  
4747 2248d 16h terminx /polymer/eduke32/source/actors.h Part 1 of attempting to adhere to C standard section 7.1.3. It turns out it's illegal to use identifiers that begin with _ or have __ anywhere in them. DONT_BUILD.  
4745 2248d 16h terminx /polymer/eduke32/source/actors.h Mainly misc cleanups (and a fix for the C++ build), but there are a few important changes in here.

VM_OnEvent() has become VM_OnEvent(), VM_OnEventWithReturn(), VM_OnEventWithDist(), and VM_OnEventWithBoth() (the latter of which is only ever used once...). Of course, this required every call to VM_OnEvent() be changed.

memberlabel_t and vmstate_t have been changed to use the regular "int" type versus explicitly specifying int32_t as they did previously. The rationale for this change is simply that it looks cleaner, and I think we should move toward just using "int" in most cases where there's no particular reason to specify an explicit data type.

Also changes CON_KILLIT to just "return" instead of "continue". DONT_BUILD.
 
4590 2324d 10h helixhorned /polymer/eduke32/source/actors.h Lunatic: add actor.move() static function and documentation stub.  
4541 2373d 19h hendricks266 /polymer/eduke32/source/actors.h Replace the funkily-formatted GNU.TXT with the FSF's official gpl-2.0.txt. Also, update the FSF's address in all source files that contain it.

DONT_BUILD.
 
4378 2499d 14h helixhorned /polymer/eduke32/source/actors.h Fix the "fix for flying/jumping monsters getting stuck in water".

In C and Lunatic, split 'jumptoplayer' of enum amoveflags_t / action.MOVFLAGS
into 'jumptoplayer_bits' and 'jumptoplayer_only' (see updated Lunatic doc).
 
4371 2500d 14h helixhorned /polymer/eduke32/source/actors.h Add new actor flag and predefined CON label SFLAG_NODAMAGEPUSH.

This flag is set from C for some enemies that should not be pushed back when
damaged, such as TANK. Both the tile flag and the per-sprite flag are used
(i.e. the ultimate flag value is the XOR of the two).
Add currently non-functional example to test.lua that attempts to set this bit
for NEWBEAST.
 
4351 2521d 9h helixhorned /polymer/eduke32/source/actors.h Rename SPRITE_* flag enum constants to SFLAG_*, for consistency with CON.  
3992 2721d 4h terminx /polymer/eduke32/source/actors.h Refactor projectiles a bit. Tested with all of the original weapons and with the weapons in the Duke 64 mod.  
3968 2739d 15h helixhorned /polymer/eduke32/source/actors.h Lose the 'packed' attribute on actor_t.

Its members are already laid out on the natural alignment boundaries.
Compilation tested with {32-bit, 64-bit} x {Lunatic, non-Lua} builds.
 
3922 2758d 8h helixhorned /polymer/eduke32/source/actors.h Lunatic: retire an actor's sprite[].hitag/lotag for new actor[] members.  
3921 2758d 8h helixhorned /polymer/eduke32/source/actors.h Retire actor[].shootzvel, as it was only ever used in local scope.

That is, its value was only referenced during the duration of a function call
that had previously set it. It was also never accessible from CON.
 
3920 2758d 8h helixhorned /polymer/eduke32/source/actors.h Actor-related code cleanup part 2: give actor t_data[] indexes names.

Using macros like AC_COUNT(t). Clean up related code:
- comment out the dead condition noted in the previous commit
- Lunatic: use get_count() instead of get_t_data(0) in one place,
rename to _get_t_data(), i.e. make that method internal
 
3916 2758d 8h helixhorned /polymer/eduke32/source/actors.h Lunatic: don't register con.action/move/ai by name, make these return a cdata.  
3866 2779d 12h helixhorned /polymer/eduke32/source/actors.h CON: add projectile member .userdata and predefined label PROJ_USERDATA.

It is a 32-bit signed integer. No version bump necessary, although CON code
accessing this new member will not work with earlier revisions (obviously).
 
3743 2809d 16h helixhorned /polymer/eduke32/source/actors.h Tweak r3681 to obtain the same behavior in the pre-r3681 undefined behavior case.

That is, assume that switch(DYNAMICTILEMAP(-1)) (which is an oob access and thus
undefined behavior) gets us to the 'default:' label.
 
3679 2834d 17h helixhorned /polymer/eduke32/source/actors.h Clean up of mostly actors.c, but some other files along the way too.

- Rewrite some sprites-of-{stat,sector} loops using the SPRITES_OF,
SPRITES_OF_SECT and new SPRITES_OF_SECT_SAFE macros.
- In passing, identify some problems and mark them with 'XXX', but don't
attempt to fix them yet.
- The usual readability improvements...
 

Show All