Subversion Repositories eduke32

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
4987 2281d 16h terminx /polymer/eduke32/source/gamedef.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.
 
4977 2283d 16h hendricks266 /polymer/eduke32/source/gamedef.c CON: Add undefinevolume, undefineskill, and undefinelevel.  
4970 2284d 14h hendricks266 /polymer/eduke32/source/gamedef.c CON: Add read-only access to ud.config.MusicToggle through the "musictoggle" member.  
4969 2284d 14h hendricks266 /polymer/eduke32/source/gamedef.c CON: Add STR_YOURTIME, STR_PARTIME, STR_DESIGNERTIME, and STR_BESTTIME to qgetsysstr.  
4968 2284d 14h hendricks266 /polymer/eduke32/source/gamedef.c Factor out generation of strings for time values in the bonus screen. This involves the creation of ud.playerbest.  
4956 2287d 5h helixhorned /polymer/eduke32/source/gamedef.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.
 
4945 2298d 10h hendricks266 /polymer/eduke32/source/gamedef.c Add events EVENT_DISPLAYINACTIVEMENU and EVENT_DISPLAYINACTIVEMENUREST and userdef members m_origin_x and m_origin_y.

This allows for CON screen display code to use menu animations. The following is an example of how to adapt screen features that should animate.

before:

onevent EVENT_DISPLAYMENUREST
ifvare current_menu 0 // main menu
{
setvar x 1
setvar y 1
rotatesprite x y zoom ang tilenum shade pal orientation 0 0 xdim ydim
}
endevent

after:

state DisplayMenuCommon
ifvare RETURN 0 // main menu
{
getuserdef[THISACTOR].m_origin_x x
getuserdef[THISACTOR].m_origin_y y
addvar x 65536
addvar y 65536
rotatesprite16 x y zoom ang tilenum shade pal orientation 0 0 xdim ydim
}
ends

onevent EVENT_DISPLAYMENUREST state DisplayMenuCommon endevent
onevent EVENT_DISPLAYINACTIVEMENUREST state DisplayMenuCommon endevent
 
4928 2306d 21h hendricks266 /polymer/eduke32/source/gamedef.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.
 
4926 2306d 21h hendricks266 /polymer/eduke32/source/gamedef.c Clean up duplicate and strangely-formed cases in C_ParseCommand().  
4902 2312d 17h terminx /polymer/eduke32/source/gamedef.c Questionable CON changes and optimizations. <3  
4841 2328d 4h helixhorned /polymer/eduke32/source/gamedef.c CON: allow passing more than one flag to the 'spriteflags' directive.

These will be bitwise-OR'd.
 
4840 2328d 4h helixhorned /polymer/eduke32/source/gamedef.c gamedef.c: factor out some dup'd code into C_BitOrNextValue(), C_FinishBitOr().  
4680 2390d 18h terminx /polymer/eduke32/source/gamedef.c Another 5000 lines of pain and tears. DONT_BUILD.  
4628 2415d 18h terminx /polymer/eduke32/source/gamedef.c Free h_labels table when done compiling CONs  
4588 2438d 4h helixhorned /polymer/eduke32/source/gamedef.c Get rid of EnvMusicFilename[] and use MapInfo[].musicfn for that.

The additional space was there all the time, so it's not understandable why
another array was necessary.
CON: for 'music', error if volume number is outside [0 .. MAXVOLUMES+1], and
in LunaCON, additionally warn if it's MAXVOLUMES+1 (0 is preferred for that).
 
4586 2438d 4h helixhorned /polymer/eduke32/source/gamedef.c More music-related cleanup.  
4582 2445d 11h helixhorned /polymer/eduke32/source/gamedef.c Fix crash using INTERNAL DEFAULTS after CON error when CON modules were given.  
4541 2487d 13h hendricks266 /polymer/eduke32/source/gamedef.c 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.
 
4537 2500d 23h hendricks266 /polymer/eduke32/source/gamedef.c Miscellaneous get/set(this)projectile cleanup.  
4516 2520d 23h hendricks266 /polymer/eduke32/source/gamedef.c Instead of displaying "Unknown GRP - EDuke32", simply display "EDuke32".

Much classier this way.
 

Show All