Port/decomp scrcmd
This commit is contained in:
@@ -220,7 +220,7 @@ bool8 ShouldDoBrailleStrengthEffect(void)
|
||||
|
||||
void sub_8179834(void)
|
||||
{
|
||||
gFieldEffectSpawnParams[0] = brm_get_pokemon_selection();
|
||||
gFieldEffectArguments[0] = brm_get_pokemon_selection();
|
||||
FieldEffectStart(FLDEFF_USE_FLY_ANCIENT_TOMB);
|
||||
}
|
||||
|
||||
@@ -256,7 +256,7 @@ bool8 ShouldDoBrailleFlyEffect(void)
|
||||
|
||||
void sub_8179918(void)
|
||||
{
|
||||
gFieldEffectSpawnParams[0] = brm_get_pokemon_selection();
|
||||
gFieldEffectArguments[0] = brm_get_pokemon_selection();
|
||||
FieldEffectStart(FLDEFF_USE_FLY_ANCIENT_TOMB);
|
||||
}
|
||||
|
||||
@@ -417,7 +417,7 @@ bool8 ShouldDoBrailleRegicePuzzle(void)
|
||||
}
|
||||
// TODO: Find what flags 2 and 3 are.
|
||||
FlagSet(3);
|
||||
FlagReset(2);
|
||||
FlagClear(2);
|
||||
return FALSE;
|
||||
}
|
||||
#else
|
||||
@@ -568,7 +568,7 @@ _08179B44:\n\
|
||||
movs r0, 0x3\n\
|
||||
bl FlagSet\n\
|
||||
movs r0, 0x2\n\
|
||||
bl FlagReset\n\
|
||||
bl FlagClear\n\
|
||||
_08179B5A:\n\
|
||||
movs r0, 0\n\
|
||||
_08179B5C:\n\
|
||||
|
||||
@@ -54,7 +54,7 @@ void SetCoins(u16 coinAmount)
|
||||
}
|
||||
|
||||
/* Can't match it lol
|
||||
bool8 AddCoins(u16 toAdd)
|
||||
bool8 GiveCoins(u16 toAdd)
|
||||
{
|
||||
u16 newAmount;
|
||||
u16 ownedCoins = GetCoins();
|
||||
|
||||
@@ -40,11 +40,11 @@ void ClearTempFieldEventData(void)
|
||||
{
|
||||
memset(gSaveBlock1Ptr->flags, 0, TEMP_FLAGS_SIZE);
|
||||
memset(gSaveBlock1Ptr->vars, 0, TEMP_VARS_SIZE);
|
||||
FlagReset(SYS_ENC_UP_ITEM);
|
||||
FlagReset(SYS_ENC_DOWN_ITEM);
|
||||
FlagReset(SYS_USE_STRENGTH);
|
||||
FlagReset(SYS_CTRL_OBJ_DELETE);
|
||||
FlagReset(SYS_UNKNOWN_880);
|
||||
FlagClear(SYS_ENC_UP_ITEM);
|
||||
FlagClear(SYS_ENC_DOWN_ITEM);
|
||||
FlagClear(SYS_USE_STRENGTH);
|
||||
FlagClear(SYS_CTRL_OBJ_DELETE);
|
||||
FlagClear(SYS_UNKNOWN_880);
|
||||
}
|
||||
|
||||
// probably had different flag splits at one point.
|
||||
@@ -58,7 +58,7 @@ void DisableNationalPokedex(void)
|
||||
u16 *nationalDexVar = GetVarPointer(VAR_NATIONAL_DEX);
|
||||
gSaveBlock2Ptr->pokedex.nationalMagic = 0;
|
||||
*nationalDexVar = 0;
|
||||
FlagReset(SYS_NATIONAL_DEX);
|
||||
FlagClear(SYS_NATIONAL_DEX);
|
||||
}
|
||||
|
||||
void EnableNationalPokedex(void)
|
||||
@@ -82,7 +82,7 @@ bool32 IsNationalPokedexEnabled(void)
|
||||
|
||||
void DisableMysteryEvent(void)
|
||||
{
|
||||
FlagReset(SYS_MYSTERY_EVENT_ENABLE);
|
||||
FlagClear(SYS_MYSTERY_EVENT_ENABLE);
|
||||
}
|
||||
|
||||
void EnableMysteryEvent(void)
|
||||
@@ -97,7 +97,7 @@ bool32 IsMysteryEventEnabled(void)
|
||||
|
||||
void DisableMysteryGift(void)
|
||||
{
|
||||
FlagReset(SYS_MYSTERY_GIFT_ENABLE);
|
||||
FlagClear(SYS_MYSTERY_GIFT_ENABLE);
|
||||
}
|
||||
|
||||
void EnableMysteryGift(void)
|
||||
@@ -112,22 +112,22 @@ bool32 IsMysteryGiftEnabled(void)
|
||||
|
||||
void sub_809D4D8(void)
|
||||
{
|
||||
FlagReset(0x1E4);
|
||||
FlagReset(0x1E5);
|
||||
FlagReset(0x1E6);
|
||||
FlagReset(0x1E7);
|
||||
FlagReset(0x1E8);
|
||||
FlagReset(0x1E9);
|
||||
FlagReset(0x1EA);
|
||||
FlagReset(0x1EB);
|
||||
FlagReset(0x1EC);
|
||||
FlagReset(0x1ED);
|
||||
FlagReset(0x1EE);
|
||||
FlagReset(0x1EF);
|
||||
FlagReset(0x1F0);
|
||||
FlagReset(0x1F1);
|
||||
FlagReset(0x1F2);
|
||||
FlagReset(0x1F3);
|
||||
FlagClear(0x1E4);
|
||||
FlagClear(0x1E5);
|
||||
FlagClear(0x1E6);
|
||||
FlagClear(0x1E7);
|
||||
FlagClear(0x1E8);
|
||||
FlagClear(0x1E9);
|
||||
FlagClear(0x1EA);
|
||||
FlagClear(0x1EB);
|
||||
FlagClear(0x1EC);
|
||||
FlagClear(0x1ED);
|
||||
FlagClear(0x1EE);
|
||||
FlagClear(0x1EF);
|
||||
FlagClear(0x1F0);
|
||||
FlagClear(0x1F1);
|
||||
FlagClear(0x1F2);
|
||||
FlagClear(0x1F3);
|
||||
}
|
||||
|
||||
void sub_809D570(void)
|
||||
@@ -145,7 +145,7 @@ void sub_809D570(void)
|
||||
void DisableResetRTC(void)
|
||||
{
|
||||
VarSet(VAR_RESET_RTC_ENABLE, 0);
|
||||
FlagReset(SYS_RESET_RTC_ENABLE);
|
||||
FlagClear(SYS_RESET_RTC_ENABLE);
|
||||
}
|
||||
|
||||
void EnableResetRTC(void)
|
||||
@@ -214,7 +214,7 @@ u8 FlagSet(u16 id)
|
||||
return 0;
|
||||
}
|
||||
|
||||
u8 FlagReset(u16 id)
|
||||
u8 FlagClear(u16 id)
|
||||
{
|
||||
u8 *ptr = GetFlagPointer(id);
|
||||
if (ptr)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "global.h"
|
||||
#include "malloc.h"
|
||||
#include "sprite.h"
|
||||
#include "rom4.h"
|
||||
#include "overworld.h"
|
||||
#include "rng.h"
|
||||
#include "event_scripts.h"
|
||||
#include "berry.h"
|
||||
@@ -2386,10 +2386,10 @@ bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite
|
||||
{
|
||||
if (!(sprite->data7 & 0x0004) && sprite->animNum == 4)
|
||||
{
|
||||
gFieldEffectSpawnParams[0] = mapObject->coords2.x;
|
||||
gFieldEffectSpawnParams[1] = mapObject->coords2.y;
|
||||
gFieldEffectSpawnParams[2] = sprite->subpriority - 1;
|
||||
gFieldEffectSpawnParams[3] = sprite->oam.priority;
|
||||
gFieldEffectArguments[0] = mapObject->coords2.x;
|
||||
gFieldEffectArguments[1] = mapObject->coords2.y;
|
||||
gFieldEffectArguments[2] = sprite->subpriority - 1;
|
||||
gFieldEffectArguments[3] = sprite->oam.priority;
|
||||
FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE);
|
||||
sprite->animNum = berryStage;
|
||||
}
|
||||
@@ -2425,10 +2425,10 @@ bool8 do_berry_tree_growth_sparkle_2 (struct MapObject *mapObject, struct Sprite
|
||||
sprite->data1 = 3;
|
||||
sprite->data2 = 0;
|
||||
sprite->data7 |= 0x0002;
|
||||
gFieldEffectSpawnParams[0] = mapObject->coords2.x;
|
||||
gFieldEffectSpawnParams[1] = mapObject->coords2.y;
|
||||
gFieldEffectSpawnParams[2] = sprite->subpriority - 1;
|
||||
gFieldEffectSpawnParams[3] = sprite->oam.priority;
|
||||
gFieldEffectArguments[0] = mapObject->coords2.x;
|
||||
gFieldEffectArguments[1] = mapObject->coords2.y;
|
||||
gFieldEffectArguments[2] = sprite->subpriority - 1;
|
||||
gFieldEffectArguments[3] = sprite->oam.priority;
|
||||
FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -3425,7 +3425,7 @@ void FieldObjectCB_TreeDisguise(struct Sprite *sprite)
|
||||
mapObject = &gMapObjects[sprite->data0];
|
||||
if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data7))
|
||||
{
|
||||
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectSpawnParams[0], (u8 *)&gFieldEffectSpawnParams[1], (u8 *)&gFieldEffectSpawnParams[2]);
|
||||
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
|
||||
mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_TREE_DISGUISE);
|
||||
mapObject->mapobj_unk_21 = 1;
|
||||
sprite->data7 ++;
|
||||
@@ -3446,7 +3446,7 @@ void FieldObjectCB_MountainDisguise(struct Sprite *sprite)
|
||||
mapObject = &gMapObjects[sprite->data0];
|
||||
if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data7))
|
||||
{
|
||||
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectSpawnParams[0], (u8 *)&gFieldEffectSpawnParams[1], (u8 *)&gFieldEffectSpawnParams[2]);
|
||||
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
|
||||
mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE);
|
||||
mapObject->mapobj_unk_21 = 1;
|
||||
sprite->data7 ++;
|
||||
@@ -4693,7 +4693,7 @@ bool8 sub_80954CC(struct MapObject *mapObject, struct Sprite *sprite)
|
||||
|
||||
bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *sprite)
|
||||
{
|
||||
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectSpawnParams[0], (u8 *)&gFieldEffectSpawnParams[1], (u8 *)&gFieldEffectSpawnParams[2]);
|
||||
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
|
||||
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1);
|
||||
sprite->data2 = 1;
|
||||
return TRUE;
|
||||
@@ -4701,7 +4701,7 @@ bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *s
|
||||
|
||||
bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *sprite)
|
||||
{
|
||||
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectSpawnParams[0], (u8 *)&gFieldEffectSpawnParams[1], (u8 *)&gFieldEffectSpawnParams[2]);
|
||||
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
|
||||
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_2);
|
||||
sprite->data2 = 1;
|
||||
return TRUE;
|
||||
@@ -4709,7 +4709,7 @@ bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *s
|
||||
|
||||
bool8 do_heart_bubble(struct MapObject *mapObject, struct Sprite *sprite)
|
||||
{
|
||||
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectSpawnParams[0], (u8 *)&gFieldEffectSpawnParams[1], (u8 *)&gFieldEffectSpawnParams[2]);
|
||||
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
|
||||
FieldEffectStart(FLDEFF_HEART_ICON);
|
||||
sprite->data2 = 1;
|
||||
return TRUE;
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
#define SECONDS(value) ((signed) (60.0 * value + 0.5))
|
||||
|
||||
extern u8 GetSSTidalLocation(s8 *, s8 *, s16 *, s16 *); // should be in field_specials.h
|
||||
extern void warp1_set(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
extern bool8 sub_80D3340(u8, u8, u8);
|
||||
extern void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
extern bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8);
|
||||
extern bool32 CountSSTidalStep(u16);
|
||||
extern bool8 exec_movement(u8, u8, u8, u8 *);
|
||||
extern bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, u8 *);
|
||||
extern void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused);
|
||||
extern void sp13E_warp_to_last_warp(void);
|
||||
extern void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId);
|
||||
@@ -264,7 +264,7 @@ bool8 sub_80FB59C(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
warp1_set(mapGroup, mapNum, -1, x, y);
|
||||
Overworld_SetWarpDestination(mapGroup, mapNum, -1, x, y);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -287,7 +287,7 @@ void Task_HandlePorthole(u8 taskId)
|
||||
case IDLE_CHECK: // idle and move.
|
||||
if (gMain.newKeys & A_BUTTON)
|
||||
data[1] = 1;
|
||||
if (!sub_80D3340(0xFF, location->mapNum, location->mapGroup))
|
||||
if (!ScriptMovement_IsObjectMovementFinished(0xFF, location->mapNum, location->mapGroup))
|
||||
return;
|
||||
if (CountSSTidalStep(1) == TRUE)
|
||||
{
|
||||
@@ -308,18 +308,18 @@ void Task_HandlePorthole(u8 taskId)
|
||||
// run this once.
|
||||
if (*var == 2) // which direction?
|
||||
{
|
||||
exec_movement(0xFF, location->mapNum, location->mapGroup, gUnknown_0858E8AB);
|
||||
ScriptMovement_StartObjectMovementScript(0xFF, location->mapNum, location->mapGroup, gUnknown_0858E8AB);
|
||||
data[0] = IDLE_CHECK; // run case 1.
|
||||
}
|
||||
else
|
||||
{
|
||||
exec_movement(0xFF, location->mapNum, location->mapGroup, gUnknown_0858E8AD);
|
||||
ScriptMovement_StartObjectMovementScript(0xFF, location->mapNum, location->mapGroup, gUnknown_0858E8AD);
|
||||
data[0] = IDLE_CHECK; // run case 1.
|
||||
}
|
||||
break;
|
||||
case EXIT_PORTHOLE: // exit porthole.
|
||||
FlagReset(0x4001);
|
||||
FlagReset(0x4000);
|
||||
FlagClear(0x4001);
|
||||
FlagClear(0x4000);
|
||||
copy_saved_warp2_bank_and_enter_x_to_warp1(0);
|
||||
sp13E_warp_to_last_warp();
|
||||
DestroyTask(taskId);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
#include "global.h"
|
||||
#include "main.h"
|
||||
#include "rom4.h"
|
||||
#include "overworld.h"
|
||||
#include "rom6.h"
|
||||
#include "event_data.h"
|
||||
#include "script.h"
|
||||
|
||||
@@ -110,7 +110,7 @@ void AddMoney(u32* moneyPtr, u32 toAdd)
|
||||
SetMoney(moneyPtr, toSet);
|
||||
}
|
||||
|
||||
void SubtractMoney(u32* moneyPtr, u32 toSub)
|
||||
void RemoveMoney(u32* moneyPtr, u32 toSub)
|
||||
{
|
||||
u32 toSet = GetMoney(moneyPtr);
|
||||
|
||||
@@ -130,7 +130,7 @@ bool8 IsEnoughForCostInVar0x8005(void)
|
||||
|
||||
void SubtractMoneyFromVar0x8005(void)
|
||||
{
|
||||
SubtractMoney(&gSaveBlock1Ptr->money, gSpecialVar_0x8005);
|
||||
RemoveMoney(&gSaveBlock1Ptr->money, gSpecialVar_0x8005);
|
||||
}
|
||||
|
||||
void PrintMoneyAmountInMoneyBox(u8 windowId, int amount, u8 speed)
|
||||
|
||||
@@ -28,7 +28,7 @@ extern u8 gUnknown_030060B0;
|
||||
// TODO: replace those declarations with file headers
|
||||
extern u16 GetGeneratedTrainerIdLower(void);
|
||||
extern void ClearContestWinnerPicsInContestHall(void);
|
||||
extern void warp1_set(s8 mapBank, s8 mapNo, s8 warpNo, s8 xPos, s8 yPos);
|
||||
extern void Overworld_SetWarpDestination(s8 mapBank, s8 mapNo, s8 warpNo, s8 xPos, s8 yPos);
|
||||
extern void warp_in(void);
|
||||
extern void sub_80BB358(void);
|
||||
extern void ResetBagScrollPositions(void);
|
||||
@@ -131,7 +131,7 @@ void sub_8084400(void)
|
||||
|
||||
void WarpToTruck(void)
|
||||
{
|
||||
warp1_set(25, 40, -1, -1, -1); // inside of truck
|
||||
Overworld_SetWarpDestination(25, 40, -1, -1, -1); // inside of truck
|
||||
warp_in();
|
||||
}
|
||||
|
||||
|
||||
@@ -53,13 +53,13 @@ static void UpdateBlendRegisters(void);
|
||||
static bool8 IsSoftwarePaletteFadeFinishing(void);
|
||||
static void sub_80A2D54(u8 taskId);
|
||||
|
||||
EWRAM_DATA u16 gPlttBufferUnfaded[0x200] = {0};
|
||||
EWRAM_DATA u16 gPlttBufferFaded[0x200] = {0};
|
||||
EWRAM_DATA u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE] = {0};
|
||||
EWRAM_DATA u16 gPlttBufferFaded[PLTT_BUFFER_SIZE] = {0};
|
||||
EWRAM_DATA struct PaletteStruct sPaletteStructs[0x10] = {0};
|
||||
EWRAM_DATA struct PaletteFadeControl gPaletteFade = {0};
|
||||
static EWRAM_DATA u32 gFiller_2037FE0 = 0;
|
||||
static EWRAM_DATA u32 sPlttBufferTransferPending = 0;
|
||||
EWRAM_DATA u8 gPaletteDecompressionBuffer[0x400] = {0};
|
||||
EWRAM_DATA u8 gPaletteDecompressionBuffer[PLTT_DECOMP_BUFFER_SIZE] = {0};
|
||||
|
||||
static const struct PaletteStructTemplate gDummyPaletteStructTemplate = {
|
||||
.uid = 0xFFFF,
|
||||
|
||||
@@ -1089,7 +1089,7 @@ u8 SendMonToPC(struct Pokemon* mon)
|
||||
gSpecialVar_0x8012 = boxNo;
|
||||
gSpecialVar_0x8013 = boxPos;
|
||||
if (get_unknown_box_id() != boxNo)
|
||||
FlagReset(SYS_STORAGE_UNKNOWN_FLAG);
|
||||
FlagClear(SYS_STORAGE_UNKNOWN_FLAG);
|
||||
VarSet(VAR_STORAGE_UNKNOWN, boxNo);
|
||||
return MON_GIVEN_TO_PC;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "load_save.h"
|
||||
#include "save.h"
|
||||
#include "new_game.h"
|
||||
#include "rom4.h"
|
||||
#include "overworld.h"
|
||||
#include "malloc.h"
|
||||
|
||||
void sub_81700F8(void)
|
||||
|
||||
@@ -60,7 +60,7 @@ void SetSafariZoneFlag(void)
|
||||
|
||||
void ResetSafariZoneFlag(void)
|
||||
{
|
||||
FlagReset(SYS_SAFARI_MODE);
|
||||
FlagClear(SYS_SAFARI_MODE);
|
||||
}
|
||||
|
||||
void EnterSafariMode(void)
|
||||
|
||||
2438
src/scrcmd.c
2438
src/scrcmd.c
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user