MHPatches is a plugin that brings some of PS2 features of Manhunt to the PC.

Related tags

Miscellaneous MHP
Overview

MHPatches

logo_1

Intro

MHPatches is a plugin that brings some of PS2 features of Manhunt to the PC.

Requirements

Dual pass

Dual pass in short is a thing that emulates PS2 method of alpha rendering which is much better than what we have on PC and XBOX. In fact all rockstar PC\Xbox ports on RW engine have this problem. You probably saw this feature in SkyGfx if you are interested in GTA modding. If you want to know more about this you can read well written article by aap, the creator of SkyGfx.

Dual pass

PS2 halos

In general, the pickup consists of three parts:

  • Model
  • Corona
  • Wire sphere

The model is alright, let's go straight to the corona and the wire sphere. They are simple primitives that are drawn on top of the model.

  • Corona is a 2D sprite that is always facing the player, the texture is set from TXD.
  • Wire sphere is a 3D primitive that is generated during runtime and depends on the timer, it has no texture, only color.

What happens in the render and why is it bugged?

Before drawing the corona, a texture is set to it, by setting the render state (RwRenderStateSet). After it is done rendering, the texture must be turned off (zeroed) by setting NULL. Rockstar did not do this and corona texture is set on the sphere, making it invisble.

Why does it work on PS2? PS2 has smarter RenderWare, it itself is able to zero the render states after rendering if required. Thanks to this texture will be NULL before drawing the sphere and it will be displayed correctly.

The plugin simply turns off the texture before drawing the wire sphere, which simulates PS2 behavior.

PS2 halos

Usable objects highlighting fix

Story with this thing is pretty short. On PC (and only on PC this time, everything works fine on consoles) light intensity value is always zero, and that's the reason why it didn't work.

Demonstation:

Animation

EnvMap

Learn more about environment mapping and why it is different on all platforms here.

EnvMap

Lighting and vertex alpha fix

Fixed-pipeline has major issues with drawing vertex color with lighting enabled, mesh turns black and doesn't react to any light type except ambient. The problem is also present on Xbox, PS2 is the only platform on which it works fine.

Lighting and vertex alpha fix

Hardware T&L implementation is different from DirectX standard on NVidia cards, as result spotlights are brighter then they should be. The plugin replaces this light type with ATI's formula which is equivalent to PS2.

spotlight

Both things can only be done by replacing the default rendering pipeline using shaders instead of fixed states. Luckily it can be done with DirectX 8.1, so wrappers are not necessary and compatibility with old hardware shouldn't be broken, except for some weak cards that don't support shaders well.

YCbCr

PS2 analog colors on your PC, simple as one two three.

Demonstation:

YCbCr

Special Thanks

  • aap - for providing his PS2 EnvMap pipeline and helping with PS2 RenderWare research.
  • ermaccer - for making video about the plugin.
You might also like...
A faithful transposition of the key features/functionality of @itm4n's PPLDump project as a BOF.

PPLDump BOF Who worked on this? Justin Lucas (@the_bit_diddler) Brad Campbell (@hackersoup) What is this? Jokingly, an exercise of my own personal san

Sword Engine is a fork of Psych Engine that plans on adding more features and quality of life improvements.
Sword Engine is a fork of Psych Engine that plans on adding more features and quality of life improvements.

⚠️ WARNING: This README is currently incomplete, This warning will be removed once it's complete. Friday Night Funkin' - Sword Engine Sword Engine is

WIP / DIN-rail compatible WiFi security camera with additional features (doorbell detection, magnetic / reed switch door & PIR sensor...) that sends you alerts on Telegram if someone unauthorised breaks into your house.
WIP / DIN-rail compatible WiFi security camera with additional features (doorbell detection, magnetic / reed switch door & PIR sensor...) that sends you alerts on Telegram if someone unauthorised breaks into your house.

WIP / DIN-rail compatible WiFi security camera with additional features (doorbell detection, magnetic / reed switch door & PIR sensor...) that sends you alerts on Telegram if someone unauthorised breaks into your house.

Cppbackport - A backport of C++11/14/17 features to earlier versions

This is a backport of the current C++ standard library to C++03/11/14. Obviously not everything can be backported, but quite a bit can. Quick Start Th

