Merge remote-tracking branch 'upstream/main' into jp

This commit is contained in:
Derek Hensley 2025-12-06 11:29:52 -08:00
commit 33e266407f
15 changed files with 727 additions and 643 deletions

View File

@ -1,12 +1,13 @@
<Root>
<File Name="object_fz" Segment="6">
<DList Name="object_fz_DL_001130" Offset="0x1130" />
<DList Name="object_fz_DL_0021A0" Offset="0x21A0" />
<DList Name="object_fz_DL_002CA0" Offset="0x2CA0" />
<Texture Name="object_fz_Tex_002E70" OutName="tex_002E70" Format="i4" Width="32" Height="32" Offset="0x2E70" />
<DList Name="object_fz_DL_0030A0" Offset="0x30A0" />
<DList Name="object_fz_DL_003158" Offset="0x3158" />
<DList Name="object_fz_DL_003260" Offset="0x3260" />
<DList Name="object_fz_DL_0033F0" Offset="0x33F0" />
<DList Name="gFreezardBodyIntactDL" Offset="0x1130" />
<DList Name="gFreezardBodyHornBrokenDL" Offset="0x21A0" />
<DList Name="gFreezardBodyHeadBrokenDL" Offset="0x2CA0" />
<Texture Name="gFreezardSteamTex" OutName="steam" Format="i4" Width="32" Height="32" Offset="0x2E70" />
<DList Name="gFreezardSteamStartDL" Offset="0x30A0" />
<DList Name="gFreezardSteamDL" Offset="0x3158" />
<!-- Unused, wasn't used in OOT either -->
<DList Name="gFreezardIceSpikeDL" Offset="0x3260" />
<DList Name="gFreezardIceChunkDL" Offset="0x33F0" />
</File>
</Root>

View File

@ -1,8 +1,8 @@
#ifndef BUILD_H
#define BUILD_H
extern char gBuildCreator[];
extern char gBuildDate[];
extern char gBuildMakeOption[];
extern const char gBuildCreator[];
extern const char gBuildDate[];
extern const char gBuildMakeOption[];
#endif

View File

@ -307,7 +307,7 @@ void Message_DrawItemIcon(struct PlayState* play, Gfx** gfxP);
void Message_HandleOcarina(struct PlayState* play);
void Message_LoadItemIcon(struct PlayState* play, u16 itemId, s16 arg2);
void Message_DecodeHeader(struct PlayState* play);
void func_801514B0(struct PlayState* play, u16 arg1, u8 arg2);
void Message_PauseMenu_ShowDescription(struct PlayState* play, u16 textId, u8 textBoxPos);
void Message_StartTextbox(struct PlayState* play, u16 textId, struct Actor* actor);
void Message_ContinueTextbox(struct PlayState* play, u16 textId);
void Message_DisplaySceneTitleCard(struct PlayState* play, u16 textId);

View File

@ -1,3 +1,5 @@
#include "build.h"
const char gBuildCreator[] = "zelda@srd44";
const char gBuildDate[] = "00-07-31 17:04:16";
const char gBuildMakeOption[] = "";

View File

