5 Commits

Author SHA1 Message Date
19d6139e13 v3.0.11 2023-11-15 18:50:56 +02:00
0047d7b64f Marked SR 1.5.0 as concerning 2023-11-13 23:08:53 +02:00
264cdc2528 Documentation update 2023-11-13 22:18:26 +02:00
ab4615dfe9 SR 1.5.0: updated checksums, patch address 2023-11-13 22:13:43 +02:00
cf34ac6e01 Mark 3rd cn v7.1.0 verified 2023-11-09 16:23:48 +02:00
4 changed files with 17 additions and 22 deletions

View File

@ -1,14 +1,12 @@
### Games and regions
- **3rd**: glb/sea/tw/kr/jp **v7.0.0+**, cn **v7.0.0+**
- **SR**: os/cn **v1.4.0** (potentially unsafe, but no bans were reported since v1.1.0)
- **3rd**: glb/sea/tw/kr/jp **v7.0.0+**, cn **v7.1.0+**
- **SR**: os/cn **v1.5.0** (WARNING: currently potentially unsafe, there were some concerning changes in the last update)
You can expect newer versions to work immediately after release with the same jadeite binary if the version is specified with a + above.
### Information
The anticheat the games use is fundamentally incompatible with Wine in multiple ways. This tool launches the game without it (`injector`) and imitates it's behaviour (`game_payload`).
**SR-specific**: this tool disables the use of DirectX shared resources in a rather hacky way. It is required, as there is no (and most likely never will be) shared resources support in DirectX translation layers (WineD3D/DXVK). Refer to [configuration](#configuration) if you wish to run the game without the fix.
**Using third-party software (such as this tool) with the games violates their Terms of Service**. Therefore, **you may receive a ban**. No bans were ever reported with 3rd, however the legacy patch for SR did cause many. **Use at your own risk and only if you understand all the possible consequences**.
**This is not a cheating tool**. Using it with Windows is not possible, and Windows support is not planned or intended in any way. However, as it does not perform any on-disk file modifications, you may reuse the same game install for Windows if you have a dual-boot setup.
@ -38,9 +36,6 @@ These environment variables can be used to configure the behaviour of the tool.
- `WAIT_BEFORE_RESUME=1` - show a messagebox and wait for user input before resuming the game process. Useful on my side for debugging
**SR-exclusive**:
- `SRFIX_DISABLE=1` - disable shared resources fix. Not recommended. Doing so will most likely cause the game to not run at all
### Internals
This tool consists of three parts: the main injector (`injector/src/exe.c`), the launcher payload (`injector/src/dll.c`) and the game payload (`game_payload`).

View File

@ -9,7 +9,7 @@ const char *HSR_ASSEMBLY_PATH = "GameAssembly.dll";
const char *HSR_TXS_SECTION_NAME = ".ace";
const char *HSR_TVM_SECTION_NAME = ".tvm0";
#define HSR_VERSION "1.4.0"
#define HSR_VERSION "1.5.0"
enum hsr_region {
HSR_INVALID,
@ -23,15 +23,15 @@ struct crc_region_pair {
};
const struct crc_region_pair HSR_REGIONS[] = {
{ 0xbae3646f, HSR_OS }, // os v1.4.0
{ 0x9e5c2f80, HSR_CN } // cn v1.4.0
{ 0xb90cbc61, HSR_OS }, // os v1.5.0
{ 0xee3eebfb, HSR_CN } // cn v1.5.0
};
#define JUMP_SIZE (6 + sizeof(void*))
// Temporarily hardcoded offset
// v1.4.0, same for os and cn
#define WTSUD_PATCH_OFFSET 0x16430
// v1.5.0, same for os and cn
#define WTSUD_PATCH_OFFSET 0x1b800 // 0x16550 will also work
char wtsud_original_bytes[JUMP_SIZE];
char *wtsud_patch_addr;
@ -49,12 +49,12 @@ static void _wtsud_stub() {
}
static void _unityplayer_callback(HMODULE unityModule) {
if (utils_env_enabled("SRFIX_DISABLE")) {
msg_info_a("Shared resources fix disabled. The game may not work");
if (utils_env_enabled("CHECKSUM_PATCH_DISABLE")) {
msg_info_a("DirectX library verification patch disabled. The game will not work");
return;
}
// Remove dependency on shared resources by patching WriteTextureStatisticUserData
// Remove check by patching WriteTextureStatisticUserData
unload_ctr_inc();
wtsud_patch_addr = ((char*)unityModule) + WTSUD_PATCH_OFFSET;

View File

@ -1,4 +1,4 @@
project('jadeite', 'c', version: '3.0.10')
project('jadeite', 'c', version: '3.0.11')
nasm = find_program('nasm')
gen_res = find_program('gen_resources.sh')

View File

@ -1,6 +1,6 @@
{
"jadeite": {
"version": "3.0.10"
"version": "3.0.11"
},
"games": {
"hi3rd": {
@ -14,7 +14,7 @@
},
"china": {
"status": "verified",
"version": "7.0.0"
"version": "7.1.0"
},
"taiwan": {
"status": "verified",
@ -31,12 +31,12 @@
},
"hsr": {
"global": {
"status": "verified",
"version": "1.4.0"
"status": "concerning",
"version": "1.5.0"
},
"china": {
"status": "verified",
"version": "1.4.0"
"status": "concerning",
"version": "1.5.0"
}
}
}