Introduce callback, hiddenitem, conditional_event, and cmdqueue macros for map scripts

This commit is contained in:
Remy Oukaour
2018-01-13 00:47:38 -05:00
parent d054116458
commit 5a3822fe86
127 changed files with 245 additions and 209 deletions

View File

@@ -16,7 +16,7 @@
## `.MapCallbacks: db` *N* ## `.MapCallbacks: db` *N*
- **`dbw` *type*, *script*** - **`callback` *type*, *script***
Callback types: Callback types:
@@ -30,11 +30,21 @@ Callback types:
- **`MAPCALLBACK_CMDQUEUE`** - **`MAPCALLBACK_CMDQUEUE`**
**`dbw CMDQUEUE_STONETABLE,` *table_pointer*** <!-- need pre tags here; can't use inline bold/italic formatting in Markdown code blocks -->
<pre>
callback MAPCALLBACK_CMDQUEUE, .Boulders
**`stonetable` *warp_id*, *person*, *script*** .Boulders:
writecmdqueue .BoulderCmdQueue
return
**`db -1 ; end`** .BoulderCmdQueue:
cmdqueue CMDQUEUE_STONETABLE, .BoulderTable
.BoulderTable:
stonetable <i>warp_id</i>, <i>person</i>, <i>script</i>
db -1 ; end
</pre>
## Event scripts ## Event scripts
@@ -54,8 +64,10 @@ Callback types:
## `MapName_MapEventHeader:` ## `MapName_MapEventHeader:`
```asm
; filler ; filler
db 0, 0 db 0, 0
```
## `.Warps: db` *N* ## `.Warps: db` *N*
@@ -80,11 +92,11 @@ BG event types:
- **`BGEVENT_IFSET/IFNOTSET`** - **`BGEVENT_IFSET/IFNOTSET`**
**`dw` *event_flag*, *script*** **`conditional_event` *event_flag*, *script***
- **`BGEVENT_ITEM`** - **`BGEVENT_ITEM`**
**`dwb` *event_flag*, *item_id*** **`hiddenitem` *event_flag*, *item_id***
- **`BGEVENT_COPY`** - **`BGEVENT_COPY`**

View File

@@ -9,6 +9,12 @@ scene_script: MACRO
dw \1, 0 dw \1, 0
ENDM ENDM
callback: MACRO
;\1: type: a MAPCALLBACK_* constant
;\2: script pointer
dbw \1, \2
ENDM
warp_def: MACRO warp_def: MACRO
;\1: x: left to right, starts at 0 ;\1: x: left to right, starts at 0
;\2: y: top to bottom, starts at 0 ;\2: y: top to bottom, starts at 0
@@ -23,9 +29,10 @@ coord_event: MACRO
;\2: y: top to bottom, starts at 0 ;\2: y: top to bottom, starts at 0
;\3: scene id: controlled by setscene/setmapscene ;\3: scene id: controlled by setscene/setmapscene
;\4: script pointer ;\4: script pointer
db \3, \2, \1, $0 db \3, \2, \1
db 0 ; filler
dw \4 dw \4
db $0, $0 db 0, 0 ; filler
ENDM ENDM
bg_event: MACRO bg_event: MACRO
@@ -91,6 +98,12 @@ else
endc endc
ENDM ENDM
hiddenitem: MACRO
;\1: flag: an EVENT_* constant
;\2: item: from constants/item_constants.asm
dwb \1, \2
ENDM
elevfloor: MACRO elevfloor: MACRO
;\1: floor: a FLOOR_* constant ;\1: floor: a FLOOR_* constant
;\2: warp destination: starts at 1 ;\2: warp destination: starts at 1
@@ -99,10 +112,22 @@ elevfloor: MACRO
map \3 map \3
ENDM ENDM
conditional_event: MACRO
;\1: flag: an EVENT_* constant
;\2: script pointer
dw \1, \2
ENDM
cmdqueue: MACRO
;\1: type: a CMDQUEUE_* constant
;\2: data pointer
dbw \1, \2
dw 0 ; filler
ENDM
stonetable: MACRO stonetable: MACRO
;\1: warp id ;\1: warp id
;\2: object_event id ;\2: object_event id
;\3: script pointer ;\3: script pointer
db \1, \2 dbbw \1, \2, \3
dw \3
ENDM ENDM

