diff --git a/src/adventure_log.c b/src/adventure_log.c index 9e919e068..7c32727a2 100644 --- a/src/adventure_log.c +++ b/src/adventure_log.c @@ -11,16 +11,12 @@ struct AdventureLog /* 0x1A */ s16 unk1A; /* 0x1C */ s16 unk1C; /* 0x1E */ s16 currPage; - u16 unk20; + s16 unk20; u8 fill22[0x34 - 0x22]; u32 unk34; struct UnkTextStruct2 *unk38; - struct UnkTextStruct2 unk3C[3]; - u8 fill84[0x9C - 0x84]; - u8 unk9C; - /* 0x9D */ u8 currPage_u8; - u8 unk9E; - u8 unk9F; + struct UnkTextStruct2 unk3C[4]; + u8 unk9C[4]; }; extern struct AdventureLog *gAdventureLog; @@ -79,7 +75,7 @@ u32 CreateAdventureLogScreen(u32 param_1) gAdventureLog->unk38 = &gAdventureLog->unk3C[param_1]; sub_8006518(gAdventureLog->unk3C); gAdventureLog->unk3C[gAdventureLog->unk34] = gUnknown_80E2008; - gAdventureLog->unk38->unk14 = &gAdventureLog->unk9C; + gAdventureLog->unk38->unk14 = gAdventureLog->unk9C; ResetUnusedInputStruct(); sub_800641C(gAdventureLog->unk3C,1,1); @@ -134,10 +130,10 @@ void sub_8032084(void) { u32 sVar2; - gAdventureLog->unk9C = gAdventureLog->unk20; - gAdventureLog->currPage_u8 = gAdventureLog->currPage; - gAdventureLog->unk9E = 0xb; - gAdventureLog->unk9F = 0; + gAdventureLog->unk9C[0] = gAdventureLog->unk20; + gAdventureLog->unk9C[1]= gAdventureLog->currPage; + gAdventureLog->unk9C[2]= 0xb; + gAdventureLog->unk9C[3]= 0; // So a sign extend.. sVar2 = sub_80095E4(gAdventureLog->unk1A,0xc) + 2 << 0x10; // TODO needs asr r3, r0, r16 @@ -225,7 +221,7 @@ void DisplayAdventureLog(void) // Draw Header xxx_call_draw_string(r6, 0, gAdventureLogHeaderText, gAdventureLog->unk34, 0); r4 += 4; - r6 = r4 + gAdventureLog->unk9E * 8; + r6 = r4 + gAdventureLog->unk9C[2] * 8; // Draw Page # sub_8012BC4(r6, 0, gAdventureLog->currPage + 1, 1, 7, gAdventureLog->unk34); diff --git a/src/code_801D760.c b/src/code_801D760.c index c2014eab0..9fec354e4 100644 --- a/src/code_801D760.c +++ b/src/code_801D760.c @@ -13,13 +13,12 @@ struct unkStruct_203B258 { // size: 0xA0 - u8 fill0[0x14]; - u32 unk14; + u8 fill0[0x18]; u16 unk18; u16 unk1A; - u16 unk1C; - u16 unk1E; - u16 unk20; + s16 unk1C; + s16 unk1E; + s16 unk20; u16 unk22; u8 unk24[0x34 - 0x24]; u32 unk34; diff --git a/src/kecleon_items_1.c b/src/kecleon_items_1.c index 7e6d0ed54..20b837194 100644 --- a/src/kecleon_items_1.c +++ b/src/kecleon_items_1.c @@ -67,12 +67,7 @@ struct unkStruct_203B214 {; // size: 0xA0 u8 fill0[0x18]; - // NOTE: has to be packed here so it doesn't take 4 bytes.. - union __attribute__ ((__packed__)) temp2 - { - u16 unk18; - u8 unk18_u8; - } temp; + u16 unk18; s16 unk1A; s16 unk1C; s16 unk1E; @@ -521,7 +516,7 @@ u32 sub_8019E40(u32 r0) ResetUnusedInputStruct(); sub_800641C(gUnknown_203B214->unk3C, 1, 1); sub_8013818(gUnknown_203B214, xxx_count_inv_unk230(), 0xA, r0); - gUnknown_203B214->temp.unk18 = gUnknown_203B218; + gUnknown_203B214->unk18 = gUnknown_203B218; sub_8013984((u8 *)gUnknown_203B214); sub_801A064(); sub_801A0D8(); @@ -586,7 +581,7 @@ u32 sub_8019EDC(u8 r0) u8 sub_8019FB0(void) { - return (gUnknown_203B214->unk1E * gUnknown_203B214->unk1C) + gUnknown_203B214->temp.unk18_u8; + return (gUnknown_203B214->unk1E * gUnknown_203B214->unk1C) + (u8)gUnknown_203B214->unk18; } void sub_8019FCC(u32 r0) @@ -609,7 +604,7 @@ void sub_801A010(void) { if(gUnknown_203B214 != NULL) { - gUnknown_203B218 = gUnknown_203B214->temp.unk18; + gUnknown_203B218 = gUnknown_203B214->unk18; gUnknown_203B214->unk3C[gUnknown_203B214->unk34] = gUnknown_80DB8B4; ResetUnusedInputStruct(); sub_800641C(gUnknown_203B214->unk3C, 1, 1); @@ -748,7 +743,7 @@ u32 sub_801A20C(u32 r0) ResetUnusedInputStruct(); sub_800641C(gUnknown_203B21C->unk3C, 1, 1); sub_8013818(gUnknown_203B21C, xxx_count_non_empty_inv_unk250_8091A48(), 0xA, r0); - gUnknown_203B21C->temp.unk18 = gUnknown_203B220; + gUnknown_203B21C->unk18 = gUnknown_203B220; sub_8013984((u8 *)gUnknown_203B21C); sub_801A430(); sub_801A4A4(); @@ -813,7 +808,7 @@ u32 sub_801A2A8(u8 r0) u8 sub_801A37C(void) { - return (gUnknown_203B21C->unk1E * gUnknown_203B21C->unk1C) + gUnknown_203B21C->temp.unk18_u8; + return (gUnknown_203B21C->unk1E * gUnknown_203B21C->unk1C) + gUnknown_203B21C->unk18; } void sub_801A398(u32 r0) @@ -836,7 +831,7 @@ void sub_801A3DC(void) { if(gUnknown_203B21C != NULL) { - gUnknown_203B220 = gUnknown_203B21C->temp.unk18; + gUnknown_203B220 = gUnknown_203B21C->unk18; gUnknown_203B21C->unk3C[gUnknown_203B21C->unk34] = gUnknown_80DB8FC; ResetUnusedInputStruct(); sub_800641C(gUnknown_203B21C->unk3C, 1, 1);