	@ Initialize the Battle Dome challenge
	.macro dome_init
	setvar VAR_0x8004, BATTLE_DOME_FUNC_INIT
	special CallBattleDomeFunction
	.endm

	@ Get the value of some DOME_DATA_*. See GetDomeData for the data types that can be retrieved
	.macro dome_get data:req
	setvar VAR_0x8004, BATTLE_DOME_FUNC_GET_DATA
	setvar VAR_0x8005, \data
	special CallBattleDomeFunction
	.endm

	@ Set some DOME_DATA_* to val. See SetDomeData for the data types that can be set
	.macro dome_set data:req, val=0xFFFF
	setvar VAR_0x8004, BATTLE_DOME_FUNC_SET_DATA
	setvar VAR_0x8005, \data
	.if \val != 0xFFFF
	setvar VAR_0x8006, \val
	.endif
	special CallBattleDomeFunction
	.endm

	@ Buffer the name of the current round to gStringVar1
	.macro dome_getroundtext
	setvar VAR_0x8004, BATTLE_DOME_FUNC_GET_ROUND_TEXT
	special CallBattleDomeFunction
	.endm

	@ Buffer the name of the opponent to gStringVar2 and the name of the round to gStringVar1
	.macro dome_getopponentname
	setvar VAR_0x8004, BATTLE_DOME_FUNC_GET_OPPONENT_NAME
	special CallBattleDomeFunction
	.endm

	@ Choose which of the opponents mons to use in battle and load them into the enemy party
	.macro dome_initopponentparty
	setvar VAR_0x8004, BATTLE_DOME_FUNC_INIT_OPPONENT_PARTY
	special CallBattleDomeFunction
	.endm

	@ Show the page that gives information on the next opponent
	.macro dome_showopponentinfo
	setvar VAR_0x8004, BATTLE_DOME_FUNC_SHOW_OPPONENT_INFO
	special CallBattleDomeFunction
	.endm

	@ Displays the tourney tree for the current tourney
	.macro dome_showtourneytree
	setvar VAR_0x8004, BATTLE_DOME_FUNC_SHOW_TOURNEY_TREE
	special CallBattleDomeFunction
	.endm

	@ Displays the tourney tree for the results of the previous tourney. Before the player enters their first tourney this is a random tourney generated by dome_initresultstree
	.macro dome_showprevtourneytree
	setvar VAR_0x8004, BATTLE_DOME_FUNC_SHOW_PREV_TOURNEY_TREE
	special CallBattleDomeFunction
	.endm

	@ Sets gTrainerBattleOpponent_A to the trainer ID of the next opponent
	.macro dome_setopponent
	setvar VAR_0x8004, BATTLE_DOME_FUNC_SET_OPPONENT_ID
	special CallBattleDomeFunction
	.endm

	@ Set the object event gfx id for the opponent
	.macro dome_setopponentgfx
	setvar VAR_0x8004, BATTLE_DOME_FUNC_SET_OPPONENT_GFX
	special CallBattleDomeFunction
	.endm

	@ A non-interactive version of the tourney tree shown when a round is completed
	.macro dome_showstatictourneytree
	setvar VAR_0x8004, BATTLE_DOME_FUNC_SHOW_STATIC_TOURNEY_TREE
	special CallBattleDomeFunction
	.endm

	@ Decides the winners of NPC vs NPC matches, and eliminates either the player or their opponent depending on the playerStatus (DOME_PLAYER_*)
	.macro dome_resolvewinners playerStatus:req
	setvar VAR_0x8004, BATTLE_DOME_FUNC_RESOLVE_WINNERS
	setvar VAR_0x8005, \playerStatus
	special CallBattleDomeFunction
	.endm

	@ Save the game and set the challenge status
	.macro dome_save challengeStatus:req
	setvar VAR_0x8004, BATTLE_DOME_FUNC_SAVE
	setvar VAR_0x8005, \challengeStatus
	special CallBattleDomeFunction
	.endm

	@ Unused. Increment the win streaks for the current challenge by one
	.macro dome_incrementstreaks
	setvar VAR_0x8004, BATTLE_DOME_FUNC_INCREMENT_STREAK
	special CallBattleDomeFunction
	.endm

	@ Sets the facility trainer/mon set pointers
	.macro dome_settrainers
	setvar VAR_0x8004, BATTLE_DOME_FUNC_SET_TRAINERS
	special CallBattleDomeFunction
	.endm

	@ If any moves were copied using Sketch during the challenge then restore them to Sketch
	.macro dome_resetsketch
	setvar VAR_0x8004, BATTLE_DOME_FUNC_RESET_SKETCH
	special CallBattleDomeFunction
	.endm

	@ Reset the held items of the mons that just battled to what they were prior to battling
	.macro dome_restorehelditems
	setvar VAR_0x8004, BATTLE_DOME_FUNC_RESTORE_HELD_ITEMS
	special CallBattleDomeFunction
	.endm

	@ Reduce the players party to the selected mons, used to reduce down to the 2 selected for battle
	.macro dome_reduceparty
	setvar VAR_0x8004, BATTLE_DOME_FUNC_REDUCE_PARTY
	special CallBattleDomeFunction
	.endm

	@ Compares the initial tournament ranking (seed) of the player to opponent A. Returns 1 if the player's seed is better, 2 if the opponent's seed is better.
	.macro dome_compareseeds
	setvar VAR_0x8004, BATTLE_DOME_FUNC_COMPARE_SEEDS
	special CallBattleDomeFunction
	.endm

	@ Buffer the name of the winner for the last Dome challenge to STR_VAR_1
	.macro dome_getwinnersname
	setvar VAR_0x8004, BATTLE_DOME_FUNC_GET_WINNER_NAME
	special CallBattleDomeFunction
	.endm

	@ Performs a random tourney to initialize the results board before the player has entered a challenge
	.macro dome_initresultstree
	setvar VAR_0x8004, BATTLE_DOME_FUNC_INIT_RESULTS_TREE
	special CallBattleDomeFunction
	.endm

	@ Generates the tourney trainers and their parties, and seeds them in the tourney tree
	.macro dome_inittrainers
	setvar VAR_0x8004, BATTLE_DOME_FUNC_INIT_TRAINERS
	special CallBattleDomeFunction
	.endm
