fixed lots of stuff
This commit is contained in:
@@ -41,7 +41,7 @@ extern u8 gIconDescriptionBoxIsOpen;
|
|||||||
|
|
||||||
void ResetFameChecker(void);
|
void ResetFameChecker(void);
|
||||||
void FullyUnlockFameChecker(void);
|
void FullyUnlockFameChecker(void);
|
||||||
void UseFameChecker(void (*)());
|
void UseFameChecker(MainCallback savedCallback);
|
||||||
void SetFlavorTextFlagFromSpecialVars(void);
|
void SetFlavorTextFlagFromSpecialVars(void);
|
||||||
void UpdatePickStateFromSpecialVar8005(void);
|
void UpdatePickStateFromSpecialVar8005(void);
|
||||||
|
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ void FieldObjectClearAnim(struct MapObject *);
|
|||||||
void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *);
|
void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *);
|
||||||
void SpawnFieldObjectsInView(s16, s16);
|
void SpawnFieldObjectsInView(s16, s16);
|
||||||
u8 sprite_new(u8, u8, s16, s16, u8, u8);
|
u8 sprite_new(u8, u8, s16, s16, u8, u8);
|
||||||
u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16, s16, u8);
|
u8 AddPseudoEventObject(u16, SpriteCallback, s16, s16, u8);
|
||||||
u8 show_sprite(u8, u8, u8);
|
u8 show_sprite(u8, u8, u8);
|
||||||
u8 SpawnSpecialFieldObjectParameterized(u8, u8, u8, s16, s16, u8);
|
u8 SpawnSpecialFieldObjectParameterized(u8, u8, u8, s16, s16, u8);
|
||||||
u8 SpawnSpecialFieldObject(struct MapObjectTemplate *);
|
u8 SpawnSpecialFieldObject(struct MapObjectTemplate *);
|
||||||
@@ -92,5 +92,7 @@ void npc_paltag_set_load(u8 mode);
|
|||||||
// Exported data declarations
|
// Exported data declarations
|
||||||
|
|
||||||
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
|
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
|
||||||
|
extern const struct SpritePalette gUnknown_83A5348;
|
||||||
|
extern const struct SpriteTemplate * const gUnknown_83A0010[];
|
||||||
|
|
||||||
#endif //GUARD_FIELD_MAP_OBJ_H
|
#endif //GUARD_FIELD_MAP_OBJ_H
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
#define VIRTUAL_MAP_SIZE 0x2800
|
#define VIRTUAL_MAP_SIZE 0x2800
|
||||||
|
|
||||||
extern struct BackupMapData VMap;
|
extern struct BackupMapData VMap;
|
||||||
|
extern const struct MapData Route1_Layout;
|
||||||
|
|
||||||
u32 MapGridGetMetatileIdAt(int, int);
|
u32 MapGridGetMetatileIdAt(int, int);
|
||||||
u32 MapGridGetMetatileBehaviorAt(int, int);
|
u32 MapGridGetMetatileBehaviorAt(int, int);
|
||||||
|
|||||||
@@ -160,6 +160,7 @@ extern const u32 gTMCase_TMSpriteGfx[];
|
|||||||
extern const u32 gUnknown_8E84F20[];
|
extern const u32 gUnknown_8E84F20[];
|
||||||
extern const u32 gUnknown_8E85068[];
|
extern const u32 gUnknown_8E85068[];
|
||||||
extern const u8 gUnknown_8E99118[];
|
extern const u8 gUnknown_8E99118[];
|
||||||
|
extern const u16 gTMCaseMainWindowPalette[];
|
||||||
|
|
||||||
// egg_hatch
|
// egg_hatch
|
||||||
extern const u32 gBattleTextboxTiles[];
|
extern const u32 gBattleTextboxTiles[];
|
||||||
@@ -168,4 +169,10 @@ extern const u32 gBattleTextboxPalette[];
|
|||||||
extern const u32 gTradeGba2_Pal[];
|
extern const u32 gTradeGba2_Pal[];
|
||||||
extern const u32 gTradeGba_Gfx[];
|
extern const u32 gTradeGba_Gfx[];
|
||||||
|
|
||||||
|
// teachy_tv
|
||||||
|
extern const u8 gUnknown_8E86240[];
|
||||||
|
extern const u8 gUnknown_8E86BE8[];
|
||||||
|
extern const u8 gUnknown_8E86D6C[];
|
||||||
|
extern const u8 gUnknown_8E86F98[];
|
||||||
|
|
||||||
#endif //GUARD_GRAPHICS_H
|
#endif //GUARD_GRAPHICS_H
|
||||||
|
|||||||
+2
-2
@@ -9,8 +9,8 @@
|
|||||||
|
|
||||||
struct ListMenuItem
|
struct ListMenuItem
|
||||||
{
|
{
|
||||||
const u8 *unk_00;
|
const u8 *label;
|
||||||
s32 unk_04;
|
s32 index;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ListMenu;
|
struct ListMenu;
|
||||||
|
|||||||
@@ -3,8 +3,6 @@
|
|||||||
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
#include "global.h"
|
|
||||||
|
|
||||||
typedef void (*MainCallback)(void);
|
typedef void (*MainCallback)(void);
|
||||||
typedef void (*IntrCallback)(void);
|
typedef void (*IntrCallback)(void);
|
||||||
typedef void (*IntrFunc)(void);
|
typedef void (*IntrFunc)(void);
|
||||||
|
|||||||
@@ -232,6 +232,8 @@ struct OamMatrix
|
|||||||
s16 d;
|
s16 d;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef void (*SpriteCallback)(struct Sprite *);
|
||||||
|
|
||||||
extern const struct OamData gDummyOamData;
|
extern const struct OamData gDummyOamData;
|
||||||
extern const union AnimCmd *const gDummySpriteAnimTable[];
|
extern const union AnimCmd *const gDummySpriteAnimTable[];
|
||||||
extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[];
|
extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[];
|
||||||
|
|||||||
+22
-1
@@ -113,6 +113,27 @@ extern const u8 gText_ICanPayThisMuch_WouldThatBeOkay[];
|
|||||||
extern const u8 gText_TurnedOverItemsWorthYen[];
|
extern const u8 gText_TurnedOverItemsWorthYen[];
|
||||||
extern const u8 gPokeDudeText_TMTypes[];
|
extern const u8 gPokeDudeText_TMTypes[];
|
||||||
extern const u8 gPokeDudeText_ReadTMDescription[];
|
extern const u8 gPokeDudeText_ReadTMDescription[];
|
||||||
extern const u16 gTMCaseMainWindowPalette[];
|
|
||||||
|
// teachy_tv
|
||||||
|
extern const u8 gUnknown_841B7A4[];
|
||||||
|
extern const u8 gUnknown_841B7BC[];
|
||||||
|
extern const u8 gUnknown_841B7D6[];
|
||||||
|
extern const u8 gUnknown_841B7EE[];
|
||||||
|
extern const u8 gUnknown_841B807[];
|
||||||
|
extern const u8 gUnknown_841B81B[];
|
||||||
|
extern const u8 gUnknown_841B836[];
|
||||||
|
extern const u8 gUnknown_841B83D[];
|
||||||
|
extern const u8 gUnknown_841B8BF[];
|
||||||
|
extern const u8 gUnknown_841BB40[];
|
||||||
|
extern const u8 gUnknown_841BE76[];
|
||||||
|
extern const u8 gUnknown_841C23B[];
|
||||||
|
extern const u8 gUnknown_841C459[];
|
||||||
|
extern const u8 gUnknown_841C82A[];
|
||||||
|
extern const u8 gUnknown_841BA41[];
|
||||||
|
extern const u8 gUnknown_841BD10[];
|
||||||
|
extern const u8 gUnknown_841C0AF[];
|
||||||
|
extern const u8 gUnknown_841C384[];
|
||||||
|
extern const u8 gUnknown_841C7B4[];
|
||||||
|
extern const u8 gUnknown_841C994[];
|
||||||
|
|
||||||
#endif //GUARD_STRINGS_H
|
#endif //GUARD_STRINGS_H
|
||||||
|
|||||||
+8
-8
@@ -1341,14 +1341,14 @@ static void FC_DoMoveCursor(s32 itemIndex, bool8 onInit)
|
|||||||
u16 who;
|
u16 who;
|
||||||
ListMenuGetScrollAndRow(sFameCheckerData->listMenuTaskId, &listY, &cursorY);
|
ListMenuGetScrollAndRow(sFameCheckerData->listMenuTaskId, &listY, &cursorY);
|
||||||
who = listY + cursorY;
|
who = listY + cursorY;
|
||||||
AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 8, 14 * cursorY + 4, 0, 0, &sTextColor_Green, 0, sListMenuItems[itemIndex].unk_00);
|
AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 8, 14 * cursorY + 4, 0, 0, &sTextColor_Green, 0, sListMenuItems[itemIndex].label);
|
||||||
if (!onInit)
|
if (!onInit)
|
||||||
{
|
{
|
||||||
if (listY < sFameCheckerData->listMenuTopIdx2)
|
if (listY < sFameCheckerData->listMenuTopIdx2)
|
||||||
sFameCheckerData->listMenuDrawnSelIdx++;
|
sFameCheckerData->listMenuDrawnSelIdx++;
|
||||||
else if (listY > sFameCheckerData->listMenuTopIdx2 && who != sFameCheckerData->numUnlockedPersons - 1)
|
else if (listY > sFameCheckerData->listMenuTopIdx2 && who != sFameCheckerData->numUnlockedPersons - 1)
|
||||||
sFameCheckerData->listMenuDrawnSelIdx--;
|
sFameCheckerData->listMenuDrawnSelIdx--;
|
||||||
AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &sTextColor_DkGrey, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].unk_00);
|
AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 8, 14 * sFameCheckerData->listMenuDrawnSelIdx + 4, 0, 0, &sTextColor_DkGrey, 0, sListMenuItems[sFameCheckerData->listMenuCurIdx].label);
|
||||||
|
|
||||||
}
|
}
|
||||||
sFameCheckerData->listMenuCurIdx = itemIndex;
|
sFameCheckerData->listMenuCurIdx = itemIndex;
|
||||||
@@ -1368,20 +1368,20 @@ static u8 FC_PopulateListMenu(void)
|
|||||||
{
|
{
|
||||||
if (sTrainerIdxs[fameCheckerIdx] < FC_NONTRAINER_START)
|
if (sTrainerIdxs[fameCheckerIdx] < FC_NONTRAINER_START)
|
||||||
{
|
{
|
||||||
sListMenuItems[nitems].unk_00 = gTrainers[sTrainerIdxs[fameCheckerIdx]].trainerName;
|
sListMenuItems[nitems].label = gTrainers[sTrainerIdxs[fameCheckerIdx]].trainerName;
|
||||||
sListMenuItems[nitems].unk_04 = nitems;
|
sListMenuItems[nitems].index = nitems;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sListMenuItems[nitems].unk_00 = sNonTrainerNamePointers[sTrainerIdxs[fameCheckerIdx] - FC_NONTRAINER_START];
|
sListMenuItems[nitems].label = sNonTrainerNamePointers[sTrainerIdxs[fameCheckerIdx] - FC_NONTRAINER_START];
|
||||||
sListMenuItems[nitems].unk_04 = nitems;
|
sListMenuItems[nitems].index = nitems;
|
||||||
}
|
}
|
||||||
sFameCheckerData->unlockedPersons[nitems] = fameCheckerIdx;
|
sFameCheckerData->unlockedPersons[nitems] = fameCheckerIdx;
|
||||||
nitems++;
|
nitems++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sListMenuItems[nitems].unk_00 = gFameCheckerText_Cancel;
|
sListMenuItems[nitems].label = gFameCheckerText_Cancel;
|
||||||
sListMenuItems[nitems].unk_04 = nitems;
|
sListMenuItems[nitems].index = nitems;
|
||||||
sFameCheckerData->unlockedPersons[nitems] = 0xFF;
|
sFameCheckerData->unlockedPersons[nitems] = 0xFF;
|
||||||
nitems++;
|
nitems++;
|
||||||
gFameChecker_ListMenuTemplate.totalItems = nitems;
|
gFameChecker_ListMenuTemplate.totalItems = nitems;
|
||||||
|
|||||||
@@ -703,7 +703,7 @@ u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whichMenu)
|
|||||||
width = 0;
|
width = 0;
|
||||||
for (i = 0; i < listMenuTemplate.totalItems; i++)
|
for (i = 0; i < listMenuTemplate.totalItems; i++)
|
||||||
{
|
{
|
||||||
u32 curWidth = GetStringWidth(2, listMenuTemplate.items[i].unk_00, listMenuTemplate.lettersSpacing);
|
u32 curWidth = GetStringWidth(2, listMenuTemplate.items[i].label, listMenuTemplate.lettersSpacing);
|
||||||
if (curWidth > width)
|
if (curWidth > width)
|
||||||
width = curWidth;
|
width = curWidth;
|
||||||
}
|
}
|
||||||
|
|||||||
+116
-126
@@ -1,4 +1,3 @@
|
|||||||
#include "main.h"
|
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
#include "palette.h"
|
#include "palette.h"
|
||||||
@@ -31,6 +30,9 @@
|
|||||||
#include "help_system.h"
|
#include "help_system.h"
|
||||||
#include "overworld.h"
|
#include "overworld.h"
|
||||||
#include "unk_8159F40.h"
|
#include "unk_8159F40.h"
|
||||||
|
#include "graphics.h"
|
||||||
|
#include "fieldmap.h"
|
||||||
|
#include "strings.h"
|
||||||
|
|
||||||
struct TeachyTvCtrlBlk
|
struct TeachyTvCtrlBlk
|
||||||
{
|
{
|
||||||
@@ -57,14 +59,6 @@ struct TeachyTvBuf
|
|||||||
|
|
||||||
EWRAM_DATA struct TeachyTvCtrlBlk gTeachyTV_StaticResources = {0};
|
EWRAM_DATA struct TeachyTvCtrlBlk gTeachyTV_StaticResources = {0};
|
||||||
EWRAM_DATA struct TeachyTvBuf * gUnknown_203F450 = NULL;
|
EWRAM_DATA struct TeachyTvBuf * gUnknown_203F450 = NULL;
|
||||||
extern const struct SpritePalette gUnknown_83A5348;
|
|
||||||
extern const struct SpriteTemplate * const gUnknown_83A0010[];
|
|
||||||
extern const struct MapData Route1_Layout;
|
|
||||||
extern const u8 gUnknown_841B7A4[], gUnknown_841B7BC[], gUnknown_841B7D6[], gUnknown_841B7EE[], gUnknown_841B807[], gUnknown_841B81B[], gUnknown_841B836[], gUnknown_841B83D[], gUnknown_841B8BF[], gUnknown_841BB40[], gUnknown_841BE76[], gUnknown_841C23B[], gUnknown_841C459[], gUnknown_841C82A[], gUnknown_841BA41[], gUnknown_841BD10[], gUnknown_841C0AF[], gUnknown_841C384[], gUnknown_841C7B4[], gUnknown_841C994[];
|
|
||||||
extern const u8 gUnknown_8E86240[];
|
|
||||||
extern const u8 gUnknown_8E86BE8[];
|
|
||||||
extern const u8 gUnknown_8E86D6C[];
|
|
||||||
extern const u8 gUnknown_8E86F98[];
|
|
||||||
|
|
||||||
void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId);
|
void TeachyTvClusFuncTransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId);
|
||||||
void TeachyTvClusFuncClearBg2TeachyTvGraphic(u8 taskId);
|
void TeachyTvClusFuncClearBg2TeachyTvGraphic(u8 taskId);
|
||||||
@@ -189,57 +183,57 @@ const struct WindowTemplate gTeachyTvWindowTemplateArray[] =
|
|||||||
const struct ListMenuItem gTeachyTvListMenuItemArray[] =
|
const struct ListMenuItem gTeachyTvListMenuItemArray[] =
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
.unk_00 = gUnknown_841B7A4,
|
.label = gUnknown_841B7A4,
|
||||||
.unk_04 = 0,
|
.index = 0,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.unk_00 = gUnknown_841B7BC,
|
.label = gUnknown_841B7BC,
|
||||||
.unk_04 = 1,
|
.index = 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.unk_00 = gUnknown_841B7D6,
|
.label = gUnknown_841B7D6,
|
||||||
.unk_04 = 2,
|
.index = 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.unk_00 = gUnknown_841B7EE,
|
.label = gUnknown_841B7EE,
|
||||||
.unk_04 = 3,
|
.index = 3,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.unk_00 = gUnknown_841B807,
|
.label = gUnknown_841B807,
|
||||||
.unk_04 = 4,
|
.index = 4,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.unk_00 = gUnknown_841B81B,
|
.label = gUnknown_841B81B,
|
||||||
.unk_04 = 5,
|
.index = 5,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
.unk_00 = gUnknown_841B836,
|
.label = gUnknown_841B836,
|
||||||
.unk_04 = -2,
|
.index = -2,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct ListMenuItem gTeachyTvListMenuItemArray2[] =
|
const struct ListMenuItem gTeachyTvListMenuItemArray2[] =
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
.unk_00 = gUnknown_841B7A4,
|
.label = gUnknown_841B7A4,
|
||||||
.unk_04 = 0,
|
.index = 0,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.unk_00 = gUnknown_841B7BC,
|
.label = gUnknown_841B7BC,
|
||||||
.unk_04 = 1,
|
.index = 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.unk_00 = gUnknown_841B7D6,
|
.label = gUnknown_841B7D6,
|
||||||
.unk_04 = 2,
|
.index = 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.unk_00 = gUnknown_841B7EE,
|
.label = gUnknown_841B7EE,
|
||||||
.unk_04 = 3,
|
.index = 3,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.unk_00 = gUnknown_841B836,
|
.label = gUnknown_841B836,
|
||||||
.unk_04 = -2,
|
.index = -2,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -428,86 +422,6 @@ void (* const * const gTeachyTvFuncClusterArray[])(u8) =
|
|||||||
gTeachyTvFuncCluster5,
|
gTeachyTvFuncCluster5,
|
||||||
};
|
};
|
||||||
|
|
||||||
const u8 * const gTeachyTvTextArray1[] =
|
|
||||||
{
|
|
||||||
gUnknown_841B8BF,
|
|
||||||
gUnknown_841BB40,
|
|
||||||
gUnknown_841BE76,
|
|
||||||
gUnknown_841C23B,
|
|
||||||
gUnknown_841C459,
|
|
||||||
gUnknown_841C82A,
|
|
||||||
};
|
|
||||||
|
|
||||||
const u8 * const gTeachyTvTextArray2[] =
|
|
||||||
{
|
|
||||||
gUnknown_841BA41,
|
|
||||||
gUnknown_841BD10,
|
|
||||||
gUnknown_841C0AF,
|
|
||||||
gUnknown_841C384,
|
|
||||||
gUnknown_841C7B4,
|
|
||||||
gUnknown_841C994,
|
|
||||||
};
|
|
||||||
|
|
||||||
const u16 gUnknown_8479590[] =
|
|
||||||
{
|
|
||||||
0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8,
|
|
||||||
0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8,
|
|
||||||
};
|
|
||||||
|
|
||||||
const struct Subsprite gTeachyTvSubspriteArray[] =
|
|
||||||
{
|
|
||||||
{
|
|
||||||
.x = -0x8,
|
|
||||||
.y = -0x8,
|
|
||||||
.shape = 0x1,
|
|
||||||
.size = 0x0,
|
|
||||||
.tileOffset = 0x0,
|
|
||||||
.priority = 0x3,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.x = -0x8,
|
|
||||||
.y = 0x0,
|
|
||||||
.shape = 0x1,
|
|
||||||
.size = 0x0,
|
|
||||||
.tileOffset = 0x2,
|
|
||||||
.priority = 0x2,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const struct SubspriteTable gTeachyTvSubspriteTableArray[] =
|
|
||||||
{
|
|
||||||
{
|
|
||||||
.subspriteCount = 0,
|
|
||||||
.subsprites = NULL,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.subspriteCount = 2,
|
|
||||||
.subsprites = gTeachyTvSubspriteArray,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const u8 gTeachyTvGrassAnimArray[] =
|
|
||||||
{
|
|
||||||
0, 0, 1, 1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1, 1, 0, 0,
|
|
||||||
0, 0, 1, 1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1, 1, 0, 0,
|
|
||||||
0, 0, 1, 1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1, 1, 0, 0,
|
|
||||||
0, 0, 1, 1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1, 1, 0, 0,
|
|
||||||
0, 0, 1, 1, 1, 1, 1, 1,
|
|
||||||
1, 1, 1, 1, 1, 1, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
1, 1, 1, 1, 1, 1, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
1, 1, 1, 1, 1, 1, 0, 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
void TeachyTvCallback(void)
|
void TeachyTvCallback(void)
|
||||||
{
|
{
|
||||||
RunTasks();
|
RunTasks();
|
||||||
@@ -754,7 +668,7 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId)
|
|||||||
{
|
{
|
||||||
s16 *data = gTasks[taskId].data;
|
s16 *data = gTasks[taskId].data;
|
||||||
int v1 = data[1];
|
int v1 = data[1];
|
||||||
struct Sprite *v3 = &gSprites[v1];
|
struct Sprite *objAddr = &gSprites[v1];
|
||||||
int op;
|
int op;
|
||||||
|
|
||||||
ClearWindowTilemap(1);
|
ClearWindowTilemap(1);
|
||||||
@@ -776,7 +690,7 @@ void TeachyTvSetupPostBattleWindowAndObj(u8 taskId)
|
|||||||
|
|
||||||
data[4] = 0;
|
data[4] = 0;
|
||||||
data[5] = 0;
|
data[5] = 0;
|
||||||
TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 1);
|
TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x, objAddr->pos2.y, 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TeachyTvInitTextPrinter(const char *text)
|
void TeachyTvInitTextPrinter(const char *text)
|
||||||
@@ -811,7 +725,7 @@ void TeachyTvQuitFadeControlAndTaskDel(u8 taskId)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_8055DC4();
|
sub_8055DC4();
|
||||||
SetMainCallback2((void (*)())gTeachyTV_StaticResources.callback);
|
SetMainCallback2(gTeachyTV_StaticResources.callback);
|
||||||
}
|
}
|
||||||
TeachyTvFree();
|
TeachyTvFree();
|
||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
@@ -940,7 +854,15 @@ void TeachyTvRenderMsgAndSwitchClusterFuncs(u8 taskId)
|
|||||||
void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId)
|
void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId)
|
||||||
{
|
{
|
||||||
s16 *data = gTasks[taskId].data;
|
s16 *data = gTasks[taskId].data;
|
||||||
const u8 * const* texts = gTeachyTvTextArray1;
|
const u8 * const *texts = (const u8 *const [])
|
||||||
|
{
|
||||||
|
gUnknown_841B8BF,
|
||||||
|
gUnknown_841BB40,
|
||||||
|
gUnknown_841BE76,
|
||||||
|
gUnknown_841C23B,
|
||||||
|
gUnknown_841C459,
|
||||||
|
gUnknown_841C82A,
|
||||||
|
};
|
||||||
TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]);
|
TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]);
|
||||||
++data[3];
|
++data[3];
|
||||||
}
|
}
|
||||||
@@ -948,11 +870,79 @@ void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen(u8 taskId)
|
|||||||
void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId)
|
void TeachyTvClusFuncTextPrinterSwitchStringByOptionChosen2(u8 taskId)
|
||||||
{
|
{
|
||||||
s16 *data = gTasks[taskId].data;
|
s16 *data = gTasks[taskId].data;
|
||||||
const u8 * const* texts = gTeachyTvTextArray2;
|
const u8 * const *texts = (const u8 *const [])
|
||||||
|
{
|
||||||
|
gUnknown_841BA41,
|
||||||
|
gUnknown_841BD10,
|
||||||
|
gUnknown_841C0AF,
|
||||||
|
gUnknown_841C384,
|
||||||
|
gUnknown_841C7B4,
|
||||||
|
gUnknown_841C994,
|
||||||
|
};
|
||||||
TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]);
|
TeachyTvInitTextPrinter(texts[gTeachyTV_StaticResources.optionChosen]);
|
||||||
++data[3];
|
++data[3];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const u16 gUnknown_8479590[] =
|
||||||
|
{
|
||||||
|
0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8,
|
||||||
|
0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8,
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct Subsprite gTeachyTvSubspriteArray[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.x = -0x8,
|
||||||
|
.y = -0x8,
|
||||||
|
.shape = 0x1,
|
||||||
|
.size = 0x0,
|
||||||
|
.tileOffset = 0x0,
|
||||||
|
.priority = 0x3,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.x = -0x8,
|
||||||
|
.y = 0x0,
|
||||||
|
.shape = 0x1,
|
||||||
|
.size = 0x0,
|
||||||
|
.tileOffset = 0x2,
|
||||||
|
.priority = 0x2,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct SubspriteTable gTeachyTvSubspriteTableArray[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.subspriteCount = 0,
|
||||||
|
.subsprites = NULL,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.subspriteCount = 2,
|
||||||
|
.subsprites = gTeachyTvSubspriteArray,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 gTeachyTvGrassAnimArray[] =
|
||||||
|
{
|
||||||
|
0, 0, 1, 1, 1, 1, 1, 1,
|
||||||
|
1, 1, 1, 1, 1, 1, 0, 0,
|
||||||
|
0, 0, 1, 1, 1, 1, 1, 1,
|
||||||
|
1, 1, 1, 1, 1, 1, 0, 0,
|
||||||
|
0, 0, 1, 1, 1, 1, 1, 1,
|
||||||
|
1, 1, 1, 1, 1, 1, 0, 0,
|
||||||
|
0, 0, 1, 1, 1, 1, 1, 1,
|
||||||
|
1, 1, 1, 1, 1, 1, 0, 0,
|
||||||
|
0, 0, 1, 1, 1, 1, 1, 1,
|
||||||
|
1, 1, 1, 1, 1, 1, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
1, 1, 1, 1, 1, 1, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
1, 1, 1, 1, 1, 1, 0, 0,
|
||||||
|
};
|
||||||
|
|
||||||
void TeachyTvClusFuncIdleIfTextPrinterIsActive2(u8 taskId)
|
void TeachyTvClusFuncIdleIfTextPrinterIsActive2(u8 taskId)
|
||||||
{
|
{
|
||||||
s16 *data = (u16 *)gTasks[taskId].data;
|
s16 *data = (u16 *)gTasks[taskId].data;
|
||||||
@@ -1027,25 +1017,25 @@ void TeachyTvClusFuncDudeTurnLeft(u8 taskId)
|
|||||||
{
|
{
|
||||||
|
|
||||||
s16 *data = gTasks[taskId].data;
|
s16 *data = gTasks[taskId].data;
|
||||||
struct Sprite *v3 = &gSprites[data[1]];
|
struct Sprite *objAddr = &gSprites[data[1]];
|
||||||
StartSpriteAnim(v3, 6);
|
StartSpriteAnim(objAddr, 6);
|
||||||
++data[3];
|
++data[3];
|
||||||
data[4] = 0;
|
data[4] = 0;
|
||||||
data[5] = 0;
|
data[5] = 0;
|
||||||
TeachyTvGrassAnimationMain(taskId, v3->pos2.x, v3->pos2.y, 0, 0);
|
TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x, objAddr->pos2.y, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TeachyTvClusFuncDudeMoveLeft(u8 taskId)
|
void TeachyTvClusFuncDudeMoveLeft(u8 taskId)
|
||||||
{
|
{
|
||||||
s16 *data = gTasks[taskId].data;
|
s16 *data = gTasks[taskId].data;
|
||||||
struct Sprite *v2 = &gSprites[data[1]];
|
struct Sprite *objAddr = &gSprites[data[1]];
|
||||||
|
|
||||||
if (!(v2->pos2.x & 0xF))
|
if (!(objAddr->pos2.x & 0xF))
|
||||||
TeachyTvGrassAnimationMain(taskId, v2->pos2.x - 8, v2->pos2.y, 0, 0);
|
TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x - 8, objAddr->pos2.y, 0, 0);
|
||||||
if (v2->pos2.x == 8)
|
if (objAddr->pos2.x == 8)
|
||||||
++data[3];
|
++data[3];
|
||||||
else
|
else
|
||||||
--v2->pos2.x;
|
--objAddr->pos2.x;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId)
|
void TeachyTvClusFuncRenderAndRemoveBg1EndGraphic(u8 taskId)
|
||||||
|
|||||||
+4
-4
@@ -496,11 +496,11 @@ static void InitTMCaseListMenuItems(void)
|
|||||||
for (i = 0; i < sTMCaseDynamicResources->numTMs; i++)
|
for (i = 0; i < sTMCaseDynamicResources->numTMs; i++)
|
||||||
{
|
{
|
||||||
GetTMNumberAndMoveString(sListMenuStringsBuffer[i], pocket->itemSlots[i].itemId);
|
GetTMNumberAndMoveString(sListMenuStringsBuffer[i], pocket->itemSlots[i].itemId);
|
||||||
sListMenuItemsBuffer[i].unk_00 = sListMenuStringsBuffer[i];
|
sListMenuItemsBuffer[i].label = sListMenuStringsBuffer[i];
|
||||||
sListMenuItemsBuffer[i].unk_04 = i;
|
sListMenuItemsBuffer[i].index = i;
|
||||||
}
|
}
|
||||||
sListMenuItemsBuffer[i].unk_00 = gText_Close;
|
sListMenuItemsBuffer[i].label = gText_Close;
|
||||||
sListMenuItemsBuffer[i].unk_04 = -2;
|
sListMenuItemsBuffer[i].index = -2;
|
||||||
gMultiuseListMenuTemplate.items = sListMenuItemsBuffer;
|
gMultiuseListMenuTemplate.items = sListMenuItemsBuffer;
|
||||||
gMultiuseListMenuTemplate.totalItems = sTMCaseDynamicResources->numTMs + 1;
|
gMultiuseListMenuTemplate.totalItems = sTMCaseDynamicResources->numTMs + 1;
|
||||||
gMultiuseListMenuTemplate.windowId = 0;
|
gMultiuseListMenuTemplate.windowId = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user