Build 4574
SVN-
Generale
Properly consider sprites with a clipshape as bridge (p->spritebridge).
Nickname SVN e nomi Git sono unificati per persona.
Properly consider sprites with a clipshape as bridge (p->spritebridge).
fix a crash when m32_settings.cfg contains video setting.
Such as "vid_gamma". In that case, setbrightness() would have been called without basepaltableptr having been initialized. The fix is by moving the preparational setbasepaltable() call from ExtPostStartupWindow() to ExtInit(), just before the OSD command dispatching.
fix possible integer overflow in loopinside().
This could happen when building outside the "classic" grid limits and would then lead to e.g. incorrect loop assignment on sector splitting. Bug reported by MetHy.
game.c: fix -game_dir and -j by moving G_ExtInit() after G_CheckCommandLine().
properly initialize values of session (NODEFAULT) gamevars.
prototypical checker for wall loops, enabled partially.
Inspired by http://forums.duke4.net/topic/7506-tror-question/page__view__findpost__p__199151 the corruption checker now checks for certain conditions of the loops of each sector. Recall that CW loops are outer and CCW loops are inner. - If a sector has no or more than one outer loop, count that as corruption (level 4 and 3, respectively). - (Disabled) For sectors with exactly one outer loop, check that all inner ones are inside it. This is currently not compiled due to an asymmetry of loopinside() for degenerate cases, similar to pre-r3898 inside().
Clean up astub.c:CheckMapCorruption() and some build.c code a little.
There are no intended changes of functionality, it's readability tweaks only.
A couple of Lunatic updates. DONT_BUILD.
- LunaCON: support for setting userdef[].m_volume_number, getting .last_level - bump con_lang.MAXEVENTS - fix compilation of astub.c
Fix Synthesis (at least partially).
Re-add $(abspath ...) wrapping to libdirs to try and fix Synthesis.
Normalize all rotatesprite calls to fullscreen panels so that they are centered at (160, 100) instead of top-lefted at (0, 0).
Rearrange drawing so that MENUBAR (#2457) is always the first thing drawn after a menu's background, and its caption is always drawn last.
Three Mac patches from rhoenie:
-sdlayer: Apple and GTK are not mutually exclusive. -Makefile.common: Specify WITHOUT_GTK?=1 by default. -Makefile: Limit linking with the QuickTime framework to OS X 10.6 and below. One fix from me: -osxbuild.sh: Fix building tools.
Extend ebacktrace in two ways.
1. The application must specify its proper name and technical name. Instead of eduke32_or_mapster32.crash.log, we now have eduke32.crash.log and mapster32.crash.log. 2. The exception handler will display a message box informing the user of a crash and requesting they send in the crash log. The box has three options: "Quit", the DLL's current behavior, "Continue", which passes the exception to the next handler, and "Ignore", which resumes execution immediately. These should allow the user to skip bogus exceptions picked up by ebacktrace, such as one I get with my laptop that causes EDuke32 no issues.
Miscellaneous get/set(this)projectile cleanup.
WIP OSD refactor, committing now before it stops applying cleanly to current svn. This shouldn't break anything in an obvious or major way.
Looks like another MSVC build fix
Add sdl_inc.h to VS project
I don't even remember which platform this fixes building on... probably MSVC. Cleaning out my tree.
MSVC build fix
lround for MSVC
Enable -usecwd for Mapster32 on Windows (same functionality as EDuke32)
Hotfix to allow display of E1L8's par time and 3DR time if no usermap has been played yet.
Note that the user map function still overwrites everything in slot E1L8 for the time being, which is a deeper problem I need to address.
Keep track of allocated cache space for ANM files so they aren't allocated multiple times. Also, unlock the handles after playback is done so they can be freed if necessary.
Disable the diagnostic log message upon successfully using the "animsounds" def command.
Fix building ivfrate.
Fix a warning in menus.c, introduced in r4519.
Allow EVENT_SOUND to return -1 to cancel a sound without printing a warning to the console and log.
NOTE: Other negative values are reserved!
Fix saving a savegame's name.
Fix a display error with the bonus screen when a map's 3DR time was zero.
Fix a problem with r4514.
Instead of displaying "Unknown GRP - EDuke32", simply display "EDuke32".
Much classier this way.
By request, implement EVENT_ACTIVATECHEAT.
Add the following LOGO_FLAGS:
LOGO_NOE1ENDSCREEN LOGO_NOE2ENDSCREEN LOGO_NOE3RADLOGO LOGO_NODUKETEAMTEXT LOGO_NODUKETEAMPIC As part of this, the LOGO_NOE*BONUSSCENE flags no longer remove the entire end sequence in one go. They now only remove the primary cinematic. If you want their previous effect, you'll have to add these additional bits.
Fix build with GCC 4.9.
Fix Wii build.
Bring MenuFileSelect_t up to speed with MenuMenu_t.
>They see me scrollin' >They hatin'
Fix the recently introduced bug where blank savegames would have their autogenerated names clobbered by the new menu code.
Fix the recently introduced bug that would take the keypress given at "PRESS OPEN TO RESTART LEVEL" as a yes at the following prompt to load your most recent savegame, seemingly without asking.
Revise the MenuFileSelect_t structure to remove the unnecessary dir pointer and rename currentlist to currentList.
When at the top or bottom of a scrolling section, show the up/down indicator darkened instead of not at all.
Test commit to make sure synthesis works.
lunatic/util/build.lua: in readdefs(), add option of requesting picnum->name mapping.
That is, the reverse of what is returned with the first outarg. Use that in lunatic/util/foreachmap.lua. DONT_BUILD.
r_npotwallmode, emulating 8-bit for walls w/ nonpow2 height textures.
When that mode is enabled (see below for caveats), wall textures that have a non-power-of-two height (call it 'h') will be modified to look like in classic: Let 'H' be the next power of two greater than 'h'. The texture will be uploaded with height 'H', made up from 'h' hlines of the original texture, followed by 'H'-'h' first hlines of the same. No panning "corrections" will take place. The mode is disabled by default. Caveats/notes: * the mode requires that r_hightile is disabled * it is not implemented in Polymer * in the Lunatic build, it is ineffective when a VX map is loaded, as those display walls with NPOT height textures correctly
Fix non-Windows building.
DONT_BUILD.
Ball-busting new menus. Still WIP.
Mouse/touch/pointer support is yet to come. #SOON. Exposure to scripting is a LONG way off. Months. The spec and data structure needs time for comment and revision. The eventual scripting access will be Lua-only.
Miscellaneous cleanup, still with the same suspects...
- in mdloadskin() and gloadtile_hi(), use new function check_nonpow2() (bit-twiddling) instead of loop - Replace a couple of missed literals with CACHEAD_* enum labels
Factor out commonly occuring hictinting[]-accessing code into three functions.
Note: in polymer.c, this was buggy (but harmless) because .r is a char: if ((uint32_t)hictinting[MAXPALOOKUPS-1].r & 0xFFFFFF00) != 0xFFFFFF00)
Replace various GL rendering related literal flags with enum labels.
- pthtyp pth->flags bits - Flags of the <dameth> argument of various functions - hictinting[].f / gloadtile_hi() and daskinloader() <effect> arg bits - hicreplctyp hicr->flags bits - texcacheheader cachead.flags bits
polymost.c: stylistic cleanup in gloadtile_hi, uploadtexture, fixtransparency.
in NPOT wall ypanning "correction", behave like Polymer in one corner case.
Specifically, the handling of one-way walls ([1] in Mapster32) was slightly different.
sdlayer.c: for Windows, switch keyboard layout to/from US on init/uninit.
Taking over the code from winlayer.c.
Rip out S_FindMusicSFX() from A_CallSound() and use in SE6/14 on-spawn init.
This makes the subway sound not played once on map initialization.
shadexfog.lua: in menu, move creation of debugging shade tables below DEBUG line.
BUILD_LUNATIC.
lunatic/test/shadexfog.lua: add function create_brightpass_trans().
Also hook it up in the [;]+[F] menu.
game.c: in A_Spawn(), protect CSTAT_SPRITE_NOSHADE of spawned MASKWALL* sprites.
actors.c: fix a A_CheckSpriteFlags() call for zombie actor to STANDABLE change.
This only affects zombie actors in a sector with a parallaxed ceiling. If they have SFLAG_NOSHADE clear, their shade is taken from the ceiling upon changing the statnum. Previously, A_CheckSpriteFlags() received a value that could only be 0 or 1 for the sprite index (typo).
sdlayer.c: fix compiling wm_ynbox() for Linux/WITHOUT_GTK=1.
add read-only variable 'Numsprites', r/w userdef member .mouseaiming.
scan label names according to stricter LunaCON rules instead of char blacklist.
These ones: http://lunatic.eduke32.com/lunacon.html#_ambiguous_lexical_elements Seriously, defining a token kind by excluding certain characters (instead of allowing a given set) is really, really broken.
allow '.' as non-first identifer character.
Replace some constants with preprocessor macros.
Fix two Polymer crashes related to corrupted maps.
Fix ebacktrace on 64-bit. New DLLs all around.
Add support for an SDL2-based wm_ynbox based on SDL2's testmessage.