RUEEE / th19p2vp

a patch for p2p pvp for th19
19 stars 3 forks source link

th19p2vp

A tool for th19 P2P pvp

Compile

The patch uses VS2022 with winSDK and DirectXSDK.

Install DirectX SDK, and add the SDK's path to VS include path and library path, then you can compile the patch.

If you want to change whether to use THCrap, then go to THCrap.h and remove/set the THCrap define.

Installation

The patch is NOT compatible with steam version. You can replace the steam version th19.exe with the th19.exe given in the release's zip file(it's CD version).

With THCrap

Download the zip file from the releases page, and unzip it, then copy \with_thcrap\th19p2vp.dll into thcrap\bin folder.

Without THCrap

Download the zip file from the releases page, and unzip it, then copy all thing in \without_thcrap\ folder to the top of the original game folder. Please make a backup of the game folder before you do this so you can restore it later.

When playing with others, make sure you are using the same version of this patch.

Getting Started

Before starting the game, it's recommended to make sure the host's and guest's game options are the same (e.g. VS mode selection, keyboard settings...)

When you start the game, to avoid desyncs, don't move around in the menu, immediately begin the process of connection.

When the game opens, you should see a small white window in the top left corner that allows you to configure the connection. If you don't see it, the patch was not installed properly.

Connection Configuration

Host (P1)

If both host and guest have a IPv6 address (use a site like https://test-ipv4.com to test), then you can use "start as host(ipv6)". Otherwise, you should use "start as host(ipv4)".

To get your host address to provide to the other player, do the following:

The default host port is 10080.

Other options:

After clicking the "start as host" button, the window's title will change to "waiting for 2P" if there's no problems. Then you can wait for P2 to connect.

Guest (P2)

Obtain the host IP and host port from your host, and fill it into the host IP box:

e.g. "123.45.67:89" (ipv4:port) or "[1145:14:1919:810:abcd:ef01:2345:67]:999" ([ipv6]:port)

Note that for IPv6 addresses, the braces [] around the address are required.

Then click "start as guest".

Connected

After the connection has been established, the mini-window title will change to "PVP".

After connecting, only the host will be able to move around in the menu, until they enter the VS mode -> Human vs Human menu (NOT Online VS Mode!), after which both players may choose their shot.

If there is a lag spike or the mini-window title changes to "desync probably", it means a likely desync has been detected (random seeds are wrong). You should go back to the player-select menu and wait for the patch to try resyncing.

(If the patch still fails to sync, stop the connection, back out to the main menu, and reconnect.)

It's likely to desync when quitting the game stage.

Advanced Settings

If host's port 10800 is occupied by other program, then you can change it to another port. Make sure to let your guest know.

If guest's port 10801 is occupied, then you can change it to another port.

If you check the "log" checkbox, then click "save log", it will save the log "latest.log" in the game folder for debug.

Click show cmd will show the cmd console (it may cause lag when logging)

Bugs and Known Problems

since i only have keyboard, the gamepad control might be buggy(

Updates

1.06b(23/09/18)

1.06(23/09/16)

1.05(23/09/15)

1.04(23/09/14)

1.03 (23/09/13)

1.02 (23/09/12)

1.01 (23/09/11)