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 17h terminx /polymer/eduke32/build/src/defs.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.
 
4884 2315d 7h hendricks266 /polymer/eduke32/build/src/defs.c Implement UserMapHacks.  
4835 2328d 5h helixhorned /polymer/eduke32/build/src/defs.c A couple of miscellaneous cleanups.

defs.c: sync some dup'd code for 'definevoxel' and 'voxel' DEF tokens.
engine.c: factor out PolymerProcessModels().
 
4834 2328d 5h helixhorned /polymer/eduke32/build/src/defs.c engine.c: style-cleanup drawvox(). Also clean up ALL of voxmodel.c.

No deliberate semantic changes here.
 
4813 2341d 0h helixhorned /polymer/eduke32/build/src/defs.c DEF: fix handling of 'remappal' attribute for 'makepalookup'.  
4812 2341d 0h helixhorned /polymer/eduke32/build/src/defs.c Pull setting g_noFloorPal[] further down, into makepalookup().

Now passed as last arg 'noFloorPal' to makepalookup(). Used as follows:
- from loadlookups(): *false*, i.e. do take over floor pal.
- from generatefogpals() [default fog pals] and fillemptylookups(): *true*,
i.e. don't take over floor pal
- from DEF 'fogpal': true
- from DEF 'makepalookup': take over flag from pal from which we are remapping,
or set to true if remapping from pal 0
- (CROSSHAIR_PAL: true)

This should make the issue reported in
http://forums.duke4.net/topic/775-eduke32-20-and-polymer/page__view__findpost__p__197583
resolve in a natural manner.
 
4811 2341d 0h helixhorned /polymer/eduke32/build/src/defs.c Move g_noFloorPal[] to the engine side and adapt other stuff accordingly.

- 'nofloorpalrange' DEF token: now handled for both game and editor (for the
latter, it's effective only for "shade preview" mode, [']+[X]).
- in generatefogpals(), assign g_noFloorPal[] = 1 for every generated (default)
fog pal; get rid of its return value / g_firstFogPal
 
4680 2390d 19h terminx /polymer/eduke32/build/src/defs.c Another 5000 lines of pain and tears. DONT_BUILD.  
4637 2415d 18h terminx /polymer/eduke32/build/src/defs.c Re-use temporary buffer for tilefromtexture true color -> paletted conversion and free when finished with the .def instead of freeing and re-allocating for every tile  
4623 2415d 18h terminx /polymer/eduke32/build/src/defs.c More Polymost cleanup, also consolidate tilesizx and tilesizy into a single tilesiz vec2_t to ensure both x and y are always in the same cache line. I may add a new vec2_16t later. Still need to take care of emulating the old flat array for the sake of CON access.  
4607 2415d 18h terminx /polymer/eduke32/build/src/defs.c Extra files for previous commits  
4491 2538d 23h helixhorned /polymer/eduke32/build/src/defs.c Bye, bye, B*alloc(), all hail X*alloc()! Replace large portion of the calls...

... and cull code that is dead with the X*alloc() versions since they never
return NULL on requesting memory.

Use something like
git grep '[^Xx]\(m\|c\|re\)alloc *('
and
git grep '[^Xx]strdup *('
to see places where I left the B*alloc() calls intact.

BUILD_LUNATIC.
 
4402 2600d 1h helixhorned /polymer/eduke32/build/src/defs.c In 'tilefromtexture' DEF token, fix specifying -1 xoffset or yoffset.  
4385 2607d 13h terminx /polymer/eduke32/build/src/defs.c Widespread use of ARRAY_SIZE macro.  
4316 2647d 12h hendricks266 /polymer/eduke32/build/src/defs.c Replace QuickLZ with LZ4.  
4232 2688d 11h helixhorned /polymer/eduke32/build/src/defs.c defs.c: in '2dcol' DEF token, clamp R, G, B values to [0 .. 63].  
4225 2691d 5h helixhorned /polymer/eduke32/build/src/defs.c Reserve 16 tiles from the end of MAXTILES, don't allow as user tiles from ART/DEF.  
4186 2718d 4h helixhorned /polymer/eduke32/build/src/defs.c defs.c: in check_tile(), pass 'tile' by value.  
4174 2727d 3h helixhorned /polymer/eduke32/build/src/defs.c Use named enum constants for the HUD flags instead of literal numbers.  
4062 2796d 5h terminx /polymer/eduke32/build/src/defs.c Add support for "orig_sizex" and "orig_sizey" parameters to "texture" block in def files. This is the same as using "dummytile" before defining a texture. Needed for compatibility with the .def files from Megaton, not because I like arbitrarily adding extranneous shit. :p  

Show All