[Link]
map a0000

[Link]
map a0100

[Link]
map a0200

[Link]
map a0401

[Link]
map a1000 (seems like a place to test driving cars)

[Link]
As with previous games, I have included a save file that goes to the first debug map. To load the debug map save file you need to run the cheat table included as the game has added a special check for debug maps in save files. I have also included a python program that decompresses and recompresses save files for the purpose of editing them, including the checksum algorithm.
If you search for a0000 around offset 0x4150C after decompressing the included save file you can change it to different maps, usually there is a series of debug maps like a0100, etc and they usually have one with every character in the game all lined up, and all sorts of other test maps, you'd have to look through the pak files to find them all.. Be sure to compress it back when you are done as it corrects the checksum.
Or you can use the below to disable crc checks and leave them uncompressed, but this code depends on addresses that are probably only valid with v1.2.10
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>1</ID>
<Description>"Disable Save CRC Check"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : kuro2.exe
Version:
Date : 2025-06-19
Author : none
This script does blah blah blah
}
[ENABLE]
aobscanmodule(INJECT,kuro2.exe,E8 5C 18 E3 FF 41 39 47 08) // should be unique
alloc(newmem,$1000,INJECT)
label(code)
label(return)
newmem:
code:
call 7FF68CDD56A0
cmp [r15+08],eax
push rax
xor eax,eax
cmp eax,0
pop rax
jmp return
INJECT:
jmp newmem
nop 4
return:
registersymbol(INJECT)
[DISABLE]
INJECT:
db E8 5C 18 E3 FF 41 39 47 08
unregistersymbol(INJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: 7FF68CFA3E3F
7FF68CFA3E15: 76 18 - jna 7FF68CFA3E2F
7FF68CFA3E17: BB 01 00 00 00 - mov ebx,00000001
7FF68CFA3E1C: C7 81 C4 22 40 00 0A 00 00 00 - mov [rcx+004022C4],0000000A
7FF68CFA3E26: 48 8D 0D AC F3 4F 00 - lea rcx,[7FF68D4A31D9]
7FF68CFA3E2D: EB 32 - jmp 7FF68CFA3E61
7FF68CFA3E2F: 83 7A 04 02 - cmp dword ptr [rdx+04],02
7FF68CFA3E33: 74 07 - je 7FF68CFA3E3C
7FF68CFA3E35: BB 02 00 00 00 - mov ebx,00000002
7FF68CFA3E3A: EB 13 - jmp 7FF68CFA3E4F
7FF68CFA3E3C: 49 8B CF - mov rcx,r15
// ---------- INJECTING HERE ----------
7FF68CFA3E3F: E8 5C 18 E3 FF - call 7FF68CDD56A0
// ---------- DONE INJECTING ----------
7FF68CFA3E44: 41 39 47 08 - cmp [r15+08],eax
7FF68CFA3E48: 74 5C - je 7FF68CFA3EA6
7FF68CFA3E4A: BB 03 00 00 00 - mov ebx,00000003
7FF68CFA3E4F: B8 0A 00 00 00 - mov eax,0000000A
7FF68CFA3E54: 89 87 C4 22 40 00 - mov [rdi+004022C4],eax
7FF68CFA3E5A: 48 8D 0D 98 F2 4F 00 - lea rcx,[7FF68D4A30F9]
7FF68CFA3E61: BA 9F 85 FB 41 - mov edx,41FB859F
7FF68CFA3E66: E8 75 44 C0 FF - call 7FF68CBA82E0
7FF68CFA3E6B: 8B 8F F8 20 40 00 - mov ecx,[rdi+004020F8]
7FF68CFA3E71: 83 F9 20 - cmp ecx,20
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>