Merge branch 'udmf-sector-fields' into udmf-full

# Conflicts:
#	src/lua_maplib.c
#	src/p_setup.c
This commit is contained in:
MascaraSnake 2022-01-14 21:16:23 +01:00
commit a342703b50
13 changed files with 184 additions and 137 deletions

View file

@ -1093,6 +1093,7 @@ linedeftypes
{ {
title = "Water, Opaque"; title = "Water, Opaque";
prefix = "(120)"; prefix = "(120)";
flags2text = "[1] Make lava intangible";
flags8text = "[3] Slope skew sides"; flags8text = "[3] Slope skew sides";
flags64text = "[6] Use two light levels"; flags64text = "[6] Use two light levels";
flags512text = "[9] Use target light level"; flags512text = "[9] Use target light level";
@ -1108,6 +1109,7 @@ linedeftypes
{ {
title = "Water, Translucent"; title = "Water, Translucent";
prefix = "(121)"; prefix = "(121)";
flags2text = "[1] Make lava intangible";
flags8text = "[3] Slope skew sides"; flags8text = "[3] Slope skew sides";
flags64text = "[6] Use two light levels"; flags64text = "[6] Use two light levels";
flags512text = "[9] Use target light level"; flags512text = "[9] Use target light level";
@ -1124,6 +1126,7 @@ linedeftypes
{ {
title = "Water, Opaque, No Sides"; title = "Water, Opaque, No Sides";
prefix = "(122)"; prefix = "(122)";
flags2text = "[1] Make lava intangible";
flags64text = "[6] Use two light levels"; flags64text = "[6] Use two light levels";
flags512text = "[9] Use target light level"; flags512text = "[9] Use target light level";
flags1024text = "[10] Ripple effect"; flags1024text = "[10] Ripple effect";
@ -1138,6 +1141,7 @@ linedeftypes
{ {
title = "Water, Translucent, No Sides"; title = "Water, Translucent, No Sides";
prefix = "(123)"; prefix = "(123)";
flags2text = "[1] Make lava intangible";
flags64text = "[6] Use two light levels"; flags64text = "[6] Use two light levels";
flags512text = "[9] Use target light level"; flags512text = "[9] Use target light level";
flags1024text = "[10] Ripple effect"; flags1024text = "[10] Ripple effect";
@ -1153,6 +1157,7 @@ linedeftypes
{ {
title = "Goo Water, Translucent"; title = "Goo Water, Translucent";
prefix = "(124)"; prefix = "(124)";
flags2text = "[1] Make lava intangible";
flags8text = "[3] Slope skew sides"; flags8text = "[3] Slope skew sides";
flags64text = "[6] Use two light levels"; flags64text = "[6] Use two light levels";
flags512text = "[9] Use target light level"; flags512text = "[9] Use target light level";
@ -1169,6 +1174,7 @@ linedeftypes
{ {
title = "Goo Water, Translucent, No Sides"; title = "Goo Water, Translucent, No Sides";
prefix = "(125)"; prefix = "(125)";
flags2text = "[1] Make lava intangible";
flags64text = "[6] Use two light levels"; flags64text = "[6] Use two light levels";
flags512text = "[9] Use target light level"; flags512text = "[9] Use target light level";
flags1024text = "[10] Ripple effect"; flags1024text = "[10] Ripple effect";
@ -1671,12 +1677,14 @@ linedeftypes
{ {
title = "Continuous"; title = "Continuous";
prefix = "(300)"; prefix = "(300)";
flags1024text = "[10] Use faster, unordered execution";
} }
301 301
{ {
title = "Each Time"; title = "Each Time";
prefix = "(301)"; prefix = "(301)";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Also trigger on exit"; flags16384text = "[14] Also trigger on exit";
} }
@ -1684,6 +1692,7 @@ linedeftypes
{ {
title = "Once"; title = "Once";
prefix = "(302)"; prefix = "(302)";
flags1024text = "[10] Use faster, unordered execution";
} }
303 303
@ -1693,6 +1702,7 @@ linedeftypes
flags2text = "[1] Rings greater or equal"; flags2text = "[1] Rings greater or equal";
flags64text = "[6] Rings less or equal"; flags64text = "[6] Rings less or equal";
flags512text = "[9] Consider all players"; flags512text = "[9] Consider all players";
flags1024text = "[10] Use faster, unordered execution";
} }
304 304
@ -1702,18 +1712,21 @@ linedeftypes
flags2text = "[1] Rings greater or equal"; flags2text = "[1] Rings greater or equal";
flags64text = "[6] Rings less or equal"; flags64text = "[6] Rings less or equal";
flags512text = "[9] Consider all players"; flags512text = "[9] Consider all players";
flags1024text = "[10] Use faster, unordered execution";
} }
305 305
{ {
title = "Character Ability - Continuous"; title = "Character Ability - Continuous";
prefix = "(305)"; prefix = "(305)";
flags1024text = "[10] Use faster, unordered execution";
} }
306 306
{ {
title = "Character Ability - Each Time"; title = "Character Ability - Each Time";
prefix = "(306)"; prefix = "(306)";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Also trigger on exit"; flags16384text = "[14] Also trigger on exit";
} }
@ -1721,24 +1734,28 @@ linedeftypes
{ {
title = "Character Ability - Once"; title = "Character Ability - Once";
prefix = "(307)"; prefix = "(307)";
flags1024text = "[10] Use faster, unordered execution";
} }
308 308
{ {
title = "Race Only - Once"; title = "Race Only - Once";
prefix = "(308)"; prefix = "(308)";
flags1024text = "[10] Use faster, unordered execution";
} }
309 309
{ {
title = "CTF Red Team - Continuous"; title = "CTF Red Team - Continuous";
prefix = "(309)"; prefix = "(309)";
flags1024text = "[10] Use faster, unordered execution";
} }
310 310
{ {
title = "CTF Red Team - Each Time"; title = "CTF Red Team - Each Time";
prefix = "(310)"; prefix = "(310)";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Also trigger on exit"; flags16384text = "[14] Also trigger on exit";
} }
@ -1746,12 +1763,14 @@ linedeftypes
{ {
title = "CTF Blue Team - Continuous"; title = "CTF Blue Team - Continuous";
prefix = "(311)"; prefix = "(311)";
flags1024text = "[10] Use faster, unordered execution";
} }
312 312
{ {
title = "CTF Blue Team - Each Time"; title = "CTF Blue Team - Each Time";
prefix = "(312)"; prefix = "(312)";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Also trigger on exit"; flags16384text = "[14] Also trigger on exit";
} }
@ -1759,6 +1778,7 @@ linedeftypes
{ {
title = "No More Enemies - Once"; title = "No More Enemies - Once";
prefix = "(313)"; prefix = "(313)";
flags1024text = "[10] Use faster, unordered execution";
} }
314 314
@ -1767,6 +1787,7 @@ linedeftypes
prefix = "(314)"; prefix = "(314)";
flags64text = "[6] Number greater or equal"; flags64text = "[6] Number greater or equal";
flags512text = "[9] Number less"; flags512text = "[9] Number less";
flags1024text = "[10] Use faster, unordered execution";
} }
315 315
@ -1775,30 +1796,35 @@ linedeftypes
prefix = "(315)"; prefix = "(315)";
flags64text = "[6] Number greater or equal"; flags64text = "[6] Number greater or equal";
flags512text = "[9] Number less"; flags512text = "[9] Number less";
flags1024text = "[10] Use faster, unordered execution";
} }
317 317
{ {
title = "Condition Set Trigger - Continuous"; title = "Condition Set Trigger - Continuous";
prefix = "(317)"; prefix = "(317)";
flags1024text = "[10] Use faster, unordered execution";
} }
318 318
{ {
title = "Condition Set Trigger - Once"; title = "Condition Set Trigger - Once";
prefix = "(318)"; prefix = "(318)";
flags1024text = "[10] Use faster, unordered execution";
} }
319 319
{ {
title = "Unlockable - Continuous"; title = "Unlockable - Continuous";
prefix = "(319)"; prefix = "(319)";
flags1024text = "[10] Use faster, unordered execution";
} }
320 320
{ {
title = "Unlockable - Once"; title = "Unlockable - Once";
prefix = "(320)"; prefix = "(320)";
flags1024text = "[10] Use faster, unordered execution";
} }
321 321
@ -1806,6 +1832,7 @@ linedeftypes
title = "Trigger After X Calls - Continuous"; title = "Trigger After X Calls - Continuous";
prefix = "(321)"; prefix = "(321)";
flags64text = "[6] Trigger more than once"; flags64text = "[6] Trigger more than once";
flags1024text = "[10] Use faster, unordered execution";
} }
@ -1814,6 +1841,7 @@ linedeftypes
title = "Trigger After X Calls - Each Time"; title = "Trigger After X Calls - Each Time";
prefix = "(322)"; prefix = "(322)";
flags64text = "[6] Trigger more than once"; flags64text = "[6] Trigger more than once";
flags1024text = "[10] Use faster, unordered execution";
} }
323 323
@ -1828,6 +1856,7 @@ linedeftypes
flags128text = "[7] Lap >= Front Y Offset"; flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time"; flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player"; flags512text = "[9] Count from triggering player";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Run if no more mares"; flags16384text = "[14] Run if no more mares";
flags32768text = "[15] Run if player is not NiGHTS"; flags32768text = "[15] Run if player is not NiGHTS";
} }
@ -1835,6 +1864,7 @@ linedeftypes
324 324
{ {
title = "NiGHTSerize - Once"; title = "NiGHTSerize - Once";
prefix = "(324)";
flags2text = "[1] Mare >= Front X Offset"; flags2text = "[1] Mare >= Front X Offset";
flags8text = "[3] Run only if player is NiGHTS"; flags8text = "[3] Run only if player is NiGHTS";
flags16text = "[4] Count from lowest of players"; flags16text = "[4] Count from lowest of players";
@ -1843,14 +1873,15 @@ linedeftypes
flags128text = "[7] Lap >= Front Y Offset"; flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time"; flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player"; flags512text = "[9] Count from triggering player";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Run if no more mares"; flags16384text = "[14] Run if no more mares";
flags32768text = "[15] Run if player is not NiGHTS"; flags32768text = "[15] Run if player is not NiGHTS";
prefix = "(324)";
} }
325 325
{ {
title = "De-NiGHTSerize - Each Time"; title = "De-NiGHTSerize - Each Time";
prefix = "(325)";
flags2text = "[1] Mare >= Front X Offset"; flags2text = "[1] Mare >= Front X Offset";
flags8text = "[3] Run if anyone is NiGHTS"; flags8text = "[3] Run if anyone is NiGHTS";
flags16text = "[4] Count from lowest of players"; flags16text = "[4] Count from lowest of players";
@ -1859,13 +1890,14 @@ linedeftypes
flags128text = "[7] Lap >= Front Y Offset"; flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time"; flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player"; flags512text = "[9] Count from triggering player";
flags1024text = "[10] Use faster, unordered execution";
flags32768text = "[15] Run if no one is NiGHTS"; flags32768text = "[15] Run if no one is NiGHTS";
prefix = "(325)";
} }
326 326
{ {
title = "De-NiGHTSerize - Once"; title = "De-NiGHTSerize - Once";
prefix = "(326)";
flags2text = "[1] Mare >= Front X Offset"; flags2text = "[1] Mare >= Front X Offset";
flags8text = "[3] Run if anyone is NiGHTS"; flags8text = "[3] Run if anyone is NiGHTS";
flags16text = "[4] Count from lowest of players"; flags16text = "[4] Count from lowest of players";
@ -1874,13 +1906,14 @@ linedeftypes
flags128text = "[7] Lap >= Front Y Offset"; flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time"; flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player"; flags512text = "[9] Count from triggering player";
flags1024text = "[10] Use faster, unordered execution";
flags32768text = "[15] Run if no one is NiGHTS"; flags32768text = "[15] Run if no one is NiGHTS";
prefix = "(326)";
} }
327 327
{ {
title = "NiGHTS Lap - Each Time"; title = "NiGHTS Lap - Each Time";
prefix = "(327)";
flags2text = "[1] Mare >= Front X Offset"; flags2text = "[1] Mare >= Front X Offset";
flags16text = "[4] Count from lowest of players"; flags16text = "[4] Count from lowest of players";
flags32text = "[5] Lap <= Front Y Offset"; flags32text = "[5] Lap <= Front Y Offset";
@ -1888,12 +1921,13 @@ linedeftypes
flags128text = "[7] Lap >= Front Y Offset"; flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time"; flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player"; flags512text = "[9] Count from triggering player";
prefix = "(327)"; flags1024text = "[10] Use faster, unordered execution";
} }
328 328
{ {
title = "NiGHTS Lap - Once"; title = "NiGHTS Lap - Once";
prefix = "(328)";
flags2text = "[1] Mare >= Front X Offset"; flags2text = "[1] Mare >= Front X Offset";
flags16text = "[4] Count from lowest of players"; flags16text = "[4] Count from lowest of players";
flags32text = "[5] Lap <= Front Y Offset"; flags32text = "[5] Lap <= Front Y Offset";
@ -1901,12 +1935,13 @@ linedeftypes
flags128text = "[7] Lap >= Front Y Offset"; flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time"; flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player"; flags512text = "[9] Count from triggering player";
prefix = "(328)"; flags1024text = "[10] Use faster, unordered execution";
} }
329 329
{ {
title = "Ideya Capture Touch - Each Time"; title = "Ideya Capture Touch - Each Time";
prefix = "(329)";
flags2text = "[1] Mare >= Front X Offset"; flags2text = "[1] Mare >= Front X Offset";
flags8text = "[3] Run regardless of spheres"; flags8text = "[3] Run regardless of spheres";
flags16text = "[4] Count from lowest of players"; flags16text = "[4] Count from lowest of players";
@ -1915,14 +1950,15 @@ linedeftypes
flags128text = "[7] Lap >= Front Y Offset"; flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time"; flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player"; flags512text = "[9] Count from triggering player";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Only if not enough spheres"; flags16384text = "[14] Only if not enough spheres";
flags32768text = "[15] Run when entering Capture"; flags32768text = "[15] Run when entering Capture";
prefix = "(329)";
} }
330 330
{ {
title = "Ideya Capture Touch - Once"; title = "Ideya Capture Touch - Once";
prefix = "(330)";
flags2text = "[1] Mare >= Front X Offset"; flags2text = "[1] Mare >= Front X Offset";
flags8text = "[3] Run regardless of spheres"; flags8text = "[3] Run regardless of spheres";
flags16text = "[4] Count from lowest of players"; flags16text = "[4] Count from lowest of players";
@ -1931,51 +1967,57 @@ linedeftypes
flags128text = "[7] Lap >= Front Y Offset"; flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time"; flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player"; flags512text = "[9] Count from triggering player";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Only if not enough spheres"; flags16384text = "[14] Only if not enough spheres";
flags32768text = "[15] Run when entering Capture"; flags32768text = "[15] Run when entering Capture";
prefix = "(330)";
} }
331 331
{ {
title = "Player Skin - Continuous"; title = "Player Skin - Continuous";
flags64text = "[6] Disable for this skin";
prefix = "(331)"; prefix = "(331)";
flags64text = "[6] Disable for this skin";
flags1024text = "[10] Use faster, unordered execution";
} }
332 332
{ {
title = "Player Skin - Each Time"; title = "Player Skin - Each Time";
flags64text = "[6] Disable for this skin";
prefix = "(332)"; prefix = "(332)";
flags64text = "[6] Disable for this skin";
flags1024text = "[10] Use faster, unordered execution";
} }
333 333
{ {
title = "Player Skin - Once"; title = "Player Skin - Once";
flags64text = "[6] Disable for this skin";
prefix = "(333)"; prefix = "(333)";
flags64text = "[6] Disable for this skin";
flags1024text = "[10] Use faster, unordered execution";
} }
334 334
{ {
title = "Object Dye - Continuous"; title = "Object Dye - Continuous";
flags64text = "[6] Disable for this color";
prefix = "(334)"; prefix = "(334)";
flags64text = "[6] Disable for this color";
flags1024text = "[10] Use faster, unordered execution";
} }
335 335
{ {
title = "Object Dye - Each Time"; title = "Object Dye - Each Time";
flags64text = "[6] Disable for this color";
prefix = "(335)"; prefix = "(335)";
flags64text = "[6] Disable for this color";
flags1024text = "[10] Use faster, unordered execution";
} }
336 336
{ {
title = "Object Dye - Once"; title = "Object Dye - Once";
flags64text = "[6] Disable for this color";
prefix = "(336)"; prefix = "(336)";
flags64text = "[6] Disable for this color";
flags1024text = "[10] Use faster, unordered execution";
} }
337 337
@ -2024,6 +2066,7 @@ linedeftypes
{ {
title = "Level Load"; title = "Level Load";
prefix = "(399)"; prefix = "(399)";
flags1024text = "[10] Use faster, unordered execution";
} }
} }
@ -2726,7 +2769,7 @@ linedeftypes
502 502
{ {
title = "Scroll Tagged Wall"; title = "Scroll Tagged Walls";
prefix = "(502)"; prefix = "(502)";
flags128text = "[7] Use texture offsets"; flags128text = "[7] Use texture offsets";
flags256text = "[8] Scroll back side"; flags256text = "[8] Scroll back side";
@ -2734,7 +2777,7 @@ linedeftypes
503 503
{ {
title = "Scroll Tagged Wall (Accelerative)"; title = "Scroll Tagged Walls (Accelerative)";
prefix = "(503)"; prefix = "(503)";
flags128text = "[7] Use texture offsets"; flags128text = "[7] Use texture offsets";
flags256text = "[8] Scroll back side"; flags256text = "[8] Scroll back side";
@ -2742,7 +2785,7 @@ linedeftypes
504 504
{ {
title = "Scroll Tagged Wall (Displacement)"; title = "Scroll Tagged Walls (Displacement)";
prefix = "(504)"; prefix = "(504)";
flags128text = "[7] Use texture offsets"; flags128text = "[7] Use texture offsets";
flags256text = "[8] Scroll back side"; flags256text = "[8] Scroll back side";
@ -3176,7 +3219,7 @@ linedeftypes
723 723
{ {
title = "Copy Backside Floor Slope from Line Tag"; title = "Copy Backside Floor Slope from Line Tag";
prefix = "(720)"; prefix = "(723)";
slope = "copy"; slope = "copy";
slopeargs = 4; slopeargs = 4;
} }
@ -3184,7 +3227,7 @@ linedeftypes
724 724
{ {
title = "Copy Backside Ceiling Slope from Line Tag"; title = "Copy Backside Ceiling Slope from Line Tag";
prefix = "(721)"; prefix = "(724)";
slope = "copy"; slope = "copy";
slopeargs = 8; slopeargs = 8;
} }
@ -3192,7 +3235,7 @@ linedeftypes
725 725
{ {
title = "Copy Backside Floor and Ceiling Slope from Line Tag"; title = "Copy Backside Floor and Ceiling Slope from Line Tag";
prefix = "(722)"; prefix = "(725)";
slope = "copy"; slope = "copy";
slopeargs = 12; slopeargs = 12;
} }
@ -3255,7 +3298,7 @@ linedeftypes
transwall transwall
{ {
title = "Translucent Wall"; title = "Translucent Walls";
900 900
{ {
@ -4031,6 +4074,7 @@ thingtypes
sprite = "BUMBA1"; sprite = "BUMBA1";
width = 16; width = 16;
height = 32; height = 32;
flags8text = "[8] Cannot move";
} }
124 124
{ {
@ -4061,7 +4105,6 @@ thingtypes
width = 24; width = 24;
height = 76; height = 76;
flags4text = "[4] End level on death"; flags4text = "[4] End level on death";
flags8text = "[8] Alternate laser attack";
} }
201 201
{ {
@ -4096,6 +4139,7 @@ thingtypes
height = 60; height = 60;
flags1text = "[1] Grayscale mode"; flags1text = "[1] Grayscale mode";
flags4text = "[4] End level on death"; flags4text = "[4] End level on death";
flags8text = "[8] Skip intro";
} }
206 206
{ {
@ -5297,7 +5341,7 @@ thingtypes
width = 8; width = 8;
height = 16; height = 16;
hangs = 1; hangs = 1;
angletext = "Dripping interval"; angletext = "Dripping delay";
fixedrotation = 1; fixedrotation = 1;
} }
1003 1003
@ -5639,6 +5683,8 @@ thingtypes
width = 20; width = 20;
height = 72; height = 72;
arrow = 1; arrow = 1;
flags4text = "[4] Move right";
flags8text = "[8] Move left";
} }
1128 1128
{ {
@ -5791,6 +5837,7 @@ thingtypes
width = 24; width = 24;
height = 63; height = 63;
arrow = 1; arrow = 1;
flags8text = "[8] Not pushable";
} }
1217 1217
{ {
@ -5926,6 +5973,7 @@ thingtypes
height = 32; height = 32;
angletext = "Initial delay"; angletext = "Initial delay";
fixedrotation = 1; fixedrotation = 1;
hangs = 1;
flags8text = "[8] Double size"; flags8text = "[8] Double size";
} }
1305 1305

View file

@ -346,8 +346,8 @@ consvar_t cv_analog[2] = {
CVAR_INIT ("sessionanalog2", "Off", CV_CALL|CV_NOSHOWHELP, CV_OnOff, Analog2_OnChange), CVAR_INIT ("sessionanalog2", "Off", CV_CALL|CV_NOSHOWHELP, CV_OnOff, Analog2_OnChange),
}; };
consvar_t cv_useranalog[2] = { consvar_t cv_useranalog[2] = {
CVAR_INIT ("configanalog", "Off", CV_SAVE|CV_CALL|CV_NOSHOWHELP, CV_OnOff, UserAnalog_OnChange), CVAR_INIT ("configanalog", "On", CV_SAVE|CV_CALL|CV_NOSHOWHELP, CV_OnOff, UserAnalog_OnChange),
CVAR_INIT ("configanalog2", "Off", CV_SAVE|CV_CALL|CV_NOSHOWHELP, CV_OnOff, UserAnalog2_OnChange), CVAR_INIT ("configanalog2", "On", CV_SAVE|CV_CALL|CV_NOSHOWHELP, CV_OnOff, UserAnalog2_OnChange),
}; };
// deez New User eXperiences // deez New User eXperiences
@ -362,8 +362,8 @@ consvar_t cv_autobrake2 = CVAR_INIT ("autobrake2", "On", CV_SAVE|CV_CALL, CV_OnO
// hi here's some new controls // hi here's some new controls
static CV_PossibleValue_t zerotoone_cons_t[] = {{0, "MIN"}, {FRACUNIT, "MAX"}, {0, NULL}}; static CV_PossibleValue_t zerotoone_cons_t[] = {{0, "MIN"}, {FRACUNIT, "MAX"}, {0, NULL}};
consvar_t cv_cam_shiftfacing[2] = { consvar_t cv_cam_shiftfacing[2] = {
CVAR_INIT ("cam_shiftfacingchar", "0.33", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL), CVAR_INIT ("cam_shiftfacingchar", "0.375", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL),
CVAR_INIT ("cam2_shiftfacingchar", "0.33", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL), CVAR_INIT ("cam2_shiftfacingchar", "0.375", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL),
}; };
consvar_t cv_cam_turnfacing[2] = { consvar_t cv_cam_turnfacing[2] = {
CVAR_INIT ("cam_turnfacingchar", "0.25", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL), CVAR_INIT ("cam_turnfacingchar", "0.25", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL),
@ -374,12 +374,12 @@ consvar_t cv_cam_turnfacingability[2] = {
CVAR_INIT ("cam2_turnfacingability", "0.125", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL), CVAR_INIT ("cam2_turnfacingability", "0.125", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL),
}; };
consvar_t cv_cam_turnfacingspindash[2] = { consvar_t cv_cam_turnfacingspindash[2] = {
CVAR_INIT ("cam_turnfacingspindash", "0.5", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL), CVAR_INIT ("cam_turnfacingspindash", "0.25", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL),
CVAR_INIT ("cam2_turnfacingspindash", "0.5", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL), CVAR_INIT ("cam2_turnfacingspindash", "0.25", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL),
}; };
consvar_t cv_cam_turnfacinginput[2] = { consvar_t cv_cam_turnfacinginput[2] = {
CVAR_INIT ("cam_turnfacinginput", "0.25", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL), CVAR_INIT ("cam_turnfacinginput", "0.375", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL),
CVAR_INIT ("cam2_turnfacinginput", "0.25", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL), CVAR_INIT ("cam2_turnfacinginput", "0.375", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL),
}; };
static CV_PossibleValue_t centertoggle_cons_t[] = {{0, "Hold"}, {1, "Toggle"}, {2, "Sticky Hold"}, {0, NULL}}; static CV_PossibleValue_t centertoggle_cons_t[] = {{0, "Hold"}, {1, "Toggle"}, {2, "Sticky Hold"}, {0, NULL}};
@ -403,28 +403,28 @@ static CV_PossibleValue_t lockedassist_cons_t[] = {
{0, NULL} {0, NULL}
}; };
consvar_t cv_cam_lockonboss[2] = { consvar_t cv_cam_lockonboss[2] = {
CVAR_INIT ("cam_lockaimassist", "Bosses", CV_SAVE, lockedassist_cons_t, NULL), CVAR_INIT ("cam_lockaimassist", "Full", CV_SAVE, lockedassist_cons_t, NULL),
CVAR_INIT ("cam2_lockaimassist", "Bosses", CV_SAVE, lockedassist_cons_t, NULL), CVAR_INIT ("cam2_lockaimassist", "Full", CV_SAVE, lockedassist_cons_t, NULL),
}; };
consvar_t cv_turnaxis = CVAR_INIT ("joyaxis_turn", "X-Rudder", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_moveaxis = CVAR_INIT ("joyaxis_move", "Y-Axis", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_moveaxis = CVAR_INIT ("joyaxis_move", "Y-Axis", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_sideaxis = CVAR_INIT ("joyaxis_side", "X-Axis", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_sideaxis = CVAR_INIT ("joyaxis_side", "X-Axis", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_lookaxis = CVAR_INIT ("joyaxis_look", "Y-Rudder-", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_lookaxis = CVAR_INIT ("joyaxis_look", "Y-Rudder-", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_turnaxis = CVAR_INIT ("joyaxis_turn", "X-Rudder", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_jumpaxis = CVAR_INIT ("joyaxis_jump", "None", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_jumpaxis = CVAR_INIT ("joyaxis_jump", "None", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_spinaxis = CVAR_INIT ("joyaxis_spin", "None", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_spinaxis = CVAR_INIT ("joyaxis_spin", "None", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_fireaxis = CVAR_INIT ("joyaxis_fire", "Z-Axis-", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_fireaxis = CVAR_INIT ("joyaxis_fire", "Z-Rudder", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_firenaxis = CVAR_INIT ("joyaxis_firenormal", "Z-Axis", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_firenaxis = CVAR_INIT ("joyaxis_firenormal", "Z-Axis", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_deadzone = CVAR_INIT ("joy_deadzone", "0.125", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL); consvar_t cv_deadzone = CVAR_INIT ("joy_deadzone", "0.125", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL);
consvar_t cv_digitaldeadzone = CVAR_INIT ("joy_digdeadzone", "0.25", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL); consvar_t cv_digitaldeadzone = CVAR_INIT ("joy_digdeadzone", "0.25", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL);
consvar_t cv_turnaxis2 = CVAR_INIT ("joyaxis2_turn", "X-Rudder", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_moveaxis2 = CVAR_INIT ("joyaxis2_move", "Y-Axis", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_moveaxis2 = CVAR_INIT ("joyaxis2_move", "Y-Axis", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_sideaxis2 = CVAR_INIT ("joyaxis2_side", "X-Axis", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_sideaxis2 = CVAR_INIT ("joyaxis2_side", "X-Axis", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_lookaxis2 = CVAR_INIT ("joyaxis2_look", "Y-Rudder-", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_lookaxis2 = CVAR_INIT ("joyaxis2_look", "Y-Rudder-", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_turnaxis2 = CVAR_INIT ("joyaxis2_turn", "X-Rudder", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_jumpaxis2 = CVAR_INIT ("joyaxis2_jump", "None", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_jumpaxis2 = CVAR_INIT ("joyaxis2_jump", "None", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_spinaxis2 = CVAR_INIT ("joyaxis2_spin", "None", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_spinaxis2 = CVAR_INIT ("joyaxis2_spin", "None", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_fireaxis2 = CVAR_INIT ("joyaxis2_fire", "Z-Axis-", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_fireaxis2 = CVAR_INIT ("joyaxis2_fire", "Z-Rudder", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_firenaxis2 = CVAR_INIT ("joyaxis2_firenormal", "Z-Axis", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_firenaxis2 = CVAR_INIT ("joyaxis2_firenormal", "Z-Axis", CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_deadzone2 = CVAR_INIT ("joy_deadzone2", "0.125", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL); consvar_t cv_deadzone2 = CVAR_INIT ("joy_deadzone2", "0.125", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL);
consvar_t cv_digitaldeadzone2 = CVAR_INIT ("joy_digdeadzone2", "0.25", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL); consvar_t cv_digitaldeadzone2 = CVAR_INIT ("joy_digdeadzone2", "0.25", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL);

View file

@ -684,14 +684,18 @@ void G_DefineDefaultControls(void)
gamecontroldefault[gcs_fps][GC_LOOKDOWN ][0] = KEY_DOWNARROW; gamecontroldefault[gcs_fps][GC_LOOKDOWN ][0] = KEY_DOWNARROW;
gamecontroldefault[gcs_fps][GC_TURNLEFT ][0] = KEY_LEFTARROW; gamecontroldefault[gcs_fps][GC_TURNLEFT ][0] = KEY_LEFTARROW;
gamecontroldefault[gcs_fps][GC_TURNRIGHT ][0] = KEY_RIGHTARROW; gamecontroldefault[gcs_fps][GC_TURNRIGHT ][0] = KEY_RIGHTARROW;
gamecontroldefault[gcs_fps][GC_CENTERVIEW ][0] = KEY_END; gamecontroldefault[gcs_fps][GC_CENTERVIEW ][0] = KEY_LCTRL;
gamecontroldefault[gcs_fps][GC_JUMP ][0] = KEY_SPACE; gamecontroldefault[gcs_fps][GC_JUMP ][0] = KEY_SPACE;
gamecontroldefault[gcs_fps][GC_SPIN ][0] = KEY_LSHIFT; gamecontroldefault[gcs_fps][GC_SPIN ][0] = KEY_LSHIFT;
gamecontroldefault[gcs_fps][GC_FIRE ][0] = KEY_RCTRL; gamecontroldefault[gcs_fps][GC_FIRE ][0] = KEY_RCTRL;
gamecontroldefault[gcs_fps][GC_FIRE ][1] = KEY_MOUSE1+0; gamecontroldefault[gcs_fps][GC_FIRE ][1] = KEY_MOUSE1+0;
gamecontroldefault[gcs_fps][GC_FIRENORMAL ][0] = 'c'; gamecontroldefault[gcs_fps][GC_FIRENORMAL ][0] = KEY_RALT;
gamecontroldefault[gcs_fps][GC_FIRENORMAL ][1] = KEY_MOUSE1+1;
gamecontroldefault[gcs_fps][GC_CUSTOM1 ][0] = 'z';
gamecontroldefault[gcs_fps][GC_CUSTOM2 ][0] = 'x';
gamecontroldefault[gcs_fps][GC_CUSTOM3 ][0] = 'c';
// Platform game controls (arrow keys) // Platform game controls (arrow keys), currently unused
gamecontroldefault[gcs_platform][GC_FORWARD ][0] = KEY_UPARROW; gamecontroldefault[gcs_platform][GC_FORWARD ][0] = KEY_UPARROW;
gamecontroldefault[gcs_platform][GC_BACKWARD ][0] = KEY_DOWNARROW; gamecontroldefault[gcs_platform][GC_BACKWARD ][0] = KEY_DOWNARROW;
gamecontroldefault[gcs_platform][GC_STRAFELEFT ][0] = 'a'; gamecontroldefault[gcs_platform][GC_STRAFELEFT ][0] = 'a';
@ -734,34 +738,36 @@ void G_DefineDefaultControls(void)
gamecontroldefault[i][GC_VIEWPOINT ][0] = KEY_F12; gamecontroldefault[i][GC_VIEWPOINT ][0] = KEY_F12;
// Gamepad controls -- same for both schemes // Gamepad controls -- same for both schemes
gamecontroldefault[i][GC_WEAPONNEXT ][1] = KEY_JOY1+1; // B gamecontroldefault[i][GC_JUMP ][1] = KEY_JOY1+0; // A
gamecontroldefault[i][GC_WEAPONPREV ][1] = KEY_JOY1+2; // X gamecontroldefault[i][GC_SPIN ][1] = KEY_JOY1+2; // X
gamecontroldefault[i][GC_TOSSFLAG ][1] = KEY_JOY1+0; // A gamecontroldefault[i][GC_CUSTOM1 ][1] = KEY_JOY1+1; // B
gamecontroldefault[i][GC_SPIN ][1] = KEY_JOY1+4; // LB gamecontroldefault[i][GC_CUSTOM2 ][1] = KEY_JOY1+3; // Y
gamecontroldefault[i][GC_CAMTOGGLE ][1] = KEY_HAT1+0; // D-Pad Up gamecontroldefault[i][GC_CUSTOM3 ][1] = KEY_JOY1+8; // Left Stick
gamecontroldefault[i][GC_CAMRESET ][1] = KEY_JOY1+3; // Y
gamecontroldefault[i][GC_CENTERVIEW ][1] = KEY_JOY1+9; // Right Stick gamecontroldefault[i][GC_CENTERVIEW ][1] = KEY_JOY1+9; // Right Stick
gamecontroldefault[i][GC_TALKKEY ][1] = KEY_HAT1+2; // D-Pad Left gamecontroldefault[i][GC_WEAPONPREV ][1] = KEY_JOY1+4; // LB
gamecontroldefault[i][GC_SCORES ][1] = KEY_HAT1+3; // D-Pad Right gamecontroldefault[i][GC_WEAPONNEXT ][1] = KEY_JOY1+5; // RB
gamecontroldefault[i][GC_JUMP ][1] = KEY_JOY1+5; // RB gamecontroldefault[i][GC_SCREENSHOT ][1] = KEY_JOY1+6; // Back
gamecontroldefault[i][GC_PAUSE ][1] = KEY_JOY1+6; // Back
gamecontroldefault[i][GC_SCREENSHOT ][1] = KEY_HAT1+1; // D-Pad Down
gamecontroldefault[i][GC_SYSTEMMENU ][0] = KEY_JOY1+7; // Start gamecontroldefault[i][GC_SYSTEMMENU ][0] = KEY_JOY1+7; // Start
gamecontroldefault[i][GC_CAMTOGGLE ][1] = KEY_HAT1+0; // D-Pad Up
gamecontroldefault[i][GC_VIEWPOINT ][1] = KEY_HAT1+1; // D-Pad Down
gamecontroldefault[i][GC_TOSSFLAG ][1] = KEY_HAT1+2; // D-Pad Left
gamecontroldefault[i][GC_SCORES ][1] = KEY_HAT1+3; // D-Pad Right
// Second player controls only have joypad defaults // Second player controls only have joypad defaults
gamecontrolbisdefault[i][GC_WEAPONNEXT][0] = KEY_2JOY1+1; // B gamecontrolbisdefault[i][GC_JUMP ][1] = KEY_2JOY1+0; // A
gamecontrolbisdefault[i][GC_WEAPONPREV][0] = KEY_2JOY1+2; // X gamecontrolbisdefault[i][GC_SPIN ][1] = KEY_2JOY1+2; // X
gamecontrolbisdefault[i][GC_TOSSFLAG ][0] = KEY_2JOY1+0; // A gamecontrolbisdefault[i][GC_CUSTOM1 ][1] = KEY_2JOY1+1; // B
gamecontrolbisdefault[i][GC_SPIN ][0] = KEY_2JOY1+4; // LB gamecontrolbisdefault[i][GC_CUSTOM2 ][1] = KEY_2JOY1+3; // Y
gamecontrolbisdefault[i][GC_CAMRESET ][0] = KEY_2JOY1+3; // Y gamecontrolbisdefault[i][GC_CUSTOM3 ][1] = KEY_2JOY1+8; // Left Stick
gamecontrolbisdefault[i][GC_CENTERVIEW][0] = KEY_2JOY1+9; // Right Stick gamecontrolbisdefault[i][GC_CENTERVIEW ][1] = KEY_2JOY1+9; // Right Stick
gamecontrolbisdefault[i][GC_JUMP ][0] = KEY_2JOY1+5; // RB gamecontrolbisdefault[i][GC_WEAPONPREV ][1] = KEY_2JOY1+4; // LB
//gamecontrolbisdefault[i][GC_PAUSE ][0] = KEY_2JOY1+6; // Back gamecontrolbisdefault[i][GC_WEAPONNEXT ][1] = KEY_2JOY1+5; // RB
gamecontrolbisdefault[i][GC_SCREENSHOT ][1] = KEY_2JOY1+6; // Back
//gamecontrolbisdefault[i][GC_SYSTEMMENU ][0] = KEY_2JOY1+7; // Start //gamecontrolbisdefault[i][GC_SYSTEMMENU ][0] = KEY_2JOY1+7; // Start
gamecontrolbisdefault[i][GC_CAMTOGGLE ][0] = KEY_2HAT1+0; // D-Pad Up gamecontrolbisdefault[i][GC_CAMTOGGLE ][1] = KEY_2HAT1+0; // D-Pad Up
gamecontrolbisdefault[i][GC_SCREENSHOT][0] = KEY_2HAT1+1; // D-Pad Down gamecontrolbisdefault[i][GC_VIEWPOINT ][1] = KEY_2HAT1+1; // D-Pad Down
//gamecontrolbisdefault[i][GC_TALKKEY ][0] = KEY_2HAT1+2; // D-Pad Left gamecontrolbisdefault[i][GC_TOSSFLAG ][1] = KEY_2HAT1+2; // D-Pad Left
//gamecontrolbisdefault[i][GC_SCORES ][0] = KEY_2HAT1+3; // D-Pad Right //gamecontrolbisdefault[i][GC_SCORES ][1] = KEY_2HAT1+3; // D-Pad Right
} }
} }

View file

@ -218,13 +218,13 @@ enum ffloor_e {
ffloor_next, ffloor_next,
ffloor_prev, ffloor_prev,
ffloor_alpha, ffloor_alpha,
ffloor_blend,
ffloor_bustflags, ffloor_bustflags,
ffloor_busttype, ffloor_busttype,
ffloor_busttag, ffloor_busttag,
ffloor_sinkspeed, ffloor_sinkspeed,
ffloor_friction, ffloor_friction,
ffloor_bouncestrength, ffloor_bouncestrength,
ffloor_blend,
}; };
static const char *const ffloor_opt[] = { static const char *const ffloor_opt[] = {
@ -243,13 +243,13 @@ static const char *const ffloor_opt[] = {
"next", "next",
"prev", "prev",
"alpha", "alpha",
"blend",
"bustflags", "bustflags",
"busttype", "busttype",
"busttag", "busttag",
"sinkspeed", "sinkspeed",
"friction", "friction",
"bouncestrength", "bouncestrength",
"blend",
NULL}; NULL};
#ifdef HAVE_LUA_SEGS #ifdef HAVE_LUA_SEGS
@ -1908,6 +1908,9 @@ static int ffloor_get(lua_State *L)
case ffloor_alpha: case ffloor_alpha:
lua_pushinteger(L, ffloor->alpha); lua_pushinteger(L, ffloor->alpha);
return 1; return 1;
case ffloor_blend:
lua_pushinteger(L, ffloor->blend);
return 1;
case ffloor_bustflags: case ffloor_bustflags:
lua_pushinteger(L, ffloor->bustflags); lua_pushinteger(L, ffloor->bustflags);
return 1; return 1;
@ -1926,9 +1929,6 @@ static int ffloor_get(lua_State *L)
case ffloor_bouncestrength: case ffloor_bouncestrength:
lua_pushfixed(L, ffloor->bouncestrength); lua_pushfixed(L, ffloor->bouncestrength);
return 1; return 1;
case ffloor_blend:
lua_pushinteger(L, ffloor->blend);
return 1;
} }
return 0; return 0;
} }

View file

@ -4438,22 +4438,21 @@ static void M_DrawGenericMenu(void)
} }
} }
const char *PlaystyleNames[4] = {"Strafe", "Standard", "Simple", "Old Analog??"}; const char *PlaystyleNames[4] = {"\x86Strafe\x80", "Manual", "Automatic", "Old Analog??"};
const char *PlaystyleDesc[4] = { const char *PlaystyleDesc[4] = {
// Legacy // Strafe (or Legacy)
"The play style used for\n" "A play style resembling\n"
"old-school SRB2.\n" "old-school SRB2 gameplay.\n"
"\n" "\n"
"This play style is identical\n" "This play style is identical\n"
"to Standard, except that the\n" "to Manual, except that the\n"
"player always looks in the\n" "player always looks in the\n"
"direction of the camera." "direction of the camera."
, ,
// Standard // Manual (formerly Standard)
"The default play style,\n" "A play style made for full control,\n"
"designed for full control\n" "using a keyboard and mouse.\n"
"with a keyboard and mouse.\n"
"\n" "\n"
"The camera rotates only when\n" "The camera rotates only when\n"
"you tell it to. The player\n" "you tell it to. The player\n"
@ -4465,8 +4464,8 @@ const char *PlaystyleDesc[4] = {
"open up the highest level of play!" "open up the highest level of play!"
, ,
// Simple // Automatic (formerly Simple)
"A play style designed for\n" "The default play style, designed for\n"
"gamepads and hassle-free play.\n" "gamepads and hassle-free play.\n"
"\n" "\n"
"The camera rotates automatically\n" "The camera rotates automatically\n"
@ -4475,7 +4474,8 @@ const char *PlaystyleDesc[4] = {
"they're moving.\n" "they're moving.\n"
"\n" "\n"
"Hold \x82" "Center View\x80 to lock the\n" "Hold \x82" "Center View\x80 to lock the\n"
"camera behind the player!\n" "camera behind the player, or target\n"
"enemies, bosses and monitors!\n"
, ,
// Old Analog // Old Analog
@ -4486,7 +4486,7 @@ const char *PlaystyleDesc[4] = {
"your config file and brought it back.\n" "your config file and brought it back.\n"
"\n" "\n"
"That's absolutely valid, but I implore\n" "That's absolutely valid, but I implore\n"
"you to try the new Simple play style\n" "you to try the new Automatic play style\n"
"instead!" "instead!"
}; };
@ -9062,7 +9062,7 @@ static void M_LoadGame(INT32 choice)
if (tutorialmap && cv_tutorialprompt.value) if (tutorialmap && cv_tutorialprompt.value)
{ {
M_StartMessage("Do you want to \x82play a brief Tutorial\x80?\n\nWe highly recommend this because \nthe controls are slightly different \nfrom other games.\n\nPress 'Y' or 'Enter' to go\nPress 'N' or any key to skip\n", M_StartMessage("Do you want to \x82play a brief Tutorial\x80?\n\nWe highly recommend this because \nthe controls are slightly different \nfrom other games.\n\nPress the\x82 Y\x80 key or the\x83 A button\x80 to go\nPress the\x82 N\x80 key or the\x83 Y button\x80 to skip\n",
M_FirstTimeResponse, MM_YESNO); M_FirstTimeResponse, MM_YESNO);
return; return;
} }
@ -13008,6 +13008,7 @@ static void M_DrawPlaystyleMenu(void)
if (i == playstyle_currentchoice) if (i == playstyle_currentchoice)
{ {
V_DrawFill(20, 40, 280, 150, 159);
V_DrawScaledPatch((i+1)*BASEVIDWIDTH/4 - 8, 10, 0, W_CachePatchName("M_CURSOR", PU_CACHE)); V_DrawScaledPatch((i+1)*BASEVIDWIDTH/4 - 8, 10, 0, W_CachePatchName("M_CURSOR", PU_CACHE));
V_DrawString(30, 50, V_ALLOWLOWERCASE, PlaystyleDesc[i]); V_DrawString(30, 50, V_ALLOWLOWERCASE, PlaystyleDesc[i]);
} }

View file

@ -7748,7 +7748,8 @@ static void P_MobjSceneryThink(mobj_t *mobj)
break; break;
case MT_WATERDROP: case MT_WATERDROP:
P_SceneryCheckWater(mobj); P_SceneryCheckWater(mobj);
if ((mobj->z <= mobj->floorz || mobj->z <= mobj->watertop) if (((!(mobj->eflags & MFE_VERTICALFLIP) && (mobj->z <= mobj->floorz || mobj->z <= mobj->watertop))
|| (mobj->eflags & MFE_VERTICALFLIP && mobj->z + mobj->height >= mobj->ceilingz))
&& mobj->health > 0) && mobj->health > 0)
{ {
mobj->health = 0; mobj->health = 0;

View file

@ -5762,17 +5762,6 @@ static void P_ConvertBinaryLinedefTypes(void)
case 799: //Set dynamic slope vertex to front sector height case 799: //Set dynamic slope vertex to front sector height
lines[i].args[0] = !!(lines[i].flags & ML_NOCLIMB); lines[i].args[0] = !!(lines[i].flags & ML_NOCLIMB);
break; break;
case 900: //Translucent wall (10%)
case 901: //Translucent wall (20%)
case 902: //Translucent wall (30%)
case 903: //Translucent wall (40%)
case 904: //Translucent wall (50%)
case 905: //Translucent wall (60%)
case 906: //Translucent wall (70%)
case 907: //Translucent wall (80%)
case 908: //Translucent wall (90%)
lines[i].alpha = ((909 - lines[i].special) << FRACBITS)/10;
break;
case 909: //Fog wall case 909: //Fog wall
lines[i].blendmode = AST_FOG; lines[i].blendmode = AST_FOG;
break; break;

View file

@ -1187,8 +1187,8 @@ void P_GivePlayerRings(player_t *player, INT32 num_rings)
if (!player) if (!player)
return; return;
if (player->bot) if ((player->bot == BOT_2PAI || player->bot == BOT_2PHUMAN) && player->botleader)
player = &players[consoleplayer]; player = player->botleader;
if (!player->mo) if (!player->mo)
return; return;
@ -9540,7 +9540,7 @@ consvar_t cv_cam_still = CVAR_INIT ("cam_still", "Off", 0, CV_OnOff, NULL);
consvar_t cv_cam_speed = CVAR_INIT ("cam_speed", "0.3", CV_FLOAT|CV_SAVE, CV_CamSpeed, NULL); consvar_t cv_cam_speed = CVAR_INIT ("cam_speed", "0.3", CV_FLOAT|CV_SAVE, CV_CamSpeed, NULL);
consvar_t cv_cam_rotate = CVAR_INIT ("cam_rotate", "0", CV_CALL|CV_NOINIT, CV_CamRotate, CV_CamRotate_OnChange); consvar_t cv_cam_rotate = CVAR_INIT ("cam_rotate", "0", CV_CALL|CV_NOINIT, CV_CamRotate, CV_CamRotate_OnChange);
consvar_t cv_cam_rotspeed = CVAR_INIT ("cam_rotspeed", "10", CV_SAVE, rotation_cons_t, NULL); consvar_t cv_cam_rotspeed = CVAR_INIT ("cam_rotspeed", "10", CV_SAVE, rotation_cons_t, NULL);
consvar_t cv_cam_turnmultiplier = CVAR_INIT ("cam_turnmultiplier", "1.0", CV_FLOAT|CV_SAVE, multiplier_cons_t, NULL); consvar_t cv_cam_turnmultiplier = CVAR_INIT ("cam_turnmultiplier", "0.75", CV_FLOAT|CV_SAVE, multiplier_cons_t, NULL);
consvar_t cv_cam_orbit = CVAR_INIT ("cam_orbit", "Off", CV_SAVE, CV_OnOff, NULL); consvar_t cv_cam_orbit = CVAR_INIT ("cam_orbit", "Off", CV_SAVE, CV_OnOff, NULL);
consvar_t cv_cam_adjust = CVAR_INIT ("cam_adjust", "On", CV_SAVE, CV_OnOff, NULL); consvar_t cv_cam_adjust = CVAR_INIT ("cam_adjust", "On", CV_SAVE, CV_OnOff, NULL);
consvar_t cv_cam2_dist = CVAR_INIT ("cam2_curdist", "160", CV_FLOAT, NULL, NULL); consvar_t cv_cam2_dist = CVAR_INIT ("cam2_curdist", "160", CV_FLOAT, NULL, NULL);
@ -9549,30 +9549,30 @@ consvar_t cv_cam2_still = CVAR_INIT ("cam2_still", "Off", 0, CV_OnOff, NULL);
consvar_t cv_cam2_speed = CVAR_INIT ("cam2_speed", "0.3", CV_FLOAT|CV_SAVE, CV_CamSpeed, NULL); consvar_t cv_cam2_speed = CVAR_INIT ("cam2_speed", "0.3", CV_FLOAT|CV_SAVE, CV_CamSpeed, NULL);
consvar_t cv_cam2_rotate = CVAR_INIT ("cam2_rotate", "0", CV_CALL|CV_NOINIT, CV_CamRotate, CV_CamRotate2_OnChange); consvar_t cv_cam2_rotate = CVAR_INIT ("cam2_rotate", "0", CV_CALL|CV_NOINIT, CV_CamRotate, CV_CamRotate2_OnChange);
consvar_t cv_cam2_rotspeed = CVAR_INIT ("cam2_rotspeed", "10", CV_SAVE, rotation_cons_t, NULL); consvar_t cv_cam2_rotspeed = CVAR_INIT ("cam2_rotspeed", "10", CV_SAVE, rotation_cons_t, NULL);
consvar_t cv_cam2_turnmultiplier = CVAR_INIT ("cam2_turnmultiplier", "1.0", CV_FLOAT|CV_SAVE, multiplier_cons_t, NULL); consvar_t cv_cam2_turnmultiplier = CVAR_INIT ("cam2_turnmultiplier", "0.75", CV_FLOAT|CV_SAVE, multiplier_cons_t, NULL);
consvar_t cv_cam2_orbit = CVAR_INIT ("cam2_orbit", "Off", CV_SAVE, CV_OnOff, NULL); consvar_t cv_cam2_orbit = CVAR_INIT ("cam2_orbit", "Off", CV_SAVE, CV_OnOff, NULL);
consvar_t cv_cam2_adjust = CVAR_INIT ("cam2_adjust", "On", CV_SAVE, CV_OnOff, NULL); consvar_t cv_cam2_adjust = CVAR_INIT ("cam2_adjust", "On", CV_SAVE, CV_OnOff, NULL);
// [standard vs simple][p1 or p2] // [standard vs simple][p1 or p2]
consvar_t cv_cam_savedist[2][2] = { consvar_t cv_cam_savedist[2][2] = {
{ // standard { // standard
CVAR_INIT ("cam_dist", "160", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCamDist), CVAR_INIT ("cam_dist", "192", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCamDist),
CVAR_INIT ("cam2_dist", "160", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCam2Dist), CVAR_INIT ("cam2_dist", "192", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCam2Dist),
}, },
{ // simple { // simple
CVAR_INIT ("cam_simpledist", "224", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCamDist), CVAR_INIT ("cam_simpledist", "256", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCamDist),
CVAR_INIT ("cam2_simpledist", "224", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCam2Dist), CVAR_INIT ("cam2_simpledist", "256", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCam2Dist),
} }
}; };
consvar_t cv_cam_saveheight[2][2] = { consvar_t cv_cam_saveheight[2][2] = {
{ // standard { // standard
CVAR_INIT ("cam_height", "25", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCamDist), CVAR_INIT ("cam_height", "40", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCamDist),
CVAR_INIT ("cam2_height", "25", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCam2Dist), CVAR_INIT ("cam2_height", "40", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCam2Dist),
}, },
{ // simple { // simple
CVAR_INIT ("cam_simpleheight", "48", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCamDist), CVAR_INIT ("cam_simpleheight", "60", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCamDist),
CVAR_INIT ("cam2_simpleheight", "48", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCam2Dist), CVAR_INIT ("cam2_simpleheight", "60", CV_FLOAT|CV_SAVE|CV_CALL, NULL, CV_UpdateCam2Dist),
} }
}; };
@ -9754,17 +9754,7 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
if (P_CameraThinker(player, thiscam, resetcalled)) if (P_CameraThinker(player, thiscam, resetcalled))
return true; return true;
if (tutorialmode) if (thiscam == &camera)
{
// force defaults because we have a camera look section
camspeed = (INT32)(atof(cv_cam_speed.defaultvalue) * FRACUNIT);
camstill = (!stricmp(cv_cam_still.defaultvalue, "off")) ? false : true;
camorbit = (!stricmp(cv_cam_orbit.defaultvalue, "off")) ? false : true;
camrotate = atoi(cv_cam_rotate.defaultvalue);
camdist = FixedMul((INT32)(atof(cv_cam_dist.defaultvalue) * FRACUNIT), mo->scale);
camheight = FixedMul((INT32)(atof(cv_cam_height.defaultvalue) * FRACUNIT), mo->scale);
}
else if (thiscam == &camera)
{ {
camspeed = cv_cam_speed.value; camspeed = cv_cam_speed.value;
camstill = cv_cam_still.value; camstill = cv_cam_still.value;

View file

@ -227,10 +227,10 @@ void RotatedPatch_DoRotation(rotsprite_t *rotsprite, patch_t *patch, INT32 angle
ox = (newwidth / 2) + (leftoffset - xpivot); ox = (newwidth / 2) + (leftoffset - xpivot);
oy = (newheight / 2) + (patch->topoffset - ypivot); oy = (newheight / 2) + (patch->topoffset - ypivot);
width = (maxx+1 - minx); width = (maxx - minx);
height = (maxy+1 - miny); height = (maxy - miny);
if ((unsigned)(width * height) != size) if ((unsigned)(width * height) > size)
{ {
UINT16 *src, *dest; UINT16 *src, *dest;

View file

@ -74,9 +74,9 @@ consvar_t stereoreverse = CVAR_INIT ("stereoreverse", "Off", CV_SAVE, CV_OnOff,
static consvar_t precachesound = CVAR_INIT ("precachesound", "Off", CV_SAVE, CV_OnOff, NULL); static consvar_t precachesound = CVAR_INIT ("precachesound", "Off", CV_SAVE, CV_OnOff, NULL);
// actual general (maximum) sound & music volume, saved into the config // actual general (maximum) sound & music volume, saved into the config
consvar_t cv_soundvolume = CVAR_INIT ("soundvolume", "18", CV_SAVE, soundvolume_cons_t, NULL); consvar_t cv_soundvolume = CVAR_INIT ("soundvolume", "16", CV_SAVE, soundvolume_cons_t, NULL);
consvar_t cv_digmusicvolume = CVAR_INIT ("digmusicvolume", "18", CV_SAVE, soundvolume_cons_t, NULL); consvar_t cv_digmusicvolume = CVAR_INIT ("digmusicvolume", "16", CV_SAVE, soundvolume_cons_t, NULL);
consvar_t cv_midimusicvolume = CVAR_INIT ("midimusicvolume", "18", CV_SAVE, soundvolume_cons_t, NULL); consvar_t cv_midimusicvolume = CVAR_INIT ("midimusicvolume", "16", CV_SAVE, soundvolume_cons_t, NULL);
static void Captioning_OnChange(void) static void Captioning_OnChange(void)
{ {

View file

@ -177,7 +177,9 @@ boolean OglSdlSurface(INT32 w, INT32 h)
// Also set the renderer variable back to software so the next launch won't // Also set the renderer variable back to software so the next launch won't
// repeat this error. // repeat this error.
CV_StealthSet(&cv_renderer, "Software"); CV_StealthSet(&cv_renderer, "Software");
I_Error("OpenGL Error: Failed to access the GPU. There may be an issue with your graphics drivers."); I_Error("OpenGL Error: Failed to access the GPU. Possible reasons include:\n"
"- GPU vendor has dropped OpenGL support on your GPU and OS. (Old GPU?)\n"
"- GPU drivers are missing or broken. You may need to update your drivers.");
} }
} }
first_init = true; first_init = true;

View file

@ -1176,7 +1176,17 @@ static void ST_drawInput(void)
break; break;
case CS_SIMPLE: case CS_SIMPLE:
V_DrawThinString(x, y, hudinfo[HUD_LIVES].f, "SIMPLE"); V_DrawThinString(x, y, hudinfo[HUD_LIVES].f, "AUTOMATIC");
y -= 8;
break;
case CS_STANDARD:
V_DrawThinString(x, y, hudinfo[HUD_LIVES].f, "MANUAL");
y -= 8;
break;
case CS_LEGACY:
V_DrawThinString(x, y, hudinfo[HUD_LIVES].f, "STRAFE");
y -= 8; y -= 8;
break; break;