Minor Tweaks
This commit is contained in:
parent
f8bd6d380b
commit
9556d13791
2
dependencies/symbol-processor/src
vendored
2
dependencies/symbol-processor/src
vendored
@ -1 +1 @@
|
|||||||
Subproject commit 8bca4b7ec6aa28ef6fbc894d1f358468bcc4b321
|
Subproject commit 225eb259fe00348044b7b9008a810204004701df
|
@ -60,3 +60,4 @@ FALSE Food Overlay
|
|||||||
TRUE Add Splashes
|
TRUE Add Splashes
|
||||||
TRUE Display Date In Select World Screen
|
TRUE Display Date In Select World Screen
|
||||||
TRUE Optimized Chunk Sorting
|
TRUE Optimized Chunk Sorting
|
||||||
|
TRUE Disable Buggy Held Item Caching
|
||||||
|
@ -834,10 +834,14 @@ void init_misc() {
|
|||||||
overwrite_calls((void *) Player_stopUsingItem, (void *) Player_stopUsingItem_injection);
|
overwrite_calls((void *) Player_stopUsingItem, (void *) Player_stopUsingItem_injection);
|
||||||
|
|
||||||
// Fix invalid ItemInHandRenderer texture cache
|
// Fix invalid ItemInHandRenderer texture cache
|
||||||
uchar cmp_r7_patch[] = {0x07, 0x00, 0x57, 0xe1}; // "cmp r7,r7"
|
if (feature_has("Disable Buggy Held Item Caching", server_disabled)) {
|
||||||
patch((void *) 0x4b938, cmp_r7_patch);
|
// This works by forcing MCPI to always use the branch that enables using the
|
||||||
uchar moveq_r3_true_patch[] = {0x01, 0x30, 0xa0, 0x03}; // "moveq r3,#0x1"
|
// cache, but then patches that as well to do the opposite
|
||||||
patch((void *) 0x4b93c, moveq_r3_true_patch);
|
uchar ensure_equal_patch[] = {0x07, 0x00, 0x57, 0xe1}; // "cmp r7, r7"
|
||||||
|
patch((void *) 0x4b938, ensure_equal_patch);
|
||||||
|
uchar set_true_patch[] = {0x01, 0x30, 0xa0, 0x03}; // "moveq r3, #0x1"
|
||||||
|
patch((void *) 0x4b93c, set_true_patch);
|
||||||
|
}
|
||||||
|
|
||||||
// Init C++ And Logging
|
// Init C++ And Logging
|
||||||
_init_misc_cpp();
|
_init_misc_cpp();
|
||||||
|
@ -232,5 +232,3 @@ install(TARGETS symbols DESTINATION "${MCPI_LIB_DIR}")
|
|||||||
# SDK
|
# SDK
|
||||||
install(TARGETS symbols EXPORT sdk DESTINATION "${MCPI_SDK_LIB_DIR}")
|
install(TARGETS symbols EXPORT sdk DESTINATION "${MCPI_SDK_LIB_DIR}")
|
||||||
install(DIRECTORY "${INCLUDE_OUTPUT_DIR}/" DESTINATION "${MCPI_SDK_INCLUDE_DIR}/symbols")
|
install(DIRECTORY "${INCLUDE_OUTPUT_DIR}/" DESTINATION "${MCPI_SDK_INCLUDE_DIR}/symbols")
|
||||||
|
|
||||||
target_compile_options(symbols PUBLIC $<$<COMPILE_LANGUAGE:CXX>:-Wno-invalid-offsetof>)
|
|
||||||
|
@ -32,6 +32,7 @@ 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 AABB hitbox = 0x50;
|
property AABB hitbox = 0x50;
|
||||||
|
property float height_offset = 0x68;
|
||||||
property int fire_timer = 0xa0;
|
property int fire_timer = 0xa0;
|
||||||
property int renderer_id = 0xa8;
|
property int renderer_id = 0xa8;
|
||||||
property bool on_ground = 0xb2;
|
property bool on_ground = 0xb2;
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
constructor () = 0x6096c;
|
constructor () = 0x6096c;
|
||||||
|
|
||||||
method void assign(uchar entity_id, EntityRenderer *renderer) = 0x6094c;
|
method void assign(uchar entity_id, EntityRenderer *renderer) = 0x6094c;
|
||||||
|
method void render(Entity *entity, float x, float y, float z, float rot, float unknown) = 0x60674;
|
||||||
|
static-method EntityRenderDispatcher *getInstance() = 0x60e90;
|
||||||
|
@ -2,3 +2,6 @@ virtual-method void render(Entity *entity, float param_2, float param_3, float p
|
|||||||
|
|
||||||
// Can be called without an EntityRenderer, just do EntityRenderer_bindTexture(NULL, &file);
|
// Can be called without an EntityRenderer, just do EntityRenderer_bindTexture(NULL, &file);
|
||||||
method void bindTexture(std::string *file) = 0x62540;
|
method void bindTexture(std::string *file) = 0x62540;
|
||||||
|
|
||||||
|
// Globals
|
||||||
|
static-property EntityRenderDispatcher *entityRenderDispatcher = 0x137bc0;
|
||||||
|
@ -5,5 +5,3 @@ property Minecraft *mc = 0x18;
|
|||||||
|
|
||||||
method void renderItem(Mob *mob, ItemInstance *item) = 0x4b824;
|
method void renderItem(Mob *mob, ItemInstance *item) = 0x4b824;
|
||||||
method void render(float param_1) = 0x4bfcc;
|
method void render(float param_1) = 0x4bfcc;
|
||||||
|
|
||||||
static-property ItemInHandRenderer **instance = 0x137bc0;
|
|
||||||
|
@ -2,3 +2,5 @@ virtual-method void startOpen() = 0x24;
|
|||||||
virtual-method void stopOpen() = 0x28;
|
virtual-method void stopOpen() = 0x28;
|
||||||
virtual-method ItemInstance *getItem(int slot) = 0x8;
|
virtual-method ItemInstance *getItem(int slot) = 0x8;
|
||||||
virtual-method void setItem(int slot, ItemInstance *item_instance) = 0xc;
|
virtual-method void setItem(int slot, ItemInstance *item_instance) = 0xc;
|
||||||
|
virtual-method int getContainerSize() = 0x18;
|
||||||
|
virtual-method std::vector<ItemInstance> getSlotCopies() = 0x2c;
|
||||||
|
@ -5,5 +5,6 @@ method void selectSlot(int slot) = 0x8d13c;
|
|||||||
method ItemInstance *getSelected() = 0x8d134;
|
method ItemInstance *getSelected() = 0x8d134;
|
||||||
// It's just FillingContainer_linkSlot with selectedSlot as linked_slot
|
// It's just FillingContainer_linkSlot with selectedSlot as linked_slot
|
||||||
method bool moveToSelectedSlot(int unlinked_slot, bool push_aside) = 0x8d148;
|
method bool moveToSelectedSlot(int unlinked_slot, bool push_aside) = 0x8d148;
|
||||||
|
method void setupDefault() = 0x8d164;
|
||||||
|
|
||||||
property int selectedSlot = 0x28;
|
property int selectedSlot = 0x28;
|
||||||
|
@ -22,5 +22,3 @@ property bool is_client = 0x20;
|
|||||||
property int renderer_id = 0x24;
|
property int renderer_id = 0x24;
|
||||||
property Tile *tile = 0x28;
|
property Tile *tile = 0x28;
|
||||||
property bool pending_removal = 0x2c;
|
property bool pending_removal = 0x2c;
|
||||||
//property int tile = 0xd0;
|
|
||||||
//property int lifetime = 0xd8;
|
|
||||||
|
Loading…
Reference in New Issue
Block a user