Model of the classic Ibanez Tube Screamer 808 using Nodal Analysis and WDF with a few new features added!
Model of the classic Ibanez Tube Screamer 808 using Nodal Analysis and WDF with a few new features added!

TS-808-Ultra Model of the classic Ibanez Tube Screamer 808 using Nodal Analysis and WDF with a few new features added! Download Windows vst3 and Mac v

Port of SiraUtils features to Quest

Lapiz Port of SiraUtils features to Quest. What is Lapiz? Lapiz is a library that abstracts the more difficult and tedious parts of Zenject away from

Operating system project - implementing scheduling algorithms and some system calls for XV6 OS

About XV6 xv6 is a modern reimplementation of Sixth Edition Unix in ANSI C for multiprocessor x86 and RISC-V systems.

Comments
  • MHP.asi issue with loading with the latest Ultimate ASI Loader

    MHP.asi issue with loading with the latest Ultimate ASI Loader

    Hello File-Head,

    I was trying Manhunt with your ASI, and I seem to have hit an issue.

    With the latest Ultimate ASI Loader v4.59, the MHP.asi fails to load with the error "unable to load MHP.asi. Error:126" when launching manhunt.exe. With the previous Ultimate ASI Loader v3.4, no error is displayed but there are no visible differences observed related to PS2 features. This indicates with the Ultimate ASI Loader v3.4 also MHP.asi is not working.

    Could you let me know which version of Ultimate ASI Loader your MHP.asi works ? I do not have the steam version but the retail ISO. OS - Windows 10 ver. 21H1

    opened by Arijit746255 4
Owner
Fire_Head
Fire_Head
This software brings you the possibility to Read and Write the internal Flash of the Nordic nRF52 series with an ESP32

ESP32 nRF52 SWD flasher This software brings you the possibility to Read and Write the internal Flash of the Nordic nRF52 series with an ESP32 using t

null 140 Dec 31, 2022
Small and dirty header-only library that supports user input with some more advanced features than in the standard lib.

dirty-term Small and dirty header-only library that supports user input with some more advanced features than in the standard lib. This small, lightwe

null 3 Apr 24, 2022
Orca - Advanced Malware with multifeatures written in ASM/C/C++ , work on all windows versions ! (some features still under developing and not stable)

About Orca Orca is an Advanced Malware with multifeatures written in ASM/C/C++ features Run in Background (Hidden Mode) Records keystrokes and saves t

anas 182 Dec 26, 2022
Libft is an individual project at 42 that requires us to re-create some standard C library functions including some additional ones that can be used later to build a library of useful functions for the rest of the program.

Libft is an individual project at 42 that requires us to re-create some standard C library functions including some additional ones that can be used later to build a library of useful functions for the rest of the program.

Paulo Rafael Ramalho 0 Jan 1, 2023
Hydrogen is a tiny GDI Malware, with some bytebeat music, many payloads and some shaders

Hydrogen is a tiny GDI Malware, with some bytebeat music, many payloads and some shaders

Leo Lezury 28 Nov 12, 2022
mini-plugin host as plugin

DISTRHO Ildaeil DISTRHO Ildaeil is mini-plugin host working as a plugin, allowing one-to-one plugin format reusage. Load a VST2 plugin inside a LV2 ho

DISTRHO 58 Dec 12, 2022
Add extra features to Discord via patches!

DiscordExtras An iOS tweak that lets you apply patches the iOS Discord client. Available on my repo here. Components DiscordExtrasPrefs This includes

Zoey 32 Sep 28, 2022
Poc to test my little friend features without any sdk

poc.vic-hack POC to test my little friend "vector" features without any sdk Ultimate goal - being able to write own firmware components without propri

Oleg Lytvynenko 8 Feb 26, 2022
C64 Watch is a customized T-Watch 2020 that was inspired by the Commodore 64 computer. It features a C64 theme and a built-in BASIC interpreter.

C64 Watch C64 Watch is a customized T-Watch 2020 that was inspired by the Commodore 64 computer. It features a C64 theme and a built-in BASIC interpre

Nick Bild 30 Nov 26, 2022
Audacity fork without Telemetry and with new features

Audacity fork without Telemetry and with new features

Sartox Free Software 705 Jan 3, 2023