Commit graph

19705 commits

Author SHA1 Message Date
James R
72342338b1 Use P_CheckMove
(cherry picked from commit 9dfa153e7497403d874e980868b7aa6d15595286)
2022-09-05 11:56:30 -07:00
James R
ba1b6bb253 Add P_CheckMove
Checks if P_TryMove would succeed without actually moving.

(cherry picked from commit 518de0ce104166c3eacd10ebe6ade422307ce671)
2022-09-05 11:56:30 -07:00
James R
b17717babe A_LobShot: remove ???
MT_NULL spawning, not cool bro.

(cherry picked from commit f6f002e70b645982dddd83d6f831a601faa0fdae)
2022-09-05 11:56:30 -07:00
James R
aa5063668e hooklib: revert ps_lua_mobjhooks to pre perfstats averaging refactor (77ecfb9cdc)
Revert later
2022-09-05 11:56:30 -07:00
James R
37c3a55dda Fix conflicts 522467a88 2022-09-05 11:56:30 -07:00
James R
b4d1fade5f Apply b4fa98d2f to lua_hudlib.c
Continued from 544812a45
2022-09-05 11:56:30 -07:00
James R
ceeda5c826 Lua hooklib refactor squash
commit 8d382e49fb3411cad1a3ef5ee1e546030c3a9d93
Author: James R <justsomejames2@gmail.com>
Date:   Tue Nov 17 04:14:45 2020 -0800

    Big Large Lua Hooklib Refactor

    * Hooks are no longer a mess of lua boiler plate. Helper functions reduce hooks
      to, at the most basic level, only two calls.
    * Lua tables (the array part) are used to index hooks. Such tables contain only
      hooks of the same type.
    * Hook types are defined in one place so you no longer need to sync up the enum
      and name array.

commit 3f7c2ae0b0c450cb8993ffe7664ead05fd9f5000
Author: James R <justsomejames2@gmail.com>
Date:   Thu Dec 10 05:39:53 2020 -0800

    Avoid using multiple tables to fetch hook

    String hooks still use a table to fetch the id, but the id indexes a C array.

    Also I fixed a missing call in the MusicChange hook.

commit dbd8903a538e7b87061795ce27ec5c72c26743af
Author: James R <justsomejames2@gmail.com>
Date:   Thu Dec 10 08:50:23 2020 -0800

    Use ref for pushing error handler

commit 9ddeb5f5896de0407b2b6fce8c949295a9e6d5e4
Author: James R <justsomejames2@gmail.com>
Date:   Sat Dec 12 02:05:21 2020 -0800

    Resolve GameQuit hook conflicts

commit 93e4f43e4b3a24fc2d8032e8730cbf427e75b297
Author: James R <justsomejames2@gmail.com>
Date:   Sat Dec 12 03:06:57 2020 -0800

    Hooklib macros names -> uppercase + documentation

commit 80fe39bbd1433c91131d2cdb36ba709f37d3b5f3
Author: Steel Titanium <steeltitanium1@gmail.com>
Date:   Mon May 3 01:40:02 2021 -0400

    Fix MusicChange hook not returning some values correctly

commit 46ca9613c68422a26910cbb034a9f3e004a967c3
Author: James R <justsomejames2@gmail.com>
Date:   Thu Jun 10 18:09:39 2021 -0700

    Pop hook id fetched from table

commit a75d4a1c360874a3c301a494e38ea49cd89b6616
Author: James R <justsomejames2@gmail.com>
Date:   Tue Jul 6 18:42:08 2021 -0700

    Automatically count hook values

commit 331329306cad257d52f84e47a92d9214d9eaa8d3
Author: James R <justsomejames2@gmail.com>
Date:   Tue Jul 6 19:12:47 2021 -0700

    Refactor hook ref allocation

commit ae57b6ca8664e00ff4d9544339dbf29a41138040
Author: James R <justsomejames2@gmail.com>
Date:   Tue Jul 6 20:23:38 2021 -0700

    MORE MACROS

    I just can't stop myself!

commit b4fa98d2fbab180f487ce3efedb8ab715e5f3390
Author: James R <justsomejames2@gmail.com>
Date:   Wed Jul 7 00:23:51 2021 -0700

    Refactor hudlib hooks to hooklib

    HUD hooks now meet the standard of hooklib. HUD registry
    magic numbers are gone.

    HUD hooks may also be added using addHook.

        addHook('HUD', fn[, type])

    hud.add still exists, but the intention is to remove it
    eventually.

