Commit graph

2387 commits

Author SHA1 Message Date
Monster Iestyn
0bb4e76e73 Merge branch 'too_many_wads_in_netgames' into 'next'
A bunch of bugfixes about too many wads in netgames

Fixes:
* Having bunch of music WADs added and then breaching the file limit(s) through joining a server with important files added. http://mb.srb2.org/showthread.php?t=42662
* Having a bunch of music WADs added, joining a server, and then breaching the file limit(s) when the server adds a file. https://mb.srb2.org/showthread.php?t=34664
* Informing the adminplayer whenever they try to send a request addfile net command but the file limit(s) are reached.

Done into next because I might as well be 100% safe, even though this could probably work on master as well.

See merge request !187
2017-05-26 17:58:53 -04:00
Monster Iestyn
1699d8a05f Merge branch 'missiles_n_slopes' into 'next'
Missiles 'n slopes

Fixed that thing where missiles like sliding up slopes for some reason.

This isn't a 1:1 fix compared to non-slopes - missiles still like stepping up over the borders of sloped sectors and will continue going as long as they never touch that ground again, whereas they can never step up on flat ones - but this fixes the most egregrious issue.

See merge request !181
2017-05-26 12:25:31 -04:00
toasterbabe
db2f8a50ba Make sure that the number of files you're trying to add is properly considered! 2017-05-26 16:16:10 +01:00
Monster Iestyn
4d1af86431 Cleanup part 2, make ye old 2.1.18 warning a debugfile only message, and make the node == -1 have its own debugfile only message too
Also get rid of a stray newline
2017-05-26 15:30:26 +01:00
Monster Iestyn
ab5835cd3b Remove cruft from my initial days of fumbling with this branch
textcmd[0] for PT_NODETIMEOUT can't hold anything < 0 anyway, and you'd probably have to really try to get >= MAXNETNODES
2017-05-26 15:26:00 +01:00
Monster Iestyn
e09270276e Display node's IP when printing the "sending file to node n" message, if noticedownload is turned on 2017-05-26 14:38:59 +01:00
Monster Iestyn
569af9f4c1 I am dumb, SV_AbortSendFiles already does what SV_RemoveFileSendList was made to do 2017-05-26 14:19:18 +01:00
Monster Iestyn
7979f84e25 whoops 2017-05-26 13:58:34 +01:00
Monster Iestyn
aecc97ded3 PT_REQUESTFILE checking:
* if you sent it to a client rather than the server, game over, your connection is closed
* if files that don't exist or are too large are requested are listed, game over, your connection is closed (they should have been checked on YOUR side beforehand, silly)
* if the server has downloading disabled anyway, ...yeah, you get the idea

