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
4990 2251d 0h terminx /polymer/eduke32/source/savegame.c Android savegame hacks. DONT_BUILD.  
4948 2267d 17h 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 2331d 17h 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 2360d 2h 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 2385d 1h 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 2385d 2h 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 2385d 2h 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 2407d 12h 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 2407d 12h 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 2407d 12h helixhorned /polymer/eduke32/source/savegame.c Some cleanup around S_PlayMusic() and related functionality.  
4541 2456d 21h 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 2471d 6h terminx /polymer/eduke32/source/savegame.c MSVC build fix  
4491 2508d 6h 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 2520d 17h hendricks266 /polymer/eduke32/source/savegame.c Replace some constants with preprocessor macros.  
4450 2548d 7h 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 2576d 20h terminx /polymer/eduke32/source/savegame.c Widespread use of ARRAY_SIZE macro.  
4286 2626d 9h helixhorned /polymer/eduke32/source/savegame.c Lunatic: Fix compilation of C++ build, but not starting up yet.

BUILD_LUNATIC.
 
4257 2645d 15h 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 2662d 10h helixhorned /polymer/eduke32/source/savegame.c Rename 'camsprite' to 'g_curViewscreen', other related cleanup.  
4191 2682d 11h 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.
 

Show All