mirror of
https://github.com/pret/pmd-red.git
synced 2025-02-12 00:05:38 +00:00
Miscellaneous things
- Decomp sub_8035D80 - Clean up other funcs with unkStruct_203B480 and unkStruct_8035D94
This commit is contained in:
parent
31e1c409e8
commit
1de6d5eadd
@ -1,7 +1,29 @@
|
||||
#ifndef GUARD_FRIEND_RESCUE_H
|
||||
#define GUARD_FRIEND_RESCUE_H
|
||||
|
||||
#include "code_8094F88.h"
|
||||
#include "item.h"
|
||||
#include "pokemon.h"
|
||||
|
||||
struct WonderMailStruct_203B2C0_sub
|
||||
{
|
||||
struct unkStruct_203B480 mail;
|
||||
struct PokemonStruct pokemon;
|
||||
};
|
||||
|
||||
struct unkStruct_802F204
|
||||
{
|
||||
/* 0x0 */ u8 clientName[POKEMON_NAME_LENGTH]; // client name?
|
||||
/* 0xA */ u8 name2[POKEMON_NAME_LENGTH]; // target name?
|
||||
/* 0x14 */ s16 unk14; // poke species (client??)
|
||||
/* 0x16 */ u8 unk16;
|
||||
/* 0x18 */ s32 moneyReward;
|
||||
/* 0x1C */ u8 itemRewards[3]; // MAX_ITEM_REWARDS
|
||||
/* 0x1F */ u8 numItems;
|
||||
/* 0x20 */ u8 friendAreaReward;
|
||||
u8 fill21[0x24 - 0x21];
|
||||
/* 0x24 */ u32 teamRankPtsReward;
|
||||
};
|
||||
|
||||
struct WonderMailStruct_203B33C
|
||||
{
|
||||
@ -11,11 +33,12 @@ struct WonderMailStruct_203B33C
|
||||
u8 passwordBuffer[0x36];
|
||||
u32 unk40;
|
||||
u32 status;
|
||||
u16 unk48[(0xE0 - 0x48) / 2];
|
||||
s16 unkE0;
|
||||
u8 unkE2[0x168 - 0xE2];
|
||||
s16 unk168;
|
||||
u8 unk16A[0x218 - 0x16A];
|
||||
struct unkStruct_203B480 unk48;
|
||||
struct unkStruct_203B480 unk78;
|
||||
struct WonderMailStruct_203B2C0_sub unkA8;
|
||||
struct WonderMailStruct_203B2C0_sub unk130;
|
||||
struct unkStruct_203B480 unk1B8;
|
||||
struct unkStruct_203B480 unk1E8;
|
||||
u8 unk218;
|
||||
u8 padding7[3];
|
||||
u32 unk21C;
|
||||
@ -24,12 +47,11 @@ struct WonderMailStruct_203B33C
|
||||
u8 padding6[0x6C];
|
||||
u32 unk30C;
|
||||
u8 padding8[0x4C];
|
||||
u32 unk35C;
|
||||
u8 padding5[0x5C];
|
||||
struct UnkTextStruct2 unk35C[4];
|
||||
struct UnkTextStruct2 unk3BC[4];
|
||||
struct ItemSlot unk41C;
|
||||
u32 unk420; // Is this supposed to be a File like 203B2C4?
|
||||
u8 fill424[0x524 - 0x424];
|
||||
u8 unk424[0x100];
|
||||
s32 unk524;
|
||||
u32 unk528;
|
||||
u8 unk52C;
|
||||
@ -38,10 +60,7 @@ struct WonderMailStruct_203B33C
|
||||
u32 unk530;
|
||||
u32 unk534;
|
||||
s16 speciesNum; // A7 << 3
|
||||
u32 unk53C;
|
||||
u32 unk540; // A8 << 4
|
||||
s16 unk544;
|
||||
u8 filler546[0x564 - 0x546];
|
||||
struct unkStruct_802F204 unk53C;
|
||||
s32 unk564;
|
||||
};
|
||||
|
||||
|
@ -33,6 +33,16 @@ enum MainMenuScreens
|
||||
MENU_NO_SCREEN_CHANGE = 0xffdc
|
||||
};
|
||||
|
||||
struct unkStruct_8035D94
|
||||
{
|
||||
|
||||
union {
|
||||
u8 itemIndex_u8;
|
||||
u32 itemIndex_u32;
|
||||
} itemIndex;
|
||||
u32 numItems;
|
||||
};
|
||||
|
||||
struct MainMenuSub
|
||||
{
|
||||
u8 unk2C;
|
||||
@ -47,8 +57,7 @@ struct MainMenu
|
||||
/* 0x8 */ s32 lastMenu;
|
||||
u8 padding[0x20];
|
||||
/* 0x2C */ struct MainMenuSub sub;
|
||||
u8 unk30;
|
||||
u32 unk34;
|
||||
/* 0x30 */ struct unkStruct_8035D94 unk30;
|
||||
s16 unk38;
|
||||
u8 unk3A;
|
||||
u8 unk3B;
|
||||
@ -63,5 +72,7 @@ void SetUpMenu(void);
|
||||
s32 UpdateMenu(void);
|
||||
void CleanUpMenu(void);
|
||||
bool8 sub_80363E0(void);
|
||||
struct unkStruct_8035D94 *sub_8035D94(void);
|
||||
void sub_8035DA0(void);
|
||||
|
||||
#endif // GUARD_MAIN_MENU_H
|
||||
|
@ -55,8 +55,8 @@ struct WonderMailStruct_203B2C0
|
||||
u8 unk3E;
|
||||
u32 unk40;
|
||||
u32 linkError;
|
||||
u8 unk48[0x30];
|
||||
u8 unk78[0x30];
|
||||
struct unkStruct_203B480 unk48;
|
||||
struct unkStruct_203B480 unk78;
|
||||
struct WonderMailStruct_203B2C0_sub unkA8;
|
||||
struct WonderMailStruct_203B2C0_sub unk130;
|
||||
u8 fill16A[0x218 - 0x1B8];
|
||||
|
@ -40,7 +40,7 @@ const struct UnkTextStruct2 gUnknown_80E2008 = {
|
||||
|
||||
// Adventure Log Text
|
||||
const u8 gAdventureLogHeaderText[] = "Adventure Log";
|
||||
const u8 gUnknown_80E2030[] = "~95~95~95~95~95~95~95~95~95~95~95~95~95~95~95 "; // string of ???????
|
||||
const u8 gAdventureLogTextPlaceholder[] = "~95~95~95~95~95~95~95~95~95~95~95~95~95~95~95 "; // string of ???????
|
||||
const u8 fill_adven[] = "pksdir0";
|
||||
|
||||
void sub_8032084();
|
||||
@ -267,7 +267,7 @@ void DisplayAdventureLog(void)
|
||||
else
|
||||
{
|
||||
// Draw the ?????????? across the row
|
||||
xxx_call_draw_string(8, sub_8013800(gAdventureLog, counter), gUnknown_80E2030, gAdventureLog->unk34, 0);
|
||||
xxx_call_draw_string(8, sub_8013800(gAdventureLog, counter), gAdventureLogTextPlaceholder, gAdventureLog->unk34, 0);
|
||||
}
|
||||
}
|
||||
sub_80073E0(gAdventureLog->unk34);
|
||||
|
@ -46,7 +46,7 @@ struct DungeonLocation *GetDungeonLocationInfo(void)
|
||||
|
||||
void sub_80976A8(void)
|
||||
{
|
||||
s32 iVar2;
|
||||
s32 index;
|
||||
|
||||
gUnknown_203B494->unk0 = 0;
|
||||
gUnknown_203B494->unk14 = 0;
|
||||
@ -56,14 +56,14 @@ void sub_80976A8(void)
|
||||
gUnknown_203B494->unk8 = 0;
|
||||
gUnknown_203B494->unkC = 0;
|
||||
|
||||
for(iVar2 = 0; iVar2 < 0xE; iVar2++)
|
||||
for(index = 0; index < 0xE; index++)
|
||||
{
|
||||
gUnknown_203B494->unk1C[iVar2] = 0;
|
||||
gUnknown_203B494->unk1C[index] = 0;
|
||||
}
|
||||
|
||||
for(iVar2 = 0; iVar2 < 0xD; iVar2++)
|
||||
for(index = 0; index < 0xD; index++)
|
||||
{
|
||||
gUnknown_203B494->unk8C[iVar2] = 0;
|
||||
gUnknown_203B494->unk8C[index] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "constants/dungeon.h"
|
||||
#include "item.h"
|
||||
#include "pokemon.h"
|
||||
#include "text.h"
|
||||
@ -40,7 +41,7 @@ extern struct UnkTextStruct2 gUnknown_80DD370;
|
||||
extern u32 sub_8026F04(struct PokemonStruct *);
|
||||
extern void sub_8026074(u32);
|
||||
extern void PlaySound(u32);
|
||||
bool8 sub_8026F38(struct PokemonStruct *r0);
|
||||
bool8 CanTakePokemonHeldItem(struct PokemonStruct *r0);
|
||||
extern bool8 sub_80023E4(u8);
|
||||
extern struct PokemonStruct *sub_808D3F8(void);
|
||||
extern struct PokemonStruct *sub_808D3BC(void);
|
||||
@ -428,28 +429,28 @@ void sub_8026E08(u32 r0)
|
||||
|
||||
u32 sub_8026E88(struct PokemonStruct *r0)
|
||||
{
|
||||
u8 iVar3;
|
||||
if(r0->isLeader == 0)
|
||||
bool8 flag;
|
||||
if(!r0->isLeader)
|
||||
{
|
||||
iVar3 = (r0->dungeonLocation.dungeonIndex == 0x41);
|
||||
if(iVar3 != 0)
|
||||
flag = (r0->dungeonLocation.dungeonIndex == DUNGEON_JOIN_LOCATION_PARTNER);
|
||||
if(flag)
|
||||
if(!sub_80023E4(0x8))
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
return 1;
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u32 sub_8026EB8(struct PokemonStruct *r0)
|
||||
bool8 sub_8026EB8(struct PokemonStruct *r0)
|
||||
{
|
||||
u8 iVar3;
|
||||
bool8 flag;
|
||||
if(sub_808D3BC() != r0)
|
||||
if(sub_808D3F8() != r0)
|
||||
if(!r0->isLeader)
|
||||
{
|
||||
iVar3 = (r0->dungeonLocation.dungeonIndex == 0x41);
|
||||
if(iVar3 != 0)
|
||||
flag = (r0->dungeonLocation.dungeonIndex == DUNGEON_JOIN_LOCATION_PARTNER);
|
||||
if(flag)
|
||||
{
|
||||
if(sub_80023E4(0x8))
|
||||
goto check;
|
||||
@ -457,9 +458,9 @@ u32 sub_8026EB8(struct PokemonStruct *r0)
|
||||
else
|
||||
check:
|
||||
if(sub_8026F04(r0) != 3)
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
@ -469,13 +470,13 @@ u32 sub_8026F04(struct PokemonStruct *r0)
|
||||
return 0;
|
||||
else if(GetNumberOfFilledInventorySlots() < INVENTORY_SIZE)
|
||||
return 1;
|
||||
else if(sub_8026F38(r0))
|
||||
else if(CanTakePokemonHeldItem(r0))
|
||||
return 2;
|
||||
else
|
||||
return 3;
|
||||
}
|
||||
|
||||
bool8 sub_8026F38(struct PokemonStruct *r0)
|
||||
bool8 CanTakePokemonHeldItem(struct PokemonStruct *r0)
|
||||
{
|
||||
if(IsNotMoneyOrUsedTMItem(r0->heldItem.itemIndex))
|
||||
{
|
||||
|
@ -83,7 +83,7 @@ extern void sub_801BEEC(s16);
|
||||
extern void sub_8023B7C(u32);
|
||||
extern void sub_8023DA4(void);
|
||||
|
||||
extern void sub_809401C(struct PokemonMove *, struct PokemonMove *); // TODO convert arg 0 to PokemonMove struct *
|
||||
extern void sub_809401C(struct PokemonMove *, struct PokemonMove *);
|
||||
extern void sub_801EE10(u32, s16, struct PokemonMove *, u32, u32, u32);
|
||||
extern void sub_8093560(u32, struct PokemonMove *, u32 *);
|
||||
extern void sub_801F808(u32 *);
|
||||
|
@ -2,15 +2,13 @@
|
||||
#include "text.h"
|
||||
#include "input.h"
|
||||
#include "item.h"
|
||||
#include "team_inventory.h"
|
||||
#include "friend_rescue.h"
|
||||
#include "pokemon.h"
|
||||
#include "friend_rescue.h"
|
||||
#include "memory.h"
|
||||
|
||||
extern void SetFriendRescueMenuState(u32);
|
||||
extern s32 sub_80144A4(s32 *);
|
||||
extern void sub_802F2C0();
|
||||
extern u8 sub_809539C(u32, u32);
|
||||
extern void sub_8095240(u8);
|
||||
extern u32 sub_802F298();
|
||||
|
||||
|
@ -1,18 +1,19 @@
|
||||
#include "global.h"
|
||||
#include "constants/wonder_mail.h"
|
||||
#include "constants/communication_error_codes.h"
|
||||
#include "constants/species.h"
|
||||
#include "constants/wonder_mail.h"
|
||||
#include "text.h"
|
||||
#include "pokemon.h"
|
||||
#include "save.h"
|
||||
#include "memory.h"
|
||||
#include "input.h"
|
||||
#include "team_inventory.h"
|
||||
#include "friend_rescue.h"
|
||||
#include "item.h"
|
||||
#include "code_8094F88.h"
|
||||
#include "team_inventory.h"
|
||||
#include "pokemon.h"
|
||||
#include "friend_rescue.h"
|
||||
#include "memory.h"
|
||||
#include "save.h"
|
||||
#include "menu.h"
|
||||
#include "rescue_password_menu.h"
|
||||
|
||||
|
||||
extern struct TeamInventory *gTeamInventory_203B460;
|
||||
extern u8 *gUnknown_203B484;
|
||||
|
||||
@ -30,7 +31,6 @@ extern struct WonderMailStruct_203B33C *gUnknown_203B33C;
|
||||
extern u8 sub_801CF14(u32);
|
||||
|
||||
extern u8 gUnknown_80E48A8[];
|
||||
extern struct MenuItem gUnknown_80E2440[];
|
||||
extern u8 gUnknown_80E49C4[];
|
||||
extern u8 gUnknown_80E4704[];
|
||||
extern u8 gUnknown_80E48E8[];
|
||||
@ -38,7 +38,6 @@ extern u8 gUnknown_80E4928[];
|
||||
extern u8 gUnknown_80E4964[];
|
||||
extern u8 gUnknown_80E499C[];
|
||||
extern u8 gUnknown_80E460C[];
|
||||
extern struct MenuItem gUnknown_80E2290[];
|
||||
extern u8 gUnknown_80E31FC[];
|
||||
|
||||
|
||||
@ -46,13 +45,14 @@ extern u32 sub_80154F0();
|
||||
extern void sub_80155F0();
|
||||
extern void sub_80141B4(u8 *r0, u32, u32 *r1, u32);
|
||||
extern void sub_8014248(const char *r0, u32, u32, struct MenuItem *r4, u32, u32, u32, u32 *r5, u32);
|
||||
extern void SetMenuItems(void *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32);
|
||||
|
||||
extern u8 sub_8012FD8(u32 *);
|
||||
extern void sub_8013114(u32 *, s32 *);
|
||||
extern u32 sub_801CA08(u32);
|
||||
extern void sub_801CBB8(void);
|
||||
extern void sub_801CB5C(u32);
|
||||
extern void sub_8035CC0(u32 *, u32);
|
||||
extern void sub_8035CC0(struct UnkTextStruct2 *, u32);
|
||||
extern void sub_801B3C0(struct ItemSlot *);
|
||||
extern u32 sub_801B410(void);
|
||||
extern void sub_801B450(void);
|
||||
@ -87,6 +87,7 @@ extern void sub_8095274(u32);
|
||||
extern void sub_80951BC(struct unkStruct_203B480 *r0);
|
||||
extern u8 sub_800D588(void);
|
||||
extern s32 FindOpenMailSlot(void);
|
||||
extern struct PokemonStruct *GetPlayerPokemonStruct(void);
|
||||
|
||||
extern u8 gUnknown_80E44A4[];
|
||||
extern u8 gUnknown_80E4500[];
|
||||
@ -102,11 +103,255 @@ extern u8 gUnknown_80E4788[];
|
||||
extern u8 gUnknown_80E47D8[];
|
||||
extern u8 gUnknown_80E4480[];
|
||||
extern u8 gUnknown_80E482C[];
|
||||
extern u8 gUnknown_80E25F4[];
|
||||
extern u8 gUnknown_80E2D7C[];
|
||||
extern u8 gUnknown_80E2E20[];
|
||||
extern u8 gUnknown_80E319C[];
|
||||
extern u8 gUnknown_80E311C[];
|
||||
extern u8 gUnknown_80E32C4[];
|
||||
extern u8 gUnknown_80E4314[];
|
||||
extern u8 gUnknown_80E41DC[];
|
||||
extern u8 gUnknown_80E2FEC[];
|
||||
extern u8 gUnknown_80E2898[];
|
||||
extern u8 gUnknown_80E2B54[];
|
||||
extern u8 gUnknown_80E29D0[];
|
||||
extern u8 gUnknown_80E3220[];
|
||||
extern u8 gUnknown_80E2A0C[];
|
||||
extern u8 gUnknown_80E2610[];
|
||||
extern u8 gUnknown_80E2640[];
|
||||
extern u8 gUnknown_80E2680[];
|
||||
extern u8 gUnknown_80E26B0[];
|
||||
extern u8 gUnknown_80E26F0[];
|
||||
extern u8 gUnknown_80E2728[];
|
||||
extern u8 gUnknown_80E3690[];
|
||||
extern u8 gUnknown_80E3818[];
|
||||
extern u8 gUnknown_80E3998[];
|
||||
extern u8 gUnknown_80E3B1C[];
|
||||
extern u8 gUnknown_80E367C[];
|
||||
extern u8 gUnknown_80E3BF8[];
|
||||
extern u8 gUnknown_80E3DE4[];
|
||||
extern u8 gUnknown_80E4014[];
|
||||
extern u8 gUnknown_80E3E98[];
|
||||
extern u8 gUnknown_80E4130[];
|
||||
extern u8 gUnknown_80E2E54[];
|
||||
extern u8 gUnknown_80E2EB4[];
|
||||
extern u8 gUnknown_80E2DD0[];
|
||||
extern u8 gUnknown_80E2FA0[];
|
||||
extern u8 gUnknown_80E2F14[];
|
||||
extern u8 gUnknown_80E2F44[];
|
||||
extern u8 gUnknown_80E30A4[];
|
||||
extern u8 gUnknown_80E2F78[];
|
||||
extern u8 gUnknown_80E360C[];
|
||||
extern u8 gUnknown_80E3644[];
|
||||
extern u8 gUnknown_80E35E8[];
|
||||
extern u8 gUnknown_80E35AC[];
|
||||
extern u8 gUnknown_80E355C[];
|
||||
extern u8 gUnknown_80E352C[];
|
||||
extern u8 gUnknown_80E34F0[];
|
||||
extern u8 gUnknown_80E34B0[];
|
||||
extern u8 gUnknown_80E3430[];
|
||||
extern u8 gUnknown_80E33D8[];
|
||||
extern u8 gUnknown_80E339C[];
|
||||
extern u8 gUnknown_80E3378[];
|
||||
extern u8 gUnknown_80E331C[];
|
||||
extern u8 gUnknown_80E3288[];
|
||||
extern u8 gUnknown_80E3248[];
|
||||
extern u8 gUnknown_80E31FC[];
|
||||
extern u8 gUnknown_80E276C[];
|
||||
extern u8 gUnknown_80E27A4[];
|
||||
extern u8 gUnknown_80E2CD4[];
|
||||
extern u8 gUnknown_80E3030[];
|
||||
extern u8 gUnknown_80E3078[];
|
||||
extern u8 gUnknown_80E31D8[];
|
||||
extern u8 gUnknown_80E2CE8[];
|
||||
extern u8 gUnknown_80E2B90[];
|
||||
extern u8 gUnknown_80E2AE4[];
|
||||
extern u8 gUnknown_80E2A80[];
|
||||
extern u8 gUnknown_80E2AA8[];
|
||||
extern u8 gUnknown_80E2D60[];
|
||||
extern u8 gUnknown_80E2BE0[];
|
||||
extern u8 gUnknown_80E2C48[];
|
||||
extern u8 gUnknown_80E29A0[];
|
||||
extern u8 gUnknown_80E2A5C[];
|
||||
extern u8 gUnknown_80E2904[];
|
||||
extern u8 gUnknown_80E2C94[];
|
||||
extern u8 gUnknown_80E2D30[];
|
||||
extern u8 gUnknown_80E296C[];
|
||||
extern u8 gUnknown_80E314C[];
|
||||
extern u8 gUnknown_80E2A1C[];
|
||||
extern u8 gUnknown_80E2840[];
|
||||
extern u8 gUnknown_80E2874[];
|
||||
extern u8 gUnknown_80E317C[];
|
||||
extern u8 gUnknown_80E28D8[];
|
||||
extern u8 gUnknown_80E2814[];
|
||||
extern u8 gUnknown_80E30D0[];
|
||||
|
||||
extern struct MenuItem gUnknown_80E20B8;
|
||||
extern struct MenuItem gUnknown_80E2108;
|
||||
extern struct MenuItem gUnknown_80E20E0;
|
||||
extern struct MenuItem gUnknown_80E2068;
|
||||
extern struct MenuItem gUnknown_80E24F8;
|
||||
extern struct MenuItem gUnknown_80E2554;
|
||||
extern struct MenuItem gUnknown_80E22F0;
|
||||
extern struct MenuItem gUnknown_80E236C;
|
||||
extern struct MenuItem gUnknown_80E2440;
|
||||
extern struct MenuItem gUnknown_80E2470;
|
||||
extern struct MenuItem gUnknown_80E24B0;
|
||||
extern struct MenuItem gUnknown_80E2130;
|
||||
extern struct MenuItem gUnknown_80E2190;
|
||||
extern struct MenuItem gUnknown_80E21B8;
|
||||
extern struct MenuItem gUnknown_80E2268;
|
||||
extern struct MenuItem gUnknown_80E2218;
|
||||
extern struct MenuItem gUnknown_80E2240;
|
||||
extern struct MenuItem gUnknown_80E2290;
|
||||
extern struct MenuItem gUnknown_80E22D0;
|
||||
extern struct MenuItem gUnknown_80E234C;
|
||||
extern struct MenuItem gUnknown_80E24D8;
|
||||
extern struct MenuItem gUnknown_80E2458;
|
||||
extern struct MenuItem gUnknown_80E2408;
|
||||
extern struct MenuItem gUnknown_80E23A8;
|
||||
extern struct MenuItem gUnknown_80E22B4;
|
||||
|
||||
extern struct UnkTextStruct2 gUnknown_80E231C;
|
||||
extern struct UnkTextStruct2 gUnknown_80E23F0;
|
||||
extern struct UnkTextStruct2 gUnknown_80E2334;
|
||||
|
||||
extern struct MenuItem gUnknown_80E25B4;
|
||||
|
||||
extern void nullsub_40();
|
||||
extern void sub_8032828();
|
||||
|
||||
extern u8 sub_800D588(void);
|
||||
extern void sub_8011830(void);
|
||||
extern u32 sub_8030894(void);
|
||||
extern void sub_8031D70(u32, u32);
|
||||
extern u32 sub_8023CE8(void);
|
||||
extern void sub_80922B4(u8 *buffer, u8 *string, s32 size);
|
||||
extern void sub_80306A8(u32, u32, u32, u32);
|
||||
extern void sub_8023868(u32, u32, u32, u32);
|
||||
extern u32 sub_801D008(void);
|
||||
extern void sub_8023DA4(void);
|
||||
extern void sub_8023C60(void);
|
||||
extern void sub_8035CF4(u32 *, u32, u32);
|
||||
extern s32 sub_8037B28(u32);
|
||||
extern void sub_803092C(void);
|
||||
extern void sub_801CCD8(void);
|
||||
extern void sub_80151C0(u32, u8 *);
|
||||
extern void sub_801C8C4(u32, u32, s32 * , u32);
|
||||
extern void xxx_call_start_bg_music(void);
|
||||
extern u32 GetDungeonTeamRankPts(struct DungeonLocation *, u32);
|
||||
extern void SetMenuItems(void *menu, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *entries, u32, u32, u32);
|
||||
extern void sub_802F204(struct unkStruct_802F204 *, u32);
|
||||
extern void nullsub_23(u32);
|
||||
extern s32 sub_8037D64(u32, void *, void *);
|
||||
extern s32 sub_80381F4(u32, void *, void *);
|
||||
void sprintf_2(char *buffer, const char *text, ...);
|
||||
|
||||
extern void SetFriendRescueMenuState(u32);
|
||||
extern s32 sub_80144A4(s32 *);
|
||||
extern void sub_802F2C0();
|
||||
extern void sub_8095240(u8);
|
||||
extern u32 sub_802F298();
|
||||
|
||||
extern char gUnknown_202E5D8[0x50];
|
||||
extern char gAvailablePokemonNames[0x50];
|
||||
|
||||
extern struct WonderMailStruct_203B33C *gUnknown_203B33C;
|
||||
|
||||
extern u8 sub_8039880(void);
|
||||
|
||||
extern void sub_8035300(void);
|
||||
extern void sub_8035404(u32);
|
||||
extern void nullsub_41(void);
|
||||
extern void nullsub_42(void);
|
||||
extern void nullsub_43(void);
|
||||
extern void nullsub_44(void);
|
||||
extern void nullsub_45(void);
|
||||
extern void nullsub_46(void);
|
||||
extern void nullsub_47(void);
|
||||
extern void nullsub_48(void);
|
||||
extern void nullsub_49(void);
|
||||
extern void nullsub_50(void);
|
||||
extern void nullsub_51(void);
|
||||
extern void sub_8035374(void);
|
||||
extern void sub_80353BC(void);
|
||||
extern void sub_8033A2C(void);
|
||||
extern void sub_803477C(void);
|
||||
extern void sub_80347AC(void);
|
||||
extern void sub_80347C8(void);
|
||||
extern void sub_80347E4(void);
|
||||
extern void sub_8034804(void);
|
||||
extern void sub_80344C0(void);
|
||||
extern void sub_8034478(void);
|
||||
extern void sub_80344A0(void);
|
||||
extern void sub_803418C(void);
|
||||
extern void sub_8034254(void);
|
||||
extern void sub_8034310(void);
|
||||
extern void sub_8034378(void);
|
||||
extern void sub_80343C4(void);
|
||||
extern void sub_8034404(void);
|
||||
extern void sub_8034500(void);
|
||||
extern void sub_8034590(void);
|
||||
extern void sub_803464C(void);
|
||||
extern void sub_80346A8(void);
|
||||
extern void sub_80346D8(void);
|
||||
extern void sub_8034700(void);
|
||||
extern void sub_8034720(void);
|
||||
extern void sub_803473C(void);
|
||||
extern void sub_8033FB4(void);
|
||||
extern void sub_8034074(void);
|
||||
extern void sub_8034130(void);
|
||||
extern void sub_8033FE4(void);
|
||||
extern void sub_8033D74(void);
|
||||
extern void sub_8033D94(void);
|
||||
extern void sub_8033DBC(void);
|
||||
extern void sub_8033F64(void);
|
||||
extern void sub_8033C54(void);
|
||||
extern void sub_8033CAC(void);
|
||||
extern void sub_8033D48(void);
|
||||
extern void sub_8035424(void);
|
||||
extern void sub_8034970(void);
|
||||
extern void sub_80351E0(void);
|
||||
extern void sub_8034D74(void);
|
||||
extern void sub_8034EF0(void);
|
||||
extern void sub_8034F38(void);
|
||||
extern void sub_80352A4(void);
|
||||
extern void sub_8034EC8(void);
|
||||
extern void sub_8033B8C(void);
|
||||
extern void sub_80339C8(void);
|
||||
extern void sub_80348C4(void);
|
||||
extern void sub_803482C(void);
|
||||
extern void sub_80349B0(void);
|
||||
extern void sub_8034A70(void);
|
||||
extern void sub_8034B2C(void);
|
||||
extern void sub_80349E0(void);
|
||||
extern void sub_8034B88(void);
|
||||
extern void sub_8034C98(void);
|
||||
extern void sub_8034C38(void);
|
||||
extern void sub_8034D54(void);
|
||||
extern void sub_8034F18(void);
|
||||
extern void sub_8034F58(void);
|
||||
extern void sub_8034F88(void);
|
||||
extern void sub_8035018(void);
|
||||
extern void sub_8035038(void);
|
||||
extern void sub_8035094(void);
|
||||
extern void sub_80350F4(void);
|
||||
extern void sub_803517C(void);
|
||||
extern void sub_8035210(void);
|
||||
extern void sub_8035430(void);
|
||||
extern void sub_8034848(void);
|
||||
|
||||
extern void sub_803084C(void);
|
||||
extern void sub_8031E10(void);
|
||||
extern void sub_8023C60(void);
|
||||
extern void sub_80155F0(void);
|
||||
extern void sub_801CBB8(void);
|
||||
extern void sub_802F2C0(void);
|
||||
extern void sub_8030DE4(void);
|
||||
extern void sub_802453C(void);
|
||||
extern void sub_801B450(void);
|
||||
|
||||
|
||||
void SetFriendRescueMenuState(u32 newState)
|
||||
{
|
||||
gUnknown_203B33C->state = newState;
|
||||
@ -343,7 +588,7 @@ void nullsub_41(void)
|
||||
void sub_8033CAC(void)
|
||||
{
|
||||
s32 temp;
|
||||
u32 test_var;
|
||||
u32 speciesNum;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
if(gUnknown_203B33C->status == COMMS_GOOD)
|
||||
@ -358,10 +603,10 @@ void sub_8033CAC(void)
|
||||
break;
|
||||
case 0x12:
|
||||
if(sub_800D588() != 0)
|
||||
test_var = gUnknown_203B33C->unk168;
|
||||
speciesNum = gUnknown_203B33C->unk130.pokemon.speciesNum;
|
||||
else
|
||||
test_var = gUnknown_203B33C->unkE0;
|
||||
if(test_var != 0)
|
||||
speciesNum = gUnknown_203B33C->unkA8.pokemon.speciesNum;
|
||||
if(speciesNum != SPECIES_NONE)
|
||||
SetFriendRescueMenuState(0x3F);
|
||||
else
|
||||
SetFriendRescueMenuState(0x40);
|
||||
@ -455,7 +700,7 @@ void sub_8033DBC(void)
|
||||
switch(sub_8039068(mailMode, gUnknown_203B33C->passwordBuffer, &mail))
|
||||
{
|
||||
case PASSWORD_ENTRY_INCORRECT_PASSWORD:
|
||||
sub_8014248(gUnknown_80E48A8, 0, 6, gUnknown_80E2290, 0, 4, 0, 0, 0x101);
|
||||
sub_8014248(gUnknown_80E48A8, 0, 6, &gUnknown_80E2290, 0, 4, 0, 0, 0x101);
|
||||
SetFriendRescueMenuState(0x1B);
|
||||
break;
|
||||
case PASSWORD_ENTRY_NOT_SOS_MAIL:
|
||||
@ -601,7 +846,7 @@ void sub_8034074(void)
|
||||
break;
|
||||
case 5:
|
||||
case 8:
|
||||
sub_8035CC0(&gUnknown_203B33C->unk35C, 2);
|
||||
sub_8035CC0(gUnknown_203B33C->unk35C, 2);
|
||||
sub_8030810(0x1);
|
||||
SetFriendRescueMenuState(0x1D);
|
||||
break;
|
||||
@ -684,7 +929,7 @@ void sub_8034254(void)
|
||||
break;
|
||||
case 5:
|
||||
case 8:
|
||||
sub_8035CC0(&gUnknown_203B33C->unk35C, 3);
|
||||
sub_8035CC0(gUnknown_203B33C->unk35C, 3);
|
||||
sub_8023DA4();
|
||||
SetFriendRescueMenuState(0x26);
|
||||
break;
|
||||
@ -879,7 +1124,7 @@ void sub_8034590(void)
|
||||
break;
|
||||
case 5:
|
||||
case 8:
|
||||
sub_8035CC0(&gUnknown_203B33C->unk35C, 2);
|
||||
sub_8035CC0(gUnknown_203B33C->unk35C, 2);
|
||||
sub_8030810(0x1);
|
||||
SetFriendRescueMenuState(0x32);
|
||||
break;
|
||||
@ -1052,7 +1297,7 @@ void sub_8034848(void)
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
MemoryFill8((u8 *)&gUnknown_203B33C->unk41C, 0 , 4);
|
||||
MemoryFill8((u8 *)&gUnknown_203B33C->unk41C, 0 , sizeof(struct ItemSlot));
|
||||
gUnknown_203B33C->unk41C.itemIndex = ITEM_ID_NOTHING;
|
||||
gUnknown_203B33C->unk41C.numItems = 1;
|
||||
gUnknown_203B33C->unk41C.itemFlags = 0;
|
||||
@ -1082,7 +1327,7 @@ void sub_80348C4(void)
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
MemoryFill8((u8 *)&gUnknown_203B33C->unk41C, 0 , 4);
|
||||
MemoryFill8((u8 *)&gUnknown_203B33C->unk41C, 0 , sizeof(struct ItemSlot));
|
||||
gUnknown_203B33C->unk41C.itemIndex = ITEM_ID_NOTHING;
|
||||
gUnknown_203B33C->unk41C.numItems = 1;
|
||||
gUnknown_203B33C->unk41C.itemFlags = 0;
|
||||
@ -1204,7 +1449,7 @@ void sub_8034A70(void)
|
||||
break;
|
||||
case 5:
|
||||
case 8:
|
||||
sub_8035CC0(&gUnknown_203B33C->unk35C, 2);
|
||||
sub_8035CC0(gUnknown_203B33C->unk35C, 2);
|
||||
sub_8030810(0x1);
|
||||
SetFriendRescueMenuState(0x5C);
|
||||
break;
|
||||
@ -1309,7 +1554,7 @@ void sub_8034C98(void)
|
||||
break;
|
||||
case 5:
|
||||
case 8:
|
||||
sub_8035CC0(&gUnknown_203B33C->unk35C, 3);
|
||||
sub_8035CC0(gUnknown_203B33C->unk35C, 3);
|
||||
sub_801CB5C(0x1);
|
||||
SetFriendRescueMenuState(0x5F);
|
||||
break;
|
||||
@ -1340,7 +1585,7 @@ void sub_8034D74(void)
|
||||
switch(sub_8039068(PASSWORD_ENTRY_THANK_YOU_MAIL_MODE, gUnknown_203B33C->passwordBuffer, &mail))
|
||||
{
|
||||
case PASSWORD_ENTRY_INCORRECT_PASSWORD:
|
||||
sub_8014248(gUnknown_80E48A8, 0, 6, gUnknown_80E2440, 0, 4, 0, 0, 0x101);
|
||||
sub_8014248(gUnknown_80E48A8, 0, 6, &gUnknown_80E2440, 0, 4, 0, 0, 0x101);
|
||||
SetFriendRescueMenuState(0x74);
|
||||
break;
|
||||
case PASSWORD_ENTRY_NOT_THANK_YOU_MAIL:
|
||||
@ -1444,16 +1689,16 @@ void sub_8034F58(void)
|
||||
void sub_8034F88(void)
|
||||
{
|
||||
s32 temp;
|
||||
struct unkStruct_203B480 *temp2;
|
||||
struct unkStruct_203B480 *mail;
|
||||
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
switch(temp)
|
||||
{
|
||||
case 6:
|
||||
temp2 = sub_8095228(gUnknown_203B33C->unk218);
|
||||
mail = sub_8095228(gUnknown_203B33C->unk218);
|
||||
if(gUnknown_203B33C->unk41C.itemIndex != ITEM_ID_NOTHING)
|
||||
temp2->unk20 = gUnknown_203B33C->unk41C;
|
||||
mail->unk20 = gUnknown_203B33C->unk41C;
|
||||
gTeamInventory_203B460->teamStorage[gUnknown_203B33C->unk41C.itemIndex]--;
|
||||
SetFriendRescueMenuState(0x75);
|
||||
break;
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "adventure_log.h"
|
||||
#include "debug_menu.h"
|
||||
#include "ds_menus.h"
|
||||
#include "pokemon.h"
|
||||
#include "friend_rescue.h"
|
||||
#include "load_screen.h"
|
||||
#include "main_menu.h"
|
||||
@ -78,7 +79,6 @@ extern void CleanSaveMenu(void);
|
||||
extern u8 sub_8012FD8(u32 *);
|
||||
extern void sub_8013114(u32 *, s32 *);
|
||||
extern u8 sub_803D0D8();
|
||||
extern s32 CountMailType(u32);
|
||||
extern void sub_8012D60(struct unkStruct_Menu *, const struct MenuItem *, u32, u32, u32, u32);
|
||||
extern void sub_8012E04(struct unkStruct_Menu *, const struct MenuItem *, u32, u32, u32, u32);
|
||||
|
||||
@ -88,7 +88,6 @@ s32 sub_8035DB4(u32);
|
||||
void sub_803623C(void);
|
||||
bool8 SetMainMenuText();
|
||||
void SetMainMenuItems();
|
||||
void sub_8035DA0(void);
|
||||
|
||||
static const u8 sUnknown_80E5CE4[];
|
||||
static const u8 sUnknown_80E5CE8[];
|
||||
@ -729,33 +728,35 @@ s32 sub_8035D74(void)
|
||||
return gMainMenu->unk3C;
|
||||
}
|
||||
|
||||
|
||||
// Unused
|
||||
NAKED
|
||||
void sub_8035D80(void *r0)
|
||||
void sub_8035D80(struct unkStruct_8035D94 *item)
|
||||
{
|
||||
asm_unified(
|
||||
"\tldr r1, _08035D90\n"
|
||||
"\tldr r2, [r1]\n"
|
||||
"\tldr r1, [r0, 0x4]\n"
|
||||
"\tldr r0, [r0]\n"
|
||||
"\tstr r0, [r2, 0x30]\n"
|
||||
"\tstr r1, [r2, 0x34]\n"
|
||||
"\tbx lr\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08035D90: .4byte gMainMenu");
|
||||
|
||||
#ifndef NONMATCHING
|
||||
register u32 numItem asm("r1");
|
||||
#else
|
||||
u32 numItem;
|
||||
#endif
|
||||
|
||||
u32 itemIndex;
|
||||
struct MainMenu *preload;
|
||||
|
||||
preload = gMainMenu;
|
||||
numItem = item->numItems;
|
||||
itemIndex = item->itemIndex.itemIndex_u32;
|
||||
preload->unk30.itemIndex.itemIndex_u32 = itemIndex;
|
||||
preload->unk30.numItems = numItem;
|
||||
}
|
||||
|
||||
u8 *sub_8035D94(void)
|
||||
struct unkStruct_8035D94 *sub_8035D94(void)
|
||||
{
|
||||
return &gMainMenu->unk30;
|
||||
}
|
||||
|
||||
|
||||
void sub_8035DA0(void)
|
||||
{
|
||||
gMainMenu->unk30 = 0;
|
||||
gMainMenu->unk34 = 0;
|
||||
gMainMenu->unk30.itemIndex.itemIndex_u8 = ITEM_ID_NOTHING;
|
||||
gMainMenu->unk30.numItems = 0;
|
||||
}
|
||||
|
||||
s32 sub_8035DB4(u32 currMenu)
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "constants/communication_error_codes.h"
|
||||
#include "input.h"
|
||||
#include "main_menu.h"
|
||||
#include "item.h"
|
||||
@ -11,8 +12,8 @@ struct unkStruct_203B35C
|
||||
{
|
||||
// size: 0x504
|
||||
u32 unk0;
|
||||
u32 unk4; // link status?
|
||||
u32 state; // state var?
|
||||
u32 linkStatus;
|
||||
u32 state;
|
||||
u8 fillC[0x1C - 0xC];
|
||||
u32 unk1C;
|
||||
u8 fill20[0x15C - 0x20];
|
||||
@ -53,15 +54,6 @@ extern struct MenuItem gUnknown_80E6DF4[];
|
||||
extern struct UnkTextStruct2 gUnknown_80E6D54;
|
||||
extern struct MenuItem gUnknown_80E6D6C[];
|
||||
|
||||
struct unkStruct_8035D94
|
||||
{
|
||||
u8 unk0;
|
||||
u8 fill[0x3];
|
||||
u32 unk4;
|
||||
};
|
||||
|
||||
extern struct unkStruct_8035D94 *sub_8035D94();
|
||||
|
||||
extern void sub_8037400(void);
|
||||
extern void ResetSprites(u32);
|
||||
extern void sub_8035CF4(u32 *,u32, u32);
|
||||
@ -275,7 +267,7 @@ u32 sub_80370F0(void)
|
||||
sub_80371B8();
|
||||
break;
|
||||
case 2:
|
||||
if (((gUnknown_203B35C->unk0 < 2) && (gUnknown_203B35C->unk4 == 0)) && (sub_8037C10(0) == 0) ) {
|
||||
if (((gUnknown_203B35C->unk0 < 2) && (gUnknown_203B35C->linkStatus == COMMS_GOOD)) && (sub_8037C10(0) == 0) ) {
|
||||
return 0x29; // TODO: what screen is this?
|
||||
}
|
||||
else {
|
||||
@ -296,14 +288,14 @@ u32 sub_80370F0(void)
|
||||
|
||||
void sub_80371B8(void)
|
||||
{
|
||||
struct unkStruct_8035D94 *pbVar2;
|
||||
struct unkStruct_8035D94 *item;
|
||||
struct MenuItem *MenuItems;
|
||||
struct UnkTextStruct2 *puVar5;
|
||||
|
||||
puVar5 = NULL;
|
||||
MenuItems = NULL;
|
||||
sub_8037400();
|
||||
if ((gUnknown_203B35C->unk0 < 2) &&(gUnknown_203B35C->unk4 == 0)) {
|
||||
if ((gUnknown_203B35C->unk0 < 2) &&(gUnknown_203B35C->linkStatus == COMMS_GOOD)) {
|
||||
if (sub_8037C10(0) != 0) {
|
||||
sub_80376CC();
|
||||
sub_8035CC0(gUnknown_203B35C->unk15C,0);
|
||||
@ -317,7 +309,7 @@ void sub_80371B8(void)
|
||||
else {
|
||||
sub_80376CC();
|
||||
sub_8035CC0(gUnknown_203B35C->unk15C, 0);
|
||||
switch(gUnknown_203B35C->unk4) {
|
||||
switch(gUnknown_203B35C->linkStatus) {
|
||||
case 0:
|
||||
puVar5 = &gUnknown_80E66BC;
|
||||
MenuItems = gUnknown_80E66D4;
|
||||
@ -372,11 +364,9 @@ void sub_80371B8(void)
|
||||
}
|
||||
SetMenuItems(&gUnknown_203B35C->unk1C, gUnknown_203B35C->unk15C, 0, puVar5, MenuItems, 0, 6, 0);
|
||||
sub_8035CF4(&gUnknown_203B35C->unk1C, 0, 1);
|
||||
// TODO clean this if statement up...
|
||||
if ((((gUnknown_203B35C->unk4 != 0) &&(gUnknown_203B35C->unk0 == 0)) &&
|
||||
(pbVar2 = sub_8035D94(), pbVar2->unk0 != 0)) && (pbVar2->unk4 != 0)) {
|
||||
// We received something..
|
||||
gTeamInventory_203B460->teamStorage[pbVar2->unk0] += pbVar2->unk4;
|
||||
if ((gUnknown_203B35C->linkStatus != COMMS_GOOD) && (gUnknown_203B35C->unk0 == 0) &&
|
||||
(item = sub_8035D94(), item->itemIndex.itemIndex_u8 != ITEM_ID_NOTHING) && (item->numItems != 0)) {
|
||||
gTeamInventory_203B460->teamStorage[item->itemIndex.itemIndex_u8] += item->numItems;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@
|
||||
#include "constants/communication_error_codes.h"
|
||||
#include "input.h"
|
||||
#include "item.h"
|
||||
#include "main_menu.h"
|
||||
#include "team_inventory.h"
|
||||
#include "trade_items_menu.h"
|
||||
#include "memory.h"
|
||||
@ -81,7 +82,6 @@ const struct MenuItem gUnknown_80E618C[3] = {
|
||||
extern void sub_8013AA0(u32 *);
|
||||
|
||||
extern void sub_8035C1C();
|
||||
extern void sub_8035DA0();
|
||||
extern s32 sub_80144A4(s32 *);
|
||||
extern u32 sub_801CA08(u32);
|
||||
extern void sub_801CBB8();
|
||||
|
@ -584,18 +584,18 @@ void sub_8028348(void)
|
||||
sub_80141B4(gUnknown_80DE01C, 0 , 0, 0);
|
||||
break;
|
||||
case 6:
|
||||
gUnknown_203B2C0->linkError = 0;
|
||||
gUnknown_203B2C0->linkError = COMMS_GOOD;
|
||||
sub_8011830();
|
||||
linkError = sub_8037B28(gUnknown_203B2C0->unk40);
|
||||
gUnknown_203B2C0->linkError = linkError;
|
||||
if(linkError == 0)
|
||||
if(linkError == COMMS_GOOD)
|
||||
{
|
||||
switch(gUnknown_203B2C0->unk40)
|
||||
{
|
||||
case 3:
|
||||
MemoryFill8(gUnknown_203B2C0->unk48, 0, 0x30);
|
||||
MemoryFill8(gUnknown_203B2C0->unk78, 0, 0x30);
|
||||
gUnknown_203B2C0->linkError = sub_8037D64(gUnknown_203B2C0->unk40, gUnknown_203B2C0->unk48, gUnknown_203B2C0->unk78);
|
||||
MemoryFill8((u8 *)&gUnknown_203B2C0->unk48, 0, sizeof(struct unkStruct_203B480));
|
||||
MemoryFill8((u8 *)&gUnknown_203B2C0->unk78, 0, sizeof(struct unkStruct_203B480));
|
||||
gUnknown_203B2C0->linkError = sub_8037D64(gUnknown_203B2C0->unk40, &gUnknown_203B2C0->unk48, &gUnknown_203B2C0->unk78);
|
||||
break;
|
||||
case 4:
|
||||
MemoryFill8((u8 *)&gUnknown_203B2C0->unkA8, 0, sizeof(struct WonderMailStruct_203B2C0_sub));
|
||||
@ -610,12 +610,12 @@ void sub_8028348(void)
|
||||
gUnknown_203B2C0->linkError = sub_8037D64(gUnknown_203B2C0->unk40, &gUnknown_203B2C0->unkA8, &gUnknown_203B2C0->unk130);
|
||||
break;
|
||||
}
|
||||
if(gUnknown_203B2C0->linkError == 0)
|
||||
if(gUnknown_203B2C0->linkError == COMMS_GOOD)
|
||||
{
|
||||
switch(gUnknown_203B2C0->unk40)
|
||||
{
|
||||
case 3:
|
||||
gUnknown_203B2C0->linkError = sub_80381F4(3, gUnknown_203B2C0->unk48, gUnknown_203B2C0->unk78);
|
||||
gUnknown_203B2C0->linkError = sub_80381F4(3, &gUnknown_203B2C0->unk48, &gUnknown_203B2C0->unk78);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B2C0->linkError = sub_80381F4(4, &gUnknown_203B2C0->unkA8, &gUnknown_203B2C0->unk130);
|
||||
@ -1362,7 +1362,7 @@ void sub_80292EC(void)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if(gUnknown_203B2C0->linkError == 0)
|
||||
if(gUnknown_203B2C0->linkError == COMMS_GOOD)
|
||||
{
|
||||
switch(gUnknown_203B2C0->unk538)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user