Don't worry, I made sure Got_RequestFilePak cleaned up the full file request list for the node in case of failure
2017-05-26 13:39:54 +01:00
Monster Iestyn
437780d503 Add missing break for MT_EGGCAPSULE's switch case in P_SpawnMobj (sorry!) 2017-05-25 18:40:48 +01:00
Monster Iestyn
a23e9bc32b Fix size_t printing 2017-05-25 18:10:20 +01:00
Monster Iestyn
58236af6f7 Tweak to D_MapChange: if you failed to start a server, DON'T send a map change command 2017-05-25 16:55:59 +01:00
toasterbabe
47e171250f * Prevent joining a server if you have too many files loaded to add the remainder.
* Made the check in Got_RequestAddfilecmd more comprehensive, since I might as well. Just something to tweak a little later in internal.
2017-05-25 16:06:39 +01:00
toasterbabe
5c302d7ffc Partial implementation of fix for Got_RequestAddfilecmd (the other half - the limitation on the size of the filesneeded section of the serverinfo packet - will be applied in internal.) 2017-05-25 15:34:21 +01:00
toasterbabe
2aa1215716 Fix a thing where the host adds a WAD and you have too many WADs loaded to add it. 2017-05-25 15:22:32 +01:00
Monster Iestyn
c92aaa74a4 I think PT_CLIENT2MIS was meant to do this too, probably 2017-05-23 18:46:34 +01:00
Monster Iestyn
7147e0fcaf Improve previous PT_TEXTCMD/PT_TEXTCMD2 check, add another one to ignore zero size textcmds! 2017-05-23 17:35:32 +01:00
Monster Iestyn
0b0b738a6f Don't allow non-servers to receive PT_RESYNCHGET 2017-05-23 16:34:56 +01:00
Monster Iestyn
ff1cc07a1d Implemented toaster's suggestion to make a macro here 2017-05-23 16:29:09 +01:00
Monster Iestyn
9e3bdc5ee2 Prevent bad PT_TEXTCMD/PT_TEXTCMD2 textcmd[0] sizes? 2017-05-23 16:13:42 +01:00
Monster Iestyn
fdfd6e1c0b Whoops don't do that for PT_REQUESTFILE 2017-05-22 22:20:08 +01:00
Monster Iestyn
c70839334e Added a bunch of missing checks to prevent non-server players from sending other non-server players stuff 2017-05-22 22:17:51 +01:00
Monster Iestyn
3784d765e4 Remove extra whitespace I added 2017-05-22 20:47:38 +01:00
Monster Iestyn
28444c12dd Some more things I overlooked in this fix 2017-05-22 16:54:39 +01:00
Monster Iestyn
247ed56e17 Don't allow nonsense PT_ASKINFOVIAMS packets, nor any at all if offline 2017-05-22 16:44:50 +01:00
Monster Iestyn
6062223eb5 Merge branch 'master' into next 2017-05-22 13:23:46 +01:00
Monster Iestyn
5aeb4b5919 Revert "Loop through rebound packets until you found a good one or ran out of them"
On second thought, this was probably unnecessary anyway.

This reverts commit 1078a642df.
2017-05-20 21:29:05 +01:00
Monster Iestyn
284e539c66 Don't bail out in Y_StartIntermission in dedicated mode, this causes the game not to add on score bonuses for players from the server's view of things! 2017-05-19 16:31:23 +01:00
Monster Iestyn
1078a642df Loop through rebound packets until you found a good one or ran out of them 2017-05-19 11:52:50 +01:00
Monster Iestyn
5a1fc6098e Attempts to prevent stupid stuff from happening 2017-05-19 11:25:28 +01:00
Monster Iestyn
229e75ab8b Removed all code in Y_FollowIntermission that's already handled in G_AfterIntermission
Only real difference here is that CEcho messages will always be cleared when going to credits/evaluation, but that's hardly a loss tbh.
2017-05-18 17:23:19 +01:00
Monster Iestyn
d2313ea32b G_ExitLevel tweak: Use HU_ClearCEcho() instead of HU_DoCEcho(""), the latter causes an empty line to appear in log.txt 2017-05-18 17:10:44 +01:00
Monster Iestyn
bc79365cf4 Moved Y_EndGame from y_inter.c/h to g_game.c/h, renamed it to G_EndGame 2017-05-18 16:54:58 +01:00
Monster Iestyn
21d29c8550 Merge branch 'public_next' 2017-05-17 16:19:01 +01:00
Monster Iestyn
1781ccf4ca Merge branch 'master' into next 2017-05-17 16:16:50 +01:00
Monster Iestyn
551ed797db Merge branch 'jumping_fixes' into 'master'
Nojumpspin fix

MI can attest to this being a problem that's now solved.

To test, check out root/!LatestSRB2Files/srb2win_branch_jumpfixes.exe and root/MonsterIestyn/robohood.wad.

