Commit graph

965 commits

Author SHA1 Message Date
Eidolon
bd73256390 Fix Marathon Mode menu for uncapped 2022-05-03 18:18:08 -05:00
Eidolon
f0d7d8467f Refactor timing code even more
System layer is greatly simplified and framecap
logic has been moved internally. I_Sleep now
takes a sleep duration and I_SleepDuration
generically implements a precise sleep with spin
loop.
2022-05-01 00:32:46 -05:00
Eidolon
e79654a33a Completely refactor timing system
Time is now tracked internally in the game using I_GetPreciseTime
and I_UpdateTime. I_Time now pulls from this internal timer. The
system code no longer needs to keep track of time itself.

This significantly improves frame and tic timing in interp mode,
resulting in a much smoother image with essentially no judder at
any framerate.
2022-04-30 16:33:23 -05:00
Sally Coolatta
7c41564362 Fix multiplayer character select 2022-04-28 20:44:22 -05:00
Eidolon
4095ef599b Delta time choose player menu animations 2022-04-26 20:56:35 -05:00
Eidolon
a56a57b3d1 Misc changes after Kart cherry-picks 2022-04-26 20:56:32 -05:00
Sally Coolatta
c186d6402b Lots of FPS stuff
- Disabled VSync, due to the numerous problems it has.
- Instead, added an FPS cap.
- Frame interpolation is now tied to fpscap != 35.
- By default, the FPS cap is set to the monitor's refresh rate.
- Rewrote the FPS counter.

(This also consolidates several more commits ahead of this
fixing various issues. -eid)
2022-04-26 20:56:32 -05:00
Eidolon
056abd0461 Add smooth rendering to Record/NiGHTS Attack, F_SkyScroll 2022-04-26 20:31:38 -05:00
Eidolon
c330c05718 Add smooth rendering to save select screen 2022-04-26 20:31:38 -05:00
Eidolon
61efef2fa9 Add smooth level platter under interpolation, renderdeltatics
`renderdeltatics` can be used as a standard delta time in any place,
allowing for smooth menus. It will always be equal to `realtics`
when frame interpolation is turned off, producing consistent
framerate behavior everywhere it is used.
2022-04-26 20:31:38 -05:00
Eidolon
722b04518d Place Frame Interpolation in "Experimental" video options header
This seems like an appropriate way to describe the feature for now.
2022-04-26 20:31:38 -05:00
sphere
20b73dedfe Merge branch 'multimare-grades' into 'next'
Show overall grade emblem requirement of a multi-mare NiGHTS stage in SP pause menu

Closes #71

See merge request STJr/SRB2!1762
2022-03-21 21:58:54 +00:00
sphere
c0a21ccbf3 Merge branch 'levelplatternames' into 'next'
Level platter name improvements

See merge request STJr/SRB2!1730
2022-03-21 21:57:03 +00:00
SteelT
3eaae066ef Show overall grade emblem requirement of a multi-mare NiGHTS stage in SP pause menu
Fixes #71
2022-03-08 21:06:01 -05:00
spherallic
14295ac7de 2022 2022-03-03 20:24:46 +01:00
spherallic
e64775c867 Check V_ThinStringWidth instead of strlen for level platter names. 2022-02-02 23:16:12 +01:00
sphere
f8532d4ad1 Merge branch 'blentran-update' into 'next'
Blentran - updated

See merge request STJr/SRB2!1656
2022-01-11 21:53:49 +00:00
sphere
f9d2fd9ce5 blentran part 1: Flag changes & semibright support. 2022-01-04 14:26:03 +01:00
spherallic
d9410e3e6a fix compile warnings (this really puts the mess in message) 2021-12-30 16:29:37 +01:00
spherallic
0a38fef147 Several changes to default control settings:
- Renamed Simple to Automatic, and made it the default
- Renamed Standard to Manual
- Changed some camera settings to make Automatic easier to control
- Changed most default gamepad controls, to fit Automatic playstyle
- Changed a few default keyboard controls
- Added default binds for custom actions 1-3
- Removed forced camera settings in the tutorial (to account for
upcoming tutorial update)
- Also lowered default sound/music volume a little bit
2021-12-29 19:29:36 +01:00
spherallic
b830fee2e3 Allow changing the master server address while hosting a netgame. 2021-12-26 21:30:36 +01:00
LJ Sonic
95c61e0fab Merge branch 'ksf-wadfiles' into 'next'
Raise addon limit

See merge request STJr/SRB2!1465
2021-12-02 22:50:46 +00:00
LZA
a3353be0dc Raise addon limit 2021-12-02 22:50:44 +00:00
spherallic
4480af69c7 Only show Ultimate mode warning in unmodified vanilla gameplay. 2021-11-26 14:18:08 +01:00
sphere
08e63fc822 Show values on (float) sliders in the options menu. 2021-11-26 14:18:00 +01:00
sphere
d9fde5c395 Add emblem counter to the Extras checklist. 2021-11-26 14:17:49 +01:00
sphere
a48c8826a1 Add modifiedgame warning to save select menu. 2021-11-26 14:17:36 +01:00
Tatsuru
6ed063dcce Merge branch 'polish-lua-inputs' into 'next'
Polish the Lua input library