View File

@@ -21,7 +21,7 @@ AzaleaTown_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 1 db 1
dbw MAPCALLBACK_NEWMAP, .Flypoint callback MAPCALLBACK_NEWMAP, .Flypoint
.DummyScene0: .DummyScene0:
end end
@@ -211,7 +211,7 @@ WhiteApricornTree:
fruittree FRUITTREE_AZALEA_TOWN fruittree FRUITTREE_AZALEA_TOWN
AzaleaTownHiddenFullHeal: AzaleaTownHiddenFullHeal:
dwb EVENT_AZALEA_TOWN_HIDDEN_FULL_HEAL, FULL_HEAL hiddenitem EVENT_AZALEA_TOWN_HIDDEN_FULL_HEAL, FULL_HEAL
AzaleaTownRivalBattleApproachMovement1: AzaleaTownRivalBattleApproachMovement1:
step LEFT step LEFT

View File

@@ -10,8 +10,8 @@ BattleTowerOutside_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 2 db 2
dbw MAPCALLBACK_TILES, .Callback1 callback MAPCALLBACK_TILES, .Callback1
dbw MAPCALLBACK_OBJECTS, .Callback2 callback MAPCALLBACK_OBJECTS, .Callback2
.Callback1: .Callback1:
return return

View File

@@ -15,8 +15,8 @@ BlackthornCity_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 2 db 2
dbw MAPCALLBACK_NEWMAP, .FlyPoint callback MAPCALLBACK_NEWMAP, .FlyPoint
dbw MAPCALLBACK_OBJECTS, .Santos callback MAPCALLBACK_OBJECTS, .Santos
.FlyPoint: .FlyPoint:
setflag ENGINE_FLYPOINT_BLACKTHORN setflag ENGINE_FLYPOINT_BLACKTHORN

View File

@@ -11,7 +11,7 @@ BlackthornGym1F_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 1 db 1
dbw MAPCALLBACK_TILES, .Boulders callback MAPCALLBACK_TILES, .Boulders
.Boulders: .Boulders:
checkevent EVENT_BOULDER_IN_BLACKTHORN_GYM_1 checkevent EVENT_BOULDER_IN_BLACKTHORN_GYM_1

View File

@@ -14,15 +14,14 @@ BlackthornGym2F_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 1 db 1
dbw MAPCALLBACK_CMDQUEUE, .Boulders callback MAPCALLBACK_CMDQUEUE, .Boulders
.Boulders: .Boulders:
writecmdqueue .BoulderCmdQueue writecmdqueue .BoulderCmdQueue
return return
.BoulderCmdQueue: .BoulderCmdQueue:
dbw CMDQUEUE_STONETABLE, .BoulderTable ; check if any stones are sitting on a warp cmdqueue CMDQUEUE_STONETABLE, .BoulderTable ; check if any stones are sitting on a warp
dw 0 ; filler
.BoulderTable: .BoulderTable:
stonetable 5, BLACKTHORNGYM2F_BOULDER1, .Disappear4 stonetable 5, BLACKTHORNGYM2F_BOULDER1, .Disappear4

View File

@@ -9,7 +9,7 @@ BrunosRoom_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 1 db 1
dbw MAPCALLBACK_TILES, .BrunosRoomDoors callback MAPCALLBACK_TILES, .BrunosRoomDoors
.LockDoor: .LockDoor:
priorityjump .BrunosDoorLocksBehindYou priorityjump .BrunosDoorLocksBehindYou

View File