See merge request !95
2017-05-16 17:02:20 -04:00
Monster Iestyn
17a06dd6c4 I_GetConsoleEvents: Split KEY_EVENT code into a function of its own, like with I_GetEvent's event types
One benefit of this is that event_t data need only be created if KEY_EVENT is found, since the other event types never do anything anyway
2017-05-15 18:39:59 +01:00
Monster Iestyn
87085f2475 SDLSetMode: merge wasfullscreen/windowed mode code into one block 2017-05-15 16:35:32 +01:00
Monster Iestyn
a340f2c8ed Impl_CreateWindow: re-use "flags" for SDL_RENDERER_* flags, remove unnecessary curly braces 2017-05-15 16:19:28 +01:00
Monster Iestyn
4979ab6b8e Not really important or anything, but checking render_soft == rendermode rather than rendermode == render_soft always bugged me. And it's not consistent with the rest of the source code (or at least most of it) anyway. 2017-05-15 15:43:31 +01:00
Monster Iestyn
d1bbd1261e VID_SetMode: SDLSetMode should use vid.width/vid.height, not windowedModes[modeNum].
If modenum was < 0 or >= MAXWINMODES, that would make windowedModes[modeNum] be out of bounds and possibly crash the game.
2017-05-15 15:36:51 +01:00
Monster Iestyn
093800cb06 I_FinishUpdate: OglSdlFinishUpdate should never run for render_soft, even if screens[0] somehow is NULL 2017-05-15 15:24:40 +01:00
Monster Iestyn
f8482421e5 Don't need to use WADFILENUM/LUMPNUM in this function, since W_CheckNumForNamePwad returns just the lump number, not a combined WAD + lump number frankenstein's monster
This is just in case someone actually tries to dump in C_START/C_END and "add" colormaps using them, not that they would ever be used currently anyway.
2017-05-15 14:38:55 +01:00
Monster Iestyn
222807c6f6 Fix R_InitExtraColormaps reporting 6 or more colormaps every time you loaded the game, even though we haven't used C_START/C_END in more than a decade now
Note to self: W_ functions are awfully confusing with returning with LUMPERROR or INT16_MAX. Should sort out what's going on there if necessary
2017-05-15 14:29:31 +01:00
toasterbabe
bdcd9125d2 Fixed that thing where missiles like sliding up slopes for some reason.
This isn't a 1:1 fix for non-slopes - they still like stepping up over the borders of sloped sectors - but this fixes the most egregrious issue.
2017-05-14 14:47:09 +01:00
Monster Iestyn
9a9b2fcc2d Merge branch 'master' into mapthing-spawn-hook 2017-05-13 21:06:49 +01:00
Monster Iestyn
ed81c9abcb Fix paper sprites apparently "turning" around sometimes when you turn the camera, when they're supposed to be still (sawb.wad for instance)
I cleaned up some of Sryder's changes a little too I guess
2017-05-13 12:49:30 +01:00
Sryder
32c4ddca5c Remove accidental leftovers
Accidentally left a comment and stuff in there from previous attempts