@ -3308,7 +3308,7 @@ void Message_OpenText(PlayState* play, u16 textId) {
}
}
void func_801514B0(PlayState* play, u16 arg1, u8 arg2) {
void Message_PauseMenu_ShowDescription(PlayState* play, u16 textId, u8 textBoxPos) {
MessageContext* msgCtx = &play->msgCtx;
Font* font = &msgCtx->font;
Player* player = GET_PLAYER(play);
@ -3338,20 +3338,20 @@ void func_801514B0(PlayState* play, u16 arg1, u8 arg2) {
sCharTexScale = temp / msgCtx->textCharScale;
D_801F6B08 = temp / 1;
if ((arg1 == 0x1709) && (player->transformation == 3)) {
arg1 = 0x1705;
if ((textId == 0x1709) && (player->transformation == PLAYER_FORM_DEKU)) {
textId = 0x1705;
}
msgCtx->currentTextId = arg1;
msgCtx->currentTextId = textId;
if (gSaveContext.options.language == LANGUAGE_JPN) {
Message_FindMessage(play, arg1);
Message_FindMessage(play, textId);
msgCtx->msgLength = font->messageEnd;
DmaMgr_RequestSync(&font->msgBuf, SEGMENT_ROM_START(message_data_static) + font->messageStart,
font->messageEnd);
} else {
#if MM_VERSION >= N64_US
Message_FindMessageNES(play, arg1);
Message_FindMessageNES(play, textId);
msgCtx->msgLength = font->messageEnd;
DmaMgr_RequestSync(&font->msgBuf, SEGMENT_ROM_START(message_data_static) + font->messageStart,
font->messageEnd);
@ -3366,7 +3366,7 @@ void func_801514B0(PlayState* play, u16 arg1, u8 arg2) {
msgCtx->unk11F08 = font->msgBuf.wchar[msgCtx->msgBufPos];
msgCtx->unk11F18 = (msgCtx->unk11F08 & 0xF000) >> 0xC;
msgCtx->textBoxType = TEXTBOX_TYPE_9;
msgCtx->textBoxPos = arg2;
msgCtx->textBoxPos = textBoxPos;
msgCtx->unk11F0C = msgCtx->unk11F08 & 0xF;
msgCtx->textUnskippable = true;
DmaMgr_RequestSync(msgCtx->textboxSegment, SEGMENT_ROM_START(message_static) + (D_801CFC78[0] * 0x1000), 0x1000);

File diff suppressed because it is too large Load Diff

View File

@ -8,66 +8,97 @@ struct EnFz;
typedef void (*EnFzActionFunc)(struct EnFz*, PlayState*);
typedef void (*EnFzUnkFunc)(struct EnFz*);
#define ENFZ_GET_F(thisx) ((thisx)->params & 0xF)
#define ENFZ_GET_3000(thisx) (((thisx)->params & 0x3000) >> 0xC)
#define ENFZ_GET_4000(thisx) ((thisx)->params & 0x4000)
#define ENFZ_GET_8000(thisx) ((thisx)->params & 0x8000)
#define ENFZ_GET_POWER(thisx) ((thisx)->params & 0xF)
#define ENFZ_GET_ROTATION_LIMIT(thisx) (((thisx)->params & 0x3000) >> 0xC)
// appears out of the ground imediately
#define ENFZ_GET_APPEAR_TYPE(thisx) ((thisx)->params & 0x4000)
// if ENFZ_GET_TRACK_TYPE and NOT ENFZ_GET_APPEAR_TYPE (0x8000)
// appears from the ground if player approaches, skates after them
#define ENFZ_GET_TRACK_TYPE(thisx) ((thisx)->params & 0x8000)
// Track and Appear have a mixed behavior if both are enabled:
// if ENFZ_GET_TRACK_TYPE AND ENFZ_GET_APPEAR_TYPE (0xC000)
// appears from the ground immediately, stays still,
// but follows player to aim, while ignoring rotation limit
typedef enum {
/* 0 */ ENFZ_F_0,
/* 1 */ ENFZ_F_1,
/* 2 */ ENFZ_F_2,
/* 3 */ ENFZ_F_3
} EnFzParam;
// Clock specifies where the internal clock starts, zero is random
// used to force specific attack timing
// used in Snowhead Temple: 0x3, 0x7, 0xD in room 02
// causing them to breath at the bridge in series so the player has to time the jump
// the value passed is 1/10 final value in frames
#define ENFZ_GETZ_CLOCK(thisx) ((thisx)->shape.rot.z)
typedef struct {
/* 0x00 */ u8 unk_00;
/* 0x01 */ u8 unk_01;
/* 0x04 */ Vec3f unk_04;
/* 0x10 */ Vec3f unk_10;
/* 0x1C */ Vec3f unk_1C;
/* 0x28 */ UNK_TYPE1 unk_28[0x4];
/* 0x2C */ s16 unk_2C;
/* 0x2E */ s16 unk_2E;
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ u8 unk_38;
} EnFzStruct; // size = 0x3C
// 0,1,2 are how powerful (distance) the attack is
// F is treated like 0 (else case)
typedef enum EnFzPower {
/* 0 */ FZ_POWER_0, // + 0
/* 1 */ FZ_POWER_1, // + 10
/* 2 */ FZ_POWER_2, // + 20
/* 3 */ FZ_POWER_PASSIVE, // unfinished empty actionfunc
/* F */ FZ_POWER_F = 0xF // snowhead map room
} EnFzPower;
typedef enum EnFzEffectType {
/* 0 */ FZ_EFFECT_DISABLED,
/* 1 */ FZ_EFFECT_MIST_AURA,
/* 2 */ FZ_EFFECT_BREATH
} EnFzEffectType;
typedef struct EnFzEffect {
/* 0x00 */ u8 type;
/* 0x01 */ u8 timer;
/* 0x04 */ Vec3f pos;
/* 0x10 */ Vec3f velocity;
/* 0x1C */ Vec3f accel;
/* 0x28 */ UNK_TYPE1 unk28[0x4];
/* 0x2C */ s16 primAlpha;
/* 0x2E */ s16 primAlphaState;
/* 0x30 */ f32 xyScale;
/* 0x34 */ f32 xyScaleTarget;
/* 0x38 */ u8 damaging;
} EnFzEffect; // size = 0x3C
// indexes the different mist functions
typedef enum EnFzState {
/* 0 */ FZ_STATE_HIDDEN, // OOT, waiting for player approach, ice cavern
/* 1 */ FZ_STATE_FULLSIZE,
/* 2 */ FZ_STATE_CHANGING, // OOT, growing and disappearing, ice cavern
/* 3 */ FZ_STATE_MELTING, // fire arrows
} EnFzState;
typedef struct EnFz {
/* 0x000 */ Actor actor;
/* 0x144 */ EnFzActionFunc actionFunc;
/* 0x148 */ ColliderCylinder collider1;
/* 0x194 */ ColliderCylinder collider2;
/* 0x1E0 */ ColliderCylinder collider3;
/* 0x22C */ Vec3f unk_22C;
/* 0x238 */ f32 unk_238;
/* 0x23C */ EnFzStruct unk_23C[40];
/* 0x194 */ ColliderCylinder collider2; // might be hard protection ac
/* 0x1E0 */ ColliderCylinder collider3; // at for breath
/* 0x22C */ Vec3f wallHitPos;
/* 0x238 */ f32 distToTargetSq;
/* 0x23C */ EnFzEffect effects[40];
/* 0xB9C */ f32 drawDmgEffAlpha;
/* 0xBA0 */ f32 drawDmgEffScale;
/* 0xBA4 */ s16 drawDmgEffTimer;
/* 0xBA8 */ f32 unk_BA8;
/* 0xBAC */ f32 unk_BAC;
/* 0xBB0 */ f32 unk_BB0;
/* 0xBB4 */ f32 unk_BB4;
/* 0xBB8 */ f32 unk_BB8;
/* 0xBBC */ f32 unk_BBC;
/* 0xBC0 */ u32 unk_BC0;
/* 0xBC4 */ s16 unk_BC4;
/* 0xBC6 */ s16 unk_BC6;
/* 0xBC8 */ s16 unk_BC8;
/* 0xBCA */ s16 unk_BCA;
/* 0xBCC */ u8 unk_BCC;
/* 0xBCD */ u8 unk_BCD;
/* 0xBCE */ u8 unk_BCE;
/* 0xBCF */ u8 unk_BCF;
/* 0xBD0 */ s16 unk_BD0;
/* 0xBD2 */ s16 unk_BD2;
/* 0xBA8 */ Vec3f originPos;
/* 0xBB4 */ f32 originPosY;
/* 0xBB8 */ f32 unkBB8; // set (135.0f), never read
/* 0xBBC */ f32 speedXZ;
/* 0xBC0 */ u32 envAlpha;
// we set it, and read it, but never the same value
// assumed unfinished shared variable with wizrobe
/* 0xBC4 */ s16 wizrobeFlag;
/* 0xBC6 */ s16 internalClock;
/* 0xBC8 */ s16 unusedTimer; // set (0), never read
/* 0xBCA */ s16 mainTimer;
/* 0xBCC */ u8 isBgEnabled;
/* 0xBCD */ u8 isMoving;
/* 0xBCE */ u8 isColliderActive;
/* 0xBCF */ u8 hitCounter; /// set, never read
/* 0xBD0 */ s16 unkBD0; // set (0), never read
/* 0xBD2 */ s16 unkBD2; // set (0,4000), never read
/* 0xBD4 */ UNK_TYPE1 unkBD4[2];
/* 0xBD6 */ u8 unk_BD6;
/* 0xBD7 */ u8 unk_BD7;
/* 0xBD8 */ u8 unk_BD8;
/* 0xBD9 */ u8 unk_BD9;
/* 0xBD6 */ u8 state;
/* 0xBD7 */ u8 drawBody;
/* 0xBD8 */ u8 isDying;
/* 0xBD9 */ u8 attackTimer; // never set, always zero
} EnFz; /* size = 0xBDC */
#endif // Z_EN_FZ_H

View File

@ -4011,7 +4011,7 @@ void EnHorse_UpdateBgCheckInfo(EnHorse* this, PlayState* play) {
}
}
void func_80886C00(EnHorse* this, PlayState* play) {
void EnHorse_CheckBoost(EnHorse* this, PlayState* play) {
Input* input = &play->state.input[this->unk_52C];
if (((this->action == ENHORSE_ACTION_MOUNTED_WALK) || (this->action == ENHORSE_ACTION_MOUNTED_TROT) ||
@ -4239,7 +4239,7 @@ void EnHorse_Update(Actor* thisx, PlayState* play2) {
if (!(this->stateFlags & ENHORSE_INACTIVE)) {
if ((this->action == ENHORSE_ACTION_MOUNTED_GALLOP) || (this->action == ENHORSE_ACTION_MOUNTED_TROT) ||
(this->action == ENHORSE_ACTION_MOUNTED_WALK)) {
func_80886C00(this, play);
EnHorse_CheckBoost(this, play);
}
if (this->playerControlled == true) {

View File

@ -856,15 +856,19 @@ void KaleidoScope_UpdateQuestCursor(PlayState* play) {
pauseCtx->itemDescriptionOn = true;
if (pauseCtx->cursorYIndex[PAUSE_QUEST] < 2) {
if (pauseCtx->cursorItem[PAUSE_QUEST] < ITEM_REMAINS_ODOLWA) {
func_801514B0(play, 0x1737 + pauseCtx->cursorItem[PAUSE_QUEST], 1);
Message_PauseMenu_ShowDescription(
play, 0x1737 + pauseCtx->cursorItem[PAUSE_QUEST], 1);
} else {
func_801514B0(play, 0x173B + pauseCtx->cursorItem[PAUSE_QUEST], 3);
Message_PauseMenu_ShowDescription(
play, 0x173B + pauseCtx->cursorItem[PAUSE_QUEST], 3);
}
} else {
if (pauseCtx->cursorItem[PAUSE_QUEST] < ITEM_REMAINS_ODOLWA) {
func_801514B0(play, 0x1737 + pauseCtx->cursorItem[PAUSE_QUEST], 1);
Message_PauseMenu_ShowDescription(
play, 0x1737 + pauseCtx->cursorItem[PAUSE_QUEST], 1);
} else {
func_801514B0(play, 0x173B + pauseCtx->cursorItem[PAUSE_QUEST], 1);
Message_PauseMenu_ShowDescription(
play, 0x173B + pauseCtx->cursorItem[PAUSE_QUEST], 1);
}
}
}

View File

@ -681,9 +681,9 @@ void KaleidoScope_UpdateItemCursor(PlayState* play) {
// Give description on item through a message box
pauseCtx->itemDescriptionOn = true;
if (pauseCtx->cursorYIndex[PAUSE_ITEM] < 2) {
func_801514B0(play, 0x1700 + pauseCtx->cursorItem[PAUSE_ITEM], 3);
Message_PauseMenu_ShowDescription(play, 0x1700 + pauseCtx->cursorItem[PAUSE_ITEM], 3);
} else {
func_801514B0(play, 0x1700 + pauseCtx->cursorItem[PAUSE_ITEM], 1);
Message_PauseMenu_ShowDescription(play, 0x1700 + pauseCtx->cursorItem[PAUSE_ITEM], 1);
}
}
}

View File

@ -458,11 +458,11 @@ void KaleidoScope_UpdateDungeonCursor(PlayState* play) {
if (CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_A) && (msgCtx->msgLength == 0) &&
(pauseCtx->cursorPoint[PAUSE_MAP] == DUNGEON_STRAY_FAIRIES)) {
pauseCtx->itemDescriptionOn = true;
func_801514B0(play, 0x17AF, 1);
Message_PauseMenu_ShowDescription(play, 0x17AF, 1);
} else if (CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_A) && (msgCtx->msgLength == 0) &&
CHECK_DUNGEON_ITEM(pauseCtx->cursorPoint[PAUSE_MAP], gSaveContext.dungeonSceneSharedIndex)) {
pauseCtx->itemDescriptionOn = true;
func_801514B0(play, 0x17AC + pauseCtx->cursorPoint[PAUSE_MAP], 1);
Message_PauseMenu_ShowDescription(play, 0x17AC + pauseCtx->cursorPoint[PAUSE_MAP], 1);
}
}

View File

@ -603,9 +603,9 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
// Give description on item through a message box
pauseCtx->itemDescriptionOn = true;
if (pauseCtx->cursorYIndex[PAUSE_MASK] < 2) {
func_801514B0(play, 0x1700 + pauseCtx->cursorItem[PAUSE_MASK], 3);
Message_PauseMenu_ShowDescription(play, 0x1700 + pauseCtx->cursorItem[PAUSE_MASK], 3);
} else {
func_801514B0(play, 0x1700 + pauseCtx->cursorItem[PAUSE_MASK], 1);
Message_PauseMenu_ShowDescription(play, 0x1700 + pauseCtx->cursorItem[PAUSE_MASK], 1);
}
}
}

View File

@ -2848,7 +2848,7 @@ Message_LoadOwlWarpText = 0x8014D62C; // type:func
Message_Decode = 0x8014D7B4; // type:func
func_80150A84 = 0x80150A84; // type:func
Message_OpenText = 0x80150D08; // type:func
func_801514B0 = 0x801514B0; // type:func
Message_PauseMenu_ShowDescription = 0x801514B0; // type:func
Message_StartTextbox = 0x801518B0; // type:func
Message_ContinueTextbox = 0x80151938; // type:func
Message_DisplaySceneTitleCard = 0x80151A68; // type:func
@ -5345,7 +5345,7 @@ EnHorse_UpdateStick = 0x80885AF4; // type:func
EnHorse_ResolveCollision = 0x80885B4C; // type:func
EnHorse_BgCheckSlowMoving = 0x80885C90; // type:func
EnHorse_UpdateBgCheckInfo = 0x80885DA4; // type:func
func_80886C00 = 0x80886C00; // type:func
EnHorse_CheckBoost = 0x80886C00; // type:func
EnHorse_RegenBoost = 0x80886DC4; // type:func
EnHorse_UpdatePlayerDir = 0x80886FA8; // type:func
EnHorse_TiltBody = 0x808870A4; // type:func
@ -7211,43 +7211,43 @@ ObjIcePoly_Update = 0x80932198; // type:func
ObjIcePoly_Draw = 0x809321BC; // type:func
EnFz_Init = 0x80932490; // type:func
EnFz_Destroy = 0x809326F4; // type:func
func_80932784 = 0x80932784; // type:func
func_809328A4 = 0x809328A4; // type:func
func_809328F4 = 0x809328F4; // type:func
func_80932AE8 = 0x80932AE8; // type:func
func_80932AF4 = 0x80932AF4; // type:func
func_80932BD4 = 0x80932BD4; // type:func
func_80932C98 = 0x80932C98; // type:func
func_80933014 = 0x80933014; // type:func
func_809330D4 = 0x809330D4; // type:func
func_80933104 = 0x80933104; // type:func
func_80933184 = 0x80933184; // type:func
func_809331F8 = 0x809331F8; // type:func
func_80933248 = 0x80933248; // type:func
func_80933274 = 0x80933274; // type:func
func_80933324 = 0x80933324; // type:func
func_80933368 = 0x80933368; // type:func
func_809333A4 = 0x809333A4; // type:func
func_809333D8 = 0x809333D8; // type:func
func_80933414 = 0x80933414; // type:func
func_80933444 = 0x80933444; // type:func
func_80933480 = 0x80933480; // type:func
func_809334B8 = 0x809334B8; // type:func
func_809336C0 = 0x809336C0; // type:func
func_80933760 = 0x80933760; // type:func
func_80933790 = 0x80933790; // type:func
func_809337D4 = 0x809337D4; // type:func
func_8093389C = 0x8093389C; // type:func
func_809338E0 = 0x809338E0; // type:func
func_80933AF4 = 0x80933AF4; // type:func
func_80933B38 = 0x80933B38; // type:func
func_80933B48 = 0x80933B48; // type:func
EnFz_UpdateTargetPos = 0x80932784; // type:func
EnFz_ReachedTarget = 0x809328A4; // type:func
EnFz_Damaged = 0x809328F4; // type:func
EnFz_SpawnMistHidden = 0x80932AE8; // type:func
EnFz_SpawnMistChanging = 0x80932AF4; // type:func
EnFz_SpawnMistFullSize = 0x80932BD4; // type:func
EnFz_ApplyDamage = 0x80932C98; // type:func
EnFz_SetYawTowardsPlayer = 0x80933014; // type:func
EnFz_SetupDisappear = 0x809330D4; // type:func
EnFz_Disappear = 0x80933104; // type:func
EnFz_SetupWait = 0x80933184; // type:func
EnFz_Wait = 0x809331F8; // type:func
EnFz_SetupAppear = 0x80933248; // type:func
EnFz_Appear = 0x80933274; // type:func
EnFz_SetupAimForSkate = 0x80933324; // type:func
EnFz_AimForSkate = 0x80933368; // type:func
EnFz_SetupSkateTowardPlayer = 0x809333A4; // type:func
EnFz_SkateTowardPlayer = 0x809333D8; // type:func
EnFz_SetupSkatingAimFreeze = 0x80933414; // type:func
EnFz_SkatingAimFreeze = 0x80933444; // type:func
EnFz_SetupSkatingFreeze = 0x80933480; // type:func
EnFz_SkatingFreeze = 0x809334B8; // type:func
EnFz_SetupDie = 0x809336C0; // type:func
EnFz_Die = 0x80933760; // type:func
EnFz_SetupMelt = 0x80933790; // type:func
EnFz_Melt = 0x809337D4; // type:func
EnFz_SetupIdleStationary = 0x8093389C; // type:func
EnFz_IdleStationary = 0x809338E0; // type:func
EnFz_SetupPassive = 0x80933AF4; // type:func
EnFz_Passive = 0x80933B38; // type:func
EnFz_UpdateLightArrowEffects = 0x80933B48; // type:func
EnFz_Update = 0x80933BFC; // type:func
EnFz_Draw = 0x80933D98; // type:func
func_80934018 = 0x80934018; // type:func
func_809340BC = 0x809340BC; // type:func
func_80934178 = 0x80934178; // type:func
func_80934464 = 0x80934464; // type:func
EnFz_SpawnMistAura = 0x80934018; // type:func
EnFz_SpawnBreath = 0x809340BC; // type:func
EnFz_UpdateEffects = 0x80934178; // type:func
EnFz_DrawEffects = 0x80934464; // type:func
EnKusa_ApplySway = 0x809349E0; // type:func
EnKusa_Sway = 0x80934AB4; // type:func
EnKusa_SnapToFloor = 0x80934F58; // type:func

View File

@ -2,12 +2,19 @@
shopt -s globstar
FUNCTIONS_FILES="tools/disasm/**/functions.txt"
VARIABLES_FILES="tools/disasm/**/variables.txt"
ASM_FILES="extracted/**/asm/**/*s"
if [ "$#" -ne "2" ];
then
echo "usage: $0 old_name new_name"
exit 1
fi
#echo "Replace $1 with $2?"
#read
grep -rl "$1" asm/**/*.s src/**/*.{c,h} include/**/*.h assets/xml/* tools/disasm/functions.txt tools/disasm/variables.txt tools/sizes/*.csv | xargs sed -i "s/\b$1\b/$2/g"
echo "Replacing symbol in most files ..."
grep -rl "$1" src/**/*.{c,h} include/**/*.h assets/xml/* $FUNCTIONS_FILES $VARIABLES_FILES tools/sizes/*.csv | xargs sed -i "s/\b$1\b/$2/g"
# so many files it overloads xargs, and takes much longer
echo "Replacing symbol in asm files ..."
grep -rl "$1" $ASM_FILES | xargs sed -i "s/\b$1\b/$2/g"

View File

@ -2365,7 +2365,7 @@ asm/non_matchings/code/z_message/Message_LoadOwlWarpText.s,Message_LoadOwlWarpTe
asm/non_matchings/code/z_message/Message_Decode.s,Message_Decode,0x8014D7B4,0xCB4
asm/non_matchings/code/z_message/func_80150A84.s,func_80150A84,0x80150A84,0xA1
asm/non_matchings/code/z_message/Message_OpenText.s,Message_OpenText,0x80150D08,0x1EA
asm/non_matchings/code/z_message/func_801514B0.s,func_801514B0,0x801514B0,0x100
asm/non_matchings/code/z_message/Message_PauseMenu_ShowDescription.s,Message_PauseMenu_ShowDescription,0x801514B0,0x100
asm/non_matchings/code/z_message/Message_StartTextbox.s,Message_StartTextbox,0x801518B0,0x22
asm/non_matchings/code/z_message/Message_ContinueTextbox.s,Message_ContinueTextbox,0x80151938,0x4C
asm/non_matchings/code/z_message/Message_DisplaySceneTitleCard.s,Message_DisplaySceneTitleCard,0x80151A68,0x53

1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
2365 asm/non_matchings/code/z_message/Message_Decode.s Message_Decode 0x8014D7B4 0xCB4
2366 asm/non_matchings/code/z_message/func_80150A84.s func_80150A84 0x80150A84 0xA1
2367 asm/non_matchings/code/z_message/Message_OpenText.s Message_OpenText 0x80150D08 0x1EA
2368 asm/non_matchings/code/z_message/func_801514B0.s asm/non_matchings/code/z_message/Message_PauseMenu_ShowDescription.s func_801514B0 Message_PauseMenu_ShowDescription 0x801514B0 0x100
2369 asm/non_matchings/code/z_message/Message_StartTextbox.s Message_StartTextbox 0x801518B0 0x22
2370 asm/non_matchings/code/z_message/Message_ContinueTextbox.s Message_ContinueTextbox 0x80151938 0x4C
2371 asm/non_matchings/code/z_message/Message_DisplaySceneTitleCard.s Message_DisplaySceneTitleCard 0x80151A68 0x53