Build 4397
SVN-
handle Ctrl-K/Ctrl-U in the OSD. BUILD_LUNATIC.
-
provide access to wall[].blend.
-
Generale
Really minor accumulated readability tweaks.
Nickname SVN e nomi Git sono unificati per persona.
handle Ctrl-K/Ctrl-U in the OSD. BUILD_LUNATIC.
provide access to wall[].blend.
Really minor accumulated readability tweaks.
Polymer/rotatesprite: don't redundantly apply shade glColor() with ART mapping.
introduce r_usenewshading 3 and make it the default.
With this mode, the near distance of the linear fog is always 0, unlike being negative with r_usenewshading 2.
Factor out approaching val. to target val by half-difference steps into logapproach().
Fix a case in G_MovePlayers(), where the player sprite's shade is approached toward the ceiling/floor's shade. Before, it could stop at one above or below!
Fix taking ARRAY_SIZE of PlayerSelfObituaries (not PlayerObituaries!)
Also add two static assertions checking that the obituary quotes don't go out of the MAXQUOTES bound. BUILD_LUNATIC.
*nix ENet build fix. DONT_BUILD.
Fix an unused variable warning with NETCODE=0. DONT_BUILD.
Upgrade ENet library
Add xxHash (https://code.google.com/p/xxhash/), a faster alternative to CRC32, and implement it in a few places. This is around 20-30% faster than CRC32 for me (it's also implemented into the "fileinfo" console command, so you can test for yourselves). I didn't have time to gather up all of the files supported by the startup window so this isn't used there yet. Additionally, this is by the same author as the LZ4 compression library we already use.
Some basic changes for Android support. DONT_BUILD.
Widespread use of ARRAY_SIZE macro.
Clean up A_InitEnemyFlags() a bit.
engine.c: check (non-)clipping over a floor curb of an upper TROR neighbor.
engine.c: factor out two functions from clipmove().
patch up off-by-one line numbering problem. DONT_BUILD.
add safety checks for qgetsysstr/STR_{,MAP,PLAYER,VOLUME}NAME.
Add test/qgetsysstr.con. BUILD_LUNATIC.
qgetsysstr/STR_MAP*NAME: add informative err. msg. for void vol/lev.
Fix the "fix for flying/jumping monsters getting stuck in water".
In C and Lunatic, split 'jumptoplayer' of enum amoveflags_t / action.MOVFLAGS into 'jumptoplayer_bits' and 'jumptoplayer_only' (see updated Lunatic doc).
In three missed places, use AC_MOVFLAGS instead of sp->hitag.
fix 'spawn' OSD command when running with -Lopts=strict.
BUILD_LUNATIC.
fix DBG_.testmembread after r4290.
for gameactor(), deprecate AF.replace_hard, make AF.replace default.
That is, always bitwise-OR the per-tile actor flags with the existing ones.
warn if a 'spriteflags' is issued after its actor definition...
... or another 'spriteflags' or 'sprite*' directive.
warn if using reserved bits in 'spriteflags'.
Reserved bits are those that have no predefined SFLAG_* label in CON.
extend map-VX walltype by 'blend' member. BUILD_LUNATIC.
Make Mapster32 save as map-text if there is a wall with non-zero 'blend'.
POLYMER=0 build fix. DONT_BUILD.
Make non-pal 0 enemy health doubling depend on running 1.3D or earlier
Zip support bugfix from a newer kplib
implement screen tilting by 180 degrees without quality loss.
BUILD_LUNATIC.
Adapt x86 GCC assembly copybufreverse() to x86_64 and enable unconditionally.
For a 1680x1050 scene standing directly in front of a mirror, this increases FPS from ~90 to ~95 for me.
fix 'getincangle'.
for wall alignment with [.]/[,], reverse meaning of Alt modifier.
Propagate 'blend' to rotatesprite_(), but don't hook it up to scripting yet.
a.m32: add states 'uniformceiling' and 'uniformfloor'.
Given highlighted sectors, these take the arithmetic mean of their ceiling's or floor's (respectively) z, removing the slope bit from all, and setting the new z to the mean one, rounded down to 1024 Build z units (one PGUP/PGDN). BUILD_LUNATIC.
add and document option -ferror-negative-tag-write.
engine.c: in loadlookups(), allow pal 0.
BUILD_LUNATIC.
Fix crosshair color.
A few stylistic tweaks, like substituting missed SE_* enum constants.
BUILD_LUNATIC.
Amend r3822 ("Make deletion of an amb. sound MUSICANDSFX stop its sound again.")
We shouldn't be using its actor[].t_data[8] because that one is used by the sprite rotation-fixing system (which fixes STAT_FX sprites to the positions relative to the pivot, too). Test case source/lunatic/test/delmusicsfx.lua still passes with this modification.
Rename SPRITE_* flag enum constants to SFLAG_*, for consistency with CON.
Give sprite cstat bit 2048 (NOSHADE, Mapster32 key [N]) a macro name.
include .blend in sprite display/edit/search (Shift+TAB/F8/Alt+F8).
Introduce m32_settings.cfg, analogous to settings.cfg, so that you can save your cvars and aliases for the editor.
One potential use is to add r_togglecomposition "0" if you don't like Aero turning on and off every time you switch between 2D mode and 32-bit 3D mode.
Build system: Detect the SVN revision and generate rev.h directly from the Makefile, if applicable.
Further optimize our SDL_Renderer for 8-bit by making the SDL_Texture SDL_TEXTUREACCESS_STATIC, saving some RAM without any loss of functionality.
Fix texcache
Indicate MSVC in build string
engine.c: always setup blending table whenever drawing translucent objects.
BUILD_LUNATIC.
engine.setupDebugBasePal(), auto-detect 2nd+ shadexfog.translate().
engine.setupDebugBasePal() set up the water base palette such each of the first 15 "ramps" of 16 consecutive colors has a single, "representative" color. For example, color indices 0-15 and black, 16-31 are dark gray. In shadexfog.lua, list remappings from LOOKUP.DAT that are expressible as remappings of 16-tuples.
add engine.saveLookupDat() and document, related tweaks.
- Mapster32: before loading LOOKUP.DAT, set palookup[0][239]=239 to make an identity map of the base shade table's shade 0 - Rewrite color index remapping case of makepalookup() for clarity BUILD_LUNATIC.
In loadlookups(), look for gap of 4 consecutive unused pals for fog pals.
As opposed to the previous way, where the first fog pals was <numlookups>+1, where <numlookups> is the first byte value of LOOKUP.DAT. This allows to pack e.g. lookups [1 .. 25] and [30 .. <lastpal>] into LOOKUP.DAT and have fog pals be generated at pals [26 .. 29] (i.e. the additional lookups don't shift the fog pals, making user maps depending on these numbers not look as intended.)
Factor out common parts of loading LOOKUP.DAT into engine.c:loadlookups().
Also, error if didn't read enough data and account for TITLE and REALMS swap between basepal number and on-disk order (sigh).
rewrite shadexfog.create_128_trans to allow creating fewer tables.
It must be a power of two in [2 .. 128]. Rewrite test/sprite_access.con's liztroop example to account for that. Also, add function shadexfog.create_trans() which aceepts a function (r,g,b,R,G,B) -> blended (r,g,b) and rewrite shadexfog.create_additive_trans() in terms of it.
in shade table 'remap16' method, allow sparse table, document it.
Add shadexfog.createremap() convenience function.
in engine.savePaletteDat(), open file in binary mode. BUILD_LUNATIC.