commit cb619fad5d762ba8d8dd20e9a979a04ced7c943f
Author: SMS Alfredo <65426124+SMS-Alfredo@users.noreply.github.com>
Date:   Wed Jul 7 19:57:28 2021 -0500

    Rebase on !1307

commit f271f88c7f3084523a03ca7f47060d6527724796
Author: LJ Sonic <lamr@free.fr>
Date:   Sun Dec 5 17:59:33 2021 +0100

    Fix MusicChange hook crashing when called

    BRUH MOMENT BRUH MOMENT
    PREPARE THE HALL OF SHAME

commit 0a0c17da7c793ec29e80c5bdaa66b02da0884078
Author: James R <justsomejames2@gmail.com>
Date:   Tue Feb 1 02:27:27 2022 -0800

    PARANOIA: I_Error if mobj hook is called with MT_NULL

commit 86336d6bed80bee6f8168078aa8856109091e50f
Author: katsy <katmint@live.com>
Date:   Mon Mar 7 18:33:15 2022 -0600

    remove MODID check from hooklib to fix compile issue
2022-09-05 11:56:04 -07:00
Sally Coolatta
7a91e5b6b5 Don't allow ebrake in tumble 2022-09-05 11:56:11 -04:00
Sally Coolatta
98ec1779d9 Reimplement follower hit confirm 2022-09-05 11:30:12 -04:00
Sally Coolatta
38dc572699 Reset fast falling in P_ResetPlayer
Resets it for springs
2022-09-05 10:58:50 -04:00
Sally Coolatta
eb7e2287c4 Change bounce behavior
- Always allow bounce after fast fall
- Allow for more bounces
- Lose speed on bounces that don't reach max
2022-09-05 10:54:16 -04:00
Sally Coolatta
1eb1309032 Remove step-down change 2022-09-05 10:41:06 -04:00
toaster
06e9bd5b0a Merge branch '14plus-mergeladder' of https://git.do.srb2.org/KartKrew/Kart into 14plus-votechanges 2022-09-05 15:41:05 +01:00
toaster
1f3ac199ae Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into 14plus-mergeladder 2022-09-05 15:32:02 +01:00
toaster
59044e7389 vsync is not broken anymore thanks to both Eidolon and jart's efforts 2022-09-05 15:26:28 +01:00
James R
48cc0158c2 SDL hint render driver to direct3d11
Windows bug; RPT files were not being generated for
toaster on Windows 11. Eventually it was narrowed to down
to direct3d driver specifically.

