summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/multichoice.inc471
-rw-r--r--src/script_menu.c583
2 files changed, 562 insertions, 492 deletions
diff --git a/data/multichoice.inc b/data/multichoice.inc
deleted file mode 100644
index 256038c23..000000000
--- a/data/multichoice.inc
+++ /dev/null
@@ -1,471 +0,0 @@
- .align 2
-MultichoiceList_00:
- .4byte OtherText_Petalburg, 0
- .4byte OtherText_Slateport, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_02:
- .4byte OtherText_Enter, 0
- .4byte OtherText_Info3, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_03:
- .4byte OtherText_WhatsAContest, 0
- .4byte OtherText_TypesOfContest, 0
- .4byte OtherText_Ranks, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_04:
- .4byte OtherText_CoolContest, 0
- .4byte OtherText_BeautyContest, 0
- .4byte OtherText_CuteContest, 0
- .4byte OtherText_SmartContest, 0
- .4byte OtherText_ToughContest, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_06:
- .4byte OtherText_Decoration, 0
- .4byte OtherText_PackUp, 0
- .4byte OtherText_Registry, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_05:
- .4byte OtherText_Decoration, 0
- .4byte OtherText_PackUp, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_07:
- .4byte OtherText_Register, 0
- .4byte OtherText_Registry, 0
- .4byte OtherText_Information, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_12:
- .4byte OtherText_Mach, 0
- .4byte OtherText_Acro, 0
-
- .align 2
-MultichoiceList_13:
- .4byte OtherText_Poison, 0
- .4byte OtherText_Paralysis, 0
- .4byte OtherText_Sleep, 0
- .4byte OtherText_Burn, 0
- .4byte OtherText_Frozen, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_14:
- .4byte OtherText_Dewford, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_16:
- .4byte OtherText_SawIt, 0
- .4byte OtherText_NotYet, 0
-
- .align 2
-MultichoiceList_17:
- .4byte OtherText_Yes, 0
- .4byte OtherText_No, 0
- .4byte OtherText_Info3, 0
-
- .align 2
-MultichoiceList_18:
- .4byte OtherText_SingleBattle, 0
- .4byte OtherText_DoubleBattle, 0
- .4byte OtherText_MultiBattle, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_19:
- .4byte OtherText_Littleroot, 0
- .4byte OtherText_Slateport, 0
- .4byte OtherText_Lilycove, 0
-
- .align 2
-MultichoiceList_20:
- .4byte OtherText_Yes, 0
- .4byte OtherText_No, 0
- .4byte OtherText_Info3, 0
-
- .align 2
-MultichoiceList_23:
- .4byte OtherText_MakeAChallenge, 0
- .4byte OtherText_ObtainInformation, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_24:
- .4byte OtherText_Lv50_2, 0
- .4byte OtherText_Lv100_2, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_25:
- .4byte OtherText_Zigzagoon, 0
- .4byte OtherText_Nincada, 0
- .4byte OtherText_Poochyena, 0
-
- .align 2
-MultichoiceList_26:
- .4byte OtherText_Nincada2, 0
- .4byte OtherText_Lotad, 0
- .4byte OtherText_Roselia, 0
-
- .align 2
-MultichoiceList_27:
- .4byte OtherText_Shroomish, 0
- .4byte OtherText_Nincada3, 0
- .4byte OtherText_Surskit, 0
-
- .align 2
-MultichoiceList_28:
- .4byte OtherText_Treecko, 0
- .4byte OtherText_Torchic, 0
- .4byte OtherText_Mudkip, 0
-
- .align 2
-MultichoiceList_29:
- .4byte OtherText_Seedot, 0
- .4byte OtherText_Shroomish2, 0
- .4byte OtherText_Spinda, 0
-
- .align 2
-MultichoiceList_30:
- .4byte OtherText_Shroomish3, 0
- .4byte OtherText_Zigzagoon2, 0
- .4byte OtherText_Wurmple, 0
-
- .align 2
-MultichoiceList_31:
- .4byte OtherText_PokeBall, 0
- .4byte OtherText_SuperPotion, 0
- .4byte OtherText_SamePrice, 0
-
- .align 2
-MultichoiceList_32:
- .4byte OtherText_Yen135, 0
- .4byte OtherText_Yen155, 0
- .4byte OtherText_Yen175, 0
-
- .align 2
-MultichoiceList_33:
- .4byte OtherText_CostMore, 0
- .4byte OtherText_CostLess, 0
- .4byte OtherText_SamePrice2, 0
-
- .align 2
-MultichoiceList_34:
- .4byte OtherText_MaleSymbol, 0
- .4byte OtherText_FemaleSymbol, 0
- .4byte OtherText_Neither, 0
-
- .align 2
-MultichoiceList_35:
- .4byte OtherText_Males, 0
- .4byte OtherText_Females, 0
- .4byte OtherText_SameNumber, 0
-
- .align 2
-MultichoiceList_36:
- .4byte OtherText_Male, 0
- .4byte OtherText_Female, 0
- .4byte OtherText_ItDepends, 0
-
- .align 2
-MultichoiceList_37:
- .4byte OtherText_Six2, 0
- .4byte OtherText_Eight2, 0
- .4byte OtherText_Ten, 0
-
- .align 2
-MultichoiceList_38:
- .4byte OtherText_One, 0
- .4byte OtherText_Two, 0
- .4byte OtherText_Three, 0
-
- .align 2
-MultichoiceList_39:
- .4byte OtherText_Six, 0
- .4byte OtherText_Seven, 0
- .4byte OtherText_Eight, 0
-
- .align 2
-MultichoiceList_42:
- .4byte OtherText_FreshWater, 0
- .4byte OtherText_SodaPop, 0
- .4byte OtherText_Lemonade, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_43:
- .4byte OtherText_HowToRide, 0
- .4byte OtherText_HowToTurn, 0
- .4byte OtherText_SandySlopes, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_44:
- .4byte OtherText_Wheelies, 0
- .4byte OtherText_BunnyHops, 0
- .4byte OtherText_Jumping, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_45:
- .4byte OtherText_Satisfied, 0
- .4byte OtherText_Dissatisfied, 0
-
- .align 2
-MultichoiceList_46:
- .4byte OtherText_Deepseatooth, 0
- .4byte OtherText_Deepseascale, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_47:
- .4byte OtherText_BlueFlute2, 0
- .4byte OtherText_YellowFlute2, 0
- .4byte OtherText_RedFlute2, 0
- .4byte OtherText_WhiteFlute2, 0
- .4byte OtherText_BlackFlute2, 0
- .4byte OtherText_GlassChair, 0
- .4byte OtherText_GlassDesk, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_48:
- .4byte OtherText_TreeckoDoll, 0
- .4byte OtherText_TorchicDoll, 0
- .4byte OtherText_MudkipDoll, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_55:
- .4byte OtherText_TM32, 0
- .4byte OtherText_TM29, 0
- .4byte OtherText_TM35, 0
- .4byte OtherText_TM24, 0
- .4byte OtherText_TM13, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_49:
- .4byte OtherText_50Coins, 0
- .4byte OtherText_500Coins, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_50:
- .4byte OtherText_Excellent, 0
- .4byte OtherText_NotSoHot, 0
-
- .align 2
-MultichoiceList_52:
- .4byte OtherText_Lilycove, 0
- .4byte OtherText_BattleTower, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_53:
- .4byte OtherText_Slateport, 0
- .4byte OtherText_Lilycove, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_54:
- .4byte OtherText_Right, 0
- .4byte OtherText_Left, 0
-
- .align 2
-MultichoiceList_56:
- .4byte OtherText_Slateport, 0
- .4byte OtherText_BattleTower, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_57:
- .4byte OtherText_1F_2, 0
- .4byte OtherText_2F_2, 0
- .4byte OtherText_3F_2, 0
- .4byte OtherText_4F_2, 0
- .4byte OtherText_5F_2, 0
-
- .align 2
-MultichoiceList_58:
- .4byte OtherText_RedShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_59:
- .4byte OtherText_YellowShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_60:
- .4byte OtherText_RedShard, 0
- .4byte OtherText_YellowShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_61:
- .4byte OtherText_BlueShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_62:
- .4byte OtherText_RedShard, 0
- .4byte OtherText_BlueShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_63:
- .4byte OtherText_YellowShard, 0
- .4byte OtherText_BlueShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_64:
- .4byte OtherText_RedShard, 0
- .4byte OtherText_YellowShard, 0
- .4byte OtherText_BlueShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_65:
- .4byte OtherText_GreenShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_66:
- .4byte OtherText_RedShard, 0
- .4byte OtherText_GreenShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_67:
- .4byte OtherText_YellowShard, 0
- .4byte OtherText_GreenShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_68:
- .4byte OtherText_RedShard, 0
- .4byte OtherText_YellowShard, 0
- .4byte OtherText_GreenShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_69:
- .4byte OtherText_BlueShard, 0
- .4byte OtherText_GreenShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_70:
- .4byte OtherText_RedShard, 0
- .4byte OtherText_BlueShard, 0
- .4byte OtherText_GreenShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_71:
- .4byte OtherText_YellowShard, 0
- .4byte OtherText_BlueShard, 0
- .4byte OtherText_GreenShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_72:
- .4byte OtherText_RedShard, 0
- .4byte OtherText_YellowShard, 0
- .4byte OtherText_BlueShard, 0
- .4byte OtherText_GreenShard, 0
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-MultichoiceList_01:
- .4byte gOtherText_CancelNoTerminator, 0
-
- .align 2
-gMultichoiceLists:: @ 83CDE00
- .4byte MultichoiceList_00, 3
- .4byte MultichoiceList_01, 1
- .4byte MultichoiceList_02, 3
- .4byte MultichoiceList_03, 4
- .4byte MultichoiceList_04, 6
- .4byte MultichoiceList_05, 3
- .4byte MultichoiceList_06, 4
- .4byte MultichoiceList_07, 4
- .4byte MultichoiceList_01, 1
- .4byte MultichoiceList_01, 1
- .4byte MultichoiceList_01, 1
- .4byte MultichoiceList_01, 1
- .4byte MultichoiceList_12, 2
- .4byte MultichoiceList_13, 6
- .4byte MultichoiceList_14, 2
- .4byte MultichoiceList_01, 1
- .4byte MultichoiceList_16, 2
- .4byte MultichoiceList_17, 3
- .4byte MultichoiceList_18, 4
- .4byte MultichoiceList_19, 3
- .4byte MultichoiceList_20, 3
- .4byte MultichoiceList_01, 1
- .4byte MultichoiceList_01, 1
- .4byte MultichoiceList_23, 3
- .4byte MultichoiceList_24, 3
- .4byte MultichoiceList_25, 3
- .4byte MultichoiceList_26, 3
- .4byte MultichoiceList_27, 3
- .4byte MultichoiceList_28, 3
- .4byte MultichoiceList_29, 3
- .4byte MultichoiceList_30, 3
- .4byte MultichoiceList_31, 3
- .4byte MultichoiceList_32, 3
- .4byte MultichoiceList_33, 3
- .4byte MultichoiceList_34, 3
- .4byte MultichoiceList_35, 3
- .4byte MultichoiceList_36, 3
- .4byte MultichoiceList_37, 3
- .4byte MultichoiceList_38, 3
- .4byte MultichoiceList_39, 3
- .4byte MultichoiceList_01, 1
- .4byte MultichoiceList_01, 1
- .4byte MultichoiceList_42, 4
- .4byte MultichoiceList_43, 4
- .4byte MultichoiceList_44, 4
- .4byte MultichoiceList_45, 2
- .4byte MultichoiceList_46, 3
- .4byte MultichoiceList_47, 8
- .4byte MultichoiceList_48, 4
- .4byte MultichoiceList_49, 3
- .4byte MultichoiceList_50, 2
- .4byte MultichoiceList_01, 1
- .4byte MultichoiceList_52, 3
- .4byte MultichoiceList_53, 3
- .4byte MultichoiceList_54, 2
- .4byte MultichoiceList_55, 6
- .4byte MultichoiceList_56, 3
- .4byte MultichoiceList_57, 5
- .4byte MultichoiceList_58, 2
- .4byte MultichoiceList_59, 2
- .4byte MultichoiceList_60, 3
- .4byte MultichoiceList_61, 2
- .4byte MultichoiceList_62, 3
- .4byte MultichoiceList_63, 3
- .4byte MultichoiceList_64, 4
- .4byte MultichoiceList_65, 2
- .4byte MultichoiceList_66, 3
- .4byte MultichoiceList_67, 3
- .4byte MultichoiceList_68, 4
- .4byte MultichoiceList_69, 3
- .4byte MultichoiceList_70, 4
- .4byte MultichoiceList_71, 4
- .4byte MultichoiceList_72, 5
diff --git a/src/script_menu.c b/src/script_menu.c
index 51230b66b..de3dd7269 100644
--- a/src/script_menu.c
+++ b/src/script_menu.c
@@ -6,35 +6,576 @@
#include "sound.h"
#include "sprite.h"
#include "task.h"
+#include "strings.h"
+#include "script_menu.h"
-struct MultichoiceListStruct
+// multichoice lists
+const struct MenuAction MultichoiceList_00[] =
{
- struct MenuAction *list;
- u8 count;
+ {(u8 *)OtherText_Petalburg, 0},
+ {(u8 *)OtherText_Slateport, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
};
-extern const struct MultichoiceListStruct gMultichoiceLists[];
+const struct MenuAction MultichoiceList_02[] =
+{
+ {(u8 *)OtherText_Enter, 0},
+ {(u8 *)OtherText_Info3, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
-extern u16 gScriptResult;
+const struct MenuAction MultichoiceList_03[] =
+{
+ {(u8 *)OtherText_WhatsAContest, 0},
+ {(u8 *)OtherText_TypesOfContest, 0},
+ {(u8 *)OtherText_Ranks, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
-extern void FreeResourcesAndDestroySprite(struct Sprite *sprite);
-extern u8 CreateMonSprite_PicBox(u16, s16, s16, u8);
-extern u8 sub_80B59AC(void);
+const struct MenuAction MultichoiceList_04[] =
+{
+ {(u8 *)OtherText_CoolContest, 0},
+ {(u8 *)OtherText_BeautyContest, 0},
+ {(u8 *)OtherText_CuteContest, 0},
+ {(u8 *)OtherText_SmartContest, 0},
+ {(u8 *)OtherText_ToughContest, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_06[] =
+{
+ {(u8 *)OtherText_Decoration, 0},
+ {(u8 *)OtherText_PackUp, 0},
+ {(u8 *)OtherText_Registry, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_05[] =
+{
+ {(u8 *)OtherText_Decoration, 0},
+ {(u8 *)OtherText_PackUp, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_07[] =
+{
+ {(u8 *)OtherText_Register, 0},
+ {(u8 *)OtherText_Registry, 0},
+ {(u8 *)OtherText_Information, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_12[] =
+{
+ {(u8 *)OtherText_Mach, 0},
+ {(u8 *)OtherText_Acro, 0},
+};
+
+const struct MenuAction MultichoiceList_13[] =
+{
+ {(u8 *)OtherText_Poison, 0},
+ {(u8 *)OtherText_Paralysis, 0},
+ {(u8 *)OtherText_Sleep, 0},
+ {(u8 *)OtherText_Burn, 0},
+ {(u8 *)OtherText_Frozen, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_14[] =
+{
+ {(u8 *)OtherText_Dewford, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_16[] =
+{
+ {(u8 *)OtherText_SawIt, 0},
+ {(u8 *)OtherText_NotYet, 0},
+};
+
+const struct MenuAction MultichoiceList_17[] =
+{
+ {(u8 *)OtherText_Yes, 0},
+ {(u8 *)OtherText_No, 0},
+ {(u8 *)OtherText_Info3, 0},
+};
+
+const struct MenuAction MultichoiceList_18[] =
+{
+ {(u8 *)OtherText_SingleBattle, 0},
+ {(u8 *)OtherText_DoubleBattle, 0},
+ {(u8 *)OtherText_MultiBattle, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_19[] =
+{
+ {(u8 *)OtherText_Littleroot, 0},
+ {(u8 *)OtherText_Slateport, 0},
+ {(u8 *)OtherText_Lilycove, 0},
+};
+
+const struct MenuAction MultichoiceList_20[] =
+{
+ {(u8 *)OtherText_Yes, 0},
+ {(u8 *)OtherText_No, 0},
+ {(u8 *)OtherText_Info3, 0},
+};
+
+const struct MenuAction MultichoiceList_23[] =
+{
+ {(u8 *)OtherText_MakeAChallenge, 0},
+ {(u8 *)OtherText_ObtainInformation, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_24[] =
+{
+ {(u8 *)OtherText_Lv50_2, 0},
+ {(u8 *)OtherText_Lv100_2, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_25[] =
+{
+ {(u8 *)OtherText_Zigzagoon, 0},
+ {(u8 *)OtherText_Nincada, 0},
+ {(u8 *)OtherText_Poochyena, 0},
+};
+
+const struct MenuAction MultichoiceList_26[] =
+{
+ {(u8 *)OtherText_Nincada2, 0},
+ {(u8 *)OtherText_Lotad, 0},
+ {(u8 *)OtherText_Roselia, 0},
+};
+
+const struct MenuAction MultichoiceList_27[] =
+{
+ {(u8 *)OtherText_Shroomish, 0},
+ {(u8 *)OtherText_Nincada3, 0},
+ {(u8 *)OtherText_Surskit, 0},
+};
+
+const struct MenuAction MultichoiceList_28[] =
+{
+ {(u8 *)OtherText_Treecko, 0},
+ {(u8 *)OtherText_Torchic, 0},
+ {(u8 *)OtherText_Mudkip, 0},
+};
+
+const struct MenuAction MultichoiceList_29[] =
+{
+ {(u8 *)OtherText_Seedot, 0},
+ {(u8 *)OtherText_Shroomish2, 0},
+ {(u8 *)OtherText_Spinda, 0},
+};
+
+const struct MenuAction MultichoiceList_30[] =
+{
+ {(u8 *)OtherText_Shroomish3, 0},
+ {(u8 *)OtherText_Zigzagoon2, 0},
+ {(u8 *)OtherText_Wurmple, 0},
+};
+
+const struct MenuAction MultichoiceList_31[] =
+{
+ {(u8 *)OtherText_PokeBall, 0},
+ {(u8 *)OtherText_SuperPotion, 0},
+ {(u8 *)OtherText_SamePrice, 0},
+};
+
+const struct MenuAction MultichoiceList_32[] =
+{
+ {(u8 *)OtherText_Yen135, 0},
+ {(u8 *)OtherText_Yen155, 0},
+ {(u8 *)OtherText_Yen175, 0},
+};
+
+const struct MenuAction MultichoiceList_33[] =
+{
+ {(u8 *)OtherText_CostMore, 0},
+ {(u8 *)OtherText_CostLess, 0},
+ {(u8 *)OtherText_SamePrice2, 0},
+};
+
+const struct MenuAction MultichoiceList_34[] =
+{
+ {(u8 *)OtherText_MaleSymbol, 0},
+ {(u8 *)OtherText_FemaleSymbol, 0},
+ {(u8 *)OtherText_Neither, 0},
+};
+
+const struct MenuAction MultichoiceList_35[] =
+{
+ {(u8 *)OtherText_Males, 0},
+ {(u8 *)OtherText_Females, 0},
+ {(u8 *)OtherText_SameNumber, 0},
+};
+
+const struct MenuAction MultichoiceList_36[] =
+{
+ {(u8 *)OtherText_Male, 0},
+ {(u8 *)OtherText_Female, 0},
+ {(u8 *)OtherText_ItDepends, 0},
+};
+
+const struct MenuAction MultichoiceList_37[] =
+{
+ {(u8 *)OtherText_Six2, 0},
+ {(u8 *)OtherText_Eight2, 0},
+ {(u8 *)OtherText_Ten, 0},
+};
+
+const struct MenuAction MultichoiceList_38[] =
+{
+ {(u8 *)OtherText_One, 0},
+ {(u8 *)OtherText_Two, 0},
+ {(u8 *)OtherText_Three, 0},
+};
+
+const struct MenuAction MultichoiceList_39[] =
+{
+ {(u8 *)OtherText_Six, 0},
+ {(u8 *)OtherText_Seven, 0},
+ {(u8 *)OtherText_Eight, 0},
+};
+
+const struct MenuAction MultichoiceList_42[] =
+{
+ {(u8 *)OtherText_FreshWater, 0},
+ {(u8 *)OtherText_SodaPop, 0},
+ {(u8 *)OtherText_Lemonade, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_43[] =
+{
+ {(u8 *)OtherText_HowToRide, 0},
+ {(u8 *)OtherText_HowToTurn, 0},
+ {(u8 *)OtherText_SandySlopes, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_44[] =
+{
+ {(u8 *)OtherText_Wheelies, 0},
+ {(u8 *)OtherText_BunnyHops, 0},
+ {(u8 *)OtherText_Jumping, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_45[] =
+{
+ {(u8 *)OtherText_Satisfied, 0},
+ {(u8 *)OtherText_Dissatisfied, 0},
+};
+
+const struct MenuAction MultichoiceList_46[] =
+{
+ {(u8 *)OtherText_Deepseatooth, 0},
+ {(u8 *)OtherText_Deepseascale, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_47[] =
+{
+ {(u8 *)OtherText_BlueFlute2, 0},
+ {(u8 *)OtherText_YellowFlute2, 0},
+ {(u8 *)OtherText_RedFlute2, 0},
+ {(u8 *)OtherText_WhiteFlute2, 0},
+ {(u8 *)OtherText_BlackFlute2, 0},
+ {(u8 *)OtherText_GlassChair, 0},
+ {(u8 *)OtherText_GlassDesk, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_48[] =
+{
+ {(u8 *)OtherText_TreeckoDoll, 0},
+ {(u8 *)OtherText_TorchicDoll, 0},
+ {(u8 *)OtherText_MudkipDoll, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_55[] =
+{
+ {(u8 *)OtherText_TM32, 0},
+ {(u8 *)OtherText_TM29, 0},
+ {(u8 *)OtherText_TM35, 0},
+ {(u8 *)OtherText_TM24, 0},
+ {(u8 *)OtherText_TM13, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_49[] =
+{
+ {(u8 *)OtherText_50Coins, 0},
+ {(u8 *)OtherText_500Coins, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_50[] =
+{
+ {(u8 *)OtherText_Excellent, 0},
+ {(u8 *)OtherText_NotSoHot, 0},
+};
+
+const struct MenuAction MultichoiceList_52[] =
+{
+ {(u8 *)OtherText_Lilycove, 0},
+ {(u8 *)OtherText_BattleTower, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_53[] =
+{
+ {(u8 *)OtherText_Slateport, 0},
+ {(u8 *)OtherText_Lilycove, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_54[] =
+{
+ {(u8 *)OtherText_Right, 0},
+ {(u8 *)OtherText_Left, 0},
+};
+
+const struct MenuAction MultichoiceList_56[] =
+{
+ {(u8 *)OtherText_Slateport, 0},
+ {(u8 *)OtherText_BattleTower, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_57[] =
+{
+ {(u8 *)OtherText_1F_2, 0},
+ {(u8 *)OtherText_2F_2, 0},
+ {(u8 *)OtherText_3F_2, 0},
+ {(u8 *)OtherText_4F_2, 0},
+ {(u8 *)OtherText_5F_2, 0},
+};
+
+const struct MenuAction MultichoiceList_58[] =
+{
+ {(u8 *)OtherText_RedShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_59[] =
+{
+ {(u8 *)OtherText_YellowShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_60[] =
+{
+ {(u8 *)OtherText_RedShard, 0},
+ {(u8 *)OtherText_YellowShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_61[] =
+{
+ {(u8 *)OtherText_BlueShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_62[] =
+{
+ {(u8 *)OtherText_RedShard, 0},
+ {(u8 *)OtherText_BlueShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_63[] =
+{
+ {(u8 *)OtherText_YellowShard, 0},
+ {(u8 *)OtherText_BlueShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_64[] =
+{
+ {(u8 *)OtherText_RedShard, 0},
+ {(u8 *)OtherText_YellowShard, 0},
+ {(u8 *)OtherText_BlueShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_65[] =
+{
+ {(u8 *)OtherText_GreenShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_66[] =
+{
+ {(u8 *)OtherText_RedShard, 0},
+ {(u8 *)OtherText_GreenShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_67[] =
+{
+ {(u8 *)OtherText_YellowShard, 0},
+ {(u8 *)OtherText_GreenShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_68[] =
+{
+ {(u8 *)OtherText_RedShard, 0},
+ {(u8 *)OtherText_YellowShard, 0},
+ {(u8 *)OtherText_GreenShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_69[] =
+{
+ {(u8 *)OtherText_BlueShard, 0},
+ {(u8 *)OtherText_GreenShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_70[] =
+{
+ {(u8 *)OtherText_RedShard, 0},
+ {(u8 *)OtherText_BlueShard, 0},
+ {(u8 *)OtherText_GreenShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_71[] =
+{
+ {(u8 *)OtherText_YellowShard, 0},
+ {(u8 *)OtherText_BlueShard, 0},
+ {(u8 *)OtherText_GreenShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_72[] =
+{
+ {(u8 *)OtherText_RedShard, 0},
+ {(u8 *)OtherText_YellowShard, 0},
+ {(u8 *)OtherText_BlueShard, 0},
+ {(u8 *)OtherText_GreenShard, 0},
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MenuAction MultichoiceList_01[] =
+{
+ {(u8 *)gOtherText_CancelNoTerminator, 0},
+};
+
+const struct MultichoiceListStruct gMultichoiceLists[] =
+{
+ {(struct MenuAction *)MultichoiceList_00, 3},
+ {(struct MenuAction *)MultichoiceList_01, 1},
+ {(struct MenuAction *)MultichoiceList_02, 3},
+ {(struct MenuAction *)MultichoiceList_03, 4},
+ {(struct MenuAction *)MultichoiceList_04, 6},
+ {(struct MenuAction *)MultichoiceList_05, 3},
+ {(struct MenuAction *)MultichoiceList_06, 4},
+ {(struct MenuAction *)MultichoiceList_07, 4},
+ {(struct MenuAction *)MultichoiceList_01, 1},
+ {(struct MenuAction *)MultichoiceList_01, 1},
+ {(struct MenuAction *)MultichoiceList_01, 1},
+ {(struct MenuAction *)MultichoiceList_01, 1},
+ {(struct MenuAction *)MultichoiceList_12, 2},
+ {(struct MenuAction *)MultichoiceList_13, 6},
+ {(struct MenuAction *)MultichoiceList_14, 2},
+ {(struct MenuAction *)MultichoiceList_01, 1},
+ {(struct MenuAction *)MultichoiceList_16, 2},
+ {(struct MenuAction *)MultichoiceList_17, 3},
+ {(struct MenuAction *)MultichoiceList_18, 4},
+ {(struct MenuAction *)MultichoiceList_19, 3},
+ {(struct MenuAction *)MultichoiceList_20, 3},
+ {(struct MenuAction *)MultichoiceList_01, 1},
+ {(struct MenuAction *)MultichoiceList_01, 1},
+ {(struct MenuAction *)MultichoiceList_23, 3},
+ {(struct MenuAction *)MultichoiceList_24, 3},
+ {(struct MenuAction *)MultichoiceList_25, 3},
+ {(struct MenuAction *)MultichoiceList_26, 3},
+ {(struct MenuAction *)MultichoiceList_27, 3},
+ {(struct MenuAction *)MultichoiceList_28, 3},
+ {(struct MenuAction *)MultichoiceList_29, 3},
+ {(struct MenuAction *)MultichoiceList_30, 3},
+ {(struct MenuAction *)MultichoiceList_31, 3},
+ {(struct MenuAction *)MultichoiceList_32, 3},
+ {(struct MenuAction *)MultichoiceList_33, 3},
+ {(struct MenuAction *)MultichoiceList_34, 3},
+ {(struct MenuAction *)MultichoiceList_35, 3},
+ {(struct MenuAction *)MultichoiceList_36, 3},
+ {(struct MenuAction *)MultichoiceList_37, 3},
+ {(struct MenuAction *)MultichoiceList_38, 3},
+ {(struct MenuAction *)MultichoiceList_39, 3},
+ {(struct MenuAction *)MultichoiceList_01, 1},
+ {(struct MenuAction *)MultichoiceList_01, 1},
+ {(struct MenuAction *)MultichoiceList_42, 4},
+ {(struct MenuAction *)MultichoiceList_43, 4},
+ {(struct MenuAction *)MultichoiceList_44, 4},
+ {(struct MenuAction *)MultichoiceList_45, 2},
+ {(struct MenuAction *)MultichoiceList_46, 3},
+ {(struct MenuAction *)MultichoiceList_47, 8},
+ {(struct MenuAction *)MultichoiceList_48, 4},
+ {(struct MenuAction *)MultichoiceList_49, 3},
+ {(struct MenuAction *)MultichoiceList_50, 2},
+ {(struct MenuAction *)MultichoiceList_01, 1},
+ {(struct MenuAction *)MultichoiceList_52, 3},
+ {(struct MenuAction *)MultichoiceList_53, 3},
+ {(struct MenuAction *)MultichoiceList_54, 2},
+ {(struct MenuAction *)MultichoiceList_55, 6},
+ {(struct MenuAction *)MultichoiceList_56, 3},
+ {(struct MenuAction *)MultichoiceList_57, 5},
+ {(struct MenuAction *)MultichoiceList_58, 2},
+ {(struct MenuAction *)MultichoiceList_59, 2},
+ {(struct MenuAction *)MultichoiceList_60, 3},
+ {(struct MenuAction *)MultichoiceList_61, 2},
+ {(struct MenuAction *)MultichoiceList_62, 3},
+ {(struct MenuAction *)MultichoiceList_63, 3},
+ {(struct MenuAction *)MultichoiceList_64, 4},
+ {(struct MenuAction *)MultichoiceList_65, 2},
+ {(struct MenuAction *)MultichoiceList_66, 3},
+ {(struct MenuAction *)MultichoiceList_67, 3},
+ {(struct MenuAction *)MultichoiceList_68, 4},
+ {(struct MenuAction *)MultichoiceList_69, 3},
+ {(struct MenuAction *)MultichoiceList_70, 4},
+ {(struct MenuAction *)MultichoiceList_71, 4},
+ {(struct MenuAction *)MultichoiceList_72, 5}
+};
+
+const struct TextStruct gUnknown_083CE048[] =
+{
+ OtherText_Cool2,
+ OtherText_Beauty3,
+ OtherText_Cute2,
+ OtherText_Smart2,
+ OtherText_Tough2,
+ OtherText_Normal,
+ OtherText_Super,
+ OtherText_Hyper,
+ OtherText_Master,
+ OtherText_Cool3,
+ OtherText_Beauty4,
+ OtherText_Cute3,
+ OtherText_Smart3,
+ OtherText_Tough3,
+ OtherText_Items,
+ OtherText_KeyItems,
+ OtherText_Balls,
+ OtherText_TMsHMs,
+ OtherText_Berries,
+};
-extern u8 gPCText_PlayersPC[];
-extern u8 gPCText_SomeonesPC[];
-extern u8 gPCText_HallOfFame[];
-extern u8 gPCText_LogOff[];
-extern u8 gPCText_LanettesPC[];
extern u8 gPCText_WhichPCShouldBeAccessed[];
-void DrawMultichoiceMenu(u8, u8, u8, struct MenuAction *list, u8, u8);
-void sub_80B53B4(u8, u8, u8, struct MenuAction *list, u8);
-void sub_80B52B4(u8);
-void sub_80B5230(u8, u8, u8, u8, u8, u8);
-void task_yes_no_maybe(u8);
-void sub_80B5684(u8);
-void CreatePCMenu(void);
+extern u16 gScriptResult;
+
+// field_effect
+extern void FreeResourcesAndDestroySprite(struct Sprite *sprite);
+extern u8 CreateMonSprite_PicBox(u16, s16, s16, u8);
bool8 sub_80B5054(u8 left, u8 top, u8 var3, u8 var4)
{
@@ -60,7 +601,7 @@ bool8 sub_80B50B0(u8 left, u8 top, u8 var3, u8 var4, u8 var5)
}
}
-u16 GetStringWidthInTilesForScriptMenu(u8 *str)
+u16 GetStringWidthInTilesForScriptMenu(const u8 *str)
{
// each tile on screen is 8x8, so it needs the number of tiles and not pixels, hence the division by 8.
return (GetStringWidthGivenWindowConfig((struct WindowConfig *)&gWindowConfig_81E6CE4, str) + 7) / 8;