• v7.1 0be25bd362

    alufolie91 released this 2024-10-20 15:07:08 +02:00 | 5062 commits to Saturn since this release

    Features

    • Added "showdownloadprompt" cvar to automatically skip the download addons prompt on server join when addons are needed to be downloaded
    • Added a console shortcut to "map" command for choosing a random map "map ?"

    Added new music features

    • "keepmusic" -- dont restart the current music when restarting the map
    • "skipintromusic" -- skip the intro fanfare/encore droning sound and play music instantly on mapload
      *This stuff is also in advanced sound options menu

    Improvements

    • Make "skin" command behave more like the "map" command (ex you can now only type "skin klonoa" instead of "skin klonoa_lunatea")
    • Unify texinputs in the game (so things like text boxes are able to handle shortcuts like copy paste etc)
    • Refactored TTY input handling (CTRL + D now shuts down the game, etc.)
    • Expose replay freecam to lua as "replayfreecam"
    • Completely hide director toggle text after 13 seconds and after 4 seconds in replays
    • Also hide the text and disable director when theres only one player in game and youre watching them (ex time attacking)
    • Precalculate automap and minimap icon bounding box on mapload instead of every frame
    • Readd optimizations to OpenGL Sprite sorting and Polyobject sorting
    • Added a toggle for the water ripple effect "waterripples" (only the Effect on planes not the screen effect)
    • Optimized "Blank" and "Storm - no rain" weathers (PRECIP_BLANK and PRECIP_STORM_NORAIN / weather = 4 & 5)
    • Let SOC header also be able to set PRECIP_BLANK / weather = 4 to preload weather mobjs on mapload
    • If corrupted save received from server, leave netgame

    Some improvements to gamestate resending

    • Things which should make it alot less likely for you to end up off course -
    • Send ticcmds while youre in a desynched state (client will now still send inputs to the server while in desynched state)
    • Set camera angle to approximate where you intend to steer
    • camera subsector will be set to the proper subsector

    Netcode Fixes

    • The client will now send a packet on join to identify itself as running on Saturn, to ensure the right synch code can be used before desynching first (should also prevent server lag on mass desynching)
    • The server now checks if the gamestate is currently being resent to someone using Saturn and skips synch checks until the gamestate is resent to that node to prevent server lockups and lag
    • The server now wont pause when a Saturn player is resynching (mass desynchs where non saturn players desynch or just non saturn players will still cause the server to pause/lag)
    • Prevent PlayerJoin hook from always rerunning when resending gamestate (prevents spam and issues on resynch)
    • Prevent Mapload triggers from always rerunning when resending gamestate (prevents spam and issues on resynch)
    • Prevent some debfile spam when players try to join server during leveloading
    • Attempt to fix a lua panic when unarchivieng extvars (print error to console instead. Not sure if it would be safe for game to read from save afterwards though)
    • Add few checks to prevent game crashing if netgame archive becomes corrupted
    • Fix gamestate resend counter never properly resetting (on rejoin whoever got the node of whom got kicked before had less chances for getting the gamestate resent lol)
    • Prevent some SOCK_Send crashes from occuring in bad netconditions
    • Prevent a division by zero in curl

    Fixes

    • Skip map marker files in vres_getmap (some addons didnt use real markers but random files for markers, which could make the game crash if it is a png for example)
    • Fixed an issue that caused precip (weather effects) to spawn alot more often than it should, resulting in very bad performance on certain maps
    • Fixed an issue that caused some sounds with origin to not play (ex. shatterblocks)
    • Fixed some issues with replay rewinding
    • Hide the driftgauge when using replay freecam
    • Hife the "viewpoint" text when using replay freecam
    • Fixed replay camera interpolation when the replay is paused
    • Make "showdirectorhud" actually save
    • Fixed director still running and trying to switch your view while using spectator or when using replay freecam
    • Only allow director toggling with button when youre actually specating someone (prevents toggling director midgame lol)
    • Fixed Main Menu / HUD interpolation not working on some conditions
    • Prevent a potential overflow when holding controller dpads in menus
    • Fixed "inaccurate" fps counter not behaving like vanilla karts fps counter and thus being too accurate
    • Load mappalette before loading mapdata (maybe finally hopefully mitigates the vb raceway issue on non palette rendering ogl lmao)
    • Fixed a small bug in OpenGL Palette Rendering for fog block brightness (now it should match up with software renderer)
    • Fixed some issues with OpenGL shearing ("software perspective")
    • Fixed a crash in software renderer sprite drawing
    • Fixed laptimes for laptime flash not resetting if you spectate midround
    • Fixed issues that prevented certain birdmod music features from working without restarting the game when "cv_birdmusic" was toggled
    • Fixed some memory leaks regarding G_BuildMapTitle
    • raised MAXVIDWIDTH and MAXVIDHEIGHT to 5210 and 2880 respectively so it doesent overflow on resolutions higher than 1440p
    • Fixed some compiler warnings when compiling with an old sdl version
    • Fixed TTY converting everything to lowercase
    • Fixed TTY having insane input lag

    Full Changelog: https://github.com/Indev450/SRB2Kart-Saturn/compare/v7...v7.1

    Downloads
  • v7 0544811c7d

    alufolie91 released this 2024-09-15 13:14:12 +02:00 | 5239 commits to Saturn since this release

    After much work we finally release version 7 of Saturn!
    Probably the biggest update yet!
    Huge thanks once again to all the Contributers!

    Features

    • Added Gamestate resending instead of vanilla resynching when both Server and Client are on Saturn v7+ (the one from Saturn 32player build/Dr. Robotnik's Ring Racers). If a non-Saturn user join, or one below v7, the vanilla resynching will be active for that user
      *This doesn't mean EVERYONE in the room have to be on the latest Saturn! If you are, and the server is, it is active! :)
    • Added Saturn specific identifier in Serverpacket so server can determine on connect if client is Saturn (can be useful for custom Saturn-unique features such as applying only joinblock for non-Saturn users)
    • Added hidden cvar to allow/prevent Saturn clients to join, can only be set with CV_StealthSet, otherwise "allowjoin" changes its value accordingly
    • The Replay menu now has a search function similar to the addon menu!
      *When having many replays it have to load them all for a little. Please be patient!
    • Lua Hud Interpolation (see LUASTUFF for more information) many thanks to GenericHeroGuy
    • Spectator mode now got a "Director" similar to the one found in Dr. Robotnik's Ring Racers
    • Allow Controller dpads to scroll through menus by holding a button
    • Add support for Flipcam in encoremode
    • The Game now supports Controller rumble, this has been exposed to lua aswell ("G_PlayerDeviceRumble", takes 4 arguments = Player (Displayplayer), low rumble motor strenght and high rumble motor strenght and duration in ms (optional, default is 84 ms))
    • The Game now sets the Controller LED on supported controllers to your player colour or the player you´re currently watching, this can also be changed per lua ("G_SetPlayerGamepadIndicatorColor", takes 2 arguments, Player (Displayplayer), and skincolour, must be called continuesly)
    • Added a "Lagless" camera option, which should remove any camera lag in netgames (Toggable from Saturn options)
      *Note this is prone to camera stuttering in poor net conditions/very high ping
    • Add delayed hit em sound (like in RingRacers), togglable via 'karthitemdialog' cvar
    • Added an option for the camera lookback feature to inherit the players momentum (or double of it) which mitigates issuess like the player going "into the camera" when boosting and looking back
    • Added toggle for showing speedometer in battle to Saturn Hud Options
    • Added an option to scale weather with mapobject scale (to make sure weather is always similar dense on all maps) may make some maps run significantly worse or better hence its a toggle
    • New opengl lighting mode "Dithering" ("gr_lightdithering") which should smooth the harsh cuts in lighting on opengl (the "box effect" as some may call it)
    • Add ctrl-w (delete word), ctrl-left (move to word beginning) and ctrl-right (move to word end) shortcuts for console
    • The timer now can show your Lap Time when doing a Lap
    • Add option to play power items sfx for growmusic and supermusic
    • Players can now connect during offline play with servers per console
    • Added a way to count number of handled packets (for debugging) ("packetstat" command)
    • Added a Serverjoin hook which only runs once you joined a Server
    • Levelselect now lets you switch encoremode on the fly by pressing the item button
    • Added a setting to enable the old Srb2 Kart beta intermission
      *This can be found in Saturn Options > Saturn HUD > Beta Intermission

    Improvements

    • "map" command now saves replays when you have auto save enabled, this is toggable from the replay options menu
      *Can choose to only apply between changing to a different map or also including restarting the same map
      **The Game (which you just lost) will only save a replay when you atleast been in the map for 35 seconds to reduce replay clutter
    • Using "connect" command or "connect to last server" now should also make the game aware of server name (needs both the Server and the client to be on Saturn v7+)
    • Changing the skin per console cvar to an invalid skin now doesent change your skin to Sonic but keeps your current skin
    • Saturn menu has been reworked and split up, now has a "Saturn Hud" submenu which automatically forces the hud to show ingame, so you can adjust your hud more easily
    • Added a camera option menu, to properly set up your camera without knowing random cvars from the console
    • Cleaned up and renamed experimental Video Options to Advanced Video Options menu
    • Removed a bunch of fix toggles for opengl as the performance difference from having them off is pretty much nonextistent (cleans up code and removes a crapton of unneccessary conditional checks for stuff noone ever turns off anyways + declutters the menu)
    • Custom Hud Offsets now dont apply to splitscreen to make the hud less of a visual mess by default
    • Stat Display now looks alot better in any splitscreen mode
    • Mitigate Dynamic Slope desynchs by running them before other thinkers when joining a netgame for a single map
    • Autoloading has been changed and will now only add files on initial levelload (should hopefully prevent issues when joining a server with lua´s and SOC files autoloaded)
      *NOTE: due to this, autoloading things that changes visuals and other on the main menu will not work at startup anymore, so use KARTEXEC for those
    • Bird´s Screen tilting has been completely reworked to work more similar to the one from RingRacers (smoother tilting etc) and also has been exposed to lua "player viewrollangle"
    • The game now automatically makes a backup of your Kartconfig before writing to it (so you have a backup just in case the game wipes it due to some issues)
      *This is saved as kartconfig.cfg.bak in your Srb2 Kart folder
    • fix glib preallocating too much space for sound freeslots (massive decrease in ram usage)
    • limit localskins to 32 max (more decrease in ram usage) and remove some unused arrays relating to it (also lowers ram usage)
    • Dont unecessarily cache unused textures (results in a MASSIVE decrease in ram usage)
    • Reworked levelloading code to make it safer and faster (especially on reloading the same map). Also fixes some issues with keepmapmusic addon)
    • Map data lump interface (fixes many issues with maploading, mapload crashes, faster maploading, etc.)
    • Fake/Slope Contrast now gets precalculated on mapload instead of every frame, should give some performance improvements
    • optimize levelloading on maps with polyobjects by not iterating every sector on the map 3 times everytime
    • Slope Contrast has been adjusted and should look better now with standard Fake Contrast setting
    • Basic frameskipping system (when the game logic falls behind the game will skip some rendering frames)
    • Don't traverse the entire HOME directory to find wads (should fix the game taking very long or sometimes getting stuck on startup)
    • Cache pk3 central directory and Refactor ResFindSignature to work in chunks, should speed up pk3 loading slightly
    • Added a few more drawdistance settings similar to Dr. Robotnik's Ring Racers
    • Sprite drawdistance now takes mobjscaled maps into account
    • Weather effects have been heavily optimized and now dont use thinkers anymore
    • Changing any of the weather options will automatically resspawn all precip to make changes take effect instantly while in level
    • Min Value for audiobuffersize has been lowered to 256 for even less audio "lag" if desired
    • Added audiobuffersize entry to "Advanced Sound options"
    • Don´t always reset texture depth in Opengl
    • SDL: only react to window focus changes if state actually changes
    • Only call the Lua API for overridden actions
    • Optimize field lookups in Lua metatables
    • Make sfxinfo_t and state_t use field tables too
    • Store hooks in a table with integer keys instead of registry with string keys
    • Lua_optoption shouldn't change stack state at the end of call now
    • Alot of minor optimizations to the code
    • Smaller optimizations to Interpolation
    • Smaller optimizations to Opengl batching
    • Ensure Z_Malloc provides same alignment as libc
    • Do not run ST_Ticker if dedicated
    • Software renderer optimizations:
    • Raised floors or lowered ceilings that take up the whole screen no cull BSP properly; essentially making them behave like thokwalls improving performance in many cases
    • Optimizations to R_DrawRepeatMaskedColumn
    • Fixed rendering issues with Papersprites in software renderer
    • Split sprite draw loops in two for improved performance in software renderer
    • Fix linux not using hardware accelarated SDL_Renderer for software renderer context (should result in speedup)

    Fixes

    • Fix chat messages not displaying in console
    • Fix 1LUA_EvalMath1 warnings being broken sometimes (should fix those weird garbage warnings and make them proper output whats wrong)
    • Prevent Dedicated Servers from being able to use Exitgame command, and thus going out of a level
    • Alot of fixes for green resolutions for menus (thx neppy c:)
    • Draw a Black Screen during wipes when Screen Texures are disabled instead of flashing white screens.
    • Screen FBO should turn off automatically when you turn off screen textures as it relies on them to work
    • Cleaned up and fixed alot of isssues regarding fbo/downsampling from higher resolutions
    • Paletterendering should also turn off automatically in the same case
    • Use a flexible array for columnofs in patch_t to prevent oob array access in patch drawers
    • Add check for if lua state exist in UnArchiveExtVars, since server can have local luas that may add player/mobj fields into savegame
    • Refactored and cleaned up MusicTest code
    • calloc soundchannels insteal of mallocing
    • Mitigated some issues with MobjScreenCoords in 2 player splitscreen with shearing enabled/software renderer
    • Use Z_Calloc to allocate wadfile_t to avoid having uninitialized fields
    • Dont draw precip/weather in skyboxes in opengl (just like software)
    • Dont reload palette until kartconfig was loaded (should fix some random crashes at startup in opengl)
    • Fix sprite shadows (not the normal kart mobj shadows) in paletterendering mode
    • Fix custom shader compilation on linux
    • Fix a crash in software renderer lighting calculation
    • Reverted some windows specific timing stuff as it occasionally messed with sound
    • Fix the intermission screen glitching out on higher resolutions and with hud interpolation enabled
    • Fix HAVE_CURL, HAVE_THREADS and Masterserver ifdefs
    • Prevent a crash in Opengl bsp rendering code
    • Prevent a crash for dedicated servers in P_TryCameraMove
    • Prevent dedicated servers from running HWR_RenderPlayerView
    • HMS_fetch_rules: Return NULL if the curl connection failed, instead of producing garbled rules (should hopefully finally fix the MS crash on startup)
    • Try to prevent potential infinite SIGARBT hang in signal handler
    • Fix potential crash on nix while quitting
    • Fix sound falloff calculation overflow
    • Fix a few buffer overflows (lmao driftgauge)
    • Always use system-specific path seperator (should fix some wad loading issues on Windows)
    • Some general code cleanup
    • Added workaround for issues with Nvidia gpus on linux XWayland with screentextures enabled (needs a gpu capable of framebufferobjects)
    Downloads
  • v6.2 443905ffb3

    alufolie91 released this 2024-05-20 13:05:57 +02:00 | 5874 commits to Saturn since this release

    This build should hopefully address all the regressions introduced in v6

    IMPORTANT NOTE:
    If your GPU does not support Opengl 3.0 or crashes on startup (which hopefully shouldnt happen) in OpenGL mode
    or simply aint interested in the feature
    Use the non FBO version!

    • Optimization to Weather Rendering, now it actually should perform better with shorter precip distance (Render Weather through the Blockmap instead of BSP traversal;also made precip distance be properly affected by mobjscaled maps)

    • Fixed some issues with FOF rendering (Laboratory Takeover from Assault Pack should look normal again;No more weird Fog)

    • Add IT_CV_BIGFLOAT to use bigger increment for some CV_FLOAT cvars (FOV and Driftgauge offset from the menu now wont take ages to change)

    • Dont call menu drawer in wipes on dedicated servers (fixes a rare crash)

    • Fix a possible overflow in va function (should prevent some crashes)

    • Fix some issues with CV_FLOAT cvars / For MIN/MAX value of cvar, convert it to float before saving for CV_FLOAT variables

    • Fixed a rare crash with weather

    • Disabling screen textures now will also disable Palette rendering if its enabled, to prevent visual issues from occuring

    • Multiple smaller code fixes

    • Fixed cmake building (hopefully)

    • Made FixedRem function more performant

    FBO BUILD ONLY

    • Support to downsample from a higher resolution than your current display resolution in OpenGL using Framebuffer Objects
      Note: This requires a GPU that atleast supports OpenGL version 3.0
      Compile Note: by default this feature is enabled to be build with the game, using the NOSCREENFBO compiler flag will build without support for OpenGL downsampling

    Thanks again to everyone who helped making Saturn to what it is now, and also thanks to everyone who enjoyed our work!

    Downloads
  • v6.1 e0d0120337

    Indev450 released this 2024-04-05 21:12:23 +02:00 | 5877 commits to Saturn since this release

    • Added a "Wipes only" option to the Screen Textures toggle to restore pre v6 visual behaviour while retaining the performance benefits (before v6 the toggle did not disable those, despite being screen textures too)
      *v5.1 and before's "OFF" setting now translates to the "Wipes Only" setting
      *toggling them to "OFF" may cause the game to flash a white screen sometimes
    • Fixed some issues with native keyboard layout; specifically shift and capslock behaviour
    • Fixed an issue with 3D models crashing when switching resolutions with them active
    • Downgraded SDL2 libs on windows to v2.28.5, this fixes some issues with music and music changes - Please update your DLLs again!
    • Gamma settings now behave like before v6 unless you change any of the colour correction settings from default; thus fixing issues with raised gamma settings looking visually a lot different than before
    • (hopefully) fixed a random Z_CheckHeap crash
    • Fixed small memory leaks
    Downloads
  • v6 8b72cc6b01

    alufolie91 released this 2024-04-01 19:07:09 +02:00 | 5901 commits to Saturn since this release

    NOTE: Due to instabilities do NOT update your SDL2.dll for now

    Features

    • Added an in-client Nametags and Driftgauge + a function to get screencoordinates from mobjs (thx fafabis, ghg and nep)
      *You can change its settings in Saturn options > Nametags / Driftgauge

    • Reworked the player/sprite rotation system, now all things can rotate on slopes (example bananas and orbis) (thx chearri c: )
      *This also fixes the visuals when looking back and the rotated sprites looking wrong in splitscreen
      **This is toggable, and can be changed in Saturn Options > Sprite Distortion

    • Support for native keyboard layout, toggable (works only for textinput not game control)
      *You can enable or disable this in Saturn options

    • Added in-build system for keyboard layouts like AZERTY
      *This can be found in Saturn Options > Keyboard Layout

    • Title screen graphics, HUD elements, as well as multiple other things such as the "FINISH" graphics and map titlecard now support interpolation

    • Added the ping display from kart v1.0/Srb2

    • Added the fps counter from kart v1.0/Srb2

    • Added back old fps counter behaviour (the more accurate but faster one is toggable with "accuratefpscounter on/off")

    • A new menu which includes all cvars for every lua you have currently loaded (thx srb2)
      *You can find this in options > Custom Options

    • "highreshudscale" to change scaling of the game/hud on resolutions higher than 720p (this may have visual bugs so use at your own risk)

    • Added lua functions for hud customization (hud offsets getter, itembox drawer, hudcolor getter, etc) (thx ghg)

    Improvements

    • A lot faster and less stuttery http downloads (also thx srb2)
    • Massive performance boost for the opengl renderer due to faster sorting algorithms and better clipping code which actually takes your real viewpoint into account
    • A lot of optimizations regarding interpolation (things that dont move/change dont interpolate now until they actually need to)
    • Added a lua globals library/glib for alot better lua performance
    • Expose debug library to Lua
    • Reworked the Palette Rendering completely, it is now based on the same newer code from srb2 (credits hannuh hanni)
      *This fixes alot of inaccuracies, makes performance better, and makes the code a lot less hacky and easier to work with
    • Reworked all gamma things, added colourcube. this allows for better gamma and colour control both in opengl and software
    • A lot of issues and inconsistencies regarding encore visuals in opengl have been fixed "parity" with softwares intentional encore behaviour
    • Raised vissprite limit to 4096 and precip distance on 64bit builds
    • Added transparency support to DrawFill (for stuff like transparent nametags/driftgauge etc)
    • Hide ping and fps counter when you hide the hud
    • Added the background for the 4th screen in 3 player splitscreen for opengl (yes it is supposed to have a background but it only worked in software before)
    • Make custom buttons bindable to joyaxis (triggers and such)
    • Made help command working again (now uses find when using it)
    • Software support for tilted water ripples (water ripple effect on slopes, which previously only worked in opengl) and some plane drawer optimisations
    • When the game crashes, the crash window now tells you where the crash logs have been placed
      *If you do experience crashes, do report it to us
    • Backtraces created with libbacktrace now contain the mapid on crash
    • I_errors now also produce entries in the crashlogs, making it easier to track down the cause
    • Added a toggle to completely disable all sprite rotation features (Performance increase when fully turned off)
    • Added v.getSpritePatch from srb2, this allows to draw object sprites and rotated objects sprites in the hud (ty again chearri c:)
    • Added some "snapto" flags to various hud elements to ensure they always stay at the right place on any resolution
    • The speedometer option menu now only shows the options for things you have loaded (ex. if you dont have the p-meter patches loaded it does not show the p-meter as an option)
    • Fix drift sound keep playing when player go off ground
    • Changed the failed to spawn mapthing warning to warn you that it crashes non-Saturn users; it is critical to fix this in your map if it occurs!
    • Reworked the opengl render batching system to use srb2's, this seperates it from "unrelated" things, allowing for some other neat effects in conjunction with the new palrender code.
      also makes the code in general easier to work with
    • Refactored and cleaned up Opengl portal code (credits haya)
    • Refactor screen textures (for a better menu fadescreen background which looks like software ones)
    • Fix OpenGL Software perspective being a bit off vertically
    • Refactored localskin command (now everything should work as intended)
    • Use windows own high resolution timer on windows systems for potentially more stable vsync, fpscap, frametimes, among other things
    • add "showspecstuff" to show a more info for specting players on vanilla scoreboard (like ping)
    • A LOT of code cleanup, removal of unused leftover code, etc.
    • Changed speedometer patches and added a new option "achii" which adds the speedometer seen in the new hep client courtsey of achiiro aka junioMitsuo
    • aswell as added support for a 80x11 patch which gets scaled to size, to allow high resolution speedometer patches ("SP_SM3TC" or "SC_SM3TC" for colour), the game checks for an extra3.kart file which you can use for custom huds
    • Added some more toggles to experimental video menu (mostly toggles for bugfixes which may reduce performance)
      *Experimental options can be found in Video Settings > Experimental Options

    Fixes

    • Fixed some inconsistencies between opengl and software renderer encore mode
    • Fixed issues with the Palette Rendering water shader
    • Fixed an overflow in R_DrawRepeatMaskedColumn (this fixes the dreaded software renderer "crash" in Marsh's Marble Zone)
    • Fixed some issue with the pause menu order especially for server admins
    • Fixed highres skins being the wrong site in the "waiting to join" screen
    • Fixed ogl "software perspective" y-shearing issues with flipcam
    • Fixed wrong offsets for some things when using the compact fps counter option
    • Fixed an issue where the game didnt load vanilla musicdef when you started the game with sound turned off
    • Fixed some tooltips for green resolutions
    • Fixed an issue where the game tried to addfilelocal the same things if they were already loaded
    • Fixed and cleaned up some shaders
    • Fixed some issues with the vhs effect when using uncapped (its not interpolated anymore now which ensures it always plays at the correct speed)
    • Fixed up alot of issues with texture caching in opengl making the game less stuttery (ex. old version of zero space doesn't kill the game now anymore)
    • Fixed some issues which may caused the game to crash sometimes when the master server was unreachable (thx ghg)
    • Fixed battle mode sometimes playing the wrong music on round end
    • Fixed linedef type 10 (culling plane) not culling FOFs in opengl, which is useful for optimizing maps
    • Fixed issues with autoload / makes autoloading characters being forced to postload to prevent crashes while still being able to use them as localskins
    • Fixed weather not being interpolated in opengl mode
    • Fixed a crash when pasting text into chat/console (hopefully)
    • Fixed some visual issues with freelook (speccam etc.) on opengl with shearing enabled
    • Fixed up the "precache sound" option
      *Now it does things and may eliminate sound stutters (note this makes kart use A LOT more ram; 64bit client recommended)
    • Fixed up alot of internal code warnings/issues
    • Fixed a lot of crashes related to mobj things
    • The mousewheel or any other button other than "brake" or escape now wont exit the server loading screen / download screen
    • Lightlevels in palette rendering now are clamped to software levels, making light fades especially more accurate to software
    • Removed gr_vhseffect toggle as vhseffect toggles it anyways
    • Fix crash when passing a long string to v.drawString
    • Don't traverse the entire HOME directory to find wads
    • Fix buffer overflow when loading addons through symlinks
    • Fix buffer overflow in SV_SendPlayerInfo
    • Pass -fwrapv to GCC compilation flags
    • Fix /unlist request
    • Fix translucent fof alpha breaking sometimes
    • Reset sound channel origin in s_stopchannel to fix some memory leaks and potential sound issues
    • Fixed camera resetting from spectating not working for splitscreen players
    • Manage Opengl textures with an internal list, which fixes a few issues when freeing them especially (fixes the game locking up with malformed masterserver address)
    Downloads
  • v5.1 ca47e2edb7

    alufolie91 released this 2023-12-20 19:28:16 +01:00 | 6528 commits to Saturn since this release

    Features

    Added a proper Water Shader for palette rendering mode (now water actually looks good)
    Shader lightning should be more accurate to software renderer now
    Added missing things to the Saturn options menu
    Only warn about custom master server when failed to connect to it
    Don't print discord username in streamer mode at all

    Improvements / fixes

    Fixed a crash in battle mode
    Fixed crashes caused by the game freeing patches even if it shouldn't
    Fixed Pause menu things overlapping when you're Server Admin
    Fixed some menu options not being greyed out when they should've been
    Fixed a typo
    Fixed an issue with the palette postprocess shader

    Downloads
  • v5 040faa4c1c

    alufolie91 released this 2023-12-17 13:29:45 +01:00 | 6545 commits to Saturn since this release

    Features

    • Replace backtrace library for Unix/Linux and 64bit Windows builds with libbacktrace, crash-logs are now printed to "srb2kart-crash-log.txt"; finally Windows 64bit builds print crash-logs and the crash-logs on Unix based systems are more useful, aswell as builds which include debug symbols now also print the exact line of where a function crashed (no new Dll´s for Windows needed; "exchndl.dll" and "mgwhelp.dll" are not needed anymore on 64bit Builds)
      *32bit Windows builds are unchanged, they print RPT files as usual
    • Added a statdisplay, shows your current character aswell as its stats (also works with restat)
      *Credits to Darkybenji for inspired looks
    • Added the "P" speedometer from KartZ
    • Added Pause VHS effect in OpenGl
    • Add "extended" player setup menu, based on Grid menu but show more skins and replaces the stat grid with Speed + Weight bars many thanks to NepDisk and Scizor
    • Added a musictest
      *This is found in Options > Sound Options
    • Added MUSCINFO Musicdef (optional) which lets you add Author and Alternative Titles of Music, to be used and seen in the Musictest
      *Sample file included in extra.kart (many thanks to haya c: )
    • Added "Auto Load" which lets you load certain Addons automatically and locally on Game start or on Server Load if you specified it to be Postloaded (this creates an autoload.cfg file in your Kart folder to remove things you dont want to autoload anymore or add postload parameter)
    • Simply hit the right Shift key on the addon you want to autoload, if you want to postload simply add "postload" before the filename in your autoload.cfg file
    • Added Mouse controls
    • Added in a "compact" FPS counter option aswell as "compact" ping display option
    • Vanilla tab ranking screen now shows current map instead of current gametype
    • Redone the Saturn menu and HUD offset menu; they now scroll and look less squished
    • Also added Tooltips to the menus; now everything in there is neatly explained to you! (Thanks haya and Nepdisk c:)
    • Add a toggle to let music play when the game is paused
    • Add "find" command to search for cvars/commands in console
    • Add "skinsearch" command, which lets you search for skins
    • Add shortcuts for current/next map to map command; "map *" to reload current map and "map +" to goto nextmap if its specified in the map header
    • Added perfstat pages for pre and post Thinkframe
      *This is found using perfstats 4, 5, and 6 in console
    • Added a toggle to hide players ip addresses when using node/listplayers command
      *This was made for server hosts that stream/record their footage
    • Add option to masterserver_debug to not print verbose debug messages in console (errors are still printed)
    • Now all mobjs can be replaced with localskins from lua (makes adding addon support much easier)
    • Added support for SPRINFO, lets you change rotation pivot points for sprites (useful for big skins which sometimes look off when rotated 90 degrees or more)
    • Added support for V_DrawStretchyFixedPatch in lua
    • Added horizontal flipping of sprites ("FF_HORIZONTALFLIP" & mobj->mirrored) useful for encore mode things that you dont want to be flipped
    • Added "slopecontrast", similar to wallcontrast but for slopes; makes them more stand out
    • Added alot of toggles to experimental video options (pretty much for all fixes we did to opengl; test out if you may experience performance issues)
    • Added some missing toggles to Saturn options

    Improvements / fixes

    • Apply Hud translucency to "Viewpoint" text
    • Added a global toggle for all Birdmod music things
    • Added a toggle to cut weather in half, thus reducing the amount of thinkers significantly
    • Made Tracker module (OpenMPT) music volume more accurate
    • Mipmap filtermode in Opengl on Windows should be now alot less stuttery
    • Optimized sprite rendering by ignoring completely occluded sprites; improves performance in software mode in some cases (r_spriteclip "on/off", its on by default)
    • Optimized opengl gif recording
    • Optimized Polyobjects a bit
    • Optimized software drawers a little
    • Speed up file loading/searching performance on unix systems (linux etc)
    • Use nanosleep for I_SleepDuration on Unix/Linux systems; helps with uneccessarily high CPU usage when capping the framerate
    • Fix Localskin "apply to displaying player" and "apply to everyone" actions not working
    • Hide Localskin menus from the pause menu when youre host or in offline play; those now only show up if you are a joiner in a multiplayer session
    • Also added a toggle for showing localskin menus "showlocalskinmenus yes/no"
    • Fix interpolation issues in localskin setup menu; make the rotating player respect the rotation speed setting from Saturn options
    • Rework how localskins display hud things internally
    • Fix an issue which prevented you from closing a warning screen when you load an addon with errors
    • Fix the "Player stretch factor" function not saving when on MIN or MAX
    • Fixed 3D models not respecting the sliptide settings
    • Fix Players in Software renderer not respecting the sliptide settings
    • Fix Record Attack Ghosts not appearing
    • Fix pglTexImage3D crashing some people (even if they dont use the paletteshader)
    • Fix alot of issues regarding Paletteshader, esp it being still somewhat active when you have it disabled, or that you can enable it even if your PC does not support Shaders
    • Fix yet another crash in FixedDiv (fix a crash when it tries to devide any number passing -2147483648)
    • Fixed issues with colourized hud sometimes not respecting your choice and sometimes resetting to no color in Record attack menu
    • Fix colourizedhudcolor still changing things even when colourized hud itself was disabled
    • Fix offsets for itembox not properly moving the item numbers
    • Fix the character "box" in the playersetup menus being slightly offcenter
    • Fixed issues with the pause menu looking a bit off
    • Fixed an issue were the wider lap sticker still displayed when finishing a map and looking odd
    • Prevent FOFs with transferline flag and many linedefs from randomly crashing (now Bionicle SkyTemple wont crash anymore randomly)
    • Fix to sprite squishing and stretching on mobjscaled maps
    • Fixed the simulated OpenGL "Flashpals" not displaying with specific settings (ex: the "white flashes" when entering a teleporter)
    • Fix the "ping" console command showing the wrong milisecond ping for yourself
    • Fix shadow mobj thinkers crashing the game at random on mapload
    • Fix alot of issues with Paletteshader
    • Fix older systems potentially displaying a white screen when enabling the "Paletteshader" option
    • Fix a small issue with spritescales when joining a netgame
    • Fix issues with horizonlines on maps with portals
    • Fix unitialized reads in "PreparePolygon"
    • Fix up HWR_Splitwall yet again
    • Fix "NOHW" and "NOOPENMPT" compilation
    • Fix "NOTHREADS" compilation
    • Reverted changes to R_PointOnSegSide as it potentially couldve harmed performance instead of improving it
    • Reverted "Port Prevent dropped ticcmds due to interp timing jutter" due to it potentially causing stutters or worse performance in some cases
    • Alot of internal Code cleanup/Refactoring
    • Removed some unused leftover files
    • Removed birdmods screen shake feature (more of a thing i want to test smth, if theres enough demand however it will be readded)
    Downloads
  • v4 ee2bc85fe7

    alufolie91 released this 2023-10-31 17:44:26 +01:00 | 6816 commits to Saturn since this release

    ### Srb2 Kart v1.6 Saturn Version 4

    Features

    Added colourized Hud. Either follows player skin colour or user changeable
    *This can be found in Options > Saturn Options > Colourized HUD
    Added Lua fields for localskins
    Added the option to show hell maps in the normal levelselect screen for hosts or administrators "showallmaps yes/no" in console
    Added toggle to disable stagetitles "maptitles on/off" in console
    Added toggle to disable cecho messages "show_cecho on/off" in console
    Added a toggle to disable weather interpolation since weather basically looks the same uninterpolated and it improves framerates a bit "precipinterpolation on/off" in console
    Added a cvar to change the audio buffer size for sdlmixer, so you can have less lag for audio, or if you had issues with distorted sound you can raise it buffersize "1024", ["2048" default], "4096" in console
    Interpolated the console animation
    Added a new menu option to rejoin the last visited server, which saves between reboots
    *Demonstration: https://streamable.com/d4mlwb

    Improvements / fixes

    Added a lump check for the extra.kart files, so if theres something missing from them (or the wrong ones are loaded) the game now disables the corresponding functions itself
    Fixed alot of sound related issues (sound sometimes not being reactivated from game unfocus, game not switching on sound after being started with sfx and music turned off, the sound menu toggles looking weird)
    Added new lap graphics for maps with 10 or more laps since it previously overlapped (biglaphud "on"/"off")
    Refactored Shader Code: also fixes an issue where the game would crash if your GPU didn't support shaders instead of just turning them off and displaying a warning
    Added support for hud offsets and small minimap icons to libd_drawonminimap
    Console history now no longer adds an entry if the previous entry was identical
    Fixed some opengl renderer things resetting when switching from openggl to software and back
    Removed all ASM code. (asm software drawers, fixeddiv and fixedmul functions) those were a big cause of crashes such as FixedDiv: divide by zero and the cause of miscolored textures in Software Mode
    Re-added the zone memory allocation refactor and memory alignment (should make big or busy maps load faster and perform a bit better)
    Player afterimages now support sprite scaling and sprite offset functions, meaning they also now hop when you saltyhop or get stretched when the player stretches
    Refactored weather switching, now storm without rain doesent spawn "invisible" rain and should perform alot better cause it doesent need to spawn all the mobjs
    Lowered max weather distance to "3072" as it was useless and made you hit the spritelimit often
    v.drawpingnum function for lua flickering has been fixed with framerates higher than 35fps
    *This fixes an issue where a specific intermission made in a v1.3 client did no longer display numbers in v1.4+ without workarounds
    Prevent dropped ticcmds due to interp timing jutter: May help with lost input and desynchs in netgames
    The game should now print backtraces on unix like systems (linux, mac os, etc.) by default
    The localskin menu now respects lowercase kc_
    Avoid branch prediction slowdowns in R_PointOnSide and R_PointOnSegSide again for maybe better performance on some maps
    Interpolated water & heatwave effects which also fixes the heatwave effect speeding up in Software Mode when interpolated
    Fixed characters with SF_HIRES flag being displayed too big in grid skin select menu. This should fix animal characters being oversized as well.
    Removed interpolation code from R_PlayerSliptideAngle Lua function, as this was uneeded and potentially unsafe
    Paletterendering flashpal toggle now saves
    Makefile cleanups and fixes
    Uncap palette lump palettes & allow flashpal palettes to display during pause
    Optimize HWR_RenderBatches polygon sorting
    Re-did GIF recording (should work better in opengl now)
    Removed alot of legacy/broken stuff, like the old console port stuff, msdos stuff, broken cd music support, directdraw build, mp3 music server things for mac which were broken, minigl which was unused and broken...
    Fixed some replays segfaulting when trying unarchive lua tables from demo
    Added null check into P_SpawnMapThing so game doesn't crash if it fails to spawn mapthing for some reason
    Fixed Opengl sprite shadows being broken and not taking slopes into account, now they only look weird and face the direction of wherever you are looking
    Fixed an issue where sometimes floors/ceilings didnt look right with paletteshader
    Fixed an issue where flashpals didnt appear in Software Mode when the opengl paletteshader was turned off
    Fix a possible crash in the intermission drawer
    Fixed SIGSEGV caused by bad target check in A_Custom3DRotate
    Fixed G_GhostTicker crashing trying to read netvars as ghost data
    Fixed a rendering issue with polyobjects

    Battle

    When Battle Time Limit runs out, and there's a tie between 1st and 2nd, the timer will now show "OVERTIME" instead of getting stuck at 00'00"00
    *This previously only showed in the "TAB" menu, and caused many confusion in the past with users thinking the game got stuck
    Demonstration: https://streamable.com/h300qr
    Fixed battle playing wrong ending music sometimes
    *Previously, Battle ending MUSIC is based on your position with bumpers remaining instead of your points, which is incorrect. This is now fixed.
    Old: https://streamable.com/1d4362 New: https://streamable.com/9771ah

    Downloads
  • v3.0 e6a1e58405

    alufolie91 released this 2023-09-18 20:33:35 +02:00 | 6990 commits to Saturn since this release

    Features

    OpenGL Horizonlines
    *Demonstration
    Old: https://i.imgur.com/hrvq3rw.png
    New: https://i.imgur.com/LWRo1RH.png
    OpenGL Palette Rendering
    Support for animated vote screen backgrounds
    *Demonstration: https://streamable.com/jfd3v9 (Sample credits: Blonded)
    Support for vote screen switching from lua
    *Demonstration: https://streamable.com/j2nk0p
    lua sprite rotation fields for sliproll (rollangle = (mo.rollsum ~= nil and mo.rollsum) or mo.sloperoll)) NOTE: do not try to write to it just read from it!

    At last, localskins is now also available on Saturn (highly requested by HEP users)
    Added a way to drag and drop addons
    Lua memory usage in memfree command

    Improvements / fixes

    Smoother Player Slope Rotation
    Improved performance on numerous maps
    Saltyhop now also works when camera is flipped
    Turning off Discord Rich Presence now actually turns it off
    Memfree command now shows the proper information on 64bit clients
    Fixed a rare crash caused by sprite rotation
    Fixed hardware sprites display in perfstats
    Fixed certain crashes that could occur in Software Mode renderer
    Fixed lua onchange error handler
    Fixed the ancient "Scoll" typo (Scroll), and the even older "Recieved" typo when winning a battle round (Received)

    Downloads
  • v2.1 3147dfb012

    v2.1 Stable

    alufolie91 released this 2023-08-31 22:09:47 +02:00 | 7107 commits to Saturn since this release

    Hotfix edition!

    Features
    Implemented a way to turn off Grow or/and Invincible music and keep the stage music playing
    *This is found in Options > Sound Options > Advanced Options

    Fixes
    Fixed the speedometer showing wrong values in some cases

    Downloads