Commit graph

1048 commits

Author SHA1 Message Date
Sally Coolatta
d3ff5342dd Minor adjustments 2022-11-16 11:14:32 -05:00
Sally Coolatta
947dbda045 Use savemoddata for ultimate file check 2022-11-16 11:14:32 -05:00
Sally Coolatta
f082acbbdb Don't allow Record Attack in cheated games 2022-11-16 11:14:31 -05:00
Sally Coolatta
a22fa1c455 Compromise on cheats setting modified game
Instead of modifying the game, cheats now set a separate "cheats were used in this session" variable, which returns some of the old behavior.

HOWEVER, cheats will STILL allow spawning / collecting emblems & unlocking unlockables. Cheats will purely prevent saving progress. (It was always frustrating that devmode would make debugging unlockable features harder...)

Lastly, the function to set no-saving was exposed to Lua (`G_SetUsedCheats(silent)`). Just thought it'd be useful for large-scale gamedata-using mods that want to add their own cheat commands.
2022-11-16 11:14:31 -05:00
Sally Coolatta
1b43cdddd5 Allow saving in modified games. 2022-11-16 11:14:29 -05:00
Jaime Ita Passos
46f7fa406f Refactor gamepad code
Implements the SDL Game Controller API, haptics, and axis bindings.
2022-11-14 00:37:08 -03:00
Eidolon
6709100997 Merge branch 'emblem-drawing-hud' into 'next'
Various changes to emblem drawing (menu changes only)

See merge request STJr/SRB2!1810
2022-11-12 23:37:22 +00:00
Eidolon
147b3c925e Ensure st_time does not exceed 2.0 2022-11-12 11:45:10 -06:00
Eidolon
24ab858684 Merge branch 'fix-negative-lives-crash' into 'next'
Fix a crash when scrolling away from a save file with a negative lives count.

See merge request STJr/SRB2!1822
2022-11-11 23:11:44 -06:00
ashifolfi
60ab28c1ab improved down arrow check + t->b/b->t looping 2022-11-11 22:57:17 -06:00
ashifolfi
4c08daa01f remove down arrow at bottom of addon list 2022-11-11 22:57:17 -06:00
ashifolfi
e12db019d6 fix addon menu down arrow always being visible 2022-11-11 22:57:17 -06:00
Eidolon
12c2ddb115 Merge branch 'uncappedrevengeance' into next
Uncapped

See merge request STJr/SRB2!1856

