Build 5154
SVN-
General
Revert "vec2_t rotatepoint()."
Show details
- Reverts
- b0eeef3
SVN handles and Git names are merged into one person.
Revert "vec2_t rotatepoint()."
Fix the sounds at the end of the episode 3 cutscene.
Polymost parallax sky fix.
Further constification. DONT_BUILD.
vec2_t rotatepoint().
Make all the hictinting_apply blocks consistent. This should fix certain tints types being applied incorrectly in Polymer and the global tints (underwater and nightvision) not being applied to tints and models with certain flags.
Correct the HICTINT_GRAYSCALE calculation for hightile.
Complete the necessary infrastructure so that more than one precomputed tint on a hightile texture will display.
Add blending modes Screen, Overlay, and Hard Light, as opposed to the default Multiply. This value is encoded in bits 6 and 7 of the "flags" parameter. In other words, calculate your flags besides these modes, then bitwise OR the resulting value with:
0 - Multiply 64 - Screen 128 - Overlay 192 - Hard Light Note: These will likely look terrible when combined with the Colorize flag, because of the nature of the Colorize flag.
Account for HICTINT_GRAYSCALE, INVERT, and COLORIZE when applying a tint on 8-bit art.
Apply HICTINT_APPLYOVERALTPAL where it should in texcache_fetch.
Eliminate a check that a model's sector's floorpal is nonzero before applying a tint.
Account for HICTINT_APPLYOVERALTPAL and HICTINT_USEONART.
Fix omission of modules when parsing game-side defs.
Implement "renamefile" during game-side def parsing (normally for "loadgrp" et al.) in addition to engine-side def parsing.
Add "copytile" token that allows you to copy existing 8-bit tiles from one slot to another, along with their x/yoffsets and flags. ART animation values are not copied.
Examples: (assuming stock Duke palswaps) copytile 10000 { tile 0 } // tile #10000 is now the same as #0 copytile 10001 { tile 1 pal 8 } // tile #10001 is now #1 with a full-green tint copytile 0 { pal 1 pal 23 } // tile #0 now has a full-yellow tint
Instead of keeping the entire contents of ART files loaded from within zips in memory, assimilate them into tilefromtexture's compressed faketiledata.
This involves some refactoring.
Expand use of check_tile().
map SDL_SCANCODE_NONUSBACKSLASH to the same Build code as COMMA.
NONUSBACKSLASH is what is generated for the key between the LShift and 'Z' here. The aliasing with the actual ',' key is as with the SDL1.2 build. Fixes the issue reported in http://forums.duke4.net/topic/8029-cant-bind-key-anymore/
Makefile.common: for Clang, add -Wno-missing-braces.
Because we get spammed otherwise, regarding initializations of 'vec3f_t' and 'vec3d_t' variables. Update: actually, it also happens for GCC builds for me.
Mapster32/C++ build/non-Lua: probably fix a crash in showsectordata().
Reported in http://forums.duke4.net/topic/1348-mapster32-problems-and-bugs/page__view__findpost__p__220722 I could not reproduce it, but it is thinkable that 'searchsector' could have been out-of-sync with the 'sectnum' local. (For example, the former one could have been -1, triggering the crash.)
Fix freeze on pitch 0 sound playback introduced in r4616.
Reported in http://forums.duke4.net/topic/3857-the-crash-thread/page__view__findpost__p__220954 Now, PitchTable[] in initialized with the same values as pre-r4608.
update docs and comments in lunatic/test/event_chaining.con
Amend previous commit.
Add "undefinetile" and "undefinetilerange".
Clear the player's quote timer for each MAIN_LOOP_RESTART.
Disallow "autoload" as a choice for the game dir in the Win32 startup window.
Allow alpha fade-out for quotes and the menu mouse cursor in 8-bit when the supplied PALETTE.DAT has enough alpha tables to fully display each effect.
Modify slider bar so that it uses a scale defined in the data structure instead of auto-scaling to the height of the row.
Add events for the remaining player-related HUD display functions:
EVENT_DISPLAYSPIT - loogies from the SPIT projectile EVENT_DISPLAYFIST - nukebutton fist (shrunk fists are part of EVENT_DISPLAYWEAPON) EVENT_DISPLAYKNEE - pstomp knee (quick kick is part of EVENT_DISPLAYWEAPON) EVENT_DISPLAYKNUCKLES - knuckle crack idle animation EVENT_DISPLAYSCUBA - scuba gear EVENT_DISPLAYTIP - tip hand EVENT_DISPLAYACCESS - access cards / keycards
Move handling of ud.drawweapon from G_DrawWeaponTileWithID() to P_DisplayWeapon(). This fixes it not being applied to the quick kick and mighty foot.
Replace the use of an "snum" parameter in the screen display functions with screenpeek because we need to keep screenpeek accurate for CON anyway.
Add two new structs, tiledata and paldata, accessible only through quick-access.
Don't print quotes when not in-game.
This is required after a change in the cheat menu commit that allows the cheat quotes to trigger from the in-game menu. However, a side-effect was that pressing F12 in the main menu would cause "SCREEN SAVED" to display indefinitely.
Avoid reading or writing savegame specdata arrays when the pointer to one is NULL or their count is zero.
Avoid triggering undefined behavior in the allocator when loading or saving ProjectileData[].
Add checks to prevent invalid reads/writes when using get/setprojectile on a tile number that does not have a projectile defined for it.
Restore an insptr++ when executing "endswitch".
Add token "forcefilter" to textures, skyboxes, and model skins. It forces the use of GL filtering for the resource in question.
Add "nocompress" and "nodownsize" tokens to model skin definitions.
Add projectile workslike flag PROJECTILE_NOSETOWNERSHADE = 0x00200000 = 2097152 that prevents actors from inheriting a projectile's shade when shooting it.
Really fix get/setprojectile.
Restructure the GRP scanning functionality. Outwardly, this allows GRP selections with special handling (the add-ons and NAM) to function properly when the Windows or GTK startup windows do not run, namely with the OS X startup window, and using the -gamegrp command line parameter on any other platform, or on all of the both under dedicated server mode,
weapons.con.sample: Update to use the hudpal member so that fogpals and custom makepalookup definitions display properly.
Add "nofloorpal <value>" to "makepalookup", which, when specified, allows you to set exactly the value of g_noFloorPal that you want.
Fix a mistake in r5086 that broke get/setprojectile.
Add read-only player structure member "hudpal", that returns the result of P_GetHudPal().
Add EVENT_WORLD, EVENT_PREWORLD, and EVENT_PRELEVEL, which respectively function as EVENT_GAME, EVENT_PREGAME, and EVENT_LOADACTOR, but only running once instead of per-actor.
Redefine "break" within events to mean "skip the remainder of this event block", not "skip the remainder of execution of this event, through all chained blocks". The latter behavior is still available through the "return" keyword.
Fix Polymost issue reported at http://forums.duke4.net/topic/775-eduke32-20-and-polymer/page__view__findpost__p__220265
OS X: Fix build. DONT_BUILD.
Add token "appendevent", which functions identically to "onevent" except that the event's code is chained to the end of any previous events, instead of the beginning.
Fix processing the bytecode in an incorrect order when executing setplayer on a member with a second parameter, a missed instance of a consideration from r5086.
Remove the restriction that prevents userdef access when the current player is not myconnectindex.
Implement tilesizx/y gamearrays in a fashion similar to M32Script's solution: a STRIDE2 flag.
Modify the parsing of definevolumename and defineskillname so that they only look for the text before a newline.
// valid definevolumename 3 <text> // invalid definevolumename 3 <text>
Add quick access for the remaining structures without it.
Enumify quick structure access.
Factor fast struct access and get<struct> out into single functions.
Add PLAYER_PALETTE to quick player struct access, and add a setter that calls P_SetGamePalette().
Add a Cheats menu to options.
It's old-school.
Rename MenuPassword_t to MenuTextForm_t, modularize more of its attributes into the data structure, and polish its display and behavior.
Additional fix for building with newest MSYS2 packages. DONT_BUILD.
Build fix. DONT_BUILD.
A lot of CON rewrites/optimizations. Converts projectile system to dynamic allocation, saving a bunch of memory (something like sizeof(projectile_t) * MAXTILES * 2). This commit also contains changes that reduce overhead for CON commands that take a lot of parameters, by way of adding a Gv_GetManyVars() to replace long strings of subsequent calls to Gv_GetVarX().
Savegame version has been bumped due to the projectile changes. There is no way this commit doesn't cause at least one bug, so DONT_BUILD. ;)
Amend "renamefile" def token to ensure its proper use. renamefile <GRP/SSI CRC32> <file number> <new filename>
Expand the quote #13 auto-replacement to catch "OPEN" and "ANY BUTTON" in addition to "SPACE".
Add the Duke DC and Duke Caribbean SSI files to the list of group files automatically detected and added to the startup window.
Add token "renamefile", which renames a file in a GRP or SSI file, in memory. 8.3 restrictions apply.
Add support for loading SSI files.
Allow loading GRP files from within other GRP files.