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", "-S",
".", ".",
"-B", "-B",
"build/x64", "build-cmake",
"-G", "-G",
"Visual Studio 17 2022", "Ninja"
"-T",
"v143",
"-A",
"x64"
], ],
"windows": {
"args": [
"-S",
".",
"-B",
"build/x64",
"-G",
"Visual Studio 17 2022",
"-T",
"v143",
"-A",
"x64"
]
},
"group": "build", "group": "build",
"problemMatcher": [] "problemMatcher": []
}, },
@@ -26,10 +36,18 @@
"command": "cmake", "command": "cmake",
"args": [ "args": [
"--build", "--build",
"./build/x64", "build-cmake",
"--target", "--target",
"GenerateSohOtr" "GenerateSohOtr"
], ],
"windows": {
"args": [
"--build",
"./build/x64",
"--target",
"GenerateSohOtr"
]
},
"group": "build", "group": "build",
"problemMatcher": [] "problemMatcher": []
}, },
@@ -39,8 +57,14 @@
"command": "cmake", "command": "cmake",
"args": [ "args": [
"--build", "--build",
"./build/x64" "build-cmake"
], ],
"windows": {
"args": [
"--build",
"./build/x64"
]
},
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "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_Draw(Actor* thisx, PlayState* play);
void EnPartner_SpawnSparkles(EnPartner* this, PlayState* play, s32 sparkleLife); 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); void Player_RequestQuake(PlayState* play, s32 speed, s32 y, s32 countdown);
s32 spawn_boomerang_ivan(EnPartner* this, PlayState* play); 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; EnPartner* this = (EnPartner*)thisx;
if (started == 1) { if (started == 1) {
func_808328EC(this, NA_SE_PL_CHANGE_ARMS); Player_PlaySfx(this, NA_SE_PL_CHANGE_ARMS);
this->canMove = 0; this->canMove = 0;
} else if (started == 0) { } else if (started == 0) {
if (this->itemTimer <= 0) { if (this->itemTimer <= 0) {
@@ -235,7 +234,7 @@ void UseSlingshot(Actor* thisx, PlayState* play, u8 started) {
EnPartner* this = (EnPartner*)thisx; EnPartner* this = (EnPartner*)thisx;
if (started == 1) { if (started == 1) {
func_808328EC(this, NA_SE_PL_CHANGE_ARMS); Player_PlaySfx(this, NA_SE_PL_CHANGE_ARMS);
this->canMove = 0; this->canMove = 0;
} else if (started == 0) { } else if (started == 0) {
if (this->itemTimer <= 0) { if (this->itemTimer <= 0) {
@@ -324,7 +323,7 @@ void UseDekuStick(Actor* thisx, PlayState* play, u8 started) {
if (this->itemTimer <= 0) { if (this->itemTimer <= 0) {
if (started == 1) { if (started == 1) {
if (AMMO(ITEM_STICK) > 0) { if (AMMO(ITEM_STICK) > 0) {
func_808328EC(this, NA_SE_EV_FLAME_IGNITION); Player_PlaySfx(this, NA_SE_EV_FLAME_IGNITION);
} else { } else {
Sfx_PlaySfxCentered(NA_SE_SY_ERROR); Sfx_PlaySfxCentered(NA_SE_SY_ERROR);
} }
@@ -373,7 +372,7 @@ void UseHookshot(Actor* thisx, PlayState* play, u8 started) {
if (this->itemTimer <= 0) { if (this->itemTimer <= 0) {
if (started == 1) { if (started == 1) {
func_808328EC(this, NA_SE_PL_CHANGE_ARMS); Player_PlaySfx(this, NA_SE_PL_CHANGE_ARMS);
this->canMove = 0; this->canMove = 0;
this->hookshotTarget = this->hookshotTarget =
Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_OBJ_HSBLOCK, this->actor.world.pos.x, 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) { } else if (started == 0) {
Actor_Kill(this->hookshotTarget); Actor_Kill(this->hookshotTarget);
this->hookshotTarget = NULL; this->hookshotTarget = NULL;
func_808328EC(this, NA_SE_PL_CHANGE_ARMS); Player_PlaySfx(this, NA_SE_PL_CHANGE_ARMS);
this->canMove = 1; this->canMove = 1;
} else if (started == 2) { } else if (started == 2) {
this->hookshotTarget->shape.rot.y = this->actor.world.rot.y; this->hookshotTarget->shape.rot.y = this->actor.world.rot.y;