# Conflicts:
#	src/dummy/i_system.c
#	src/win32/win_sys.c
2022-11-08 21:13:50 -06:00
Eidolon
62b142f136 Uncap room list ellipsis animation 2022-11-07 20:08:33 -06:00
Eidolon
3c5855b64a Uncap sound test 2022-11-07 19:48:42 -06:00
GoldenTails
3244d6586d Fix a crash when scrolling away from a save file with a negative lives count. 2022-10-02 19:08:01 -05:00
spherallic
a85b820b44 Don't skip map completion emblems when skipping record attack emblems. 2022-09-17 00:59:35 +02:00
spherallic
4f744bc06f Various changes to emblem drawing:
- Emblems in a row now have a little bit of spacing between them.
- Score/time/ring emblems are drawn only once in the pause menu.
- Record Attack & NiGHTS Mode show in-level emblems as well.
2022-09-17 00:47:08 +02:00
spherallic
ef35084d95 Merge remote-tracking branch 'public/master' into next 2022-09-08 16:52:54 +02:00
spherallic
f564090c80 Two small renderer switching changes:
- Allow renderer switching in resolution menu
- Fix "(F10)" suffix not being shown on the renderer option
2022-09-07 14:00:56 +02:00
spherallic
541e2a4fe6 Merge branch 'next' into fullscreen-toggle 2022-09-07 13:48:52 +02:00
Jaime Ita Passos
07011a7044 Stop -Waddress warnings 2022-08-11 04:24:24 -03:00
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
0c7abd88fe Merge branch 'next' into fullscreen-toggle 2022-03-08 23:50:40 +01:00
spherallic
14295ac7de 2022 2022-03-03 20:24:46 +01:00
spherallic
f077021591 Clean up renderer toggle at SteelT's suggestion. 2022-02-19 15:15:06 +01:00
spherallic
7d1faf7e2c Handle invalid resolutions, make Backspace work in resolution menu. 2022-02-19 12:12:04 +01:00
spherallic
599644e885 Update resolutions menu, remove M_CentreText. 2022-02-05 11:32:48 +01:00
spherallic
5fdc0b889b Replace F10's near-useless game quit option with a renderer toggle. 2022-02-04 14:50:45 +01:00
spherallic
0cfc75070d Improved support for separate resolutions:
- Windowed mode resolution can now be changed via the resolutions menu.
- F11 can also be used while in this menu.
- Removed usewindowedres cvar for ease of use.
- When starting in windowed mode, use the correct resolution.
2022-02-04 14:42:10 +01:00
spherallic
e64775c867 Check V_ThinStringWidth instead of strlen for level platter names. 2022-02-02 23:16:12 +01:00
spherallic
f5d4eb3e7a Turn F11 into a fullscreen toggle, and process it inside menus as well. 2022-01-31 14:39:51 +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
GoldenTails
1639676e8d Actually free the drawnstr pointer after we're done using it.
It probably was like this originally because past Golden was confused about why free was throwing errors :P
2021-09-03 09:14:04 -05:00
GoldenTails
f0bee67d6e Remove unused static-alloc drawnstr, rename drawnstrptr to drawnstr. 2021-09-03 09:03:46 -05:00
GoldenTails
7e3a6bd44c Increase Connect via IP textbox width and have shorten and truncate the text as necessary 2021-09-03 09:03:46 -05:00
James R
31943f30a1 Support connecting by IPv6 address in the menu
Font will shrink once exceeding a certain number of
characters.
2021-09-01 18:32:18 -07: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
Zwip-Zwap Zapony
acff5c1ada Merge branch 'next' into drawcroppedpatch-improvements 2021-04-25 10:15:16 +02:00
SwitchKaze
3895c02330 Revert "Remove key stuff"
This reverts commit a439e569
2021-04-02 15:46:08 -05:00
SwitchKaze
cb3a8f7a58 Remove key stuff 2021-04-02 15:46:08 -05:00
SwitchKaze
eb2dc9e99b Mouse improvements 2021-04-02 15:46:08 -05:00
SwitchKaze
3faa98cf4a Expose inputs to Lua 2021-04-02 15:45:59 -05:00
LJ Sonic
4b15b52dfc Our menu system sucks. That's all I have to say. 2021-03-31 19:49:37 +02:00
Monster Iestyn
0d5284c36c Murder MSDOS, another of the remaining DOS port related macros
I also put in a missing `defined (__APPLE__)` in d_netcmd.h related to cv_mouse2opt

Also removed a redundant `!defined (__APPLE__)` in d_main.c
2021-03-30 19:27:10 +01:00
LJ Sonic
aa33d90215 Add rejointimeout to the server options 2021-02-15 16:23:57 +01:00
James R
353692fa79 Merge remote-tracking branch 'origin/next' into hooklib-refactor 2020-12-16 08:43:49 -08:00
James R
cab089c5b1 Merge branch 'gl-colormap-update' into 'next'
Fix animated skincolors in OpenGL (resolves #187, #247, #301, #370)

Closes #187, #247, #301, and #370

See merge request STJr/SRB2!1301
2020-12-15 20:50:45 -05:00
James R
a86a7822d1 Merge remote-tracking branch 'origin/next' into hooklib-refactor 2020-12-12 15:38:46 -08:00
James R
e94bccc503 Merge branch 'apng-downscale' into 'next'
Add aPNG downscaling

See merge request STJr/SRB2!1197
2020-12-12 17:39:56 -05:00
James R
7b6675178e Merge branch 'oldguards' into 'next'
Kill remaining HAVE_BLUA and SEENAMES

See merge request STJr/SRB2!1319
2020-12-12 17:34:04 -05:00
James R
93e4f43e4b Hooklib macros names -> uppercase + documentation 2020-12-12 03:16:30 -08:00
James R
e55d842d7f Kill SEENAMES 2020-12-12 02:11:23 -08:00
James R
9ddeb5f589 Resolve GameQuit hook conflicts 2020-12-12 02:05:21 -08:00
Zwip-Zwap Zapony
029e79024b V_DrawCroppedPatch Lua exposure and improvements
Separated X and Y scale, and added colormap argument
Added V_*SCALEPATCH and V_PERPLAYER flags support
Made sx,sy,w,h into fixed-point values
Exposed to Lua as "v.drawCropped(...)"
(Also fix HWR_DrawStretchyFixedPatch ignoring vscale without pscale)
2020-12-11 23:43:38 +01:00