# Conflicts:
#	src/sdl/i_video.c
2022-09-05 15:25:12 +01:00
James R
fd3b045f80 Update libs/SDL2 to 2.0.22
# Conflicts:
#	libs/SDL2/COPYING.txt
#	libs/SDL2/WhatsNew.txt
#	libs/SDL2/docs/README-android.md
#	libs/SDL2/docs/README-linux.md
#	libs/SDL2/i686-w64-mingw32/bin/SDL2.dll
#	libs/SDL2/i686-w64-mingw32/bin/sdl2-config
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_assert.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_atomic.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_audio.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_bits.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_blendmode.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_clipboard.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_config.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_cpuinfo.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_egl.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_endian.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_error.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_events.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_filesystem.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_gamecontroller.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_gesture.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_haptic.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_hints.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_joystick.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_keyboard.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_keycode.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_loadso.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_log.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_main.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_messagebox.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_mouse.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_mutex.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_name.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_opengl.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_opengles.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_opengles2.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_pixels.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_platform.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_power.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_quit.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_rect.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_render.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_revision.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_rwops.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_scancode.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_sensor.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_shape.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_stdinc.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_surface.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_system.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_syswm.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_assert.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_common.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_compare.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_crc32.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_font.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_fuzzer.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_harness.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_images.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_log.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_md5.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_memory.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_random.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_thread.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_timer.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_touch.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_types.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_version.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_video.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_vulkan.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/begin_code.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/close_code.h
#	libs/SDL2/i686-w64-mingw32/lib/libSDL2.a
#	libs/SDL2/i686-w64-mingw32/lib/libSDL2.dll.a
#	libs/SDL2/i686-w64-mingw32/lib/libSDL2.la
#	libs/SDL2/i686-w64-mingw32/lib/libSDL2_test.a
#	libs/SDL2/i686-w64-mingw32/lib/libSDL2_test.la
#	libs/SDL2/i686-w64-mingw32/lib/libSDL2main.a
#	libs/SDL2/i686-w64-mingw32/lib/libSDL2main.la
#	libs/SDL2/i686-w64-mingw32/lib/pkgconfig/sdl2.pc
#	libs/SDL2/test/Makefile.in
#	libs/SDL2/test/Makefile.os2
#	libs/SDL2/test/checkkeys.c
#	libs/SDL2/test/configure.ac
#	libs/SDL2/test/controllermap.c
#	libs/SDL2/test/loopwave.c
#	libs/SDL2/test/loopwavequeue.c
#	libs/SDL2/test/testatomic.c
#	libs/SDL2/test/testaudiocapture.c
#	libs/SDL2/test/testaudiohotplug.c
#	libs/SDL2/test/testaudioinfo.c
#	libs/SDL2/test/testautomation.c
#	libs/SDL2/test/testbounds.c
#	libs/SDL2/test/testcustomcursor.c
#	libs/SDL2/test/testdisplayinfo.c
#	libs/SDL2/test/testdraw2.c
#	libs/SDL2/test/testdrawchessboard.c
#	libs/SDL2/test/testdropfile.c
#	libs/SDL2/test/testerror.c
#	libs/SDL2/test/testfile.c
#	libs/SDL2/test/testfilesystem.c
#	libs/SDL2/test/testgamecontroller.c
#	libs/SDL2/test/testgesture.c
#	libs/SDL2/test/testgl2.c
#	libs/SDL2/test/testgles.c
#	libs/SDL2/test/testgles2.c
#	libs/SDL2/test/testhotplug.c
#	libs/SDL2/test/testiconv.c
#	libs/SDL2/test/testime.c
#	libs/SDL2/test/testintersections.c
#	libs/SDL2/test/testjoystick.c
#	libs/SDL2/test/testkeys.c
#	libs/SDL2/test/testloadso.c
#	libs/SDL2/test/testlock.c
#	libs/SDL2/test/testmessage.c
#	libs/SDL2/test/testmultiaudio.c
#	libs/SDL2/test/testnative.c
#	libs/SDL2/test/testnative.h
#	libs/SDL2/test/testnativew32.c
#	libs/SDL2/test/testnativex11.c
#	libs/SDL2/test/testoverlay2.c
#	libs/SDL2/test/testplatform.c
#	libs/SDL2/test/testpower.c
#	libs/SDL2/test/testqsort.c
#	libs/SDL2/test/testrelative.c
#	libs/SDL2/test/testrendercopyex.c
#	libs/SDL2/test/testrendertarget.c
#	libs/SDL2/test/testresample.c
#	libs/SDL2/test/testrumble.c
#	libs/SDL2/test/testscale.c
#	libs/SDL2/test/testsem.c
#	libs/SDL2/test/testsensor.c
#	libs/SDL2/test/testshader.c
#	libs/SDL2/test/testshape.c
#	libs/SDL2/test/testsprite2.c
#	libs/SDL2/test/testspriteminimal.c
#	libs/SDL2/test/teststreaming.c
#	libs/SDL2/test/testthread.c
#	libs/SDL2/test/testtimer.c
#	libs/SDL2/test/testver.c
#	libs/SDL2/test/testviewport.c
#	libs/SDL2/test/testvulkan.c
#	libs/SDL2/test/testwm2.c
#	libs/SDL2/test/testyuv.c
#	libs/SDL2/test/testyuv_cvt.c
#	libs/SDL2/test/testyuv_cvt.h
#	libs/SDL2/test/torturethread.c
#	libs/SDL2/x86_64-w64-mingw32/bin/SDL2.dll
#	libs/SDL2/x86_64-w64-mingw32/bin/sdl2-config
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_assert.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_atomic.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_audio.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_bits.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_blendmode.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_clipboard.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_config.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_cpuinfo.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_egl.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_endian.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_error.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_events.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_filesystem.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_gamecontroller.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_gesture.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_haptic.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_hints.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_joystick.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_keyboard.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_keycode.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_loadso.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_log.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_main.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_messagebox.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_mouse.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_mutex.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_name.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_opengl.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_opengles.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_opengles2.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_pixels.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_platform.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_power.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_quit.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_rect.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_render.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_revision.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_rwops.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_scancode.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_sensor.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_shape.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_stdinc.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_surface.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_system.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_syswm.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_assert.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_common.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_compare.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_crc32.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_font.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_fuzzer.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_harness.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_images.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_log.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_md5.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_memory.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_random.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_thread.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_timer.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_touch.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_types.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_version.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_video.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_vulkan.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/begin_code.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/close_code.h
#	libs/SDL2/x86_64-w64-mingw32/lib/libSDL2.a
#	libs/SDL2/x86_64-w64-mingw32/lib/libSDL2.dll.a
#	libs/SDL2/x86_64-w64-mingw32/lib/libSDL2.la
#	libs/SDL2/x86_64-w64-mingw32/lib/libSDL2_test.a
#	libs/SDL2/x86_64-w64-mingw32/lib/libSDL2_test.la
#	libs/SDL2/x86_64-w64-mingw32/lib/libSDL2main.a
#	libs/SDL2/x86_64-w64-mingw32/lib/libSDL2main.la
#	libs/SDL2/x86_64-w64-mingw32/lib/pkgconfig/sdl2.pc
2022-09-05 15:13:45 +01:00
toaster
f07a65d015 Adjust x coordinate of "FREE PLAY"
Broken by new font, made sense to change it where that new font was most relevant
2022-09-05 14:46:46 +01:00
toaster
bca3ec7e5a Change the default highligh to Aqua, for consistency. 2022-09-05 14:00:26 +01:00
toaster
50314d21cb Since B can be used as a go back button as well, add it to the tooltip. 2022-09-05 13:53:52 +01:00
Sally Coolatta
bc538a066f Fast falling
E-Brake in the air for x4 gravity, at the cost of a tiny bounce on landing.
2022-09-04 21:21:25 -04:00
toaster
212907122b Repair shitsfree 2022-09-04 22:21:42 +01:00
toaster
0c4dca611d Hide Encore on the Gameplay Options menu if not unlocked 2022-09-04 22:14:41 +01:00
toaster
9d26fa2040 Fix the vertical position of %d ADD-ON(S) LOADED if there are a limited number of add-on results 2022-09-04 22:02:27 +01:00
toaster
49f7552009 Improve profile deletion further
- Also adjust cv_currprofile in PR_DeleteProfile, instead of half-heartedly outside
- Make it clearer if you're going to destroy your current profile
- Add an "[In use]" identifier to the menu's visuals
2022-09-04 21:44:39 +01:00
toaster
de5370b134 Fix the options menu on first boot bug.
- Was reproducible by spamming back button events during game launch.
- Caused by the way profile data was initialised - D_StartTitle was calling a function with too many side effects.
- In addition, never instantly skip the title screen when the above occours.
    - This would be enough to patch over the mentioned bug, but I made sure to solve it properly so it won't break when we touch this again later.