@@ -14,7 +14,7 @@ BurnedTower1F_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 1 db 1
dbw MAPCALLBACK_TILES, .HoleAndLadder callback MAPCALLBACK_TILES, .HoleAndLadder
.EusineScene: .EusineScene:
priorityjump .MeetEusine priorityjump .MeetEusine
@@ -131,10 +131,10 @@ BurnedTower1FRock:
jumpstd smashrock jumpstd smashrock
BurnedTower1FHiddenEther: BurnedTower1FHiddenEther:
dwb EVENT_BURNED_TOWER_1F_HIDDEN_ETHER, ETHER hiddenitem EVENT_BURNED_TOWER_1F_HIDDEN_ETHER, ETHER
BurnedTower1FHiddenUltraBall: BurnedTower1FHiddenUltraBall:
dwb EVENT_BURNED_TOWER_1F_HIDDEN_ULTRA_BALL, ULTRA_BALL hiddenitem EVENT_BURNED_TOWER_1F_HIDDEN_ULTRA_BALL, ULTRA_BALL
BurnedTower1FHPUp: BurnedTower1FHPUp:
itemball HP_UP itemball HP_UP

View File

@@ -17,7 +17,7 @@ BurnedTowerB1F_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 1 db 1
dbw MAPCALLBACK_TILES, .LadderCallback callback MAPCALLBACK_TILES, .LadderCallback
.DummyScene0: .DummyScene0:
end end

View File

@@ -15,7 +15,7 @@ CeladonCity_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 1 db 1
dbw MAPCALLBACK_NEWMAP, .FlyPoint callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint: .FlyPoint:
setflag ENGINE_FLYPOINT_CELADON setflag ENGINE_FLYPOINT_CELADON
@@ -75,7 +75,7 @@ CeladonCityPokecenterSign:
jumpstd pokecentersign jumpstd pokecentersign
CeladonCityHiddenPpUp: CeladonCityHiddenPpUp:
dwb EVENT_CELADON_CITY_HIDDEN_PP_UP, PP_UP hiddenitem EVENT_CELADON_CITY_HIDDEN_PP_UP, PP_UP
CeladonCityFisherText: CeladonCityFisherText:
text "This POLIWRATH is" text "This POLIWRATH is"

View File

@@ -8,7 +8,7 @@ CeladonDeptStore6F_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 1 db 1
dbw MAPCALLBACK_TILES, .Callback callback MAPCALLBACK_TILES, .Callback
.Callback: .Callback:
changeblock 12, 0, $03 changeblock 12, 0, $03

View File

@@ -12,7 +12,7 @@ CeruleanCity_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 1 db 1
dbw MAPCALLBACK_NEWMAP, .FlyPoint callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint: .FlyPoint:
setflag ENGINE_FLYPOINT_CERULEAN setflag ENGINE_FLYPOINT_CERULEAN
@@ -147,7 +147,7 @@ CeruleanCityMartSign:
jumpstd martsign jumpstd martsign
CeruleanCityHiddenBerserkGene: CeruleanCityHiddenBerserkGene:
dwb EVENT_FOUND_BERSERK_GENE_IN_CERULEAN_CITY, BERSERK_GENE hiddenitem EVENT_FOUND_BERSERK_GENE_IN_CERULEAN_CITY, BERSERK_GENE
CeruleanCityCooltrainerMText1: CeruleanCityCooltrainerMText1:
text "KANTO's POWER" text "KANTO's POWER"

View File

@@ -135,7 +135,7 @@ CeruleanGymGuyScript:
end end
CeruleanGymHiddenMachinePart: CeruleanGymHiddenMachinePart:
dwb EVENT_FOUND_MACHINE_PART_IN_CERULEAN_GYM, MACHINE_PART hiddenitem EVENT_FOUND_MACHINE_PART_IN_CERULEAN_GYM, MACHINE_PART
CeruleanGymStatue1: CeruleanGymStatue1:
checkevent EVENT_TRAINERS_IN_CERULEAN_GYM checkevent EVENT_TRAINERS_IN_CERULEAN_GYM

