Subversion Repositories eduke32

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
5005 2354d 6h hendricks266 /polymer/eduke32/source/gameexec.c Apple: Update Xcode project and build system. DONT_BUILD.  
5000 2357d 9h terminx /polymer/eduke32/source/gameexec.c More Android work. DONT_BUILD.  
4988 2357d 9h terminx /polymer/eduke32/source/gameexec.c C-CON changes  
4987 2357d 9h terminx /polymer/eduke32/source/gameexec.c Animation system overhaul part 1. This allows for an unlimited number of .anm/.ivf files to be defined via duke3d.def and played back at any time with the new CON commands. Syntax is currently as follows, but may change:

cutscene "somefile.anm" { delay 10 } // defines somefile.anm with a delay of 10 120Hz tics between frames. a more typical framerate method may come later, but this is how the originals worked.

Once defined, they can be played through CON with the new playback command, also called "cutscene". It works like this:

definequote 12345 somefile.anm
define ANIM_SOMEFILE 12345

...

cutscene ANIM_SOMEFILE // halts game execution and immediately plays cutscene, resuming execution when finished

...

Sounds can be played during animations (and tiles can be overlaid, etc) like this:

onevent EVENT_CUTSCENE
ifcutscene ANIM_SOMEFILE
{
ifvare RETURN 12 // frame 12
sound FLY_BY
rotatesprite ...
}
endevent

The value of the RETURN var at the end of EVENT_CUTSCENE determines the next frame to play. This can be used for looping, etc. Attempting to play animations backwards outright is not advised as animations only seek in one direction (so rewinding requires running it through from frame 0 again). This is will WIP and hasn't been heavily tested at all, so please try it out.
 
4975 2359d 19h helixhorned /polymer/eduke32/source/gameexec.c gameexec.c: in VM_Move(), update actor[].{floor,ceiling}z for enemies.

Previously, that was the case only with DRONE and COMMANDER. This makes
non-falling enemies pass properly through TROR bunches.
 
4969 2360d 6h hendricks266 /polymer/eduke32/source/gameexec.c CON: Add STR_YOURTIME, STR_PARTIME, STR_DESIGNERTIME, and STR_BESTTIME to qgetsysstr.  
4956 2362d 21h helixhorned /polymer/eduke32/source/gameexec.c 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.
 
4955 2362d 21h helixhorned /polymer/eduke32/source/gameexec.c Actor ST1 handling: use A_GetWaterZOffset() with VM_Move(), too. DONT_BUILD.

This is where things are changed at last. This fixes lizmen walking on water.
 
4954 2362d 21h helixhorned /polymer/eduke32/source/gameexec.c Actor ST1 handling: cleanup part 2. DONT_BUILD.

Factor out condition for whether a z offset is added or not
("fix for flying/jumping monsters getting stuck in water", etc.) into
a function A_GetWaterZOffset() (and a helper A_GetVerticalVel()).
 
4953 2362d 21h helixhorned /polymer/eduke32/source/gameexec.c Actor ST1 handling: clean up code a bit. (Preparation for real changes.)

In VM_Fall(), keep a temp preliminary new z position of the actor and
assign only when we return. This is to each ease watching its value in GDB.
DONT_BUILD.
 
4948 2374d 2h hendricks266 /polymer/eduke32/source/gameexec.c Modularize .mid --> .ogg --> .flac code to apply to sounds as well, and various cleanup in music/sound filename-handling code.  
4937 2380d 14h helixhorned /polymer/eduke32/source/gameexec.c Lunatic: fix build and linking. DONT_BUILD.

- t{sector,wall}type are simply typedef'd to the non-t versions
- make FORCE_INLINE unconditional of DISABLE_INLINING (otherwise there are
multiple definitions of these functions)
- update lunatic/doc/lpeg-lunatic.patch to apply against the LPeg 0.12 I just
downloaded
 
4928 2382d 13h hendricks266 /polymer/eduke32/source/gameexec.c CON: Add new commands "getmusicposition" and "setmusicposition" that operate on the playback position of the current music track.

// Example: Switch between tracks like radio stations.
getmusicposition temp
starttrackvar next_music_track
setmusicposition temp

Only implemented for Ogg Vorbis, FLAC, and XA. Consult the devs before using these commands.
 
4923 2383d 7h terminx /polymer/eduke32/source/gameexec.c Fix savemapstate/loadmapstate (fixes a crash at shutdown, among other things)  
4919 2384d 7h terminx /polymer/eduke32/source/gameexec.c Implement better fade-out for quotes and for the mouse cursor in the menu.  
4903 2388d 9h terminx /polymer/eduke32/source/gameexec.c Introduce "twalltype" for temporary uses of walltype where using wall_tracker_hook() would be invalid. This is similar to "tspritetype" and fixes a bunch of problems in the editor that cropped up when changing the tracker sanity checks to an assert that only exists in debug builds (branching upon any write to a sprite, sector or wall had an unacceptable impact on performance).  
4902 2388d 9h terminx /polymer/eduke32/source/gameexec.c Questionable CON changes and optimizations. <3  
4844 2403d 20h helixhorned /polymer/eduke32/source/gameexec.c C-CON: fix 'writearraytofile' for 64-bit platforms.  
4763 2434d 17h hendricks266 /polymer/eduke32/source/gameexec.c Eliminate the printf_nowarn stuff that has long since been supplanted by TrackerCast. DONT_BUILD.  
4745 2438d 1h terminx /polymer/eduke32/source/gameexec.c 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.
 

Show All