# Conflicts:
#	src/hardware/hw_main.c
2017-05-12 23:39:55 +01:00
Sryder
ec0f30f849 Fix a one character bug with clipping 2017-05-12 23:39:01 +01:00
Sryder
3f0f645c70 Flat sprites for OGL
# Conflicts:
#	src/hardware/hw_main.c
2017-05-12 23:38:44 +01:00
Monster Iestyn
635789c1ec Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
2017-05-12 23:03:38 +01:00
Monster Iestyn
b8ffeeb59f Update version number to v2.1.18
Don't worry, I remembered to update MODVERSION as well this time :)
2017-05-12 16:06:27 +01:00
Monster Iestyn
f0de3a407d Merge branch 'public_next' 2017-05-11 22:58:03 +01:00
Monster Iestyn
55fd0aba91 Merge branch 'master' into next 2017-05-11 20:47:12 +01:00
Monster Iestyn
96c63bf95b Whoops forgot this bit too 2017-05-09 20:17:46 +01:00
Monster Iestyn
8582406dd2 prevent invalid nodes from crashing Net_CloseConnection, print a warning and return instead 2017-05-09 15:13:19 -04:00
toasterbabe
cd512d014a <Alam_Squeeze> s_sound.c: In function `S_StartCaption':
<Alam_Squeeze> s_sound.c:409: warning: 'same' might be used uninitialized in this functio
2017-05-09 14:42:23 +01:00
toasterbabe
e69b08178f <Alam_Squeeze> p_floor.c: In function `EV_CrumbleChain':
<Alam_Squeeze> p_floor.c:2932: warning: 'widthfactor' might be used uninitialized in this function
<Alam_Squeeze> p_floor.c:2932: warning: 'heightfactor' might be used uninitialized in this function
2017-05-09 14:42:06 +01:00
toasterbabe
a4b74e7d3f <Alam_Squeeze> m_menu.c:1907: error: `M_DrawScreenshotMenu' undeclared here (not in a function)
<Alam_Squeeze> m_menu.c:1907: error: initializer element is not constant
<Alam_Squeeze> m_menu.c:1907: error: (near initialization for `OP_ScreenshotOptionsDef.drawroutine')
<Alam_Squeeze> m_menu.c:9353: warning: 'M_DrawScreenshotMenu' defined but not used
<Alam_Squeeze> Makefile:770: recipe for target '../objs/Mingw/Debug/m_menu.o' failed
<Alam_Squeeze> make: *** [../objs/Mingw/Debug/m_menu.o] Error 1
2017-05-09 14:19:54 +01:00
toasterbabe
378b913e66 <Alam_Squeeze> lua_blockmaplib.c:269:7: no newline at end of file
<Alam_Squeeze> Makefile:770: recipe for target '../objs/Mingw/Debug/lua_blockmaplib.o' failed
<Alam_Squeeze> make: *** [../objs/Mingw/Debug/lua_blockmaplib.o] Error 1
2017-05-09 14:18:45 +01:00
toasterbabe
0cc838bca7 <Alam_Squeeze> make: *** [../objs/Mingw/Debug/m_menu.o] Error 1
<Alam_Squeeze> s_sound.c: In function `S_StartCaption':
<Alam_Squeeze> s_sound.c:416: warning: comparison of unsigned expression >= 0 is always true
<Alam_Squeeze> Makefile:770: recipe for target '../objs/Mingw/Debug/s_sound.o' failed
<Alam_Squeeze> make: *** [../objs/Mingw/Debug/s_sound.o] Error 1
2017-05-09 14:17:34 +01:00
toasterbabe
2696ed52fd Fixed the thing where Robo Hood's jump was messed up.
Also, ditto re Super Sonic's floaties.
2017-05-09 12:50:28 +01:00
Monster Iestyn
9238b2d50f Merge branch 'level-specials-setup-stuff' into 'master'
Level specials setup stuff

Some changes to level setup, largely inconsequential for gameplay but maybe helpful for Lua scripting:

* gravity, weather, and some other internal variables are set to their defaults before loading things, so their values from a previous level don't affect mobj spawning potentially
* Tag lists are also initialised before loading things, so that tag-based search functions (such as P_FindSpecialLineFromTag) can be used internally for the maces and particle generator. This should probably extend to Lua as well
* the level header "forcecharacter" no longer recognises "255" as "None" anymore. This is because it no longer takes skin numbers (as of whenever that change was added... version 2.0?), and level headers are auto-cleared when edited anyway.

See merge request !88
2017-05-08 15:15:50 -04:00
Monster Iestyn
41130465b4 Use NF instead of normal P_SetMobjState to prevent endless looping 2017-05-07 22:21:17 +01:00
Monster Iestyn
a2915bbb5d Merge branch 'Deez_NewUserXperiences' into 'master'
New User Experiences - Menus, Closed Captioning, and other non-substantial tweaks

Hello! I'm going to words.

* Menu stuff!
    * Scrolling menus when there's lots of options instead of doing lots of nestling!
    * Video Options, Server Options, and Screenshot Options have been updated to take advantage of this.
    * Headings are prettier in general to match the level platter's headers!
    * Expose a bunch of stuff Mystic wanted exposed, without iundating the player!
    * Little arrows!
* Better, clearer control menus!
    * I know this is probably related to the above, but whatever.
    * Very organised with lots of renaming and magical clarifying context headings!
    * Killed the analog-only Camera L/R keys in favour of merging them with the regular turn keys in that context!
    * Also little arrows!
* Statistics!
    * One page instead of two, loses a lot less info than you'd expect!
    * The benefit of having them on one page is greater than the loss of being able to individually discern which of your Score/Time/Rings is incomplete.
    * ALSO also little arrows!
* Secrets checklist!
    * Scrolls vertically!
    * Allows for autogeneration of conditions based off conditionset, which allows for names of required levels to be hidden if you haven't played them yet!
    * Still allows overriding condition string per traditional checklist.
    * This allows us to show every secret's condition without letting it be spoiled or overflowing the everything.
    * Also ALSO also little arrows!
* Closed captioning!
    * Console command "closedcaptioning on/off".
    * Shows stuff in the bottom right hand corner of the screen.
    * sfxinfo[sfx_name].caption = "Butt.".
    * S_StartMusicCaption(string, tics, optional player) allows for a caption to play without being anchored to a specific sound.
* Color Profile!
    * Using only the best in advanced cube-based majyks.
    * cv_gamma now goes from -15 to +5!
    * cv_saturation - from 0 to 10!
    * A new menu for modifying the hue, saturation and gamma of specific corners of the cube (RYGCBM) independently of the master options!
    * Screenshots/Video Mode now supports turning on/off circumstantial color profile alterations (cv_screenshot_colorprofile).
* Spring cleaning!
    * cv_allcaps is dead.
    * Sudden death and old match scoring (25 points for shield damage as the only change??) is dead
    * A few things are taken off the menu because they're not that relevant to have.
    * cv_competitionboxes now applies to race as well.
    * Failed teleports go nuh-uh.
    * Question mark boxes don't have doomednums anymore, so they can't be placed in singleplayer and used to get free lives by playing with the tv_extralife etc stuff.
* Other tidbits!
    * HUD offsets are tweaked to give one digit less space to score and one digit more space each to time and rings to match up the right edges.
    * Emerald tokens show up on the level complete screen and are loaded into a coin slot at the end of the tally.
    * Speaking of Emerald tokens, they now give score all the time, and continues instead of 50 rings when you have all Emeralds.
    * Moved Race HUD down, and made it go bing bing bing BONG.
    * V_DrawCroppedPatch now properly handles topdeltas.
    * Minor tweak to GFZ3 eggmobile's pinch to be more lenient.
    * Hudnames for skins now replace full stops with katakana dots. We could make it replace a different character instead if we really wanted to, but I figure this matches what is desired.

Check out ```<root>/!LatestSRB2Files/srb2win_branch_deeznux.exe``` to try it out.

See merge request !91
2017-05-06 17:53:41 -04:00
Monster Iestyn
1e59a807e4 Merge branch 'skybox-improvements' into 'master'
Skybox improvements

Some improvements to skyboxes and new features for them:

* *The Thing's Z position now determines the relative z position of a skybox viewpoint from the ground, the Thing's angle no longer affects the Z position at all.* This should also fix objectplace breaking skyboxes after you place a Thing, and allow Z heights to be more easily controlled by custom skybox mobjs set by Lua's `P_SetSkyboxMobj`.
* The skybox viewpoint Thing's "Parameter" value (or the multiple of 4096 added to the Thing type, if you're still using SRB2DB) determines the ID number for a viewpoint or centerpoint, a value between 0 and 15. By default the game uses the viewpoint and centerpoint using ID 0. Note: this ID system does not apply to custom skybox mobjs set by Lua, only to `MT_SKYBOX` mobjs spawned by Things for a map.
* **Linedef type 448** has been added as a linedef executor special for changing the skybox viewpoint and/or centerpoint used, making use of the new ID system mentioned above:
 * By default, only the *viewpoint* will be changed. The front x offsets set the ID of the new viewpoint to use; if the number is out of range (numbers accepted are 0 to 15), the game will simply not use any viewpoint at all.
 * If the "*Block Enemies*" flag is set, the centerpoint will be changed as well. In this case the front y offsets set the new centerpoint ID to use.
 * If the "*Solid Midtexture*" flag is set, the viewpoint will **not** be changed at all. Combine this with Block Enemies to make the linedef type change only the centerpoint if needed (otherwise the linedef will do nothing lol).
 * By default, only the player who triggered the linedef will see the skybox being changed. If a player did not trigger the linedef executor directly, no change will be seen by anyone. If the "*Not Climbable*" flag is set, the skybox change will be "global", i.e. it will be seen by all players in the map.

In my folder on the FTP I've made a subfolder called "skybox improvements", and in it are the following files:
* srb2win-skyboximprov.exe - the test exe for this branch I've compiled myself
* skyboxchange-test.wad - an edit of my test map for my skybox change Lua script release on the MB, to test out the new skybox change linedef type.

See merge request !89
2017-05-01 14:38:33 -04:00
Monster Iestyn
7f936d8b57 Add CONS_Alert warning as toaster suggested 2017-05-01 19:34:53 +01:00
Monster Iestyn
c4e7bef01a Merge branch 'public_next' 2017-05-01 17:38:35 +01:00
toasterbabe
59397d7cb3 More sound naming consistency! (Sorry.) 2017-05-01 13:48:20 +01:00
toasterbabe
1af1bbee3e Free level select memory whenever it isn't possible to go back to the menu. 2017-05-01 12:56:18 +01:00
toasterbabe
5180bff05b Fix typo. 2017-05-01 11:40:02 +01:00
Monster Iestyn
18fa73ba05 Merge branch 'admin-ban-fix' into 'next'
Admin ban fix

Okay, THIS time admin bans should work properly. Turns out the relevant code for banning did not properly consider the case of admins doing the banning, at least until now.

Unlike my last attempt at fixing admin bans (!165), this one would require both host and admin to have the fix exe assuming everyone else would be using 2.1.17, so I'm merging to next instead of master.

See merge request !167
2017-04-30 21:05:07 -04:00
Monster Iestyn
0dabef730d Merge branch 'allowteamchange-fix' into 'next'
Allowteamchange fix

Fixes "allowteamchange no" to actually work properly and NOT desync you from the game in most cases. You can now switch TO spectator freely (as intended it turns out), and switching FROM spectator is prohibited. The "Enter Game" menu option in Match/Tag now displays one of those blue window notices just like with "Change Teams" in CTF/Team Match if you cannot change teams right now. Everything else works as you'd expect.

The de-sync issue was originally reported here https://mb.srb2.org/showthread.php?p=789965#85

See merge request !168
2017-04-30 21:04:07 -04:00
toasterbabe
d669a4e84a Introducing pMasterPalette.
Used instead of pLocalPalette when attempting to determine objective truths, such as "the colours of this gif without color profile modification" and "what indicies should this colormap remap to".

Also, made f_wipe.c's paldiv only get calculated once.
2017-04-30 22:18:06 +01:00
toasterbabe
cfd47d33e9 Got rid of redundant writes. 2017-04-30 18:15:46 +01:00
toasterbabe
bb764a7b30 Stacked force shield icons instead of the full-flashing dichotomy.
https://cdn.discordapp.com/attachments/293238104096112641/308275437782433792/srb20025.gif

THIS IS THE LAST THING I PROMISE
2017-04-30 17:25:18 +01:00
toasterbabe
588ef776da Stop the s3k shields spawning in ultimate. Whoops! (I considered it okay to modify in this branch because box spawning was already tweaked here.) 2017-04-30 15:41:03 +01:00
toasterbabe
1e051a8893 Improve captions code clarity, and also make music captions flash before they disappear. 2017-04-30 11:16:31 +01:00
toasterbabe
9affcd98cb Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into Deez_NewUserXperiences 2017-04-30 10:46:53 +01:00
toasterbabe
52b19da009 Add a little header to the colour cube menu so you see the state of ALL of the colours, not just the three that fit on screen at once.
https://cdn.discordapp.com/attachments/293238104096112641/307998638246723597/srb20016.png
2017-04-29 23:00:40 +01:00
toasterbabe
3523d6ab8a Final modifications to the control menu.
* Completely hides instead of greying stuff out.
* "Modifications" has been renamed to "Add-ons", since that's a more direct term.
2017-04-29 22:42:16 +01:00
toasterbabe
fb6045dd7d Last few improvements for normal menus. 2017-04-29 22:01:14 +01:00
toasterbabe
2f435dd85a Make closedcaptioning's onchange give an indicator of success. 2017-04-29 18:51:21 +01:00
toasterbabe
82cbb3d282 Some final name updates for now. 2017-04-29 18:24:37 +01:00
toasterbabe
22f5b67af6 Fixing a race condition forcing speed shoes captions to disappear almost instantly. 2017-04-29 18:10:09 +01:00
toasterbabe
b1d5bc3190 Reset captions where appropriate (including in S_StopSounds(), as it should have been doing all along). 2017-04-29 17:53:24 +01:00
toasterbabe
e0d7b1ae24 Music symbol for music. (requires patch.dta) 2017-04-29 17:18:19 +01:00
toasterbabe
a625c4f725 Katana dot in hudnames, as desired. 2017-04-29 17:04:13 +01:00
toasterbabe
0af9de2ba6 Bugfix: When you stop hearing the music, allow the caption to expire sooner rather than later. 2017-04-29 16:40:31 +01:00
toasterbabe
73f1550242 There are now captions for specific types of music! (Currently signified with an M, but I'll change that in a bit...) A whole lotta things needed to be modified for this, though.
* Serious refactor of - and internal exposure of - what has become S_StartCaption().
* Renaming of a few existing captions.
* The prevention of access to - or writing over - sfx_None's stuff in SOC or Lua.
* The new Lua wrapper function S_StartMusicCaption(string, tics, optional player), which essentially allows custom music captions to be created. (This is best used for stuff like final lap music in SRB2 Kart or bonus time in a thokker-like game, not a comprehensive Now Playing expy. That'd be a different kettle of fish.)

Also, updated all the lock-on stuff to use P_IsLocalPlayer instead of rolling my own.
2017-04-29 16:27:52 +01:00
toasterbabe
94add11fab Updated captions to:
* be more efficient
* fade away early if they stop playing
* make their current max stick-around time longer
* make the fade time/etc easier to modify
2017-04-29 12:58:40 +01:00
toasterbabe
bdaa0aea9b More coherent sound selection to prevent confusion of token and score boxes. 2017-04-28 22:55:54 +01:00
toasterbabe
deba4dcf0d Made updating the captions a part of S_UpdateSound(), not SCR_ClosedCaptions() (which really should have been render-only all along). 2017-04-28 22:46:21 +01:00
toasterbabe
2d9c37d800 MONITORS IS UNFUCKED
A less memetic message: On permission of Mystic, rejiggered a few things such that Race uses cv_competitionboxes, allowing the menu to be nicer.

Also:
* disabled the doomednum for ? boxes
* made A_MixUp play sfx_lose if you're in a gametype that can't use it
* Removed the all-teleporters option from cv_competitionboxes. It could just be done by tweaking the random monitor toggles, anyways.
2017-04-28 22:45:17 +01:00
Monster Iestyn
21950687ed Make sure noreload levels don't do anything weird with the skybox mobj pointers, especially if Lua was involved
We can assume skyboxviewpnts/skyboxcenterpnts sort themselves out from reloading all the Things at least I guess?
2017-04-26 21:34:22 +01:00
Monster Iestyn
bdb3c2ea0e extrainfo now determines "skybox ID", a number between 0 and 16 to identify the viewpoint or centerpoint
also I made that change skybox linedef exec special I guess (linedef type 448)
2017-04-26 18:16:01 +01:00
Monster Iestyn
6c619af9ce Use the skybox mobj's actual z position, rather than using the spawnpoint angle!
This means setting the skybox view angle is no longer stupid, objectplace no longer breaks skyboxes, and Lua-defined skybox mobjs can actually set a Z position more easily now.
2017-04-26 17:12:57 +01:00
Monster Iestyn
5608c4b4e7 Merge branch 'public_next' 2017-04-26 16:17:29 +01:00
Monster Iestyn
058ad4df88 Merge branch 'master' into next 2017-04-26 16:15:40 +01:00
Monster Iestyn
d4c330678a level header's "forcecharacter" parameter doesn't take skin numbers anymore, so this isn't needed! 2017-04-25 20:39:32 +01:00