Subversion Repositories eduke32


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

Filtering Options

Rev Age Author Path Log message Diff
5069 2214d 7h terminx /polymer/eduke32/source/savegame.c Further gamevar changes/optimizations. This also fixes a bug Fox reported with the "shortcut" access to structure members that's tacked on to GetVar, where if the value of the index you're trying to access happened to equal the ID of the current sprite, it would act as if the variable passed was THISACTOR.  
4990 2255d 3h terminx /polymer/eduke32/source/savegame.c Android savegame hacks. DONT_BUILD.  
4948 2271d 20h 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 2335d 20h 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 2364d 5h 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 2389d 4h 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 2389d 4h 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 2389d 4h 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 2411d 14h 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 2411d 14h 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 2411d 14h helixhorned /polymer/eduke32/source/savegame.c Some cleanup around S_PlayMusic() and related functionality.  
4541 2460d 23h 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.

4530 2475d 8h terminx /polymer/eduke32/source/savegame.c MSVC build fix  
4491 2512d 8h 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 *('
git grep '[^Xx]strdup *('
to see places where I left the B*alloc() calls intact.

4472 2524d 20h hendricks266 /polymer/eduke32/source/savegame.c Replace some constants with preprocessor macros.  
4450 2552d 9h 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
4385 2580d 23h terminx /polymer/eduke32/source/savegame.c Widespread use of ARRAY_SIZE macro.  
4286 2630d 11h helixhorned /polymer/eduke32/source/savegame.c Lunatic: Fix compilation of C++ build, but not starting up yet.

4257 2649d 17h 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> 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).

- 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

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!

4220 2666d 12h helixhorned /polymer/eduke32/source/savegame.c Rename 'camsprite' to 'g_curViewscreen', other related cleanup.  

Show All