2 Commits

Author SHA1 Message Date
Shishu the Dragon
97d4cc2881 Dev: Mac/Linux compat for VS Code tasks (#6211) 2026-02-26 01:22:57 +00:00
Shishu the Dragon
2d74552d05 Ivan: Fix intermittent crash with certain items (#6253) 2026-02-15 00:38:32 +00:00
2 changed files with 38 additions and 15 deletions

42
.vscode/tasks.json vendored
View File

@@ -9,14 +9,24 @@
"-S",
".",
"-B",
"build/x64",
"build-cmake",
"-G",
"Visual Studio 17 2022",
"-T",
"v143",
"-A",
"x64"
"Ninja"
],
"windows": {
"args": [
"-S",
".",
"-B",
"build/x64",
"-G",
"Visual Studio 17 2022",
"-T",
"v143",
"-A",
"x64"
]
},
"group": "build",
"problemMatcher": []
},
@@ -26,10 +36,18 @@
"command": "cmake",
"args": [
"--build",
"./build/x64",
"build-cmake",
"--target",
"GenerateSohOtr"
],
"windows": {
"args": [
"--build",
"./build/x64",
"--target",
"GenerateSohOtr"
]
},
"group": "build",
"problemMatcher": []
},
@@ -39,8 +57,14 @@
"command": "cmake",
"args": [
"--build",
"./build/x64"
"build-cmake"
],
"windows": {
"args": [
"--build",
"./build/x64"
]
},
"group": {
"kind": "build",
"isDefault": true
@@ -58,4 +82,4 @@
]
}
]
}
}

View File

@@ -24,7 +24,6 @@ void EnPartner_Update(Actor* thisx, PlayState* play);
void EnPartner_Draw(Actor* thisx, PlayState* play);
void EnPartner_SpawnSparkles(EnPartner* this, PlayState* play, s32 sparkleLife);
void func_808328EC(Player* this, u16 sfxId);
void Player_RequestQuake(PlayState* play, s32 speed, s32 y, s32 countdown);
s32 spawn_boomerang_ivan(EnPartner* this, PlayState* play);
@@ -194,7 +193,7 @@ void UseBow(Actor* thisx, PlayState* play, u8 started, u8 arrowType) {
EnPartner* this = (EnPartner*)thisx;
if (started == 1) {
func_808328EC(this, NA_SE_PL_CHANGE_ARMS);
Player_PlaySfx(this, NA_SE_PL_CHANGE_ARMS);
this->canMove = 0;
} else if (started == 0) {
if (this->itemTimer <= 0) {
@@ -235,7 +234,7 @@ void UseSlingshot(Actor* thisx, PlayState* play, u8 started) {
EnPartner* this = (EnPartner*)thisx;
if (started == 1) {
func_808328EC(this, NA_SE_PL_CHANGE_ARMS);
Player_PlaySfx(this, NA_SE_PL_CHANGE_ARMS);
this->canMove = 0;
} else if (started == 0) {
if (this->itemTimer <= 0) {
@@ -324,7 +323,7 @@ void UseDekuStick(Actor* thisx, PlayState* play, u8 started) {
if (this->itemTimer <= 0) {
if (started == 1) {
if (AMMO(ITEM_STICK) > 0) {
func_808328EC(this, NA_SE_EV_FLAME_IGNITION);
Player_PlaySfx(this, NA_SE_EV_FLAME_IGNITION);
} else {
Sfx_PlaySfxCentered(NA_SE_SY_ERROR);
}
@@ -373,7 +372,7 @@ void UseHookshot(Actor* thisx, PlayState* play, u8 started) {
if (this->itemTimer <= 0) {
if (started == 1) {
func_808328EC(this, NA_SE_PL_CHANGE_ARMS);
Player_PlaySfx(this, NA_SE_PL_CHANGE_ARMS);
this->canMove = 0;
this->hookshotTarget =
Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_OBJ_HSBLOCK, this->actor.world.pos.x,
@@ -385,7 +384,7 @@ void UseHookshot(Actor* thisx, PlayState* play, u8 started) {
} else if (started == 0) {
Actor_Kill(this->hookshotTarget);
this->hookshotTarget = NULL;
func_808328EC(this, NA_SE_PL_CHANGE_ARMS);
Player_PlaySfx(this, NA_SE_PL_CHANGE_ARMS);
this->canMove = 1;
} else if (started == 2) {
this->hookshotTarget->shape.rot.y = this->actor.world.rot.y;