Febbraio 2014
-
Generale
engine.c: in loadlookups(), error out if attempting to load at a reserved pal.
-
Introduce m32_settings.cfg, analogous to settings.cfg, so that you can save your cvars and aliases for the editor.
Mostra dettagli
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.
-
Generale
Build system: Detect the SVN revision and generate rev.h directly from the Makefile, if applicable.
-
Generale
Further optimize our SDL_Renderer for 8-bit by making the SDL_Texture SDL_TEXTUREACCESS_STATIC, saving some RAM without any loss of functionality.
-
Generale
Fix texcache
-
Generale
Indicate MSVC in build string
-
Generale
engine.c: always setup blending table whenever drawing translucent objects.
Mostra dettagli
BUILD_LUNATIC.
-
engine.setupDebugBasePal(), auto-detect 2nd+ shadexfog.translate().
Mostra dettagli
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.
Mostra dettagli
- 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.
-
Generale
In loadlookups(), look for gap of 4 consecutive unused pals for fog pals.
Mostra dettagli
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.)
-
Generale
Factor out common parts of loading LOOKUP.DAT into engine.c:loadlookups().
Mostra dettagli
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.
Mostra dettagli
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.
Mostra dettagli
Add shadexfog.createremap() convenience function.
-
in engine.savePaletteDat(), open file in binary mode. BUILD_LUNATIC.
-
disallow saving map-text files in Mapster32 for now.
-
Generale
Amend r4318: Lunatic doesn't need the safety check.
-
Generale
Support "r_windowpositioning" in SDL builds.
-
Set up support for SDL2. DONT_BUILD.
-
Generale
Fix 64-bit MSVC builds. DONT_BUILD.
-
Generale
Fix 32-bit MSVC builds. DONT_BUILD.
-
Generale
Networking updates.
Mostra dettagli
- Added preprocessor value NETVERSION, to be incremented in the source whenever changes are made to the network protocol. - Implemented proper server-side version verification of all clients upon connection. - Implemented connection refusal when we reach MAXPLAYERS. (Should be expanded to implement server player caps.) - Protected against OOB array accesses if an invalid player id is received. - Renamed all "Recieve" to "Receive".
-
Generale
Fix warnings when building in C++11 mode, i.e. with CPLUSPLUS=1 CUSTOMOPT="--std=gnu++11".
-
Add support for x64 building and all synthesis libs (libpng/zlib, libvpx, libFLAC).
Mostra dettagli
External ogg/vorbis are no longer required.
-
Full library refresh.
-
Generale
Don't crash if for some reason your CONs don't define actors like SHOTSPARK1, which has its strength value used in hardcoded behavior.
-
Generale
Very minor changes after an investigation into the possibility of Polymost on Wii.
-
Generale
Replace QuickLZ with LZ4.
-
Generale
Fix errors and warnings with LLVM/clang 3.4 Windows.
-
Generale
Update commented SDL2 key debug log output.
-
add *actor[].blend as an alias to .detail, *tspr[].tsprblend analogously.
Mostra dettagli
See lunatic/test/sprite_access.con for a LIZTROOP that periodically smoothly alpha-fades in and out. (Assuming that the 128 alpha blending tables from shadexfog.create_128_trans(1) are installed.) BUILD_LUNATIC.
-
Generale
Extend PALETTE.DAT format to allow carrying additional blending tables.
Mostra dettagli
Lunatic: also, add an additional argument 'moreblends' to engine.savePaletteDat() and document that function. See test/shadexfog.lua for a "user-friendly" wrapper shadexfog.save() which prints success or errors.
-
move code in test/shadexfog.lua to engine.savePaletteDat() and complete it.
Mostra dettagli
The function now writes out a full PALETTE.DAT: base balette, shade table and translucency table.
-
Generale
Fix building on MinGW (MinGW-w64 was OK). DONT_BUILD.
-
update dynsymlists. Move blendtable[] from build.h to engine.c.
Mostra dettagli
BUILD_LUNATIC.
-
add a 'lastokcol' argument to engine.nearcolor() and document it.
Mostra dettagli
On the C side, slightly rewrite (now) getclosestcol_lim() for clarity.
-
document engine.*blendtab() and engine.getrgb() functions.
-
remove sprite members 'detail' and 'filler', add 'blend', make r/w.
-
Generale
In the C code, rename sprite[].filler to 'blend'.
Mostra dettagli
Also, fix a missed .filler -> g_ambiencePlaying[] rewrite in the editor. In C-CON, 'detail' is kept as alias to C-side (former) .filler / now .blend, but that name is *deprecated*.
-
factor out polymer_invalidateartmap(), use it in invalidatetile().
Mostra dettagli
This fixes updating the viewscreen in Polymer's ART mapping mode.
-
factor out polymer_invalidatesprite(), use when viewscreen tex changed.
Mostra dettagli
Also, rewrite invalidatetile() for clarity.
-
rename sprite[].filler member to 'blend' on the Lua side.
Mostra dettagli
From LunaCON, remove 'detail' as alias to that member.
-
support for multiple blending tables + Lunatic interfaces.
Mostra dettagli
Currently, sprite[].filler (to be renamed) selects a blending table. If none is installed with that index, the blending table at index 0 is taken (which is read from PALETTE.DAT on engine startup). Thus, for now, the non-Lunatic build will never use a custom blending table because there's no way to register one! But the functionality is there.
-
Generale
astub.c: in M32_MoveFX, use separate bit array to store "sound is playing".
Mostra dettagli
Instead of sprite[].filler.
-
add and document -Wnever-used-gamevar and -Wnever-read-gamevar.
-
Generale
Add Makefile.common switch ALLOCACHE_AS_MALLOC, remove DEBUG_WITH_VALGRIND.
-
Generale
Fix yellow keycards
-
Generale
Fix a missing reference to WEAPON_POS_LOWER
-
Generale
gloadtex() cleanup, make some vars in kplib.c static, add source/valgrind_errors.log.
Mostra dettagli
BUILD_LUNATIC.
-
Generale
sounds.c: exit S_PlayMusic() early if length of file is <4 bytes, clean up mem mgmt.
-
Generale
engine.c: amend r4292, which introduced an even worse oob for NPOT xsize texs.