Build 4950
SVN-
Generale
Fix next/previous weapon when the pipebomb detonator is active.
Nickname SVN e nomi Git sono unificati per persona.
Fix next/previous weapon when the pipebomb detonator is active.
Don't allow Ogg Vorbis or FLAC files to be defined from def if the binary was built without the proper libraries.
Modularize .mid --> .ogg --> .flac code to apply to sounds as well, and various cleanup in music/sound filename-handling code.
Fix a bug where FLAC sound effects would loop when they were not supposed to.
Mouse, touch, and pointer controls now take the origin into account.
Add events EVENT_DISPLAYINACTIVEMENU and EVENT_DISPLAYINACTIVEMENUREST and userdef members m_origin_x and m_origin_y.
This allows for CON screen display code to use menu animations. The following is an example of how to adapt screen features that should animate. before: onevent EVENT_DISPLAYMENUREST ifvare current_menu 0 // main menu { setvar x 1 setvar y 1 rotatesprite x y zoom ang tilenum shade pal orientation 0 0 xdim ydim } endevent after: state DisplayMenuCommon ifvare RETURN 0 // main menu { getuserdef[THISACTOR].m_origin_x x getuserdef[THISACTOR].m_origin_y y addvar x 65536 addvar y 65536 rotatesprite16 x y zoom ang tilenum shade pal orientation 0 0 xdim ydim } ends onevent EVENT_DISPLAYMENUREST state DisplayMenuCommon endevent onevent EVENT_DISPLAYINACTIVEMENUREST state DisplayMenuCommon endevent
Fix warning in previous commit. DONT_BUILD.
Add new commands "getmusicposition" and "setmusicposition" that operate on the playback position of the current music track.
// Example: Switch between tracks like radio stations. getmusicposition temp starttrackvar next_music_track setmusicposition temp Only implemented for Ogg Vorbis, FLAC, and XA. Consult the devs before using these commands.
Fix a crash exposed by animating the menu back button.
Clean up duplicate and strangely-formed cases in C_ParseCommand().
Implement better back button.
Make black background boxes translucent again.
Add proper edging for the tops and bottoms of scrolling lists.
Improve weapon switching:
1. If you switch away from a weapon and switch to a third when the gun is still going down, continue lowering the first weapon instead of immediately raising the third. 2. If you switch away from a weapon and switch back to it before it lowers completely, raise it from its current position instead of going all the way to the bottom.
Convert some multi-line UI messages to single G_ScreenText calls with line breaks.
When using search paths detected from a Megaton installation, also use the SC-55 oggs included with it.
Clean up autodetected game install search paths on all platforms that use them.
This should prevent Lunar Apocalypse from becoming Nuclear Winter with Megaton on Linux and Mac.
Disable the spinning nuke icon back button on Android.
Implement UserMapHacks.
Reinstate MD4.
Amend r4862 so that touch devices, which do not display the crosshair as a cursor, are not completely prevented from using touch input by the lack of a crosshair tile.
Fix the Screen Size slider so that it works properly after the screen size has been modified in-game with [-]/[+].
Fix selecting "None" for Anisotropy.
Fix opening a MenuEntryOptionList when the option's value is "Custom".
Convert MenuRange*_t's "displaytype" field to "flags", add a flag to enforce clamping to the defined intervals, and apply this flag to the Screen Size slider.
Mouse controls now respect MenuEntry_t's disabled flag.
Fix playing end-of-episode ANMs.
If you save over an autonamed savegame and change the name, don't overwrite your edit with another autofill.
Enumify the "status" parameter of M_MenuText into MenuTextFlags_t.
Implement mouse/touch/pointer controls for all widgets.
Replace the "disabled" member of MenuEntry_t with "flags" so that the other 31 bits can be utilized.
Disable normal left-click/touch menu functionality when the mouse is active.
Add the necessary plumbing to sdlayer to detect mousedown, mouseup, and dragging.
Display all hat directions in the joystick buttons menu instead of just up.
Bump MAXJOYAXES to 9 to avoid menu corruption, and fix _functio.h, CONFIG_FunctionNameToNum, CONFIG_AnalogNameToNum, so that this does not crash.
Fix the MAXJOYBUTTONS discrepancy between _control.h and gamedefs.h.
Add non-interactive cases to wm_msgbox and wm_ynbox.
Output and package the binary as .dol instead of .elf.
Polish up the video menu a bit.
Fix "bright red" player color.
Add a custom exception handler that saves the crash information to the log and directs the user to submit it to us. DONT_BUILD.
Add a console to display startup messages to the screen instead of showing the user a black screen while the game initializes. DONT_BUILD.
Work around a performance regression caused by r4080. DONT_BUILD.
Fix build. DONT_BUILD.
Fix building with `make -B`. (`make veryclean` is now obsolete.) DONT_BUILD.
Fix building the Build Tools. DONT_BUILD.
Fix the previous commit. DONT_BUILD.
Add detection of the Steam releases of Duke 3D and NAM. DONT_BUILD.
Add dummy command line parameters to allow us to serve as a drop-in replacement for the NAM Steam release's dosbox.exe
Detect installation paths of 3DR's Duke Nukem 3D package, the 3DR Anthology, and the NAM Steam release.
Remove the structure fields in grpscan.c that blocked my code for allowing NAM, NAPALM, and WWII GI to fall back to GAME.CON.
Remove the blackout when starting a new game on episode 4.
Fix USE_OPENGL=0 build error in r4779.
Open the load and save menus with the last used slot highlighted. DONT_BUILD.
Fix names of savegames. DONT_BUILD.
Fix displaying a savegame preview shot when in OpenGL and/or when the selected slot is empty. DONT_BUILD.
Re-allow the player color option to take effect. DONT_BUILD.
Menu structure revision. Structs reordered to eliminate slop. MenuGroup_t eliminated. MenuPos_t split into MenuMenuFormat_t and MenuEntryFormat_t. DROIDMENU build fixed. DONT_BUILD.
Fix the crash in the ASM relating to the dynamic allocation of ylookup.
Make sure the mouse is captured when the main menu transitions into MODE_GAME. DONT_BUILD.
Fix mousewheel under SDL 1.2. DONT_BUILD.
Restore SDL 1.2 on Windows to a working state. DONT_BUILD.
Fix POLYMER=0 GTK C++ build. DONT_BUILD.
Fix MSVC build.
DONT_BUILD.
Nuke rev.h.
Note to MSVC users: You can get the revision number if you run `make rev o=obj` with MinGW before you build. DONT_BUILD.
Split parts of loadlookups() into generatefogpals() and fillemptylookups(), and move Duke-specific LOOKUP.DAT behavior to G_LoadLookups() in source/common.c, which contains the call to loadlookups() as factored out from astub.c and game.c.
DONT_BUILD.
Move implementation details of Mapster32's sound system from m32exec.c into sounds_mapster32.c, and set up a sound system stub in KenBuild Editor.
DONT_BUILD.
Progress towards KenBuild Editor, part 3.
DONT_BUILD.
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.