2022-09-04 21:08:44 +01:00
toaster
acd777a77a Significant work into the play-starting experience
- Take the weird extra mini settings menu out of the Online Host Game sequence
- Make sure to actively use the server variables in Match Race creation
    - Hides the Auto options for Encore and Kartspeed on the Match Race menu specifically...
    - BUT if you leave it at the default it'll secretly set them to Auto!!!
2022-09-04 20:14:30 +01:00
Sally Coolatta
01af5127c8 Improved pain then hit confirm sound
- The pain + hit confirm delay is done for all players, instead of only the damaged player.
- The player who got the hit also gets to hear their pain sound at full volume.
- Changed the code so that your hit confirm sound effect will no longer be interrupted if the player who got hit left the game.
2022-09-04 14:23:51 -04:00
toaster
8d938bef90 Add quick define-toggled testing apparatus to M_SecretUnlocked. 2022-09-04 15:53:51 +01:00
toaster
6544e95c01 Rework gamespeed cvar handling a little bit.
- Make the menu-only dummykartspeed and dummygpdifficulty cvars also affected by the unlock system.
- Master mode is currently behind SECRET_HARDSPEED, this can be changed later when we're seriously thinking about unlock progression.
- Complete forwardport of changes to cv_kartspeed from 1.4+, since I missed a spot previously.
2022-09-04 14:56:07 +01:00
toaster
1abfb2745a Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into new-menus 2022-09-03 22:26:28 +01:00
toaster
587f814ab3 Adjust some messagebox-related material.
- Fix an issue where if the last line of an M_StartMessage was the longest, the box width wouldn't account for it. (port from v1)
- Reduce length of some common error messages the Addons menu may produce.
- Add a warning for attempting to run .cfg files, since I absentmindedly overwrote ringconfig.cfg with kartconfig.cfg info while testing...
2022-09-03 22:01:40 +01:00
toaster
594748ba13 Addons menu refactor part 4
- Get rid of the temperature gauge, a relic from an age where the filenames you could fit in a packet controlled how many files you could load.
- Instead, add a file count to the bottom of the screen.
- Still a little ugly, but this menu is now SHIPPABLE.
2022-09-03 21:46:50 +01:00
toaster
26461d568c Addons menu refactor part 3
Search finally works again!
- Now uses a cvar which is copied into static memory to uppercase it, instead of a weird static string uppercased into zone memory.
- You have to scroll to the top of the menu to use it, one entry above the previous first file/folder/"UP...".
- Don't play menu sound if you've reached the end of an un-looping menu.
2022-09-03 21:15:23 +01:00
toaster
88f04da180 Addons menu refactor part 2
- Change M_DrawAddons to draw relatively, so that the height can be changed without consequence.
- Add an option to adjust the spacing of Addons Menu entries (currently unused, but could be explored later).
- Moved Search (still not yet functional) further up the menu.
2022-09-03 19:43:13 +01:00
toaster
8312f12d6c Addons menu refactor part 1
- Move M_AddonsRefresh out of M_DrawAddons - death to a HORRIBLE hack
- Use it as the tickroutine for the addons menu instead
- Behaves as before, possibly more consistent
2022-09-03 16:23:16 +01:00
Sal
1e9b95e546 Merge branch 'fake-bot-results-crash' into 'master'
Use mapobjectscale in K_FakeBotResults

