1 Star 0 Fork 0

OrangePeel / MetaHookSv

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

MetaHookSv

This is a porting of MetaHook for SvEngine (GoldSrc engine modified by Sven Co-op Team),

Mainly to keep you a good game experience in Sven Co-op.

Most of plugins are still compatible with vanilla GoldSrc engine. please check plugin docs for compatibility.

中文README

Risk of VAC ?

Although using hook is likely to be dangerous in games, there is no VAC ban reported yet.

Btw Sven Co-op is not a game protected by VAC

You can even connect to a "VAC protected" server with -insecure, as VAC is not working at all in Sven Co-op.

Use a separate account to play Sven Co-op if you still worry about VAC ban wave. Sven Co-op is a free game.

Manual Installation

  1. git pull https://github.com/hzqst/MetaHookSv or download from https://github.com/hzqst/MetaHookSv/archive/main.zip

  2. All required executable and resource files are in Build folder, pick whatever resource you want and copy them to \SteamLibrary\steamapps\common\Sven Co-op\.

  3. Launch game from \SteamLibrary\steamapps\common\Sven Co-op\svencoop.exe

  • The new svencoop.exe is renamed from metahook.exe, you could run game from "metahook.exe -game svencoop" however it will cause game crash when changing video settings.

  • The SDL2.dll fixes a bug that the IME input handler from original SDL library provided by Valve was causing buffer overflow and game crash when using non-english IME. you don't need to copy it if you don't have a non-english IME.

One Click Installation

  1. git pull https://github.com/hzqst/MetaHookSv or download from https://github.com/hzqst/MetaHookSv/archive/main.zip

  2. Run install-to-SvenCoop.bat

  3. Launch game from shortcut MetaHook for SvenCoop or \SteamLibrary\steamapps\common\Sven Co-op\svencoop.exe

  • Other games follow the same instruction.

  • You should have your Steam running otherwise the SteamAppsLocation will probably not going to find GameInstallDir.

Build Requirements

  1. Visual Studio 2017 or 2019, with vc141 or vc142 toolset.

  2. CMake

  3. git client

Build Instruction

Let's assume that you have all requirements installed correctly.

  1. git clone https://github.com/hzqst/MetaHookSv

  2. Run build-initdeps.bat, wait until all required submodules / dependencies are pulled. (this may takes couple of minutes, depending on your network connection and download speed)

  3. Run build-MetaHook.bat, wait until svencoop.exe generated at Build directory.

  4. Run build-CaptionMod.bat, wait until CaptionMod.dll generated.

  5. Run build-Renderer.bat, wait until Renderer.dll generated.

  6. Run build-BulletPhysics.bat, wait until BulletPhysics.dll generated.

  7. Run build-StudioEvents.bat, wait until StudioEvents.dll generated.

  8. All generated plugins should be at Build\svencoop\metahook\plugins\ directory.

Debugging

  1. Run debug-SvenCoop.bat

  2. Open MetaHook.sln with Visual Studio IDE, set specified project as launch project, compile the project, then press F5 to start debugging.

  • Other games follow the same instruction.

  • You should restart Visual Studio IDE to apply changes to debugging profile, if it is running.

MetaHookSv (V3) new features compare to nagist's old metahook (V2)

  1. New and better capstone API to disassemble and analyze engine code, new API to reverse search the function begin.

  2. Blocking duplicate plugins (which may introduce infinite-recursive calling) from loading.

  3. A transaction will be there at stage LoadEngine and LoadClient, to prevent InlineHook issued by multiple plugins from immediately taking effect. Allowing multiple plugins to SearchPattern and InlineHook same function without conflict.

Plugins

CaptionMod

A subtitle plugin designed for displaying subtitles and translate in-game HUD text.

DOCUMENTATION 中文文档

BulletPhysics

A plugin that transform player model into ragdoll when player is dead or being caught by barnacle.

DOCUMENTATION 中文文档

MetaRenderer

A graphic enhancement plugin that modifiy the original render engine.

You can even play with 200k epolys models and still keep a high framerate.

DOCUMENTATION 中文文档

StudioEvents

This plugin can block studio-event sound spamming with controllable cvars.

DOCUMENTATION 中文文档

SteamScreenshots

This plugin intercepts original snapshot command and replace it with ISteamScreenshots interface which will upload the snapshot to Steam Screenshot Manager.

DOCUMENTATION 中文文档

CommunicationDemo

This plugin demostrates how to communicate with server.

ABCEnchance (third-party) (Sven Co-op only)

ABCEnchance is a metahook plugin that provides experience improvement for Sven co-op.

  1. CSGO style health and ammo HUD
  2. Annular weapon menu
  3. Dynamic damage indicator
  4. Dynamic crosshair
  5. Minimap which is rendered at real time
  6. Teammate health, armor and name display with floattext.
  7. Some useless blood efx

https://github.com/DrAbcrealone/ABCEnchance

HUDColor (third-party) (Sven Co-op only)

Changing HUD colors in game.

https://github.com/DrAbcrealone/HUDColor

MetaAudio (third-party) (GoldSrc only)

This is a plugin for GoldSrc that adds OpenAL support to its sound system. This fork fixes some bugs and uses Alure instead of OpenAL directly for easier source management.

Since SvEngine uses FMOD as it's sound system, you really shouldn't use this plugin in Sven Co-op.

https://github.com/LAGonauta/MetaAudio

MIT License Copyright (c) 2021 hzqst Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

MetaHook的SvenCoop移植版本 展开 收起
C++
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C++
1
https://gitee.com/OrangePee1/MetaHookSv.git
git@gitee.com:OrangePee1/MetaHookSv.git
OrangePee1
MetaHookSv
MetaHookSv
main

搜索帮助