Commit graph

3036 commits

Author SHA1 Message Date
Monster Iestyn
eacf753f2c Add the remaining code from the Lua script to get wall spikes actually working so far 2017-07-13 23:00:45 +01:00
Monster Iestyn
aa947ea022 Starting work for hardcoding wall spikes 2017-07-13 22:42:08 +01:00
Monster Iestyn
96ec319897 Hardcoded SOC_TREE from patch.dta
Also made sure the GFZ trees have MF2_STANDONME
2017-07-13 17:29:15 +01:00
toasterbabe
fe756d567e Add a "bias" to collision with chain ferris wheels to make it more likely that you'll grab one nearer to the center if you could potentially hit two in the next frame (previously was blockmap order dependent, which was never consistent) 2017-07-12 14:43:59 +01:00
toasterbabe
b568816217 * Modified A_RandomState. If var2 is supplied, it picks between var1, var2 and nextstate - otherwise, it picks between var1 and nextstate.
* Changed a caption.
2017-07-11 12:55:24 +01:00
Monster Iestyn
e485ac3a7e Add support for getting super sprites with v.getSprite2Patch
You can either add FF_SPR2SUPER directly to the sprite2 arg if it's a number, or you can use the new (optional) boolean arg between sprite2 and frame, where as you'd expect false = normal and true = super.
2017-07-09 16:33:43 +01:00
Monster Iestyn
2350e94a9f Merge branch 'master' into next 2017-07-09 15:08:51 +01:00
Monster Iestyn
2ac566fa85 Fix whitespace goofup of mine 2017-07-09 15:08:17 +01:00
Monster Iestyn
0dd15ed8a4 Merge branch 'master' into lua-lump-load-only 2017-07-09 15:06:15 +01:00
Monster Iestyn
d9cbc8308a Merge branch 'master' into lua-action-userdata 2017-07-09 15:05:48 +01:00
Monster Iestyn
3d2fd5d5a4 Merge branch 'master' into lua-spritedefs 2017-07-09 15:05:18 +01:00
toasterbabe
b91dc51d6f * Lua P_MobjFromMobj.
* Make A_Repeat only set extravalue2 if it has a var1.
* Improve sound caption.
* Make activesound state-controllable.
2017-07-09 14:54:11 +01:00
toasterbabe
a5f336e51a Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into unca_scrooge
# Conflicts:
#	src/dehacked.c
#	src/info.h
#	src/p_enemy.c
#	src/p_inter.c
2017-07-09 12:14:24 +01:00
toasterbabe
1f2743ce64 Clean up the event and caption when a life is transferred. 2017-07-08 19:42:01 +01:00
toasterbabe
fb00691324 Fix a bug in a testing netgame where we were able to game over and yet ended up just resetting the map normally. 2017-07-08 19:30:25 +01:00
toasterbabe
a0cf28671c Remove some jankiness from spectators. 2017-07-08 19:12:46 +01:00
toasterbabe
317259a459 Two fixes to playersforexit changes.
* Crash prevention if total somehow becomes zero.
* Don't waste time multiplying and demultiplying the HUD check if it's just gonna net you the same number.
2017-07-08 19:02:28 +01:00
Monster Iestyn
fb23f4c724 Merge branch 'master' into opengl-improvements 2017-07-08 17:55:40 +01:00
Monster Iestyn
023d91a02e Merge branch 'public_next'
# Conflicts:
#	src/y_inter.c
2017-07-08 17:49:54 +01:00
toasterbabe
b197dcdb1f A little bit of monitor love.
* Rename "Unknown" options to "Mystery".
* Make Random monitors work consistently in singleplayer if hacked/SOC'd in.
2017-07-08 12:31:37 +01:00
toasterbabe
5cc1b0dcd0 Exiting icon on the tab menu! (Requires new patch.dta) 2017-07-08 11:41:32 +01:00
Monster Iestyn
f0ffd691f4 Merge branch 'master' into next 2017-07-07 22:47:34 +01:00
Monster Iestyn
fe3f4f4ed1 Merge branch 'pwease_no_kicky' into 'master'
Pwease no kicky

Don't kick Tails! Also, a movement for the WRITESINT8 to prevent modification to buf if the function bails early.

This can go into Master, right? It only matters for the host, and it's explicitly only having a major effect outside of netgames.