See merge request STJr/SRB2!1598
2021-09-11 14:59:41 +00:00
Tatsuru
eec765749b Merge branch 'drawcroppedpatch-improvements' into 'next'
V_DrawCroppedPatch(...) Lua exposure and improvements

See merge request STJr/SRB2!1316
2021-09-10 16:14:38 +00:00
LJ Sonic
5340db5f67 Make gc_ constants uppercase 2021-08-15 16:15:28 +02:00
LJ Sonic
772695741c Rename KeyNumToString to KeyNumToName and vice-versa 2021-08-15 15:24:23 +02:00
LJ Sonic
5bc0ce7a62 Give fields in event_t better names 2021-08-14 23:42:39 +02:00
LJ Sonic
e3a5da3f6f Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2.git into HEAD
# Conflicts:
#	src/lua_hook.h
#	src/lua_hooklib.c
2021-06-19 20:49:12 +02:00
LJ Sonic
cfa48574be Merge branch 'next' into 'lua-inputs'
# Conflicts:
#   src/lua_script.c
2021-06-19 10:34:48 -04:00
James R
4d22b9f17f Merge remote-tracking branch 'origin/next' into hooklib-refactor 2021-06-07 18:12:52 -07:00
SteelT
ad2b4b1809 Merge branch 'save-skin-names' into 'next'
Save skin names in save files instead of skin numbers

See merge request STJr/SRB2!1503
2021-05-28 22:05:20 -04:00
SteelT
c0f8cb29aa Merge branch 'select-heading-no-gaps' into 'next'
[SUGOI] Level select no longer assumes that games will always be linear

See merge request STJr/SRB2!1492
2021-05-28 21:51:52 -04:00
SteelT
a72d6bba22 Merge branch 'skin-unlocks-sanity' into 'next'
[SUGOI] Remove skin->availability, add SECRET_SKIN

See merge request STJr/SRB2!1474
2021-05-28 21:30:16 -04:00
Steel Titanium
a2667f4dc9 Merge branch 'master' into next 2021-05-11 20:08:44 -04:00
Sally Coolatta
5d93f86499 Merge branch 'next' into skin-unlocks-sanity 2021-05-08 12:55:46 -04:00
Sally Coolatta
d136c60a3f Add some comments, write an empty string instead of a boolean determining if the bot skin exists or not.
I was a little scared of doing this at first, but after a bit of thought & some testing that it'll be fine.
2021-05-07 20:13:16 -04:00
Sally Coolatta
a583027006 Remove prints 2021-05-07 19:52:29 -04:00
Sally Coolatta
dc6851dabc Save skin name instead of skin number into save files
Allows you to save a game as any character, and you don't have to load the files in a specific order to access the save file.
2021-05-07 19:41:44 -04:00
Monster Iestyn
d00726cbe9 Merge branch 'monster-cleaning-up-again' into 'next'
Monster cleaning up again

See merge request STJr/SRB2!1433
2021-05-07 17:33:00 -04:00
LJ Sonic
d325c7e6d3 The year is 2021 2021-05-07 17:45:56 +02:00
Tatsuru
aac3ca320b Update LOCATIONSTRING2 as well 2021-05-01 10:24:28 -03:00
Sally Coolatta
381ead4d7e Level select no longer assumes that games will always be linear
- If a level is in-between two with the same header, it would previously create two headers with the same name. Now it groups all levels with the same header together.
- Previously, a header would only be visible if its first map was visible. Now it will show the header if you've visited any level under the header.

For SUGOI.
2021-04-30 21:46:09 -04:00
Tatsuru
ea7b332525 Visit srb2.org/addons to get & make addons! 2021-04-30 15:49:09 -03:00
Sally Coolatta
382c0aa7de Fix overshadowed declaration 2021-04-25 16:27:15 -04:00
Sally Coolatta
8278e621fb Removed skin->availability
Locked skins now are a specific unlockable type, instead of being tied to the skin's properties.

This has plagued custom gamedata since 2.2 launch. It's extremely obnoxious having to set aside random numbers as dummy unlockables just to ensure that Amy Fang & Metal are unlocked from the start in a custom map pack.

Other changes made to accommodate this:
 - R_GetSkinAvailabilities is now created from the list of unlockables set to skin type. (1st skin unlockable defined is (1), 2nd skin unlockable defined is (1 << 1), etc...)
- The "Added skin x" print shows up when loading addons but not at all for the base game, because the previous behavior of hiding based on if the skin was locked would now require iterating unlockables, which felt wrong to do during that stage of the loading process
 - I noticed in my test wad that Sonic&Tails would give you Sonic&Sonic out if Tails was locked. I fixed that by making both skins required to show the character select option.

Mods that reserved empty dummy unlockables for Amy Fang and Metal won't have to do anything. Mods that wanted to re-lock them behind different requirements will have to update, but in the future they will not have to be in specific slots. Additionally, now Sonic Tails and Knuckles can also be locked for mods.
2021-04-25 07:18:32 -04:00