1
0
Fork 0
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:
Dragorn421 2022-08-26 11:40:40 +02:00
commit 38cf1d05d5
No known key found for this signature in database
GPG key ID: 32B53D2D16FC4118
15 changed files with 39 additions and 36 deletions

View file

@ -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">

View file

@ -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"
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 not args.force:
if os.path.isfile(extract_text_path):
extract_text_path = None
if os.path.isfile(extract_staff_text_path):
extract_staff_text_path = 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)

View file

@ -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);

View file

@ -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;

View file

@ -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) {

View file

@ -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;

View file

@ -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);

View file

@ -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"
}

View file

@ -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) {

View file

@ -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
{

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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

View file

@ -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;