Subversion Repositories eduke32

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
5046 2227d 7h 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 2227d 7h hendricks266 /polymer/eduke32/source/game.c CON: Add EVENT_DISPLAYLEVELSTATS. Set RETURN to -1 to disable them.  
5042 2227d 7h hendricks266 /polymer/eduke32/source/game.c Restore the shade of a tiled MENUTILE to 8, rather than 16.  
5020 2243d 17h 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 2249d 3h hendricks266 /polymer/eduke32/source/game.c Amend previous commit. DONT_BUILD.  
5006 2249d 3h hendricks266 /polymer/eduke32/source/game.c Fix an assertion failure with NETCODE=0. DONT_BUILD.  
4997 2252d 10h terminx /polymer/eduke32/source/game.c A whole bunch of mostly insignificant changes that didn't deserve separate commits. DONT_BUILD.  
4989 2252d 10h terminx /polymer/eduke32/source/game.c More Android changes. DONT_BUILD.  
4987 2252d 10h 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 2252d 10h terminx /polymer/eduke32/source/game.c Minor sound cleanup... clean up crappy old code, remove obsolete "FXDevice" and "MusicDevice" variables, etc.  
4982 2252d 10h terminx /polymer/eduke32/source/game.c Macro for handling ud.bgstretch. DONT_BUILD.  
4972 2254d 20h 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 2255d 7h 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 2255d 22h 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 2257d 22h 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 2269d 3h 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 2269d 3h 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 2275d 16h 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.
 
4919 2279d 8h terminx /polymer/eduke32/source/game.c Implement better fade-out for quotes and for the mouse cursor in the menu.  
4913 2281d 2h hendricks266 /polymer/eduke32/source/game.c Fix aligned screentext with newlines.  
4898 2283d 10h terminx /polymer/eduke32/source/game.c Revise C++ structure trackers for performance and introduce "tspritetype", for temporary sprites or other usages where using the trackers would be invalid or undesired. DONT_BUILD.  
4879 2288d 17h helixhorned /polymer/eduke32/source/game.c game.c: revert changes of r4861 ("consult g_mirrorCount instead of gotpic[]").  
4875 2289d 20h helixhorned /polymer/eduke32/source/game.c Cleanup of various engine functions.

- factor out calculation of player-relative and screen+clipped-player-relative
coordinates into get_rel_coords() and get_screen_coords(), respectively
- the usual beautification stuff, especially since we're now on C99
 
4863 2296d 18h helixhorned /polymer/eduke32/source/game.c actors.c: replace hard-coded list with missing check for SFLAG_NODAMAGEPUSH.

In A_RadiusDamage(). The code snippet that is disabled for such actors
increases the damaged actor's .xvel by (4 times the) damage amount and
is responsible for the strange effect of enemies becoming faster TOWARDS
the player on being hit with an RPG frontally.

Thanks to Fox for a keen eye.
 
4861 2296d 23h helixhorned /polymer/eduke32/source/game.c In G_HandleMirror(), consult g_mirrorCount instead of gotpic[] w/ MIRROR.

DONT_BUILD.
 
4856 2297d 20h hendricks266 /polymer/eduke32/source/game.c Menus: Implement mouse/touch/pointer controls for all widgets.  
4853 2297d 20h hendricks266 /polymer/eduke32/source/game.c Add the necessary plumbing to sdlayer to detect mousedown, mouseup, and dragging.  
4852 2297d 20h hendricks266 /polymer/eduke32/source/game.c Introduce preprocessor token EDUKE32_TOUCH_DEVICES that covers both Android and iOS, and replace selected instances of __ANDROID__ with it.  
4847 2297d 22h helixhorned /polymer/eduke32/source/game.c Propagate 'smoothratio' to scenes drawn from the position of a camera.

That is, make interpolation work properly there -- both when 'using' a
VIEWSCREEN and when rendering the scene onto a TILE_VIEWSCR. This makes
a difference only if the camera is in a moving sector.
 
4845 2298d 21h helixhorned /polymer/eduke32/source/game.c Prettify viewscreen turned to STATIC in breakable cameras mode. DONT_BUILD.  
4843 2298d 21h helixhorned /polymer/eduke32/source/game.c Tweak the behavior of viewscreens to what is more logical IMO.

- At a given time, at most one viewscreen may display TILE_VIEWSCR, namely
that one which is g_curViewscreen
- sync kinds of distance to compare against VIEWSCREEN_ACTIVE_DISTANCE (was
Manhattan vs. dist(), now both the latter)
- fix resetting to VIEWSCREEN tile when player is greater from it than that
distance. When the player is closer to it again, it is *not* reset to
TILE_VIEWSCR.
- more sync'd g_curViewscreen and sprite[i].yvel (for 'i' being the viewscreen
sprite)

Note: in a multiplayer context, this needs to be thought about once more.
 
4834 2298d 21h helixhorned /polymer/eduke32/source/game.c engine.c: style-cleanup drawvox(). Also clean up ALL of voxmodel.c.

No deliberate semantic changes here.
 
4831 2303d 23h helixhorned /polymer/eduke32/source/game.c Minor cleanup around security cameras / viewscreens. DONT_BUILD.

The only semantic change is that an out-of-sync instance of a distance to
check (viewscreen sprite <-> player sprite) is changed in
actors.c:G_MoveStandables(), from 2048 (as in Duke3D 1.5) to 8192, now
represented by the define VIEWSCREEN_ACTIVE_DISTANCE. I have not yet observed
any change in behavior regarding this change (but there ought to be one).

Also, in DNCOORDS display, print 'totalclock' count, too.
 
4818 2308d 2h hendricks266 /polymer/eduke32/source/game.c Wii: Tweaks.
*Move the FPS display down from the top of the screen, as we do for quotes.
*Don't show a non-functional mouse cursor in the center of the screen.
*Don't display the "Startup window" option in Game Settings.
*Display the IR pointer crosshair in addition to the aiming crosshair, not instead of it.
*Eliminate some assumptions from wiibuild.bat.
*DONT_BUILD.
 
4815 2311d 0h helixhorned /polymer/eduke32/source/game.c Lunatic: show on-screen errors even in passive menu; fix '(display)rand*' for large values.

Also, some minor style cleanup in game.c. DONT_BUILD.
 
4811 2311d 16h helixhorned /polymer/eduke32/source/game.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
 
4791 2323d 9h hendricks266 /polymer/eduke32/source/game.c Add dummy command line parameters to allow us to serve as a drop-in replacement for the NAM Steam release's dosbox.exe  
4784 2324d 16h terminx /polymer/eduke32/source/game.c Fix EVENT_ANIMATESPRITES.  
4781 2325d 10h hendricks266 /polymer/eduke32/source/game.c Fix names of savegames. DONT_BUILD.  
4780 2325d 11h hendricks266 /polymer/eduke32/source/game.c Fix displaying a savegame preview shot when in OpenGL and/or when the selected slot is empty. DONT_BUILD.