See merge request KartKrew/Kart!658
2022-09-03 14:20:34 +00:00
Sal
1d661a6f9d Merge branch 'just-bot-things' into 'master'
More bot things

See merge request KartKrew/Kart!652
2022-09-03 14:20:12 +00:00
Oni
3f0e3709f2 Merge branch 'new-camera-defaults' into 'master'
Adjust default camera dist and height

See merge request KartKrew/Kart!657
2022-09-03 05:05:57 +00:00
toaster
139def0d3d Plug the last gap that allowed you to avoid selecting a profile.
There's no actual good way to handle the case of changing your skin, etc, maybe even various controls for a momentary test AND supporting profiles, so don't even try. Instead, let the game "pretend" you selected ttlprofilen to let it just about work.

This works because all the relevant cvars and controls still get saved to the config when changed... they just get written over when you select a profile. So if you haven't changed anything since your last successful launch, it is now functionally indistinguishable.
2022-09-03 00:19:03 +01:00
toaster
8946bf9e01 Refactor PR_ApplyProfile and its ilk
- Reduces copypasted code.
- Preperation for the next commit.
2022-09-03 00:16:41 +01:00
toaster
52c1cfd1cf Remove redundant settings -- PR_ApplyProfile does these for us! 2022-09-02 22:56:55 +01:00
toaster
cf25cf0da1 Clear menus if wiping from GS_MENU to GS_LEVEL/GSWAITINGPLAYERS
Catches a case that's never been relevant before -- now that you can open the console on the menu, map commands have newfound dangers to be worked around.
2022-09-02 22:37:40 +01:00
toaster
1aabde7d4f Let's not tip our hand too early. (Oversight when minimising boss material) 2022-09-02 22:19:03 +01:00
toaster
061eca773b Fix itemOn out-of-bounds event for Main Menu and its ilk.
Was caused by the following actions:
- Starting a game
- Going to the Options menu
- scrolling beyond the 4th entry
- Exiting to title screen
- Opening up main menu again
2022-09-02 22:05:11 +01:00
toaster
bcd9c7efba Fix circumstances the game restricts access to certain pause menu options.
Changed conditions -
- Switch Map and Addons on in-game pause menu
    - now restricted by !K_CanChangeRules(), which covers all singleplayer conditions
- Gameplay and Server Options
    - now restricted if in-game, and either singleplayer conditions or not admin
- Erase data
    - now restricted if in-game at all (fixes new-menus regression)
2022-09-02 21:55:29 +01:00
SteelT
c95fed770e Fix the path of srb2home not being taken into account when loading the last IPs joined log file 2022-09-02 15:25:57 -04:00
toaster
5c4ff2ead0 Rewrite Profile saving and loading
- Previous implementation used fopen, fwrite, fread, etc.
- Instead, use the byteptr.h macros to/from a buffer, performing IO all at once before/after.
- This way, if we do something unrecoverable mid-write, we won't corrupt the user's profile.
- Also cross-endian compatible AND now capable of supporting changes in the struct.
- Sadly not back-compatible. This should be the last time we destroy the team's existing profiles...

Also, modify a typo in a gamedata error this system used as reference.
2022-09-02 19:38:54 +01:00
toaster
86b1e57f32 Permit KEY_ESCAPE to close the typing view as well.
Preparation for reworking Addons menu -- I have been caught in these virtual keyboard popups without remembering how to escape a little too often for comfort.
2022-09-01 21:58:39 +01:00
toaster
36797e6bde Change the text for skipping charsel with profile info
Used to be "CHANGES? No/Yes", but that was confusing.
Now "READY? All good/Change" (had to be adjusted from discussed text to fit in the space, even with thinstring)
2022-09-01 21:32:18 +01:00