View File

@@ -13,7 +13,7 @@ CherrygroveCity_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 1 db 1
dbw MAPCALLBACK_NEWMAP, .FlyPoint callback MAPCALLBACK_NEWMAP, .FlyPoint
.DummyScene0: .DummyScene0:
end end

View File

@@ -20,7 +20,7 @@ CianwoodCity_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 1 db 1
dbw MAPCALLBACK_NEWMAP, .FlyPointAndSuicune callback MAPCALLBACK_NEWMAP, .FlyPointAndSuicune
.DummyScene0: .DummyScene0:
end end
@@ -145,10 +145,10 @@ CianwoodCityRock:
jumpstd smashrock jumpstd smashrock
CianwoodCityHiddenRevive: CianwoodCityHiddenRevive:
dwb EVENT_CIANWOOD_CITY_HIDDEN_REVIVE, REVIVE hiddenitem EVENT_CIANWOOD_CITY_HIDDEN_REVIVE, REVIVE
CianwoodCityHiddenMaxEther: CianwoodCityHiddenMaxEther:
dwb EVENT_CIANWOOD_CITY_HIDDEN_MAX_ETHER, MAX_ETHER hiddenitem EVENT_CIANWOOD_CITY_HIDDEN_MAX_ETHER, MAX_ETHER
MovementData_0x1a00da: MovementData_0x1a00da:
set_sliding set_sliding

View File

@@ -7,7 +7,7 @@ CinnabarIsland_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 1 db 1
dbw MAPCALLBACK_NEWMAP, .FlyPoint callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint: .FlyPoint:
setflag ENGINE_FLYPOINT_CINNABAR setflag ENGINE_FLYPOINT_CINNABAR
@@ -35,7 +35,7 @@ CinnabarIslandPokecenterSign:
jumpstd pokecentersign jumpstd pokecentersign
CinnabarIslandHiddenRareCandy: CinnabarIslandHiddenRareCandy:
dwb EVENT_CINNABAR_ISLAND_HIDDEN_RARE_CANDY, RARE_CANDY hiddenitem EVENT_CINNABAR_ISLAND_HIDDEN_RARE_CANDY, RARE_CANDY
CinnabarIslandBlueTeleport: CinnabarIslandBlueTeleport:
teleport_from teleport_from

View File

@@ -11,8 +11,8 @@ Colosseum_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 2 db 2
dbw MAPCALLBACK_OBJECTS, .SetWhichChris callback MAPCALLBACK_OBJECTS, .SetWhichChris
dbw MAPCALLBACK_NEWMAP, .PreparePokecenter2F callback MAPCALLBACK_NEWMAP, .PreparePokecenter2F
.InitializeColosseum: .InitializeColosseum:
priorityjump .InitializeAndPreparePokecenter2F priorityjump .InitializeAndPreparePokecenter2F

View File

@@ -12,7 +12,7 @@ CopycatsHouse2F_MapScriptHeader:
.MapCallbacks: .MapCallbacks:
db 1 db 1
dbw MAPCALLBACK_OBJECTS, .Callback callback MAPCALLBACK_OBJECTS, .Callback
.Callback: .Callback:
checkflag ENGINE_PLAYER_IS_FEMALE checkflag ENGINE_PLAYER_IS_FEMALE

View File

@@ -31,7 +31,7 @@ DarkCaveVioletEntranceRock:
jumpstd smashrock jumpstd smashrock
DarkCaveVioletEntranceHiddenElixer: DarkCaveVioletEntranceHiddenElixer:
dwb EVENT_DARK_CAVE_VIOLET_ENTRANCE_HIDDEN_ELIXER, ELIXER hiddenitem EVENT_DARK_CAVE_VIOLET_ENTRANCE_HIDDEN_ELIXER, ELIXER
DarkCaveVioletEntrance_MapEventHeader: DarkCaveVioletEntrance_MapEventHeader:
; filler ; filler

Some files were not shown because too many files have changed in this diff Show More