Fix worldgen desync (and add some symbols)

This commit is contained in:
Bigjango13 2024-01-21 18:24:06 -05:00
parent 7e546a4a09
commit b9b44a62bc
6 changed files with 22 additions and 4 deletions

@ -1 +1 @@
Subproject commit 930eae47c6353a4dceba3e483f022aa76369ddaf Subproject commit 6b4d6d923910f66830d511d4dd8cb3ca4552bd02

View File

@ -572,6 +572,11 @@ static void server_init() {
patch((void *) 0x1685c, player_patch); patch((void *) 0x1685c, player_patch);
// Start World On Launch // Start World On Launch
misc_run_on_update(Minecraft_update_injection); misc_run_on_update(Minecraft_update_injection);
// Send the full level, not only changed chunks
unsigned char nop[4] = {0x00, 0xf0, 0x20, 0xe3}; // "nop"
patch((void *) 0x717c4, nop);
unsigned char mov_r3_ff[4] = {0xff, 0x30, 0xa0, 0xe3}; // "mov r3, #0xff"
patch((void *) 0x7178c, mov_r3_ff)
// Set Max Players // Set Max Players
unsigned char max_players_patch[4] = {get_max_players(), 0x30, 0xa0, 0xe3}; // "mov r3, #MAX_PLAYERS" unsigned char max_players_patch[4] = {get_max_players(), 0x30, 0xa0, 0xe3}; // "mov r3, #MAX_PLAYERS"
patch((void *) 0x166d0, max_players_patch); patch((void *) 0x166d0, max_players_patch);

View File

@ -22,6 +22,7 @@ set(SRC
src/network/raknet/RakNet_RakPeer.def src/network/raknet/RakNet_RakPeer.def
src/network/ServerSideNetworkHandler.def src/network/ServerSideNetworkHandler.def
src/network/packet/LoginPacket.def src/network/packet/LoginPacket.def
src/network/packet/PlayerEquipmentPacket.def
src/network/packet/Packet.def src/network/packet/Packet.def
src/network/packet/StartGamePacket.def src/network/packet/StartGamePacket.def
src/network/packet/ChatPacket.def src/network/packet/ChatPacket.def

View File

@ -1,3 +1,4 @@
virtual-method void tick() = 0x34;
virtual-method bool hurt(Entity *attacker, int damage) = 0xa4; virtual-method bool hurt(Entity *attacker, int damage) = 0xa4;
virtual-method int getEntityTypeId() = 0xdc; virtual-method int getEntityTypeId() = 0xdc;
method void moveTo(float x, float y, float z, float pitch, float yaw) = 0x7a834; method void moveTo(float x, float y, float z, float pitch, float yaw) = 0x7a834;
@ -5,11 +6,14 @@ method void moveTo(float x, float y, float z, float pitch, float yaw) = 0x7a834;
property float x = 0x4; property float x = 0x4;
property float y = 0x8; property float y = 0x8;
property float z = 0xc; property float z = 0xc;
property float yaw = 0x40; property int id = 0x1c;
property float pitch = 0x44;
property float old_x = 0x28; property float old_x = 0x28;
property float old_y = 0x2c; property float old_y = 0x2c;
property float old_z = 0x30; property float old_z = 0x30;
property float yaw = 0x40;
property float pitch = 0x44;
property float old_yaw = 0x48; property float old_yaw = 0x48;
property float old_pitch = 0x4c; property float old_pitch = 0x4c;
property int id = 0x1c; property float head_height = 0x68;
property bool on_ground = 0xb2;
property bool freeze_physics = 0xb9;

View File

@ -1 +1,2 @@
constructor () = 0x6fc18;
virtual-method void read(uchar *bit_stream) = 0xc; virtual-method void read(uchar *bit_stream) = 0xc;

View File

@ -0,0 +1,7 @@
extends Packet;
vtable 0x105e70;
property int entity_id = 0xc;
property ushort item_id = 0x10;
property ushort item_aux = 0x12;