github SamClassicPatch/SuperProject 1.9
1.9 update - "Taking Back Control"

8 hours ago

This update focuses primarily on implementing improved support of game controllers and reworked game menu functionality.

Check out the FAQ and the setup instructions before playing, as well as the rest of the wiki for the new commands and such!

Changes since 1.8

Common changes

  • Replaced sam_bNotifyAboutUpdates command with a NotifyAboutUpdates config property to allow update notifications to be toggled globally instead of per mod (since the command state was stored in PersistentSymbols.ini).
  • Added observer camera command for multiplying speed for changing the FOV (ocam_fFOVChangeMul command).
  • Added shell command for clearing the entire console log (ClearConsole() command).
  • Extended input functionality by patching input interface methods:
    • Finally made Mouse Button 4 and Mouse Button 5 work properly.
    • Improved game controller support by replacing Windows Multimedia Joystick functionality with SDL_GameController.
    • Renamed all controller buttons & axes from generic joystick names to actions of an Xbox-like controller.
    • Allowed controller axes to be bound as regular buttons (primarily for triggers).
      • Added inp_fAxisPressThreshold command for controlling the movement threshold after which an axis is considered "pressed".
    • Added display of currently connected controllers using inp_JoystickInfo() command.
  • Added Italian localization via a separate GRO file with translation files (thanks to @Kappa971).

Mod changes

  • Fixed modded GameGUI windows not opening in any editor: SamClassicPatch/Mod#5
  • Synchronized message counters between player predictions and real player entities to get rid of the notification sound every time an enemy is killed with prediction on.
  • Made Game library replace old camera commands (starting with cam_) with new observer camera ones (starting with ocam_) to avoid errors from using them.
  • Added new gameplay extension for toggling fast movement while holding a knife in Cooperative mode (like in Deathmatch).
  • Added command for toggling gradual coloring of crosshairs depending on the target's health (hud_bCrosshairGradualColoring command).

Game changes

  • Reworked certain parts of the menu to hopefully make going from menu to menu more reliable.
  • Replaced hardcoded "Video Options" & "Audio Options" menus with custom option configs.
    • Allowed custom screen resolutions to be added using Data/ClassicsPatch/Resolutions.lst file (in a WIDTHxHEIGHT form, e.g. 1440x720).
  • Allowed using controllers for navigating the game menu and NETRICSA.
  • Completely remade "Advanced Joystick Setup" menu to be more convenient to use.
  • Made sliders continuously change values only on the initially clicked slider (instead of any one underneath the mouse while LMB is held down).
  • Fixed sliders being unable to continuously change values on held LMB in fullscreen mode.
  • Changes to option configs:
    • Made option config display a fatal error instead of crashing, if its file cannot be loaded.
    • Allowed translating strings using PATCHLOCALIZE chunk instead of TTRS to prevent it from being detected by the Depend utility.
    • Added BigFill type to the Slider: property that creates big fill bars, akin to the volume sliders.
    • Added Button type for creating clickable buttons that recursively open another option config specified with the next Include: property.
    • Added AutoValue: property that automatically adds specific values to an option and does extra configuration for it based on the specified variable. If no variable is specified, it simply adds the value as is and uses it as an automatically translated display name.
    • Implemented convenient drop-down lists for Toggle config options with more than 2 values (sam_bConfigValueLists command).

Server changes

  • Rewrote internal logic of built-in extension packets, which breaks compatibility with previous versions of the patch. Any demos that have been recorded with extension packets being used are going to be broken starting from this version.
  • Added built-in extension packets for playing global sounds for all clients (pck_PlayQuickSound() and pck_PlayGlobalSound() commands).

Plugin changes

Server Utilities

  • Fixed the issue with only the last weapon from the list being given out/taken away on all PlayerMarker entities. For example, only Sniper was given out when Chainsaw, Tommygun and Sniper were enabled.

Other changes

  • Completely redesigned and rewrote the API for the Core library. The new external frontend is now implemented via C API.
    • Added API version using CLASSICSPATCH_INTERFACE_VERSION macro to patch info that's displayed using PatchInfo() command.
    • Added new ClassicsPatchAPI shell symbol for identifying patch versions with the new API to replace CoreAPI.
  • Took out a lot of code from the entire project to form a standalone header library and utilized its code instead.
  • Added experimental build configuration for the open-source forks of The Second Encounter v1.10, much like the Revolution configuration.
  • Added tools to the main repository for assisting in creation of localizations to other languages.
  • Updated patch credits page in the game menu to include third party resources.
  • Added default control presets for game controllers in slots 1-4.

Changes since 1.9-pre1

Show changelog
  • Fixed the case where after selecting a level from the list for Network/Splitscreen game, going back to the previous menu would return back to the level selection screen instead of the actual previous menu.
  • Replaced Range option config property with another variable in AutoValue.
  • Completely reworked how plugin events are defined and registered through the API for proper backward compatibility.
  • Made some fatal error messages more informative to understand where they happened and why.
  • Fixed "Back" button in the network connection settings menu sometimes either not working at all, or going forward to the player selection menu instead of returning back.
  • Added gameplay extension for toggling fast knife in Cooperative mode.
  • Implemented gradual color changing on crosshairs.

Known issues

Installation

  1. Download desired version of the patch (TFE1.05_<date>.zip or TSE1.07_<date>.zip for Steam).
  2. Navigate to the game folder and extract contents of the ZIP archive into it.
  3. Agree to replace existing files (original unmodified copies of the files are included with an _OG suffix at the end of the name).
  4. (Optional) Download SE1_RevResources.gro and put it in the game folder if you intend on playing Revolution levels without mounting Revolution itself.
  5. (Optional) Download SE1_ClassicsPatch_<language>.gro and put it in the game folder to install desired localization of the patch.

Don't miss a new SuperProject release

NewReleases is sending notifications on new releases.