Subversion Repositories eduke32

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
5048 2333d 12h hendricks266 /polymer/eduke32/source/game.c Reset totalclock to zero for each MAIN_LOOP_RESTART.  
5047 2333d 12h hendricks266 /polymer/eduke32/source/game.c CON: Add EVENT_DISPLAYROOMSCAMERA and EVENT_DISPLAYSTART.

EVENT_DISPLAYROOMSCAMERA functions exactly like EVENT_DISPLAYROOMS, including RETURN values, but for the ud.camerasprite >= 0 case.
EVENT_DISPLAYSTART is executed immediately after the screen background is cleared and drawn. Ensure its RETURN value is zero, because it is currently not being used.

WARNING: Consult the devs before using EVENT_DISPLAYSTART. Its position in the display code sequence is not finalized.
 
5046 2333d 12h hendricks266 /polymer/eduke32/source/game.c CON: Add EVENT_DISPLAYCAMERAOSD. Set RETURN to -1 to disable it.

From this event, if "getactor[THISACTOR].htg_t 0" is zero, then the camera is functional. Nonzero values indicate the camera has been destroyed, which is only possible when the CAMERASDESTRUCTABLE parameter of gamestartup has been enabled.
 
5045 2333d 12h hendricks266 /polymer/eduke32/source/game.c CON: Add EVENT_DISPLAYLEVELSTATS. Set RETURN to -1 to disable them.  
5042 2333d 12h hendricks266 /polymer/eduke32/source/game.c Restore the shade of a tiled MENUTILE to 8, rather than 16.  
5020 2349d 22h helixhorned /polymer/eduke32/source/game.c Stick update of 'totalclocklock' at beginning of G_DrawRooms() instead of drawrooms().

This fixes engine-side sprite animation in the following scenario: CON code
wants to draw a scene from EVENT_DISPLAYREST, but since it covers the whole
screen, disables the drawing of the 3D scene beforehand (RETURN set to 1 from
EVENT_DISPLAYROOMS). DONT_BUILD.
 
5007 2355d 8h hendricks266 /polymer/eduke32/source/game.c Amend previous commit. DONT_BUILD.  
5006 2355d 8h hendricks266 /polymer/eduke32/source/game.c Fix an assertion failure with NETCODE=0. DONT_BUILD.  
4997 2358d 15h terminx /polymer/eduke32/source/game.c A whole bunch of mostly insignificant changes that didn't deserve separate commits. DONT_BUILD.  
4989 2358d 15h terminx /polymer/eduke32/source/game.c More Android changes. DONT_BUILD.  
4987 2358d 15h terminx /polymer/eduke32/source/game.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.
 
4986 2358d 15h terminx /polymer/eduke32/source/game.c Minor sound cleanup... clean up crappy old code, remove obsolete "FXDevice" and "MusicDevice" variables, etc.  
4982 2358d 15h terminx /polymer/eduke32/source/game.c Macro for handling ud.bgstretch. DONT_BUILD.  
4972 2361d 1h helixhorned /polymer/eduke32/source/game.c CON: Amend retrieval of STR_*TIME for qgetsysstr, fixing LunaCON and possible oob.

- Add declarations of C functions to defs.ilua, names to dynsymlist,
fix typo in con_lang.lua, ffi.string() calls in control.lua
- Assert that G_LastMapInfoIndex() is always called with ud.last_level >= 1.
(A stricter requirement than necessary to prevent follow-up oob accesses, but
logically the most meaningful.)
- In G_PrintParTime() and G_PrintDesignerTime(), return "<invalid>" if the above
does not hold. This can happen from EVENT_NEWGAME, for example. Add a test to
lunatic/test/qgetsysstr.con. DONT_BUILD.
 
4968 2361d 12h hendricks266 /polymer/eduke32/source/game.c Factor out generation of strings for time values in the bonus screen. This involves the creation of ud.playerbest.  
4965 2362d 3h helixhorned /polymer/eduke32/source/game.c Classic: fix underallocation of TILE_TILT and tilting at very small resolutions.

Since TILE_TILT is only allocated once, it must be done with the maximum
possible size.
 
4956 2364d 4h helixhorned /polymer/eduke32/source/game.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.
 
4949 2375d 8h hendricks266 /polymer/eduke32/source/game.c Don't allow Ogg Vorbis or FLAC files to be defined from def if the binary was built without the proper libraries.  
4948 2375d 8h hendricks266 /polymer/eduke32/source/game.c Modularize .mid --> .ogg --> .flac code to apply to sounds as well, and various cleanup in music/sound filename-handling code.  
4935 2381d 21h helixhorned /polymer/eduke32/source/game.c Classic: fix "windowed" modes (r_size >= 12) by reverting r4920; adapt.

In setview(), we now assert windowx2 < xdim. The only calling places where its
non-violation is non-trivial to ascertain are (1) showview from CON and
(2) draw-to-tile for look-sideways in game.c. AFAICS case 1 should be fine.
Case 2 is adapted; see comments there.
 

Show All