From 1a9fbbcfbad5ea4a2d5603006f9fbc8cbb31b112 Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Thu, 6 Nov 2025 11:15:13 +0000 Subject: [PATCH] Fix copyvar with non-var argument --- asm/macros/event.inc | 5 ++++- data/maps/LilycoveCity_ContestLobby/scripts.inc | 6 +++++- data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc | 6 +++++- data/maps/SkyPillar_2F/scripts.inc | 6 +++++- data/maps/SkyPillar_4F/scripts.inc | 6 +++++- data/scripts/cave_hole.inc | 6 +++++- 6 files changed, 29 insertions(+), 6 deletions(-) diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 7075481750..e4ed1c3ef0 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -169,7 +169,10 @@ .endm @ Copies the value of source into destination. - .macro copyvar destination:req, source:req + .macro copyvar destination:req, source:req, warn=TRUE + .if \warn && !((\source >= VARS_START && \source <= VARS_END) || (\source >= SPECIAL_VARS_START && \source <= SPECIAL_VARS_END)) + .warning "copyvar with a value that is not a VAR_ constant; did you mean setvar instead?" + .endif .byte SCR_OP_COPYVAR .2byte \destination .2byte \source diff --git a/data/maps/LilycoveCity_ContestLobby/scripts.inc b/data/maps/LilycoveCity_ContestLobby/scripts.inc index 862a5ef37d..660b87f846 100644 --- a/data/maps/LilycoveCity_ContestLobby/scripts.inc +++ b/data/maps/LilycoveCity_ContestLobby/scripts.inc @@ -349,7 +349,11 @@ LilycoveCity_ContestLobby_EventScript_SetMasterContestType:: @ Functionally unused LilycoveCity_ContestLobby_EventScript_SetDebug:: setflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR - copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1 +#if UBFIX + setvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1 +#else + copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1, warn=FALSE +#endif additem ITEM_CONTEST_PASS setvar VAR_0x800B, 8 setvar VAR_CONTEST_RANK, CONTEST_RANK_MASTER diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc index e00c7bcb3c..8f08e01808 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc @@ -76,7 +76,11 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_ShowExhibitHall:: applymovement LOCALID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_PlayerWalkInPlaceLeft waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_PleaseObtainPaintingsForExhibit, MSGBOX_SIGN - copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1 +#if UBFIX + setvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1 +#else + copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1, warn=FALSE +#endif releaseall end diff --git a/data/maps/SkyPillar_2F/scripts.inc b/data/maps/SkyPillar_2F/scripts.inc index bad2488f0b..9a75a4d951 100644 --- a/data/maps/SkyPillar_2F/scripts.inc +++ b/data/maps/SkyPillar_2F/scripts.inc @@ -6,7 +6,11 @@ SkyPillar_2F_MapScripts:: SkyPillar_2F_OnTransition: call_if_lt VAR_SKY_PILLAR_STATE, 2, SkyPillar_2F_EventScript_CleanFloor - copyvar VAR_ICE_STEP_COUNT, 1 +#if UBFIX + setvar VAR_ICE_STEP_COUNT, 1 +#else + copyvar VAR_ICE_STEP_COUNT, 1, warn=FALSE +#endif end SkyPillar_2F_EventScript_CleanFloor:: diff --git a/data/maps/SkyPillar_4F/scripts.inc b/data/maps/SkyPillar_4F/scripts.inc index 9e8f1e80ea..b3f6020105 100644 --- a/data/maps/SkyPillar_4F/scripts.inc +++ b/data/maps/SkyPillar_4F/scripts.inc @@ -6,7 +6,11 @@ SkyPillar_4F_MapScripts:: SkyPillar_4F_OnTransition: call_if_lt VAR_SKY_PILLAR_STATE, 2, SkyPillar_4F_EventScript_CleanFloor - copyvar VAR_ICE_STEP_COUNT, 1 +#if UBFIX + setvar VAR_ICE_STEP_COUNT, 1 +#else + copyvar VAR_ICE_STEP_COUNT, 1, warn=FALSE +#endif end SkyPillar_4F_EventScript_CleanFloor:: diff --git a/data/scripts/cave_hole.inc b/data/scripts/cave_hole.inc index fc4962912a..ca2a8404be 100644 --- a/data/scripts/cave_hole.inc +++ b/data/scripts/cave_hole.inc @@ -3,7 +3,11 @@ CaveHole_CheckFallDownHole: .2byte 0 CaveHole_FixCrackedGround: - copyvar VAR_ICE_STEP_COUNT, 1 +#if UBFIX + setvar VAR_ICE_STEP_COUNT, 1 +#else + copyvar VAR_ICE_STEP_COUNT, 1, warn=FALSE +#endif end EventScript_FallDownHole::