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
4948 2304d 10h hendricks266 /polymer/eduke32/source/savegame.c Modularize .mid --> .ogg --> .flac code to apply to sounds as well, and various cleanup in music/sound filename-handling code.  
4745 2368d 9h terminx /polymer/eduke32/source/savegame.c Mainly misc cleanups (and a fix for the C++ build), but there are a few important changes in here.

VM_OnEvent() has become VM_OnEvent(), VM_OnEventWithReturn(), VM_OnEventWithDist(), and VM_OnEventWithBoth() (the latter of which is only ever used once...). Of course, this required every call to VM_OnEvent() be changed.

memberlabel_t and vmstate_t have been changed to use the regular "int" type versus explicitly specifying int32_t as they did previously. The rationale for this change is simply that it looks cleaner, and I think we should move toward just using "int" in most cases where there's no particular reason to specify an explicit data type.

Also changes CON_KILLIT to just "return" instead of "continue". DONT_BUILD.
 
4658 2396d 18h terminx /polymer/eduke32/source/savegame.c Various additional optimizations: add CLASSIC_SLICE_BY_4 mode to unroll some of the loops in a-c, replace integer divisions by a divisor unknown at compile time with usage of libdivide, clean up pragmas further by removing more old stuff that wasn't used anywhere. This is another one of those nasty commits that make people cry. DONT_BUILD.  
4623 2421d 18h terminx /polymer/eduke32/source/savegame.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.  
4610 2421d 18h terminx /polymer/eduke32/source/savegame.c Allow loading the header from savegames with a different version. This is needed to allow starting a new game on the episode/level/skill saved in an incompatible savegame.  
4596 2421d 18h terminx /polymer/eduke32/source/savegame.c Allow old version savegames to "load" by just starting a new game on the volume, level and skill written in the savegame header.  
4589 2444d 4h helixhorned /polymer/eduke32/source/savegame.c For usermaps, save and restore currently playing music index with savegames.

The volume and level number for the music are stored in the last two bytes
of the board file name array. No version bump is required.
 
4588 2444d 4h helixhorned /polymer/eduke32/source/savegame.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).
 
4585 2444d 4h helixhorned /polymer/eduke32/source/savegame.c Some cleanup around S_PlayMusic() and related functionality.  
4541 2493d 13h hendricks266 /polymer/eduke32/source/savegame.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.
 
4530 2507d 22h terminx /polymer/eduke32/source/savegame.c MSVC build fix  
4491 2544d 22h helixhorned /polymer/eduke32/source/savegame.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.
 
4472 2557d 9h hendricks266 /polymer/eduke32/source/savegame.c Replace some constants with preprocessor macros.  
4450 2584d 23h helixhorned /polymer/eduke32/source/savegame.c In G_SavePlayer(), save timers at beginning and restore when finished.

This makes the game not process as many ticks as have elapsed during the saving
afterwards.
 
4385 2613d 12h terminx /polymer/eduke32/source/savegame.c Widespread use of ARRAY_SIZE macro.  
4286 2663d 1h helixhorned /polymer/eduke32/source/savegame.c Lunatic: Fix compilation of C++ build, but not starting up yet.

BUILD_LUNATIC.
 
4257 2682d 7h helixhorned /polymer/eduke32/source/savegame.c Engine-side per-map ART file support.

When a map named <filename>.map is loaded (<filename> may also contain directory
separators), the engine checks for existence of <filename>_XX.art in the virtual
file system, where XX is a 0-padded number from 00 to 19. It loads a consecutive
sequence of these ART files, i.e. aborts whenever a number in the sequence isn't
found (in contrast to normal ART loading).

Restrictions:
- the per-map ART files must not reside in ZIP files
- if a tile number is attempted to be overridden that has a dummytile or is
cache1d-locked, per-map ART loading fails
On failure, the map is still loaded, but a diagnostic message is output to the
log/OSD.

Loaded per-map ART data are cleared whenever the map is "left". In particular:
- whenever another map is loaded
- in the editor: when a new map is started
- in the game: after the bonus ending screen of a finished level, after going
to the title screen via the menu

A final note: file names are supposed to be looked up and compared
case-sensitively. That is, <filename> must match EXACTLY between the map's and
per-map ART one; 'art' must be lowercase. Otherwise, the cookie monster will
come and eat you!

BUILD_LUNATIC.
 
4220 2699d 2h helixhorned /polymer/eduke32/source/savegame.c Rename 'camsprite' to 'g_curViewscreen', other related cleanup.  
4191 2719d 3h helixhorned /polymer/eduke32/source/savegame.c Do not consider system gamearrays for updating from demos.

This generally fixes demo playback. Before, tilesizx[]/tilesizy[] were written
into twice as many bytes as needed. Now, don't do that at all.
 
4133 2751d 3h helixhorned /polymer/eduke32/source/savegame.c For demos, make savehead.savename[] carry the SVN revision number.

Also, shorten "FAILED STARTING DEMO RECORDING." message so that it fits on
the screen. DONT_BUILD.
 

Show All