Build 5051
SVN-
General
Partially revert r5020. It's okay to update totalclocklock in G_DrawRooms(), but we must continue updating it in drawrooms() so as to not break the editor and every other BUILD game.
Show details
¿Por qué no los dos?
SVN handles and Git names are merged into one person.
Partially revert r5020. It's okay to update totalclocklock in G_DrawRooms(), but we must continue updating it in drawrooms() so as to not break the editor and every other BUILD game.
¿Por qué no los dos?
Expand the grpinfo feature to allow defining GRPs requiring NAM, NAPALM, or WWII GI.
In G_PlaybackDemo(), update totalclocklock when G_DrawRooms() is not called and therefore does not update it. This fixes ART animations displaying in the main menu.
Reset totalclock to zero for each MAIN_LOOP_RESTART.
Add EVENT_DISPLAYROOMSCAMERA and EVENT_DISPLAYSTART.
EVENT_DISPLAYROOMSCAMERA functions exactly like EVENT_DISPLAYROOMS, including RETURN values, but for the ud.camerasprite >= 0 case. EVENT_DISPLAYSTART is executed immediately after the screen background is cleared and drawn. Ensure its RETURN value is zero, because it is currently not being used. WARNING: Consult the devs before using EVENT_DISPLAYSTART. Its position in the display code sequence is not finalized.
Add EVENT_DISPLAYCAMERAOSD. Set RETURN to -1 to disable it.
From this event, if "getactor[THISACTOR].htg_t 0" is zero, then the camera is functional. Nonzero values indicate the camera has been destroyed, which is only possible when the CAMERASDESTRUCTABLE parameter of gamestartup has been enabled.
Add "resetplayerflags". Flag 1 means "don't ask the user if they want to load".
Amend previous commit. DONT_BUILD.
Build system fixes/improvements. DONT_BUILD.
Fix assorted issues in MENU_NETOPTIONS.
Add "definevolumeflags", currently equipped to hide an episode from the single player and/or multiplayer screens.
enum { EF_HIDEFROMSP = 1<<0, EF_HIDEFROMMP = 1<<1, };
Extend undefinevolume so that it also undefines all levels in the specified volume.
Rename "cutscene" command to "startcutscene".
Amend previous commit. DONT_BUILD.
Fix an assertion failure with NETCODE=0. DONT_BUILD.
Update Xcode project and build system. DONT_BUILD.
Fix build without DROIDMENU.
Replace erroneous use of EVENT_DISPLAYCROSSHAIR with new event EVENT_DISPLAYCURSOR.
Provide a RETURN value of -2 to EVENT_DISPLAYLOADINGSCREEN after G_CacheMapData().
Add undefinevolume, undefineskill, and undefinelevel.
Rename "Polymost.f" string back to "Polymost" because it only confused users.
Remove some conditional disabling of spriteext features when !defined USE_OPENGL.
Add read-only access to ud.config.MusicToggle through the "musictoggle" member.
Add STR_YOURTIME, STR_PARTIME, STR_DESIGNERTIME, and STR_BESTTIME to qgetsysstr.
Factor out generation of strings for time values in the bonus screen. This involves the creation of ud.playerbest.
Correct the special behavior to select the pipebomb detonator when you have no pipebombs in your inventory but you have some thrown in the environment so that it animates properly and also applies with the next/previous weapon functions.
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.