Subversion Repositories eduke32

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
4987 2365d 12h 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 2399d 2h hendricks266 /polymer/eduke32/build/src/defs.c Implement UserMapHacks.  
4835 2411d 23h 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 2411d 23h 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 2424d 18h helixhorned /polymer/eduke32/build/src/defs.c DEF: fix handling of 'remappal' attribute for 'makepalookup'.  
4812 2424d 18h 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 2424d 18h 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 2474d 13h terminx /polymer/eduke32/build/src/defs.c Another 5000 lines of pain and tears. DONT_BUILD.  
4637 2499d 13h 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 2499d 13h 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 2499d 13h terminx /polymer/eduke32/build/src/defs.c Extra files for previous commits  
4491 2622d 17h 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 2683d 19h helixhorned /polymer/eduke32/build/src/defs.c In 'tilefromtexture' DEF token, fix specifying -1 xoffset or yoffset.  
4385 2691d 8h terminx /polymer/eduke32/build/src/defs.c Widespread use of ARRAY_SIZE macro.  
4316 2731d 6h hendricks266 /polymer/eduke32/build/src/defs.c Replace QuickLZ with LZ4.  
4232 2772d 5h helixhorned /polymer/eduke32/build/src/defs.c defs.c: in '2dcol' DEF token, clamp R, G, B values to [0 .. 63].  
4225 2775d 0h 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 2801d 23h helixhorned /polymer/eduke32/build/src/defs.c defs.c: in check_tile(), pass 'tile' by value.  
4174 2810d 22h helixhorned /polymer/eduke32/build/src/defs.c Use named enum constants for the HUD flags instead of literal numbers.  
4062 2879d 23h 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