mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-23 15:55:47 +00:00
Merge branch 'master' into doc_pause_menu
This commit is contained in:
commit
38cf1d05d5
15 changed files with 39 additions and 36 deletions
|
@ -2,7 +2,7 @@
|
|||
<File Name="daiyousei_izumi_scene" Segment="2">
|
||||
<Cutscene Name="gGreatFairyMagicCs" Offset="0x0130"/>
|
||||
<Cutscene Name="gGreatFairyDoubleMagicCs" Offset="0x13E0"/>
|
||||
<Cutscene Name="gGreatFairyDoubleDefenceCs" Offset="0x25D0"/>
|
||||
<Cutscene Name="gGreatFairyDoubleDefenseCs" Offset="0x25D0"/>
|
||||
<Scene Name="daiyousei_izumi_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="daiyousei_izumi_room_0" Segment="3">
|
||||
|
|
|
@ -89,7 +89,7 @@ def processZAPDArgs(argsZ):
|
|||
def main():
|
||||
parser = argparse.ArgumentParser(description="baserom asset extractor")
|
||||
parser.add_argument("-s", "--single", help="asset path relative to assets/, e.g. objects/gameplay_keep")
|
||||
parser.add_argument("-f", "--force", help="Force the extraction of every xml instead of checking the touched ones.", action="store_true")
|
||||
parser.add_argument("-f", "--force", help="Force the extraction of every xml instead of checking the touched ones, and text (overwriting current files).", action="store_true")
|
||||
parser.add_argument("-j", "--jobs", help="Number of cpu cores to extract with.")
|
||||
parser.add_argument("-u", "--unaccounted", help="Enables ZAPD unaccounted detector warning system.", action="store_true")
|
||||
parser.add_argument("-Z", help="Pass the argument on to ZAPD, e.g. `-ZWunaccounted` to warn about unaccounted blocks in XMLs. Each argument should be passed separately, *without* the leading dash.", metavar="ZAPD_ARG", action="append")
|
||||
|
@ -122,13 +122,16 @@ def main():
|
|||
ExtractFunc(fullPath)
|
||||
else:
|
||||
extract_text_path = "assets/text/message_data.h"
|
||||
extract_staff_text_path = "assets/text/message_data_staff.h"
|
||||
|
||||
# Only extract text if the header does not already exist, or if --force was passed
|
||||
if not args.force:
|
||||
if os.path.isfile(extract_text_path):
|
||||
extract_text_path = None
|
||||
extract_staff_text_path = "assets/text/message_data_staff.h"
|
||||
if os.path.isfile(extract_staff_text_path):
|
||||
extract_staff_text_path = None
|
||||
# Only extract text if the header does not already exist, or if --force was passed
|
||||
if args.force or extract_text_path is not None or extract_staff_text_path is not None:
|
||||
|
||||
if extract_text_path is not None or extract_staff_text_path is not None:
|
||||
print("Extracting text")
|
||||
from tools import msgdis
|
||||
msgdis.extract_all_text(extract_text_path, extract_staff_text_path)
|
||||
|
|
|
@ -245,7 +245,7 @@ void EffectSsBomb2_SpawnFade(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f
|
|||
void EffectSsBomb2_SpawnLayered(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale,
|
||||
s16 scaleStep);
|
||||
void EffectSsBlast_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
||||
Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 sclaeStepDecay, s16 life);
|
||||
Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 scaleStepDecay, s16 life);
|
||||
void EffectSsBlast_SpawnWhiteCustomScale(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale,
|
||||
s16 scaleStep, s16 life);
|
||||
void EffectSsBlast_SpawnShockwave(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
|
||||
|
@ -2254,8 +2254,8 @@ void Message_SetTables(void);
|
|||
void GameOver_Init(PlayState* play);
|
||||
void GameOver_FadeInLights(PlayState* play);
|
||||
void GameOver_Update(PlayState* play);
|
||||
void func_80110990(PlayState* play);
|
||||
void func_801109B0(PlayState* play);
|
||||
void Interface_Destroy(PlayState* play);
|
||||
void Interface_Init(PlayState* play);
|
||||
void Message_Init(PlayState* play);
|
||||
void func_80112098(PlayState* play);
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ typedef struct {
|
|||
/* 0x003A */ u8 isMagicAcquired;
|
||||
/* 0x003B */ char unk_3B[0x01];
|
||||
/* 0x003C */ u8 isDoubleMagicAcquired;
|
||||
/* 0x003D */ u8 doubleDefense;
|
||||
/* 0x003D */ u8 isDoubleDefenseAcquired;
|
||||
/* 0x003E */ u8 bgsFlag;
|
||||
/* 0x003F */ u8 ocarinaGameRoundNum;
|
||||
/* 0x0040 */ ItemEquips childEquips;
|
||||
|
|
|
@ -1173,7 +1173,7 @@ void BgCheck_GetSubdivisionMinBounds(CollisionContext* colCtx, Vec3f* pos, s32*
|
|||
|
||||
/**
|
||||
* Get positive bias subdivision indices
|
||||
* increments indicies if `pos` is within BGCHECK_SUBDIV_OVERLAP units of the postive subdivision boundary
|
||||
* increments indices if `pos` is within BGCHECK_SUBDIV_OVERLAP units of the positive subdivision boundary
|
||||
* `sx`, `sy`, `sz` returns the subdivision x, y, z indices
|
||||
*/
|
||||
void BgCheck_GetSubdivisionMaxBounds(CollisionContext* colCtx, Vec3f* pos, s32* sx, s32* sy, s32* sz) {
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#include "global.h"
|
||||
|
||||
void func_80110990(PlayState* play) {
|
||||
void Interface_Destroy(PlayState* play) {
|
||||
Map_Destroy(play);
|
||||
}
|
||||
|
||||
void func_801109B0(PlayState* play) {
|
||||
void Interface_Init(PlayState* play) {
|
||||
InterfaceContext* interfaceCtx = &play->interfaceCtx;
|
||||
u32 parameterSize;
|
||||
u16 doActionOffset;
|
||||
|
|
|
@ -317,7 +317,7 @@ void EffectSsBomb2_SpawnLayered(PlayState* play, Vec3f* pos, Vec3f* velocity, Ve
|
|||
// EffectSsBlast Spawn Functions
|
||||
|
||||
void EffectSsBlast_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
||||
Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 sclaeStepDecay, s16 life) {
|
||||
Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 scaleStepDecay, s16 life) {
|
||||
EffectSsBlastParams initParams;
|
||||
|
||||
Math_Vec3f_Copy(&initParams.pos, pos);
|
||||
|
@ -327,7 +327,7 @@ void EffectSsBlast_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* ac
|
|||
Color_RGBA8_Copy(&initParams.envColor, envColor);
|
||||
initParams.scale = scale;
|
||||
initParams.scaleStep = scaleStep;
|
||||
initParams.sclaeStepDecay = sclaeStepDecay;
|
||||
initParams.scaleStepDecay = scaleStepDecay;
|
||||
initParams.life = life;
|
||||
|
||||
EffectSs_Spawn(play, EFFECT_SS_BLAST, 128, &initParams);
|
||||
|
|
|
@ -14,7 +14,7 @@ typedef struct {
|
|||
/* 0x01 */ u8 flags1;
|
||||
/* 0x02 */ u8 flags2;
|
||||
/* 0x03 */ u8 flags3;
|
||||
} RestrictionFlags;
|
||||
} RestrictionFlags; // size = 0x4
|
||||
|
||||
static RestrictionFlags sRestrictionFlags[] = {
|
||||
{ SCENE_SPOT00, 0x00, 0x00, 0x10 },
|
||||
|
@ -2169,7 +2169,7 @@ s32 Health_ChangeBy(PlayState* play, s16 amount) {
|
|||
// clang-format off
|
||||
if (amount > 0) { Audio_PlaySfxGeneral(NA_SE_SY_HP_RECOVER, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
} else if (gSaveContext.doubleDefense && (amount < 0)) {
|
||||
} else if (gSaveContext.isDoubleDefenseAcquired && (amount < 0)) {
|
||||
amount >>= 1;
|
||||
osSyncPrintf("ハート減少半分!!=%d\n", amount); // "Heart decrease halved!!=%d"
|
||||
}
|
||||
|
|
|
@ -206,7 +206,7 @@ void Play_Destroy(GameState* thisx) {
|
|||
}
|
||||
|
||||
func_80031C3C(&this->actorCtx, this);
|
||||
func_80110990(this);
|
||||
Interface_Destroy(this);
|
||||
KaleidoScopeCall_Destroy(this);
|
||||
KaleidoManager_Destroy();
|
||||
ZeldaArena_Cleanup();
|
||||
|
@ -335,7 +335,7 @@ void Play_Init(GameState* thisx) {
|
|||
|
||||
Cutscene_HandleEntranceTriggers(this);
|
||||
KaleidoScopeCall_Init(this);
|
||||
func_801109B0(this);
|
||||
Interface_Init(this);
|
||||
|
||||
if (gSaveContext.nextDayTime != NEXT_TIME_NONE) {
|
||||
if (gSaveContext.nextDayTime == NEXT_TIME_DAY) {
|
||||
|
|
|
@ -20,7 +20,7 @@ typedef struct {
|
|||
/* 0x1E */ u8 isMagicAcquired;
|
||||
/* 0x1F */ u8 unk_1F;
|
||||
/* 0x20 */ u8 isDoubleMagicAcquired;
|
||||
/* 0x21 */ u8 doubleDefense;
|
||||
/* 0x21 */ u8 isDoubleDefenseAcquired;
|
||||
/* 0x22 */ u8 bgsFlag;
|
||||
/* 0x23 */ u8 ocarinaGameRoundNum;
|
||||
/* 0x24 */ ItemEquips childEquips;
|
||||
|
@ -111,7 +111,7 @@ static SavePlayerData sNewSavePlayerData = {
|
|||
false, // isMagicAcquired
|
||||
0, // unk_1F
|
||||
false, // isDoubleMagicAcquired
|
||||
0, // doubleDefense
|
||||
false, // isDoubleDefenseAcquired
|
||||
0, // bgsFlag
|
||||
0, // ocarinaGameRoundNum
|
||||
{
|
||||
|
@ -196,7 +196,7 @@ static SavePlayerData sDebugSavePlayerData = {
|
|||
true, // isMagicAcquired
|
||||
0, // unk_1F
|
||||
false, // isDoubleMagicAcquired
|
||||
0, // doubleDefense
|
||||
false, // isDoubleDefenseAcquired
|
||||
0, // bgsFlag
|
||||
0, // ocarinaGameRoundNum
|
||||
{
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
typedef enum {
|
||||
/* 0 */ FAIRY_UPGRADE_MAGIC,
|
||||
/* 1 */ FAIRY_UPGRADE_DOUBLE_MAGIC,
|
||||
/* 2 */ FAIRY_UPGRADE_HALF_DAMAGE
|
||||
/* 2 */ FAIRY_UPGRADE_DOUBLE_DEFENSE
|
||||
} BgDyYoseizoRewardType;
|
||||
|
||||
typedef enum {
|
||||
|
@ -240,8 +240,8 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, PlayState* play) {
|
|||
givingReward = true;
|
||||
}
|
||||
break;
|
||||
case FAIRY_UPGRADE_HALF_DAMAGE:
|
||||
if (!gSaveContext.doubleDefense) {
|
||||
case FAIRY_UPGRADE_DOUBLE_DEFENSE:
|
||||
if (!gSaveContext.isDoubleDefenseAcquired) {
|
||||
// "Damage halved"
|
||||
osSyncPrintf(VT_FGCOL(MAGENTA) " ☆☆☆☆☆ ダメージ半減 ☆☆☆☆☆ \n" VT_RST);
|
||||
this->givingSpell = true;
|
||||
|
@ -278,8 +278,8 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, PlayState* play) {
|
|||
play->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyDoubleMagicCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
break;
|
||||
case FAIRY_UPGRADE_HALF_DAMAGE:
|
||||
play->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyDoubleDefenceCs);
|
||||
case FAIRY_UPGRADE_DOUBLE_DEFENSE:
|
||||
play->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyDoubleDefenseCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
break;
|
||||
}
|
||||
|
@ -724,8 +724,8 @@ void BgDyYoseizo_Give_Reward(BgDyYoseizo* this, PlayState* play) {
|
|||
gSaveContext.magicLevel = 0;
|
||||
Interface_ChangeAlpha(9);
|
||||
break;
|
||||
case FAIRY_UPGRADE_HALF_DAMAGE:
|
||||
gSaveContext.doubleDefense = true;
|
||||
case FAIRY_UPGRADE_DOUBLE_DEFENSE:
|
||||
gSaveContext.isDoubleDefenseAcquired = true;
|
||||
Interface_ChangeAlpha(9);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -950,7 +950,7 @@ void func_80A9877C(EnKo* this, PlayState* play) {
|
|||
ENKO_TYPE == ENKO_TYPE_CHILD_FADO && play->sceneId == SCENE_SPOT10) {
|
||||
this->actor.textId = INV_CONTENT(ITEM_TRADE_ADULT) > ITEM_ODD_POTION ? 0x10B9 : 0x10DF;
|
||||
|
||||
if (func_8002F368(play) == ENKO_TYPE_CHILD_9) {
|
||||
if (func_8002F368(play) == EXCH_ITEM_ODD_POTION) {
|
||||
this->actor.textId = GET_INFTABLE(INFTABLE_BC) ? 0x10B8 : 0x10B7;
|
||||
this->unk_210 = 0;
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ u32 EffectSsBlast_Init(PlayState* play, u32 index, EffectSs* this, void* initPar
|
|||
this->rAlphaTarget = initParams->primColor.a / initParams->life;
|
||||
this->rScale = initParams->scale;
|
||||
this->rScaleStep = initParams->scaleStep;
|
||||
this->rScaleStepDecay = initParams->sclaeStepDecay;
|
||||
this->rScaleStepDecay = initParams->scaleStepDecay;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ typedef struct {
|
|||
/* 0x28 */ Color_RGBA8 envColor;
|
||||
/* 0x2C */ s16 scale;
|
||||
/* 0x2E */ s16 scaleStep;
|
||||
/* 0x30 */ s16 sclaeStepDecay;
|
||||
/* 0x30 */ s16 scaleStepDecay;
|
||||
/* 0x32 */ s16 life;
|
||||
} EffectSsBlastParams; // size = 0x34
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
u32 EffectSsDust_Init(PlayState* play, u32 index, EffectSs* this, void* initParamsx);
|
||||
void EffectSsDust_Update(PlayState* play, u32 index, EffectSs* this);
|
||||
void EffectSsBlast_UpdateFire(PlayState* play, u32 index, EffectSs* this);
|
||||
void EffectSsDust_UpdateFire(PlayState* play, u32 index, EffectSs* this);
|
||||
void EffectSsDust_Draw(PlayState* play, u32 index, EffectSs* this);
|
||||
|
||||
EffectSsInit Effect_Ss_Dust_InitVars = {
|
||||
|
@ -33,7 +33,7 @@ EffectSsInit Effect_Ss_Dust_InitVars = {
|
|||
|
||||
static EffectSsUpdateFunc sUpdateFuncs[] = {
|
||||
EffectSsDust_Update,
|
||||
EffectSsBlast_UpdateFire,
|
||||
EffectSsDust_UpdateFire,
|
||||
};
|
||||
|
||||
u32 EffectSsDust_Init(PlayState* play, u32 index, EffectSs* this, void* initParamsx) {
|
||||
|
@ -146,7 +146,7 @@ void EffectSsDust_Update(PlayState* play, u32 index, EffectSs* this) {
|
|||
}
|
||||
|
||||
// this update mode is unused in the original game
|
||||
void EffectSsBlast_UpdateFire(PlayState* play, u32 index, EffectSs* this) {
|
||||
void EffectSsDust_UpdateFire(PlayState* play, u32 index, EffectSs* this) {
|
||||
this->accel.x = (Rand_ZeroOne() * 0.4f) - 0.2f;
|
||||
this->accel.z = (Rand_ZeroOne() * 0.4f) - 0.2f;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue