github SamClassicPatch/SuperProject 1.8
1.8 update - "Steamy Observation"

latest releases: 1.9, 1.9-pre1
5 months ago

This update adds a whole bunch of new (and untested) thingamajigs, doodads, gizmos even. As well as extended compatibility with Revolution levels and quality-of-life features for Steam players!

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.7.2

Introducing: Observer camera

  • Implemented new observer camera system (a.k.a. "OCAM") that allows advanced spectating via controllable free-fly camera (ocam_bActive command).
  • Supported by the vast majority of mods (even with custom mod libraries).
  • Works in recorded demos and while observing an active game.
  • Can be used as a sort of "photo mode" with its high quality screenshot functionality.
  • Supports recording of camera movements in demos for creating simple scripted movies.

Common changes

  • Allowed using as many local players as there are real players (more than 4 split-screen players), assuming there's custom logic written to support them.
  • Added config properties for enabling access to Steam via dedicated servers and tool applications.
  • Extended interactions with the client log.
    • Added shell functions for displaying the log, deleting entries from it and resaving/reloading it.
    • Simplified full information about each client and added display of specific client characters for more detailed information.
  • Added separate switches to patch config for toggling mounting of each game directory (instead of having to input invalid paths to games).
  • Changed default value of vertical FOV setting to "Yes (only player view)" (sam_bUseVerticalFOV = 2) for compatibility with vanilla maps.
  • Fixed texture script processing patch always displaying errors instead of working properly upon trying to create animated textures.
  • Added experimental command for automatically replacing missing resources with placeholders (sam_bUsePlaceholderResources command).

Warning

This feature should only be used when playing alone! It is not multiplayer synchronized!

  • Fixed skipped determination of the world format upon loading saved games. This used to produce bugs during gameplay on converted non-TSE levels in TSE with network features turned off (e.g. in singleplayer).
  • Fixed replacement of Bio-mechanoid types from Revolution, which now correctly replaces Artillery -> Sergeant and Spawner -> Small.
  • Started using Steamworks API to its full potential:
    • Automatic game pause upon opening Steam overlay mid-game.
    • Ability to take high quality screenshots using observer camera.
    • Every screenshot will now include a level name attached to it as "Location" when uploaded to Steam Community.
    • Ability to join the same server via a friend by using "Join game" button.
      • Even players without a patch can join this way while the game is closed!

Mod changes

  • Built custom Entities library for The First Encounter and The Second Encounter on 1.05 engine version with all of the patch changes from The Second Encounter v1.07.
  • Created a new entity pack that comes with custom mod that implements missing entities for compatibility purposes. So far it includes:
    • Cut enemies from Serious Sam Alpha.
    • Destroyer, Elemental, Headman, Ughzy and Walker enemies from Serious Sam Revolution.
    • Damager and SoundHolder entities from Serious Sam Revolution.
    • Other new entities from Serious Sam Revolution for world compatibility.
    • Terrain entity.
  • Allowed using "Monster" Arachnoid type on levels from Serious Sam Revolution.
  • Added projectile types from Serious Sam Revolution to The Second Encounter for compatibility with its levels.
  • Restored internal "CAM" functionality using new "OCAM" system from Core. Also works in Singleplayer & Cooperative game modes.
  • Fixed various issues with flame particles in The Second Encounter, e.g. no reflection of flames in a mirror.
  • Added option to toggle local player prediction to eliminate player jittering during predictions while playing on servers with latency below 50ms (gam_bDisableLocalPrediction command).
  • Added commands for extra scaling of big fonts in console and NETRICSA (con_fBigFontScale and cmp_fBigFontScale commands).
  • Allowed vanilla FOV command (plr_fFOV) to be used in Deathmatch and limited it to 60-110 range, just like patch's FOV commands.
  • Fixed Sniper Rifle overriding FOV value from plr_fFOV with constant 90 degrees in The Second Encounter.
  • Added command for switching Cannon viewmodel position between The First Encounter and The Second Encounter modes (wpn_bTSECannon command).

Game changes

  • Added button for visiting this repository's wiki under the "Extras" menu.
  • Added confirmation dialog before restarting the game using the button under the "Extras" menu.
  • Added ability to edit buttons of common game controls (from Controls/System/Common.ctl) in the same menu as personal player controls.
  • Changed amount of key bindings on screen from 14 to 16 (much like config options).
  • Removed +tfe command line argument for specifying path to The First Encounter. It's advised to use the TFEDir config property instead.
  • Added "Extreme" option to rendering preferences in video options for setting best possible graphics. This is an equivalent to executing "GFX: Extreme quality" addon with mdl_iLODDisappear = 1 afterwards.
  • Added button to the server list menu for changing current master server for the Legacy protocol.
  • Allowed typing characters from different ANSI code pages (e.g. cyrillics from Windows-1251) instead of only Latin characters in any textbox and console.
  • Fixed translation files not being loaded if the patch is launched through the "Mods" menu.
  • Added warning about gameplay extensions incompatibility to the "Customize game" button on the difficulty selection screen.

Server changes

  • Implemented voting system via chat commands. Allows players and observers to initiate voting processes and vote in them.
    • Voting to change the current map to another one from a predefined map pool.
    • Voting to kick and ban a specific player for some short period of time.
    • Voting to mute a specific player for some short period of time.
    • Voting to skip current round on a dedicated server.
  • Implemented system for kicking clients that became too annoying overtime (managed by plugins).
  • Added new built-in extension packets:
    • For changing the current world using different methods.
    • For modifying session properties in batches of bytes.
    • For modifying gameplay extensions by variable names.

Editor changes

  • Grouped menu buttons for importing and exporting 3D objects together under the "File" dropdown menu.
  • Added new export options for previously undocumented functions and put all three of them under an "Export" submenu:
    • Entity exporting from 1.10 to Serious Engine 2+ (shortcut: F11).
    • Entity placement exporting from 1.10 to Serious Engine 2+ (shortcut: Shift+F11).

Plugin changes

Accessibility

  • Fixed player info sound patch not working in The First Encounter due to a different sound component ID.

Advanced HUD

  • Fixed snooping colors for borders of lives and message counters.
  • Added option to disable decorative tags in player names (ahud_bDecoratedNames command).
  • Made certain function hooks optional to maximize compatibility with mods.
  • Added tags above players in Cooperative mode (or any gamemode while observing and in demos) that display their names and relative distance to them.
  • Added ability to separately customize color of player names in the list and tags (ahud_iColorNames command).

Local Cheats

  • Prevented bad synchronizations by displaying a warning upon trying to use cheats on a remote server.

Server Utilities

  • Added ability to toggle specific button actions by using a button mask (sutl_iActionButtons command).
  • Added ability to disable third person view by blocking the button action received by the server and by forcing all characters to disable "Prefer 3rd person view" option on change.

Other changes

  • Implemented packet and timer events for plugins.
  • Fixed a crash upon using dummy chat command in the example plugin.
  • Fixed a typo in the model config for the Demon computer model that prevented it from being loaded properly.
  • Fixed some incorrectly written methods of se1::map template class.
  • Reworked sam_bReinitWorld command into sam_iWorldConverter and improved its functionality.
  • Added compiler version using _MSV_FULL_VER macro to patch info that's displayed using PatchInfo() command.
  • Added Steamworks SDK to the repository and updated it to v1.59, including the steam_api.dll redistributable.

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_RUS.gro and put it in the game folder to install Russian localization.

Don't miss a new SuperProject release

NewReleases is sending notifications on new releases.