See merge request !201
2017-07-07 17:45:59 -04:00
Monster Iestyn
4752109233 Some more tweaks of my own:
*Add CONS_Printf messages for !netgame checks
*Arg count is checked first regardless of netgame status for both kick and ban, < 2 is checked instead of == 1 just in case these weren't called from console for some stupid reason?
*Moved Command_Kick's buffer vars to within the code that actually does kicking stuff
2017-07-07 22:40:00 +01:00
toasterbabe
54a8602c4c Woops, forgot about other gametype spawncamping. 2017-07-07 14:39:51 +01:00
toasterbabe
88546abb08 Fix a few things noted during a test netgame with Salt and FuriousFox.
* Hide the individual lives on the tab menu whenever they're irrelevant.
* Make co-op spectators appear on the tab menu.
* Hide one frame of spectatorhood stuff in splitscreen.
* Fix joining netgames whilst in a special stage not giving the startinglives.
* Make monitors that don't appear to do anything play the failure sound.
* Only make players flash if they're REspawning, rather than spawning into a fresh level - unless it's a NiGHTS level, in which case never.
2017-07-07 13:35:48 +01:00
toasterbabe
25fb318a0b * Fixed a typo with the bit-shifting of the max speed, meaning that it wasn't being set as desired.
* Made the speed capping/minimising done at the point of changing it via player control, as opposed to the point of macerotate, in an attempt to fix a potential cause of mace rotation desynchronisation (not netplay, just https://cdn.discordapp.com/attachments/293238104096112641/331453363499696139/srb20180.gif stuff.)
2017-07-06 22:26:31 +01:00
toasterbabe
1a7a0662ba * Set player->outofcoop to false if it's not a coop gametype.
* Expose player->outofcoop to Lua.
2017-07-06 14:53:52 +01:00
toasterbabe
f809923f69 * If cv_playersforexit != "One", add a count of the number of players required to exit to the end tally.
* Make the default value of cv_playersforexit "All".
* Correct the greying out of the lives counter for cv_cooplives == "Single pool" to only be when you can't respawn.
2017-07-06 14:39:51 +01:00
toasterbabe
0bf676498a woops, the check was accidentially inverted 2017-07-05 22:43:45 +01:00
Monster Iestyn
e8df99c632 They didn't use V_HUDTRANS before and they probably shouldn't, my fault here 2017-07-05 22:30:18 +01:00
toasterbabe
014c1d8f03 https://cdn.discordapp.com/attachments/297148222332469249/332227405747847168/unknown.png
betterexit integration!
2017-07-05 19:33:41 +01:00
Monster Iestyn
815d10e15d Display minutes in full, so 60:00 for instance displays as 60:00 and not 0:00
The normal HUD display while playing a level doesn't do this, only the tally screen does it for some reason
2017-07-05 19:25:11 +01:00
Monster Iestyn
aca7a574f8 Copy+paste st_stuff.c functions and macros to accurately draw SCORE/TIME on the tally screen like they are when actually playing the level 2017-07-05 17:05:39 +01:00
toasterbabe
9a1e1180ff Also account for bans, pff. 2017-07-05 16:29:21 +01:00
toasterbabe
60e21381ab Don't kick Tails!
Also, a movement for the WRITESINT8 to prevent modification to buf if the function bails early.
2017-07-05 16:20:23 +01:00
toasterbabe
e55f24419e Additional opportunity for F12 message exposure pounced upon. 2017-07-05 13:44:50 +01:00
toasterbabe
fa42875aee Better setting names/values for various new and old console variables impacted by this branch. 2017-07-05 12:34:13 +01:00
toasterbabe
125646e521 Some minor tweaks to make countdown not COMPLETELY broken. 2017-07-04 21:33:16 +01:00
toasterbabe
e5eb6720f0 Change how countdowns are presented.
I would have changed how they actually worked, too, but I ended up breaking it and getting too frustrated/tired to continue.
2017-07-04 20:49:38 +01:00
toasterbabe
dad6ce9796 * Tweaked some monitor toggle names I forgot to modify.
* Added arrows to the "sky room" menu.
2017-07-04 14:59:48 +01:00
toasterbabe
a65598a97a Fixed Game Over being broken in singleplayer. Woopsie doodle! 2017-07-04 14:57:22 +01:00
toasterbabe
bc066a16a0 Whoops, I did some menu stuff in here. Oh well.
NEW COOP BASED:
* Add "Infinite" option to cv_cooplives, inspired by SUBARASHII. Lives still exist, but are hidden from the player's view, and are prevented from falling below 1 at any cost. As a result, made the variable CV_CHEAT.

OTHER MULTIPLAYER BASED (semi-related):
* Made cv_autobalance an on/off switch which determines the allowed difference based on the number of people in the server, instead of a weird and opaque number from 0-4.

MENU BASED (not related):
* Add horizontal arrows to menu options which respond to the arrow keys.
* Make the menu arrows bob.
* Switch out the seperate arrows for combination arrows on the joystick menus.
* Minor cvar description tweaks.
2017-07-04 13:17:29 +01:00
toasterbabe
2fd6a20be0 * Fix some HUD offsets.
* Don't attempt to respawn anybody when changing cv_coopstarposts and nobody CAN be respawned.
* Make Rings transparent (and not flash) when you're a spectator.
2017-07-03 16:33:52 +01:00
toasterbabe
50496970d1 Fix weird visual artifacting caused by restarting the level in co-op, which was a direct result of my code being messy. This is significantly better to deal with, anyways. 2017-07-03 15:43:29 +01:00
toasterbabe
ca76dd41f8 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into new_coop
# Conflicts:
#	src/p_user.c
2017-07-03 15:41:00 +01:00
Monster Iestyn
298c1af045 Merge branch 'lua-archive-value-fix' into 'next'
Lua archive value fix

This fixes some potential problems with archiving mobjinfo_t/state_t data via Lua in netgames (whether as custom mobj/player vars or by NetVars hook). Thanks to LJSonic for pointing this out to me.

See merge request !200
2017-07-02 20:23:29 -04:00
Monster Iestyn
c751971d57 Fix integer type slipup in ArchiveValue for saving mobjinfo/state #s that LJSonic spotted
Apart from the fact that UnArchiveValue reads UINT16 for both anyway (which alone causes problems), but UINT8 isn't even enough to store the higher end of the object types list and definitely most of the states welp
2017-07-02 16:50:11 +01:00
toasterbabe
9797ae31a6 Fix the springs jumping!
The issue was that because both them and the player had MF_SOLID, the tmfloorz of the spring was getting set to above the player (or vicea versa with tmceilingz), forcing it upwards with them under certain circumstances.

Now, springs only acknowledge the solidity (for purpose of tmfloorz/tmceilingz) of objects they CAN'T launch.
2017-07-02 16:48:58 +01:00
Monster Iestyn
100422e1ce Merge branch 'master' into opengl-improvements 2017-07-02 16:42:40 +01:00
toasterbabe
370d9c3176 Hooh boy.
****
* MF2_MACEROTATE. Apply to any object. Replaces the indiscriminate spamming of A_MaceRotate each tic.
****
* Mace point mapthings have been slightly modified.
   - MTF_AMBUSH: bigger luke theory (has no effect on custom mace, different effect on spring mace)
   - MTF_OBJECTFLIP: flips the objects, but nothing else - just so it doesn't look out of place in gravflip sections
   - MTF_OBJECTSPECIAL: keeps it from attempting to play swinging sounds
   - angle: tag of controlling linedef
   - parameter: number of "spokes" minus one - for example, a parameter of 2 results in 3 equidistant maces rotating around the same point.
****
* Mace linedefs have been significantly revamped.
   - line dx: number of chain links
   - line dy: speed (in FU)
   - frontside floor height: Pitch (in degrees; how much it "tilts" over - Yaw influences the axis it's tilting on)
   - frontside ceiling height: Yaw (in degrees; rotation of entire thing on xy plane)
   - frontside x offset: Phase (in degrees; how far it is through the rotation cycle)
   - frontside y offset: Max speed (in FU; if less than speed, set to speed*2)
   - backside floor height: Pinch (in degrees; 0 if no backside; essentially makes rotation conical instead of wheel-like)
   - backside ceiling height: Roll (in degrees; 0 if no backside; rotates on the axis of the spinning - identical to Phase for spinning maces, but useful for rotating swinging maces as opposed to just offsetting them)
   - backside x offset: Number of "antispokes" (0 if no backside; makes that many spokes not exist so you can put another mace/chain type in there instead; for combo mace/chain instead turns them into chains directly)
   - backside y offset: Width (in number of extra chains per side; 0 if no backside; creates a "skiprope" arrangement)
   ----
   - ML_NOCLIMB: for chains and chain-mace combos, allow for player control of yaw through strafe keys
   - ML_EFFECT1: replacing the seperate mapthings, this makes a mace type swing instead of spin.
   - ML_EFFECT2: for all spokes of the mace wheel ending in maces, make the chains out of the mace type (inverted for firebars)
   - ML_EFFECT3: spawn a bonus mace type at the center(s) of rotation
   - ML_EFFECT4: don't clip inside ground
****
* Mapthing 1104 represents both spinning and swinging maces from prior versions of SRB2.
* Mapthing 1105 has gone from being a swinging mace variant to a combination of chains and maces in a single unit, provided the number of "spokes" is greater than one.
* Mapthing 1105 has gone from being a swinging chain variant to a vertical spring-on-a-ball-on-a-chain. Yellow by default, apply MTF_AMBUSH to turn into a red spring.
* Mapthing 1107 represents both spinning and swinging chains from prior versions of SRB2.
* Mapthing 1108 is completely untouched except to port over 2.1's functionality to the new backend.
* Mapthing 1109 is a Mario castle-level style firebar. This inverts the functionality of ML_EFFECT2 on the tagged linedef.
* Mapthing 1110 is a free slot should we want to implement another type of base-game mace.
* Mapthing 1111 is a custom mace. Use the linedef's frontside texture slots to identify a macetype mobjtype, then use the backside texture slots to identify a linktype mobjtype (defaults to MT_NULL if no backside).
****

Whooh. Requires new patch.dta for sprites.
2017-07-02 15:11:09 +01:00
Monster Iestyn
252cdb0c28 Merge branch 'private_flatsprite' into 'master'
OpenGL papersprites

I don't know if anyone actually tested Sryder's original OpenGL papersprites support before it was merged in, but there was some issues with the papersprites themselves "wobbling" about in a sort of weird way depending on the angle you view it from or where you are. It's easiest to see what I mean if you just load up sawb.wad, and strafe about when viewing one of the sawblades.

Thankfully all I really needed to do was tweak the way angles work for papersprites. I also cleaned up Sryder's original code a little, not that I really needed to do so though.

See merge request !96
2017-07-02 09:46:44 -04:00
Monster Iestyn
64b3861168 Merge branch 'mapthing-spawn-hook' into 'master'
"MapThingSpawn" hook for Lua

A hook for adding special stuff to mobjs spawned via a map thing on level load, like special features depending on the map thing's flags, angle, z position, extrainfo, or anything else I didn't think of.

**Function syntax:**
`functionname(mobj, mapthing)`

where `mobj` is the spawned mobj (type mobj_t obviously), and `mapthing` is its corresponding map thing (type mapthing_t also obviously). Note that `mapthing.mobj` will not yet be set to `mobj` at this point (it's set afterwards, provided you don't remove the mobj or something stupid).

Returning `true` overrides features in place for existing mobj types (currently not all existing features are overridden, I may change this; see the source code for what IS overridable for now), returning `false` runs them as normal.

**Hook syntax:**
`addHook("MapThingSpawn", functionname, MT_OBJECTTYPE)`

where `MT_OBJECTTYPE` is the object type to apply the hooked function for. As usual, if this argument is omitted or set to MT_NULL, the function runs for all object types.

**Test resources and where to find them:**

* srb2win-mapthingspawn.exe, my folder on the FTP - test exe, obviously
* luatest-mapthingspawn.lua, same place - a simple Lua script that changes the scale of MT_GFZFLOWER1 (the orange flower) based on the map thing's angle (0 degrees is normal, 90 degrees is 2x bigger, 180 is 3x bigger, 270 is 4x, etc etc)

See merge request !83
2017-07-02 09:46:11 -04:00
Monster Iestyn
68d8906a36 Merge branch 'mi-code-cleanup-once-again' into 'master'
MI code cleanup once again

Code prettification branch 12472849127, no real changes to gameplay except a bunch of outdated SOC features have been removed or disabled (most notably, Callum's old texture/patch SOC implementation). Though the changes here might also speed up game startup a teensy bit I suspect, possibly?

See merge request !102
2017-07-02 09:45:30 -04:00
toasterbabe
a0fa548e8b * Make spinning (normal) maces play the activesound once per rotation, instead of once every 64 tics.
* Make swinging (as opposed to spinning) maces play the activesound at the peak of their speed.
* Decouple the tilt of all maces from the angle.
* Improve DBG_GAMELOGIC message.
* Refactor.
2017-06-28 14:55:48 +01:00
toasterbabe
86f9b6d409 After discussions, flipping the flag that means you CAN'T turn the CEZ chains now means that when it's enabled, you CAN turn them. In order to get base game parity by default, rather than as an obscure option. 2017-06-27 23:34:55 +01:00
toasterbabe
23bdb14eda * Make maces use the x offset of their controlling linedef to set the stage in the cycle the mace should be at, instead of contributing to the tilt of the plane of the maces.
* Make the noclimb flag of the mace-controlling linedef turn the mace types that have spiked balls on the ends to also have the middles of the chain be spiked, CEZ3 style.
* Partake in some refactoring.

https://cdn.discordapp.com/attachments/293238104096112641/329335623250870275/srb20026.png An image of both changes in action!
2017-06-27 20:16:14 +01:00
toasterbabe
fe4dcee9ad fix inaccurate SC_FULLBRIGHT declarations 2017-06-26 16:30:23 +01:00
toasterbabe
b2fc2e03ba * Always remove linkdraw vissprites from unsorted drawing chain.
* Make the related I_Error more descriptive and "#define PARANOIA"'d only.
2017-06-26 16:11:50 +01:00
toasterbabe
dda9148e56 Fix issue with precipitation not modifying its mobj reference, resulting in Smiles' tails disappearing in CEZ3.
Also, as a result, safeguard some stuff against referencing stuff that's outside of *precipmobj_t's domain.
2017-06-26 15:53:20 +01:00
toasterbabe
59ea08ee11 * Change the order of operations such that linkdraw sprites aren't ever used for ordering comparisons with non-linkdraw sprites.
* Refactor of the unbundling to not involve modifying the next/prev links.
* Make the booleans in vissprite_t use flags stored in sprite->cut instead.
* Make the linkdrawn sprites much more linked - ie, same brightness (unless independently fullbright), same colormap, and don't draw if the tracer isn't being drawn.
* Other minor corrections.
2017-06-26 14:44:10 +01:00
Monster Iestyn
8080e1cd31 More optimising and otherwise fixing bizarre formatting in hw_trick.c 2017-06-26 11:12:26 +01:00
Monster Iestyn
6a85121b79 Moved my added slope checks in hw_trick.c to isCeilingFloating/isFloorFloating
I also optimised those two functions while I was there (why keep a "floating" variable when setting it to false guarantees the functions return false?)
2017-06-26 10:51:19 +01:00
Nevur
677c1045a1 The sprites stuff is changed now.
-PK3 loadtime drastically reduced, even for very big files.
-Looks for srb2.pk3 now instead.
-"flipped the switch" for sprites.
2017-06-25 23:04:51 +02:00
toasterbabe
93dce12fce Seriously improves the reliability of the linkdraw system (in Software, the only rendering engine which actually does anything with this information), reducing the number of visual errors it produces significantly.
Of particular note: Standing in shallow pools of water as Smiles will now reliably associate the bottom half of the tails following mobj with the underwater portion of Smiles' body, and the flicking ends with his un-submerged head.

Deliberately engineered to only affect objects with MF2_LINKDRAW applied.
2017-06-25 20:46:30 +01:00
Monster Iestyn
c653289121 Turns out we don't need to use SDL_SetWindowTitle on its own, since SDL_CreateWindow already deals with the window title anyway. So I've disabled everything related to Impl_SetWindowName for now
Also what were you thinking Fury?!? window shouldn't be NULL for SDL_SetWindowTitle, you backwards person you
2017-06-25 20:22:01 +01:00
Monster Iestyn
0eaebb16fc Check if existing animdefs have the same type as the animdef we're parsing 2017-06-25 18:17:05 +01:00
Nevur
f6bd414f35 Fixed stuff which I removed accidentally when manually tweaking p_setup.c on the merge. 2017-06-25 18:30:53 +02:00
Monster Iestyn
a4cd7b7f38 Added the Gametype_Names array and G_GetGametypeByName for ease in converting gametype nums to strings and vice versa
gametype_cons_t is now initialised using the Gametype_Names array, like how Color_cons_t is initialised using Color_Names
2017-06-25 17:28:07 +01:00
Nevur
d3a652aa15 Fix merge issue. 2017-06-25 15:39:45 +02:00
Nevur
d5e38c087d Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into FileManagement
# Conflicts:
#	src/p_setup.c
2017-06-25 14:51:37 +02:00
Nevur
35189dc219 Fixed PK3s.
-Colormaps, palettes and other stuff are properly loaded now. It was a bug related to the generation of the lump name with files in the root of the PK3.

Known issues:
-Map WADs' REJECT and BLOCKMAP are still not loaded.
2017-06-25 14:02:39 +02:00
Monster Iestyn
f44d769d39 dehacked.c cleanup
*removed Texture/Patch SOC implementations, since they weren't used in the end
*removed remnants of AnimTex and some Spritename thing
*none of the save* arrays in DEH_LoadDehackedFile were being used, so I removed all related code disabled or otherwise
*DEH_LoadDehackedFile doesn't need a "wad" param anymore since only the Patch block was using it
2017-06-24 20:33:56 +01:00
Monster Iestyn
7d82ac406e whoops forgot to change these two 2017-06-24 19:27:29 +01:00
Monster Iestyn
b2941087de Move all the leftovers of the "title" print code into D_Titlebar, since it's only used by DOS now 2017-06-24 18:39:17 +01:00
Monster Iestyn
9d24186ecd Removing D_SRB2Main's OS2 window title code
"pmData" was originally declared in the files in the (non-SDL) OS2 source subfolder, last known to be present in Demo 4.1's source code ...said folder has not been around for over a decade, so this would definitely fail to compile if you tried compiling for OS2 without SDL anyway
2017-06-24 18:27:43 +01:00
Monster Iestyn
d263c4fcd4 Remove unused static vars in d_main.c (and remnants of some of them) 2017-06-24 18:15:06 +01:00
Monster Iestyn
e5bf3dfa67 Merge branch 'master' into opengl-improvements
# Conflicts:
#	src/doomdef.h
2017-06-23 17:20:18 +01:00
Monster Iestyn
e3f627120f Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
#	src/p_mobj.c
2017-06-23 17:19:06 +01:00
Alam Ed Arias
1111282908 Merge branch 'master' into next 2017-06-22 19:52:42 -04:00
Monster Iestyn
b37d09df5f Merge branch 'opengl-slope-FOF-lighting-fix' into 'master'
OpenGL slope FOF lighting fix

This fixes some issues with sloped FOFs that affect lighting in OpenGL (as in, those that cast a shadow or have a colormap). Particularly, they can do strange things to any wall textures adjacent to them, as we've noticed ourselves in levels for 2.2. =P

See merge request !194
2017-06-22 19:49:42 -04:00
Monster Iestyn
44f33e6732 Merge branch 'touching_fixes' into 'next'
Fixes with respect to sector special touching and slopes

Some important stuff.

* SF_TRIGGERSPECIAL_TOUCH now actually works. Previously, it abandoned the loop early if ANY bounding sector didn't have that sector flag, which it likely didn't - only checking one extra sector's worth of FOFs. Also, the teleport handling there is more robust, and actually bails out if you teleport, instead of just awkwardly continuing through the loop.
* SF_TRIGGERSPECIAL_TOUCH now works for each time thinkers, too.
* Fixed a bug with being able to go under lava because P_CheckSolidLava doesn't take slopes into account.
* Also, P_CanRunOnWater supports slopes now too.
* Quicksand supports slopes and reverse gravity now.
* Space Countdown supports slopes now.

Also, an experiment behind a #define which currently isn't turned on:

* UNDER A #define, "SECTORSPECIALSAFTERTHINK", WHICH IS CURRENTLY TURNED OFF, BUT I WILL WANT TO TURN ON IN INTERNAL: Moved sector touch handling to P_PlayerAfterThinker (from P_PlayerThinker before movement). Allows for being able to trigger moving slope sectors that are going down, most specifically lava (didn't matter in RVZS in 2.1 because you could clip through the sides and go underneath the lava, causing damage - a sloped testwad version of that prevented going underneath.) Also fixes one-frame standing on deathpits before you die. Basically means sector triggers effectively happen one tic earlier, since it's after movement.

See merge request !131
2017-06-22 17:30:57 -04:00
Monster Iestyn
6a0329857d Merge branch 'polyobject-seg-render-fix' into 'master'
Polyobject seg render fix

This fixes both Software and OpenGL renderers so that polyobject segs aren't drawn if the game is drawing the actual subsectors they're from (outside the main level, where the polyobject walls were pre-spawn). They should only appear as part of the polyobject itself in-level.

This means a few glitches with polyobjects are probably fixed: for instance in Software mode, polyobject walls sometimes appear through level boundaries (and make everything above/below vanish, turning into HOM or skybox), if the BSP rendering code happens to find one of the subsectors said segs came from outside the level. I don't think anything similar happens in OpenGL, though I'm sure some unwanted typecasting is happening as a result of attempting to draw the segs. (And it fixes a crash in 2.2 anyway.)

See merge request !195
2017-06-22 17:29:01 -04:00
Monster Iestyn
abf92e965c Merge branch 'ping-fix' into 'next'
Ping-related code fix

Somehow, the part of the netcode for calculating the players' pings in a netgame frequently gets the concepts of nodes and players mixed up, which is probably not a good thing. This branch of course fixes those slipups.

I originally based this branch on master to be merged to it (since it only fixed issues on the host's side), but after finding another issue with clients receiving PT_PING from the server, I decided to make this a merge to next instead.

See merge request !193
2017-06-22 17:27:38 -04:00
Monster Iestyn
1efd2aa770 Merge branch 'ld414-invalid-sound-fix' into 'next'
Ld414 invalid sound fix

This fixes Linedef type 414 crashing the game if an invalid sound number was supplied to it (this can happen if you, say, scrambled THZ2's textures *cough*), whether or not the "Repeat Midtexture" flag is checked.

See merge request !196
2017-06-22 17:26:58 -04:00
Monster Iestyn
da2f5fe0a2 Fix PlayerSpawn hook not being called if the player is respawned at a starpost 2017-06-20 16:18:51 +01:00
Monster Iestyn
ba6d011d7b Scale should be fixed_t not UINT16!
This is probably a leftover from how scaling worked in v2.0 I take it
2017-06-17 17:22:45 +01:00
Monster Iestyn
318d5656b5 Keeping a total of thinkers saved/loaded and print the total in netplay devmode
Not a fix for anything, probably just useful for debugging
2017-06-12 17:55:15 +01:00
Monster Iestyn
02c098574c ah, turns out the TIC n debugfile print is a remnant of when Doom Legacy printed the consistancy return value... which we'll do here now too, in that case 2017-06-10 17:09:08 +01:00
Monster Iestyn
bae55a3af4 Don't display "x set to y" messages twice in the debugfile for consvars with CV_SHOWMODIFONETIME/CV_SHOWMODIF
(can't think offhand when those flags are actually used, but oh well)
2017-06-10 16:36:52 +01:00
Monster Iestyn
b9828f78e8 Fix stupid lack of newline with this message 2017-06-09 23:22:27 +01:00
Monster Iestyn
12266e0f85 Set ack and ackreturn to 0 for local packets always
This won't really have any in-game effect, this is just so the debugfile doesn't display the ack values of the PREVIOUS sent/got packet
2017-06-09 23:15:41 +01:00
Monster Iestyn
1119ffab0f Merge branch 'master' into next 2017-06-09 22:34:20 +01:00
Monster Iestyn
997eb58c93 Fix invalid sfx numbers supplied to linedef type 414 crashing the game
Had to make P_MobjReadyToTrigger non-inline for this fix though, because the compiler was being stupid
2017-06-07 18:24:06 +01:00
toasterbabe
faabca552f Okay, I guess this DID need to be done. (Something from the old nights fixes branch which I didn't port over initially.) 2017-06-04 00:48:32 +01:00
toasterbabe
1eaf35854d Fixed that issue with spectators not being able to go above FOFs. I guess it just wasn't getting initialised properly on first join! 2017-06-04 00:43:34 +01:00
toasterbabe
9d0212b9ec Console messages for the new cvars, ala other stuff in d_netcmd.c. 2017-06-03 22:43:35 +01:00
toasterbabe
5136bf4404 * Make shared lives counter greyed out if you can't respawn, to counteract the fact that it's lit up for lives in use.
* More splitscreen tweaks.
2017-06-03 22:27:40 +01:00
toasterbabe
a872f1c68f I'm starting to actually test this via netgame instead of just in splitscreen!
* Fixed oversight where late joiners may not actually get lives.
* Fixed oversight where zero-livers could spawn in.
* Reinstated flashing because a crawla walked onto one of the spawnpoints and we immediately got a game over.
* Rejiggered the overlay drawer so the printing was consistent between normal spectatorship and game overness.
2017-06-03 22:14:20 +01:00
Monster Iestyn
0dcc878028 gr_correcttricks fix: don't check if top/bottom textures are missing for sloped sectors, just ignore and cancel the hack
This fixes GFZ2's mysterious flying flats at the ramp to the big room
2017-06-03 21:40:41 +01:00
toasterbabe
8d8ae2b538 Renamed again, and this time I'm happy with it.
* "playstyle" to "coopstarposts"
* "lifedistribution" to "cooplives"
2017-06-03 17:55:03 +01:00
Monster Iestyn
c3c85bb4d2 Do not draw segs that belong to polyobjects, if you're drawing subsectors adjacent to them
Polyobject segs should ONLY be drawn if the polyobject itself is in the polylist of a subsector being rendered. That way you won't sometimes see polyobject walls through level boundaries, if you happen to be close enough to their pre-spawn locations outside the level (or in them, if you decided to go on a noclip journey).
2017-06-03 17:47:46 +01:00
Monster Iestyn
3658b22a7f wallVerts[].y is actually the map z coord, so use wallVerts[].z instead (which is actually the map y coord)
Don't worry I'm not going mad, this is actually how it's supposed to be
2017-06-03 14:46:03 +01:00
toasterbabe
ae3441659e Unrelated to the branch, but I was messing around with heights and shadow.wad and figured I might as well tweak it whilst I remember. 2017-06-03 13:47:08 +01:00
toasterbabe
f3cad19184 * Renamed "steallives" to "lifedistribution".
* Gave lifedistribution a "Sharing" option to go along with its previous individual and stealing options.
* Made the game over graphic and music only happen if everyone's out of lives if you're sharing or stealing lives.
* Fixed a bug where game over wouldn't come to fruition because it kept on happening each tic of the countdown2.
* Made spectator stuff display in Co-op splitscreen.
2017-06-03 12:26:42 +01:00
toasterbabe
25a1ffe02a Make it such that you only flash on game join in Co-op, not on all spawns. 2017-06-01 22:21:02 +01:00
toasterbabe
51f0d6f2e2 Import some NiGHTS stuff from some-more-nights-fixes, so I can delete that old branch. 2017-06-01 22:20:36 +01:00
Monster Iestyn
2e42c9621c Eck, potted another node/player confusion for clients reciving PT_PING 2017-06-01 20:46:44 +01:00
Monster Iestyn
fe15305df0 Merge the two NEWPING parts of NetUpdate into one block 2017-06-01 20:43:24 +01:00
Monster Iestyn
3d86e7135d Fix confusion between nodes and players in ping updating code and PT_PING packet sending code 2017-06-01 19:01:57 +01:00
toasterbabe
3857b720cd * Make music reset when game over is dealt with more consistent.
* Make setting steallives to true respawn every game overed spectator.
* Make a minimum on the number of lives GetLives can get you.
* Add "You'll steal a life on respawn" to spectator screen.
2017-06-01 18:44:19 +01:00
Monster Iestyn
10b835e799 Whoops, this broke my non-NEWCLIP test build 2017-05-31 17:17:08 +01:00
toasterbabe
464699fce2 * Make handling of life theft more consistent.
* Make sure that a life theft always takes you from 0 (or less) lives to 1 life.
* Fix a bracket level typo that meant new Co-op style respawning was being done for all gametypes.
2017-05-31 17:07:24 +01:00
Monster Iestyn
cefd92fc8e Merge branch 'master' into opengl-improvements 2017-05-31 15:18:42 +01:00
Monster Iestyn
3f9bebd05e Merge branch 'public_next'
# Conflicts:
#	src/doomdef.h
#	src/lua_thinkerlib.c
2017-05-31 15:18:05 +01:00
toasterbabe
4353fa65a2 * Spectatoring for game over supported.
* Don't lose lives when you die as a spectator.
2017-05-30 20:31:51 +01:00
toasterbabe
9fbcd6e883 Accidentially broke game overs. Fixed now. 2017-05-30 17:07:37 +01:00
Alam Ed Arias
6847a89bc2 OpenGL: check for 1.3+ or 2.0+, not just 1.3/2.X to 4.X 2017-05-29 23:04:03 -04:00
Alam Ed Arias
6be7693ecb OpenGL: Load the GLU and OpenGL 1.3 multitexturing functions during runtime 2017-05-29 22:52:51 -04:00
toasterbabe
947e9ed34f Stop rolling sound spam by not doing some stuff that probably shouldn't be happening. 2017-05-29 22:43:22 +01:00
toasterbabe
ff7ee4aa12 ...forgot to check in these changes 2017-05-29 22:19:31 +01:00
toasterbabe
2f3e4c3c65 * Per Mystic's request, made lives for 100 rings individual.
* P_GiveCoopLives bundles the coop lives reward for everyone versus reward for one person in other gametypes thing into one function. Available in Lua.
2017-05-29 22:18:02 +01:00
toasterbabe
fd873185ae * Respawn players that are spectators if it's not a special stage.
* No need to call a function for changing the number of lives when we're within bounds.
2017-05-29 21:59:24 +01:00
Monster Iestyn
f96844b262 Fix screenshots taken in OpenGL with 1366x768 being messed up
This is based on GZDoom's own fix for the same issue, had to add support for glPixelStorei first though
2017-05-29 21:28:36 +01:00
toasterbabe
da05371e69 woops 2017-05-29 21:24:09 +01:00
toasterbabe
726cd9757b Spectators in new Coop instead of staring at a dead screen all the time!
Needs a bunch of changes to HUD rendering, especially in splitscreen, which doesn't try to show spectator stuff whatsoever. Also, if you're the player whose respawn determines when the map reloads, you'll see the spectator text during the front half of the fade. Unless, of course, it's 2-player mode.
2017-05-29 21:23:00 +01:00
toasterbabe
964df31ee5 * Combine cv_sharedstarposts and cv_respawntype into cv_playstyle (Individual, Sharing, Together).
* Put steallives on menu.
2017-05-29 00:03:46 +01:00
toasterbabe
4239036cec Life theft! No menu item, but anything is possible with zombocom.
cv_steallives, defaults to "On"
2017-05-28 21:55:41 +01:00
toasterbabe
f9120e3a44 Some corrections. 2017-05-28 21:43:53 +01:00
Yukita Mayako
9f3fda37b0 Merge branch 'next' into hotfix_thinkers.iterate 2017-05-28 15:07:20 -05:00
Nevur
16336dbe22 I'm pushing this because I'm having issues. Changes so far:
-Folders aren't loaded as lumps anymore
-Can now load an arbitrary number of TEXTURES lumps in PK3s. Name them textures.gfz, textures.thz, ..., for example.
2017-05-28 21:47:15 +02:00
toasterbabe
2765868940 * Add new cvars to menu.
* Don't try to respawn on a checkpoint if you don't have any lives.
2017-05-28 18:09:05 +01:00
toasterbabe
ce181da83c ...i am fool 2017-05-28 17:08:41 +01:00
toasterbabe
965e1f6b45 * Make 100 rings give everyone a oneup in New Coop.
* Make oneup boxes only give everyone a oneup in New Coop.
2017-05-28 17:07:20 +01:00
Alam Ed Arias
2223283208 Merge branch 'next' 2017-05-28 11:37:16 -04:00
toasterbabe
c508695c5a LF2_NORELOAD support 2017-05-28 16:05:55 +01:00
toasterbabe
3723eff9f7 The start of the Co-Op revamp! Not tested over netplay yet, but uses TD's implementation of various Co-op friendly things as a reference (or in one place an outright code steal, thanks Sryder!)
* cv_sharedstarposts - Makes everyone share starposts, defaults to "On"
* cv_respawntype - Defaults to "Starpost". If set to that, people respawn at the starpost you just hit (assuming cv_sharedstarposts is on - may have to combine the two variables later, but seperate for testing for now). The other option is the old, unrestricted spawning. We COULD add TD bubble spawning at a later time using this variable, though.

The level DOES reset if everyone dies, but not in a way which allows for Mystic Realm style non-resetting resets. I'll handle that later.
2017-05-28 15:33:35 +01:00
Monster Iestyn
0536e1d862 Merge branch 'update-to-v2.1.19' into 'master'
Update to v2.1.19

It should says what on the tin.

See merge request !190
2017-05-27 20:24:45 -04:00
Yukita Mayako
e192c5be4d Merge branch 'next' into hotfix_thinkers.iterate 2017-05-27 15:45:13 -05:00
Monster Iestyn
806b101984 Merge branch 'master' into next 2017-05-27 20:10:48 +01:00
Monster Iestyn
7294e15ec6 Merge branch 'ignore-askinfoviams' into 'master'
Ignore askinfoviams

Turns out PT_ASKINFOVIAMS is an obsolete packet type anyway, the MS doesn't send it at all. So let's just ignore it in the netcode then. (the online page just acts like a client and sends PT_ASKINFO, and is not part of the MS itself)

See merge request !191
2017-05-27 15:09:14 -04:00
Yukita Mayako
c44a935b04 Rewrote thinkers.iterate to handle invalid pointers elegantly. 2017-05-27 14:03:27 -05:00
toasterbabe
55b85e257e Per MI's disabling of PT_ASKINFOVIAMS, don't outright remove DELFILE, just mark it for replacement. 2017-05-27 20:02:49 +01:00
Monster Iestyn
d20efa5a74 Entirely ignore PT_ASKINFOVIAMS packets, since it turns out it's not even sent by the MS anyway 2017-05-27 19:06:46 +01:00
toasterbabe
2c7fb73432 Minor optimisation. (I'm picking at this branch! I should stop doing that and work on something else.) 2017-05-27 15:10:16 +01:00
toasterbabe
d685060aef Store importance (nmuslumps check) to prevent having to do it again when doing d_netfil stuff. 2017-05-27 14:01:26 +01:00
toasterbabe
33d5373e84 Don't need this addition any more. 2017-05-27 13:13:00 +01:00
toasterbabe
cbe56b1b06 Essentially - show how close the numwadfiles is getting to the maximum as WELL as the packetsizetally. 2017-05-27 12:36:33 +01:00
Alam Ed Arias
877e9510f7 Update version number to v2.1.19 2017-05-26 21:38:49 -04:00
Alam Ed Arias
86a76a9766 Makefile: disable GETTEXT by default 2017-05-26 18:10:53 -04:00
Alam Ed Arias
0e0769d11a Merge branch 'master' into disable_gettext 2017-05-26 18:06:57 -04:00
Monster Iestyn
11d57fba1b Merge branch 'master' into next 2017-05-26 23:02:06 +01:00
Monster Iestyn
3928b75b7a Merge branch 'netcode-hotfix' into 'master'
Netcode hotfix

Various netcode fixes are included in this branch. Most important of all of course is a fix for the Net_CloseConnection invalid node -32769 detected message thing, or rather what actually caused that to occur.

It's a merge to master since everything here should be compatible with 2.1.18: the only main changes are related to recieving packets (whether you're the host of a netgame or a client), which AFAIK shouldn't cause desyncs if you played with these fixes on a 2.1.18-hosted netgame (or hosted a netgame with the fixes and 2.1.18-using players join you).

See merge request !185
2017-05-26 18:00:43 -04:00
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
toasterbabe
d3bd17d862 Make the zeroed temperature gauge actually look right. 2017-05-26 16:04: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
toasterbabe
fe9ebbd1ca Files which are unimportant are not sent in the fileneeded list.
This removes exactly one feature in exchange for a greater number of files to be loaded. I asked around, and people don't actually like what it currently does (load unimportant server-side files if you can findfile it locally), so.

Can be reverted if requested.
2017-05-25 17:58:32 +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
toasterbabe
9fcf40b5a3 woops 2017-05-24 22:36:59 +01:00
toasterbabe
e2f6366292 Minimum fill for temperature gauge if you have any wads loaded at all. 2017-05-24 22:05:41 +01:00
toasterbabe
c2705b4662 * Make wads that don't modify the game not count towards the internal packet size tally in w_wad.c, like they wouldn't in d_netfil.c.
* Now that it's consistent, removed the redundant packet size tally check in d_netfil.c.
2017-05-24 21:45:03 +01:00
toasterbabe
74c4ad4bad Minor refactor, plus cutting out a potential bug of setting dir_on[] to -1. 2017-05-24 20:55:35 +01:00
toasterbabe
e41976fb05 https://cdn.discordapp.com/attachments/293238104096112641/317023848493088779/srb20016.png
* Visual Indicator of modifiedgame/savemoddata.
* Other assorted improvements to layout.
2017-05-24 20:55:05 +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
Nevur
19c46f3732 More PK3 work.
-Removed code duplicity on map resource reading.
-Fixed all known PK3-related bugs so far except for the ones mentioned below.
Issues:
-Blockmap and reject matrix still aren't loaded yet when using a map WAD.
-Palettes and colormaps aren't loaded (by extension, TRANS tables might not work either).
2017-05-18 21:13:18 +02: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
fd1efff338 Added the META_ACTION userdata type to Lua, created getActionName() to return string name
SRB2's built-in action types will now all be pushed as META_ACTION, state_t.action can be assigned META_ACTION and return it

getUserdataType returns "action" for META_ACTION variables
2017-05-17 20:36:40 +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
toasterbabe
593416328a String addition to the addfile menu suggesting to visit the modifications page! No change to actual functionality, just secondary utility. 2017-05-16 23:43:21 +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
Nevur
d4c324eb30 PK3 stuff again.
-Now can load map WAD files inside Maps/ directory, but they must only contain map data explicitly!

Known problems:
-There's an issue causing a crash with palettes and colormaps in PK3s.
-SS_START and SS_END don't work now. Will check later.
-Standalone lumps for maps in the Maps/ folder don't work anymore; perhaps I should keep that functionality?

Notes:
-It's now a mashup of something dumb that I wanted to do and yet piling hacks again.
-A lot of code duplicity with map lump loading functions.
2017-05-16 21:10:02 +02:00
toasterbabe
5f8cfb47e4 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into addfile_menu 2017-05-16 19:54:54 +01:00
toasterbabe
87f32abc24 i have no idea whether this will fix the garbage or whether it'll get broken again, but here's an attempted fix for VAda's name 2017-05-16 14:11:10 +01: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
65a202e843 ACTUALLY let's do this better 2017-05-14 19:25:46 +01:00
toasterbabe
b13a9ad9d1 Support for negative scroll speeds on title screen 2017-05-14 19:20:00 +01:00
toasterbabe
b864e45487 Added reset for titlemap (and other title attribute) changes so that the title screen never ends up being some half-formed hybrid
Also because I could I added it for intro changes too
2017-05-14 16:45:08 +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
toasterbabe
ba4275c415 title screen hud hook 2017-05-13 22:38:06 +01:00
Monster Iestyn
d91471b053 check spr2names not sprnames, whoops 2017-05-13 21:43:04 +01:00
Monster Iestyn
c2f03c5953 Fix compiler errors 2017-05-13 21:28:44 +01:00
Monster Iestyn
5113163e07 Merge branch 'master' into lua-spritedefs 2017-05-13 21:16:42 +01:00
Monster Iestyn
9a9b2fcc2d Merge branch 'master' into mapthing-spawn-hook 2017-05-13 21:06:49 +01:00
Monster Iestyn
8d483cdc47 Fix whitespace on that one line toaster pointed out 2017-05-13 20:51:10 +01:00
Monster Iestyn
e45e740a65 Merge branch 'master' into lua-lump-load-only 2017-05-13 20:40:38 +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
yellowtd
f5fa67b7ad no idea why this was stashed while the last commit before this one was made.. 2017-05-12 20:54:06 -04:00
yellowtd
13c748531f bootmap
(+indentation fix)
2017-05-12 20:48:20 -04: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
toasterbabe
6eaf936889 Make symbol conversion a #define instead of copypasted code. 2017-05-11 22:09:01 +01:00
toasterbabe
9445455fb1 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into skin_patch 2017-05-11 22:02:12 +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
3e7377930f FIX FOR MI'S CRASH 2017-05-09 17:38:00 +01:00
toasterbabe
3e9cc51953 Change config recognition method 2017-05-09 17:09:40 +01:00
toasterbabe
fd81a82cca Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into addfile_menu 2017-05-09 16:45:58 +01:00
toasterbabe
28752afa6a Fix inconsistencies in spacing in m_cond.h 2017-05-09 16:28:20 +01:00
toasterbabe
61fcbe9b36 Implemented the two NiGHTS Emblem types in the TUDD via var modifications to ET_GLOBAL!
* GE_NIGHTSPULL (for it to chase you once paralooped) - Sun emblem
* GE_NIGHTSITEM (for hidden until paralooped) - Moon emblem

Combined means that you essentially have to loop it twice.

Also, revamped NIGHTSITEM to suck a little less (and have more compatibility with MT_EMBLEM).
2017-05-09 16:20:26 +01: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
cb9012c2ca Accidentially removed newline 2017-05-09 14:22:53 +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
ba41d46587 Thanks Alam for letting me know I was messing up!
* Search case is now handled via cvar instead of assumed based on system.
* filemenusearch (previously strsystemstr) uses static char[] to prevent stack suffering.
* New cvar for searching from start of string instead of anywhere in it!
* Menu tweaked for the above.
* Reverted slash from pathsep.
2017-05-09 14:09:09 +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
toasterbabe
7f83e0d134 * Prevent crash if you go to a map and it doesn't exist.
* Handle music fix in smarter way.
* Enums!
2017-05-09 11:09:58 +01:00
toasterbabe
3a4e091ba6 * Fix titlemap music change bug reported by Larztard
* Clean up titlemapinaction so that it isn't true when you're playing
* Don't print "SPEEDING OFF TO [ZONE] [ACT 1]..." on screen if it's a titlemap - keep a nice and pretty black screen
2017-05-09 00:48:07 +01:00
toasterbabe
dd57e47574 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into titlemap
# Conflicts:
#	src/r_main.c
2017-05-08 23:58:44 +01:00
toasterbabe
f87c7f428d Compiling fixes 2017-05-08 23:51:12 +01:00
toasterbabe
72baa4e2d0 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into addfile_menu 2017-05-08 23:43:21 +01:00
toasterbabe
90d21f5c39 woops broke little green loaded icon for all, fixed 2017-05-08 23:08:40 +01:00
toasterbabe
013da12088 Minor tweak - this probably makes more sense to the casual player, and doesn't obscure anything to people who would otherwise know what checksum means. 2017-05-08 22:57:14 +01:00
toasterbabe
b5b5b983a5 re-order mpause menu addons to be at top 2017-05-08 21:43:56 +01:00
toasterbabe
54ac157c6c Disable log.txt, errorlog.txt, and config.cfg from being "loadable" (exec-runnable) from the addfile menu. 2017-05-08 21:04:26 +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
toasterbabe
06721bd041 kill/resurrect secrets if to be changed 2017-05-08 18:42:24 +01:00
toasterbabe
1fc835e4a3 Made the refreshdirmenu stuff SLIGHTLY less hacky. 2017-05-08 17:28:48 +01:00
Monster Iestyn
41130465b4 Use NF instead of normal P_SetMobjState to prevent endless looping 2017-05-07 22:21:17 +01:00
toasterbabe
4c495cafc9 thanks mi for my life 2017-05-07 20:59:20 +01:00
toasterbabe
59dfba967f Change from "on/off" to "yes/no" - makes more sense here 2017-05-07 20:50:48 +01:00
toasterbabe
4e0d015803 Good:
* Improved layout of addons menu.
* Disabled input for 5 tics after a console-touching enter key command on the menu, so that weird stuff doesn't happen.
* Added Add-on options.
* cv_addons_option - chooses save location. A little smaller in scope than the weird Default/HOME/SRB2/Custom thing for screenshots - now it's SRB2 Folder and Custom.
* cv_addons_folder - goes with Custom for above.
* cv_addons_md5 - chooses whether to identify files on the addons menu with name comparison only, or with checksum comparison as well (more intensive hence not default).
* cv_addons_showall - chooses whether to show just supported file extensions, or all
* Some minor other refactors.

Bad:
* Screenshot options menu crashes on access for some reason (to do with itemOn not being valid?????) looking into
2017-05-07 17:14:57 +01:00
Nevur
ea2846394e More PK3 work. Now we're getting somewhere.
-DEFLATE-compressed lumps work properly now.
-All "big" lumps are supported now with the exception of WAD maps.

Notes:
-Compiler spits out a shitload of warnings still.
-Individual lump reading clashes with folders of the same name (see TEXTURES lump, and the Textures/ folder).

Signed-off-by: Nevur <apophycens@gmail.com>
2017-05-07 12:30:06 +02:00
toasterbabe
f3b054fc8f Consistency with deeznux. 2017-05-06 23:44:21 +01:00
toasterbabe
a4fc3372ca Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into addfile_menu
# Conflicts:
#	src/m_menu.c
2017-05-06 23:24:21 +01:00
toasterbabe
a59dc43cfd Appropriate rename. (I would have done more in this commit, but I need to merge deez nux.) 2017-05-06 22:56:13 +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
toasterbabe
bf740f60cc Whitelist menu stuff so VAda can have his XP themed icon set without setting ismodified. ;P 2017-05-06 20:22:47 +01:00
toasterbabe
da239d36e8 background https://cdn.discordapp.com/attachments/293238104096112641/310476917218344970/srb20012.png 2017-05-06 19:14:50 +01:00
Nevur
8ef6d6fd9e A bit more work on PK3.
-Expanded folder recognition for PK3s. Some resources are still not loaded from them yet.
-Took a glimpse at how maps are loaded, since the flat recognition is rooted somewhere there; did nothing yet about it though.
-Working towards "generalizing" how new resources are handled. Some var and functionality redundancy is still present.
2017-05-06 16:52:53 +02:00
toasterbabe
de46e72545 * "Type to search..." prompt.
* Menu shuffling for addons. Shows up on main menu and MP pause menu if you're host/admin (not encouraged in SP).
* The menu yells at you in red text if you're playing, warning of issues.
2017-05-06 14:59:54 +01:00
toasterbabe
b1785e1f97 Improved conditions for case insensitive filesystem support. 2017-05-06 14:23:51 +01:00
toasterbabe
afe24bd4f0 Get rid of stack overflow code because filesystem case insensitivity is Windows exlcusive, so we can just create a wrapper function for there instead of rolling our own. 2017-05-06 13:37:10 +01:00
toasterbabe
b2cbbb63c6 Prevent holding down one of the string change keys being free lag generation. 2017-05-05 22:22:49 +01:00
toasterbabe
50db610fc8 Fixed bug for single folder search results. 2017-05-05 22:18:48 +01:00
toasterbabe
03eb1a5d56 * Make no results instead of generic search search message. https://cdn.discordapp.com/attachments/293238104096112641/310153659356938241/srb20007.png
* Page up and page down now work!
2017-05-05 22:15:16 +01:00
toasterbabe
0081fa839d Search box is now standardised in style, and the menu is jiggered around a little bit for cleanness! https://cdn.discordapp.com/attachments/293238104096112641/310143962440794114/srb20006.png 2017-05-05 21:02:37 +01:00
toasterbabe
308503d5b8 Little polish things I forgot to tweak. 2017-05-05 16:53:17 +01:00
toasterbabe
8f2490d588 Search!
https://gfycat.com/DizzyEnergeticCygnet

I will make it prettier.

(Also: stristr. Since the Windows (and others?) standard library doesn't have it for some reason, I modified code someone put on StackExchange as a stopgap; once I'm ready to get on IRC for the day, we'll discuss attribution/rewriting.)
2017-05-05 16:29:46 +01:00
toasterbabe
ba04e982b2 Make the temperature gauge for added WADs start at zero, not however much the mainwads provided.
Also, mainwads now accounts for music_new, and that's added via DEVELOP instead of something we might forget to remove later.
2017-05-05 14:43:39 +01:00
toasterbabe
c7c88b7d99 Change sounds and start element for folder navigation. 2017-05-04 22:52:49 +01:00
toasterbabe
e2ca5b53a1 Bonk. Thanks be to MI.
https://cdn.discordapp.com/attachments/293238104096112641/309777511871545354/srb20006.png
2017-05-04 20:50:21 +01:00
toasterbabe
0c565dc2f8 Pretty! https://cdn.discordapp.com/attachments/293238104096112641/309741256618147841/srb20005.png
Will upload patch.dta when I can.
2017-05-04 18:57:36 +01:00
toasterbabe
09b659c67a Fix cross-platform preparefilemenu's function signatures, and rename the one input it takes over-all to make more sense. 2017-05-04 16:22:58 +01:00
toasterbabe
ca038e8fb6 Split non-drawing functionality outside of M_DrawAddons.
Also, make the bar full if you've somehow managed to hit MAX_WADFILES, so you're not susprised.
2017-05-04 16:22:02 +01:00
toasterbabe
55fe0592cd Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into addfile_menu 2017-05-04 11:54:54 +01:00
toasterbabe
3521fbae4e Improved the temperature gauge for how close you are to hitting the wadlimit.
* It now has a more natural colour graduation. https://cdn.discordapp.com/attachments/272849790285512717/309624385730379777/srb20009.png
* It now considers the amount of space adding a file with a very short name would take up, and subtracts that from the total span to get a hopefully more accurate reading.
2017-05-04 10:48:53 +01:00
toasterbabe
055b59f6fb Did some research, discovered implementing rewinddir() was as easy as setting a value to zero! Now we don't have to open and close the same folder, but instead just jump back to the beginning. 2017-05-03 22:57:48 +01:00
toasterbabe
66f56bbba3 * Menu always updates for file load... by doing the refresh in the drawing function, eep. Oh well.
* M_StartMessages when file loading goes wrong! (Determined by CONS_Alerts of warning level CONS_WARNING and CONS_ERROR happening after W_LoadWadFile has been called.)
* Now actively tries to keep your place on the menu if files are deleted between calls to preparefilemenu().
* More enums! DIR_ (for if you want to try embed more metadata in the dirmenu strings) and REFRESHDIR_ (for refreshing the menu and handling warnings).
* Handle changing size menu between calls to opendir() better.
* Don't crash on draw/enter attempt if one of the dirmenu's is null.
* Moved the addons menu to OP_MainMenu instead of MainMenu for now so it can be tested in MP without needing to mess with several menus.
* Display the amount of space used for serverinfo_pak's fileneeded on the addons menu, both visually and with a percentage.
2017-05-03 22:36:08 +01:00
Nevur
b60010f0f1 Tweaked so that it spits out an error for unsupported compression formats. 2017-05-02 19:20:29 +02:00
Nevur
0c73dae57d Submitted changes so far. Deflate doesn't work yet, apparently. 2017-05-02 18:04:16 +02:00
toasterbabe
da003d61c3 Checking whether a file is loaded or not in the menu, and then forbidding multiple load attempts!
Obviously this doesn't work for files you run using exec, but that is the nature of things.
2017-05-02 15:10:52 +01:00
Nevur
9246ab8429 Tweaked lump reading functionality.
-Removed functions exclusively used by W_ReadLumpHeaderPwad.
-Merged those functions into the main one, optimized the structure.
2017-05-02 15:40:31 +02:00
toasterbabe
20fff0ef23 More feature-rich and better engineered.
* Instead of needing to press backspace, going back is now handled via an "(up arrow) UP..." entry in the table.
* Maximum depth is now #define'd instead of dotted around everywhere.
* Enums!
* Exec for .txt (with confirmation dialog) and .cfg (without)!
* Complaints about folders and etc now mention the folder names.
* A shrinking folder now prevents dir_on[] from going beyond its end.
2017-05-02 11:51:37 +01:00
toasterbabe
881f5e70ce * Additional, better freeing.
* Position remembering when going up a level.
2017-05-02 00:12:07 +01:00
toasterbabe
605580358d Addfile menu!
Basic as fuck UI, and the controls for manipulating it suck, but the basic elements of the feature set I'm looking for have been implemented in some form or another. More at a later time.

MI, be glad I didn't do this in deeznux ;P
2017-05-01 23:40:08 +01: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
Nevur
1b881afb99 Remember when I said I'd stop for today? I lied.
-Lumps are loaded fine now. Essentially non-compressed PK3s are supported now.
2017-05-01 19:16:30 +02:00
Monster Iestyn
c4e7bef01a Merge branch 'public_next' 2017-05-01 17:38:35 +01:00
Nevur
e125dedbe9 sdad 2017-05-01 18:33:41 +02:00
Nevur
65b89f6c0f Oops. It should compile now. 2017-05-01 16:43:52 +02:00
Nevur
2c614f8f2c More work on PK3 handling.
-Moved the MD5 check for added files up so it avoids unnecessary work when you mess up and re-add a file.
-Using compression enum for compressed lumps now.
-Vastly improved central directory seeking algorithm, big files are read fine now. Thanks a lot JTE!
-Improved remaining central directory navigation algorithm, we know and expect what data is coming from now on, after all.
-TX_ textures and sounds are replaced, but textures crash the game on mapload, and sounds are simply mute when replaced. Might have to do something with caching, I don't know yet.
2017-05-01 16:37:32 +02: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
Monster Iestyn
ce1422a70b Starting work for v.getSpritePatch and v.getSprite2Patch, dunno if these work yet mind 2017-04-30 22:53:05 +01: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
Nevur
448ceefe84 Little progress made. The code from everywhere still looks for the basic WAD structure of the lumps.
-Removed a redundant boolean related to texture loading in P_AddWadFile.
-Started working on handling PK3s differently, except that I'm not sure about what I'm doing.

I don't know what to do from now on for today, so I'll leave it here for now.
2017-04-30 20:05:26 +02: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
Nevur
376d2a2da3 Further work on PK3 support.
-PK3 files are now properly loaded as files.
-PK3 lumps are still being treated the same way as WAD files. It means they're dependant on markers, if that makes any sense in the context of a ZIP file (it doesn't). I haven't worked out this part yet but I obviously intend to do so.
-I don't know if the lumps' position address is correct, we'll figure out when I fix the thing from above.
2017-04-30 17:43:11 +02: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
Nevur
afba4b2abd Started to work towards PK3 support.
-Tweaked compression conditional to a switch-case format, looking towards adding several comrpession algorithms; haven't removed the previous "compressed" boolean yet.
-Added dynamically allocated name strings for lumps; haven't removed the previous name field.
-Added rudimentary PK3 central directory recognition; nothing is actually loaded in the end.
2017-04-30 14:49:33 +02: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
1462c638cb Added the "lua_lumploading" variable for restricting certain Lua functions to lump load time only 2017-04-25 21:45:53 +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
toasterbabe
8ae91de9db Per Inu's request, semi-broken (both game mechanically and engineering wise) directional information has been removed from the Captions. It's now "in-level" (dot) and "sourceless" (no dot) only. 2017-04-25 16:03:51 +01:00
Monster Iestyn
c16ae57f91 Merge branch 'addfile-directories-fix' into 'next'
Addfile directories fix

This is a fix for this bug: https://mb.srb2.org/showthread.php?t=42279

See merge request !166
2017-04-24 20:46:38 -04:00
Monster Iestyn
e03577d957 Merge branch 'falling-rocks-fix' into 'next'
Falling rocks fix

This fixes the rock spawners' rocks not being removed if they rolled down to the ground from a slope rather than bouncing (see https://mb.srb2.org/showthread.php?t=41963)

See merge request !162
2017-04-24 20:41:32 -04:00
toasterbabe
c7c908eed3 Emerald tokens being used as actual game tokens on the end-of-act screen!
https://gfycat.com/PlumpShowyBream https://gfycat.com/AlarmingLoathsomeBelugawhale
2017-04-24 21:56:17 +01:00
Monster Iestyn
f099782c91 Spinning/swinging maces/chains and Particle generators can now use P_FindSpecialLineFromTag! 2017-04-24 21:05:28 +01:00
Monster Iestyn
13cb656f0b Whoops forgot this 2017-04-24 20:43:58 +01:00
toasterbabe
922603fbca Fix V_DrawCroppedPatch's handling of topdeltas. 2017-04-24 20:39:32 +01:00
Monster Iestyn
4e96f624e7 Split off part of P_SpawnSpecials into a new function called P_InitSpecials
This allows tag lists, gravity, weather, and the "CheckFor" vars to be initialised before running P_LoadThings or P_ResetDynamicSlopes, in case they could affect mobj spawning or cause a netgame desync somehow by carrying over the previous level's values
2017-04-24 20:33:39 +01:00
yellowtd
068c9d6294 titlemap - skipintro bugfix
game crash with -skipintro enabled, hopefully fixes it and causes no issues anywhere else
2017-04-24 12:52:51 -04:00
Monster Iestyn
7f7c7c58ab Use less-than, not less-than-or-equals, since deststop is off-screen 2017-04-24 17:41:50 +01:00
toasterbabe
9c58d1def8 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into Deez_NewUserXperiences 2017-04-24 15:50:20 +01:00
toasterbabe
18ad6a3a0d Minor tweak to the balance of GFZ3. 2017-04-24 15:38:22 +01:00
toasterbabe
60b7649141 Complete the secrets checklist. 2017-04-23 18:45:54 +01:00
toasterbabe
8d477aefd5 Minor improvements here and there. 2017-04-23 01:12:00 +01:00
toasterbabe
aed8b0b9fd #moreclues (except instead of clues they're sound name fixes) 2017-04-23 00:49:57 +01:00
toasterbabe
785213827b Made the code easier to maintain, and added support for more UC's. 2017-04-23 00:39:20 +01:00
toasterbabe
bcf0df7cb6 Ended up being stressed and not getting any real work done, so figured I'd finish up the checklist system. 2017-04-23 00:16:09 +01:00
toasterbabe
9a8ae7cd64 Okay, I lied. Here's a little bit of cleanup. 2017-04-22 12:53:57 +01:00
toasterbabe
c1bd4f570c The start of an unlockable checklist revamp. Require more UC_ constant acknowledgement and the ability to scroll, but I can't work on this for a while so. 2017-04-22 12:14:15 +01:00
toasterbabe
f8c09d7475 More better sound names. (I'll push something good at some point, I promise!) 2017-04-21 23:41:31 +01:00
toasterbabe
7556b407b2 Fix crash on loading level without a header. 2017-04-21 23:37:14 +01:00
toasterbabe
37fc95ca08 Added modifying sound captions to Lua infolib.
Also, replaced ridiculously ambiguous "impossible error" with more descriptive alternative.
2017-04-21 21:54:56 +01:00
toasterbabe
3cce495675 Made PCX use cv_screenshot_colorprofile.
Also, optimised gif headwrite's palette writing.
2017-04-21 20:29:06 +01:00
Monster Iestyn
ed9dfaa617 Merge branch 'master' into polyobject-checksight-fix 2017-04-21 16:32:38 +01:00
Monster Iestyn
f77e107c1a Merge branch 'no-doubling-texture-heights-plz' into 'master'
No doubling texture heights plz

If you didn't know, apparently SRB2 was hardcoded to double the height of 64x64 textures created using TX_START/TX_END. This has frustrated some a lot. This branch removes this hack at last (there doesn't appear to be any visual issues resulting from removing it, anyway).

srb2win-nodoubletexheight.exe can be found in my FTP folder.

See merge request !85
2017-04-20 21:00:48 -04:00
yellowtd
fd97fdd683 titlemap - cameraref subsector
apparently it recalculates without this line, so it should give a tiny performance boost?
2017-04-20 20:26:32 -04:00
yellowtd
cf454dd6fc titlemap - Fix impending doom (???) camera mobj search
the last implimentation would have apparently stopped working eventually? Idk
2017-04-20 20:26:13 -04:00
yellowtd
f70b89b22a titlemap - support for map camera object
allows a camera thing to be placed for alternate camera placement besides player and DM starts
2017-04-20 20:25:53 -04:00
Monster Iestyn
839dc6bcc1 Merge branch 'hud-drown-numbers-fix' into 'master'
First person HUD drown numbers fix

This branch fixes the following issues with the first person HUD when drowning:
* "0" turning into Sonic's drown sprite, since both sprites happen to be named DRWNA0
* SF_MACHINE's special drowning numbers from 3rd person not being used

See merge request !80
2017-04-20 16:20:00 -04:00
toasterbabe
aa475c9d26 Realised color profile disabling for screenshots didn't work in GL, so updated the menu to show that.
Also, made other minor menu tweaks.
2017-04-20 20:16:10 +01:00
toasterbabe
4f59fa35b3 Add headings to Video Options menu. 2017-04-20 19:27:19 +01:00
toasterbabe
8b46ee76ff Disable colour profile influence on screenshots and gifs if you want. 2017-04-20 18:59:27 +01:00
toasterbabe
9d46ba281f Screenshots now contain the palette you're actively looking at, as opposed to the palette the game/map has! This makes sense for colorblind users being able to store their precious memories, and it matches up with how gifs palettise. 2017-04-20 13:17:11 +01:00
toasterbabe
29d5af61c1 Correcting gamma to match base SRB2. 2017-04-20 13:15:32 +01:00
toasterbabe
bef9520556 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into Deez_NewUserXperiences 2017-04-19 23:03:47 +01:00
toasterbabe
c3840ba01d Colour Cube Calibration Menu! (called "Advanced Color Settings" because No Fun Allowed...)
https://cdn.discordapp.com/attachments/237798387070664724/304343382073933824/aa.png

Also, a "Reset all" button for the Monitor toggle menu, a ton of new cvars to match up with the colour cube calibration, and a bunch of variable renames related to colour cube operations.
2017-04-19 22:24:28 +01:00
Monster Iestyn
3edbf0a085 Fixed P_CheckSight not considering polyobject top and bottom at all
This was actually kind of easier to do than I expected, though I can't tell if there's anything else I need to do or not
2017-04-19 22:19:46 +01:00
Monster Iestyn
f0256c41be Be gone ye old texture hack 2017-04-19 20:00:19 +01:00
Monster Iestyn
8ffa741cda Merge branch 'master' into mapthing-spawn-hook 2017-04-19 17:46:38 +01:00
Monster Iestyn
3ff899858c Merge branch 'master' into opengl-improvements
# Conflicts:
#	src/doomdef.h
2017-04-19 14:53:50 +01:00
toasterbabe
9b13caccae greem 2017-04-18 23:40:57 +01:00
toasterbabe
c2edd6224d Figured out what was up. I didn't quite understand my original array! 2017-04-18 23:38:38 +01:00
toasterbabe
83e16da83b Introducing the Colour Cube! https://cdn.discordapp.com/attachments/293238104096112641/304015171385294850/aa.png
Basically in preperation of supporting colourblindness modes I implemented the following link when loading palettes.
http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter24.html

This basically means I can do whatever the hell I want to the colour profile of incoming paletties, and nobody can stop me. Muahahahaha etc.

Also, I added a saturation feature to show off its full potential, converted gamma from a table to a factor of the calculation, tweaked some menus and made the default value of cvars show up on sliders. Because that's how I roll.
2017-04-18 23:21:10 +01:00
yellowtd
b68d1ebdb3 titlemap - fix game crash with skybox point
game crash on skybox object use fix
2017-04-18 17:47:20 -04:00
toasterbabe
eea7dc4224 Fixed titlemap wipe lasting too long/happening twice over 2017-04-18 17:46:26 -04:00
yellowtd
217f7ebd38 miru asked me for help and im a smelly toast
* Fix Crashes With Respect To Switching Between The Normal Title And Her Magic One
* Clean Up A Bit Of Code
2017-04-18 17:45:43 -04:00
yellowtd
1c93b07c86 Titlemap - Maincfg variables, unplayability crash fixes 2017-04-18 17:36:54 -04:00
yellowtd
7e43272932 begin titlemap
idk my bff jill
2017-04-18 17:23:23 -04:00
Monster Iestyn
0f2c9c40a2 Hardcoded the big gargoyle 2017-04-18 20:38:13 +01:00
Monster Iestyn
941ab72204 Hardcode new/updated xmas scenery object type/state info 2017-04-18 18:32:52 +01:00
toasterbabe
e34e8f85e2 Including a statement about performance on the resolution menu. 2017-04-18 17:45:43 +01:00
toasterbabe
6d7355e9af Add score on Emerald Token pickup (and make the all-emerald bonus a continue in SP) as requested. 2017-04-18 17:45:23 +01:00
Monster Iestyn
0e358b3d9f Add new Pity shield orb state info, remove unused Pity states 2017-04-18 17:36:04 +01:00
toasterbabe
8e3a3e792e Moved the Race HUD down a little bit, and improved the sound selection. 2017-04-18 16:42:42 +01:00
toasterbabe
39fa4fea4a * Update some sound names.
* Make the continue and the flag capture use different sound numbers.
* Make the fancy new race countdown go beep.
2017-04-18 15:57:52 +01:00
toasterbabe
8aa3928458 A consistency error I should've caught earlier, considering this sound is used for DSZ3's missiles as well as GFZ3's laser. 2017-04-18 12:53:16 +01:00
toasterbabe
cf82ef1f79 As requested by Mystic in That Topic, made the end-of-act time bonus for 30 seconds halved and removed the 45 seconds bonus option. 2017-04-18 12:33:19 +01:00
toasterbabe
e93e5176c0 Consistency in firing sound naming. 2017-04-18 12:32:30 +01:00
toasterbabe
528132ad6d Sound always happens on SoundOptions menu now. It was weird not having those. 2017-04-18 12:32:06 +01:00
toasterbabe
fbdc8d3d9e MP pause menu text for Player setup loses the 1 if you're not in splitscreen 2017-04-17 22:41:23 +01:00
toasterbabe
c8186644e7 Improved splitscreen offsets. 2017-04-17 22:34:38 +01:00
toasterbabe
314870bdc2 Support captions for player 2 in 2-player. (You can't tell which screen the sounds are coming from without visual cues normally, so there isn't two seperate caption lists.) 2017-04-17 22:21:16 +01:00
toasterbabe
dd566b77b9 More improved sound names. 2017-04-17 19:52:44 +01:00
Monster Iestyn
93efb3084e Merge branch 'mi-a-bit-of-cleanup' into 'master'
MI's unimportant code cleanup

Just removing a bunch of unused variables/function prototypes from the source code and similarly minor stuff, nothing here should change gameplay much (if at all).

See merge request !71
2017-04-17 14:43:50 -04:00
Monster Iestyn
798628eef1 Merge branch 'mi-minor-refactoring' into 'master'
MI minor refactoring

Just moving the locations of some consvar externs from d_netcmd.h to other header files in which I think they should REALLY belong. Ultimately this should not affect gameplay whatsoever, it's just code cleanup.

See merge request !81
2017-04-17 13:40:51 -04:00
toasterbabe
08e7a7cb4d Clean up captions code to allow for different numbers defined at compile time. 2017-04-17 18:15:42 +01:00
toasterbabe
bec7a184f1 Bweh heh heh. 2017-04-17 17:16:21 +01:00
toasterbabe
c95fcab831 Slight table update. 2017-04-17 15:55:07 +01:00
toasterbabe
74169529fb Correcting a ridiculous crash-causing oversight. 2017-04-17 15:53:54 +01:00
toasterbabe
ff97b3aed4 Alter offsets of HUD numbers a little bit to satisfy OCD (have discussed with Mystic, he offered a solution similar but not identical to what I am committing) 2017-04-17 15:42:01 +01:00
toasterbabe
3551509ed8 * Remaster the sound stacking methodology such that the same sound effect updates its previous position rather than heading to the bottom.
* Put brackets around the sound names on the reccomendation of a friend who works with disability in gaming.
* Update a bunch of sound names to better match what they actually do in SRB2.
2017-04-17 14:38:56 +01:00
toasterbabe
db282caefe * Fix a bug with sounds overlapping.
* Make sounds with identical names (as opposed to just identical sfx's) stack together.
* Corrected a few names.
2017-04-17 02:03:44 +01:00
toasterbabe
3e29ee3f01 Closed captioning!
* Provides a helpful description for the hearing impaired, whether permanent, temporary or situational.
* Consvar "closedcaptioning", with on/off values available.
* Only works if sounds are on. This is frustrating. I will see what I can do to allow it to work with sounds off in future, but for now it's dependent in order to properly accept or decline sounds.
* Thanks to MI for making that wiki page a lot more comprehensive a few days ago.

* Weapon ring is now a seperate sfx_wepfir instead of doubling up on sfx_thok.

* Also, made V_StringWidth work with V_NOSCALESTART.
2017-04-17 01:09:47 +01:00
toasterbabe
7c07978277 Disable irrelevant/dangerous-to-tweak options on the server menu under cetain conditions. 2017-04-16 15:00:58 +01:00
toasterbabe
dff95bc30a Further tweak to server options menu, returning resynchattempts to the menu alongside taking Master Server out of data options because that doesn't make sense at all 2017-04-16 14:20:38 +01:00
toasterbabe
24192f54d1 Revamp statistics screen to put everything on the same page. http://imgur.com/a/kZrfm
* Also, inverted the direction of PGUP and PGDN.
2017-04-16 00:12:37 +01:00
Monster Iestyn
a6f830ddff Add the "MapThingSpawn" hook to Lua 2017-04-15 21:41:22 +01:00
toasterbabe
b0ebb40913 Headers for the controls menu. 2017-04-15 21:40:30 +01:00
toasterbabe
f35cac3b55 Rejigger Server menu a smidgen to encourage scrolling down, clean up, and reinstitute hidetime. 2017-04-15 20:25:53 +01:00
Monster Iestyn
7629a0710e Make sure quakes are scaled for skyboxes
While I was at it I also refactored most of the skybox view scaling code so it isn't needlessly duplicated
2017-04-15 20:21:54 +01:00
toasterbabe
68f5460387 * Added little arrows to the statistics pages.
* Made it possible to switch statistics pages using left and right arrows. Their previous functionality has been given to Page Up and Page Down.
* Swap over header style to the new version for everything.
* Move Master Server into Data Options, since it needs to be exposed somewhere.
2017-04-15 16:41:27 +01:00
toasterbabe
2a40804ea2 Offset tweak so "General" on the netgame settings menu doesn't go only SLIGHTLY off the screen and stop appearing when you scroll down. 2017-04-15 15:42:25 +01:00
toasterbabe
fd5c72d4c0 * Revamp sounds menu to show you the current status of the different kinds of sounds and musics, and basically behave like a cvar without being a cvar.
* Show resolution on main Video page.
* Optimise by using V_RightAlignedString instead of V_DrawString with V_StringWidth.
* Revamp sliders. (Requires a new patch.dta I'll upload in a little bit in order to be perfect, but does pretty well w/o replacement graphics too.)
2017-04-15 15:36:19 +01:00
toasterbabe
47bcc2747c * Fixed highlighting text on scrollable menus.
* Revamped base video menu and moved all the relevant stuff from the Game Options Menu onto it. Still mulling on where to put the Master Server reference.
2017-04-15 14:05:51 +01:00
toasterbabe
e2b063b2a8 Scrolling menu option now available!
* Revamped Netgame Options Menu to scroll and also be less suck.
* Renamed a few other options here and there.
2017-04-15 13:36:40 +01:00
toasterbabe
cafb54cc37 * Tweak pre-key control menu. Not exactly as desired, but exposes flipcam and is functional enough for now.
* Change names of axes.
* Seriously defuck joystick selection for the default number of joysticks available.
* Renames a few other options.
2017-04-15 01:08:26 +01:00
toasterbabe
df8078d9a5 Move Game Status up so it shows up on first opening the menu, considering it has an effect in singleplayer but talk doesn't. 2017-04-15 00:18:56 +01:00
toasterbabe
37bd729fe8 Scrolling, monolithic control configuration page. Relies on sphere's patch.dta update for arrow symbols. 2017-04-15 00:15:09 +01:00
toasterbabe
30b10b05d3 Change analog mouse to apply turning buttons, because aa. 2017-04-14 21:01:45 +01:00
toasterbabe
85b71aa685 End to old match scoring toggle. 2017-04-14 20:51:25 +01:00
toasterbabe
174921c1e1 End to sudden death. 2017-04-14 20:46:48 +01:00
toasterbabe
95d89078f5 Removal of cv_allcaps for console stuff. 2017-04-14 20:43:30 +01:00
toasterbabe
99a04cca9c First part of revamp: Removing Camera Rotate L/R keys, and giving the two situations where they had any unique functionality (Analog mode and NiGHTS objectplace) suitable replacements. 2017-04-14 20:29:08 +01:00
Monster Iestyn
181c8bd742 These convar externs aren't moving files, I'm just shifting them up to live with their relatives 2017-04-14 19:56:51 +01:00
Monster Iestyn
0921244ba4 Move analog consvars to g_game.h 2017-04-14 19:00:46 +01:00
Monster Iestyn
488c4071ba Moved screenshot/movie consvar externs to m_misc.h 2017-04-14 18:14:15 +01:00
Monster Iestyn
46c3c42eba cv_controlperkey probably belongs in g_input.h too 2017-04-14 18:02:35 +01:00
Monster Iestyn
887e7e0b7d Moved most of d_netcmd.h's 2P mouse consvar externs to the files with their 1P counterparts 2017-04-14 17:45:27 +01:00
Monster Iestyn
3696463aa8 Just to make toaster happy I'll do this :V 2017-04-14 17:16:09 +01:00
Monster Iestyn
180829e95c Rewrote first person HUD's drown numbers drawing 2017-04-13 22:09:03 +01:00
Inuyasha
5e4f960f3a fixed drawfill to be more consistent w/ other functions
doesn't draw off of the sides, and doesn't ignore snapping or widths for reasons that don't make sense
(for instance: the green bar in MI's test script showed *above* the blue one in non-green resolutions in 2.1.17)
2017-04-12 15:34:13 -07:00
Monster Iestyn
80637b336b Starting work, noclimb inverts direction (haven't tested if it actually works or not yet) 2017-04-11 22:33:04 +01:00
toasterbabe
db4002cd7f Remove now-unused code. 2017-04-10 11:49:14 +01:00
toasterbabe
48ed7835d7 Add a helpful comment in order to make people who look at this in future suffer less. 2017-04-10 11:41:26 +01:00
toasterbabe
e333dd62f0 I did it!!!!!!!!!!!!!!!!!!!!!! 2017-04-10 11:34:56 +01:00
toasterbabe
8ee8bd532b Got it rendering slopes far away from the origin properly at the expense of having weird offsets near it. Still experimenting, but closer than ever before. 2017-04-10 10:51:52 +01:00
toasterbabe
54e0a0c17d Reeeeeeeeeeeeeed fix ur slops
Recreated my previous code using floats in case the issue was overflowing that could be mitigated using floating point precision - but still doesn't work. Pulling my hair out.
2017-04-09 15:22:42 +01:00
toasterbabe
dca98e9eb8 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into alignment_v2 2017-04-08 21:04:03 +01:00