Fix worldgen desync (and add some symbols) #78

Merged
TheBrokenRail merged 3 commits from bigjango13/minecraft-pi-reborn:master into master 2024-01-22 00:05:18 +00:00
Contributor

Aside from the symbols, this PR fixed a common bug where the client and server generate the world differently, and the chunk diff is not properly sent, resulting in ghost blocks. This is especially a problem when either side is using modded worldgen, such as caves.

This was reported to MCPI++ here: NoozAbooz/mcpi-reborn-extended#39.

Some of the symbols in this PR depend on minecraft-pi-reborn/symbol-processor#7

Aside from the symbols, this PR fixed a common bug where the client and server generate the world differently, and the chunk diff is not properly sent, resulting in ghost blocks. This is especially a problem when either side is using modded worldgen, such as caves. This was reported to MCPI++ here: [NoozAbooz/mcpi-reborn-extended#39](https://github.com/NoozAbooz/mcpi-reborn-extended/issues/39). Some of the symbols in this PR depend on minecraft-pi-reborn/symbol-processor#7
bigjango13 added 1 commit 2024-01-21 23:30:16 +00:00
bigjango13 added 1 commit 2024-01-21 23:44:05 +00:00
TheBrokenRail reviewed 2024-01-21 23:55:32 +00:00
@ -575,0 +576,4 @@
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)

Does this have any impact on how long it takes to join a server? Also, should this be included in misc so it also applies to LAN games?

Does this have any impact on how long it takes to join a server? Also, should this be included in `misc` so it also applies to LAN games?
Author
Contributor

Does this have any impact on how long it takes to join a server?

Nope, iirc it's not even active until the joining screen is gone.

Also, should this be included in misc so it also applies to LAN games?

Good catch, fixed.

> Does this have any impact on how long it takes to join a server? Nope, iirc it's not even active until the joining screen is gone. > Also, should this be included in misc so it also applies to LAN games? Good catch, fixed.
bigjango13 added 1 commit 2024-01-22 00:00:12 +00:00
Build / Build (AMD64, Server) (push) Successful in 9m30s Details
Build / Build (AMD64, Client) (push) Successful in 9m43s Details
Build / Build (ARM64, Server) (push) Successful in 8m29s Details
Build / Build (ARM64, Client) (push) Successful in 9m17s Details
Build / Build (ARMHF, Server) (push) Successful in 6m41s Details
Build / Build (ARMHF, Client) (push) Successful in 8m46s Details
Build / Test (Server) (push) Successful in 10m27s Details
Build / Release (push) Has been skipped Details
Build / Test (Client) (push) Successful in 16m49s Details
5c5538df2f
Move worldgen desync patch to misc, for LAN games
TheBrokenRail merged commit 5c5538df2f into master 2024-01-22 00:05:18 +00:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: minecraft-pi-reborn/minecraft-pi-reborn#78
No description provided.