diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-07-22 15:22:58 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-07-22 15:22:58 -0400 |
commit | b5a7e7de3e6b75e95967edd28b9c2af5959cd136 (patch) | |
tree | 85cc2f9f78c92b077179eab012c58ad8145394c6 /data/overworld | |
parent | 212846af57d1878bb2c6964fbeababd9de03a195 (diff) |
Factor out tables into data/overworld/
Fixes #749
Diffstat (limited to 'data/overworld')
-rw-r--r-- | data/overworld/collision_permissions.asm | 258 | ||||
-rw-r--r-- | data/overworld/scripting.asm | 172 | ||||
-rw-r--r-- | data/overworld/tilesets.asm | 51 | ||||
-rw-r--r-- | data/overworld/variables.asm | 33 |
4 files changed, 514 insertions, 0 deletions
diff --git a/data/overworld/collision_permissions.asm b/data/overworld/collision_permissions.asm new file mode 100644 index 000000000..57172ca51 --- /dev/null +++ b/data/overworld/collision_permissions.asm @@ -0,0 +1,258 @@ +TileCollisionTable:: +; entries correspond to COLL_* constants + db LAND_TILE ; COLL_FLOOR + db LAND_TILE ; COLL_01 + db LAND_TILE ; 02 + db LAND_TILE ; COLL_03 + db LAND_TILE ; COLL_04 + db LAND_TILE ; 05 + db LAND_TILE ; 06 + db WALL_TILE ; COLL_WALL + db LAND_TILE ; COLL_CUT_08 + db LAND_TILE ; 09 + db LAND_TILE ; 0a + db LAND_TILE ; 0b + db LAND_TILE ; 0c + db LAND_TILE ; 0d + db LAND_TILE ; 0e + db WALL_TILE ; 0f + db LAND_TILE ; COLL_TALL_GRASS_10 + db LAND_TILE ; 11 + db WALL_TILE | TALK ; COLL_CUT_TREE + db LAND_TILE ; 13 + db LAND_TILE ; COLL_LONG_GRASS + db WALL_TILE | TALK ; COLL_HEADBUTT_TREE + db LAND_TILE ; 16 + db LAND_TILE ; 17 + db LAND_TILE ; COLL_TALL_GRASS + db LAND_TILE ; 19 + db WALL_TILE | TALK ; COLL_CUT_TREE_1A + db LAND_TILE ; 1b + db LAND_TILE ; COLL_LONG_GRASS_1C + db WALL_TILE | TALK ; COLL_HEADBUTT_TREE_1D + db LAND_TILE ; 1e + db LAND_TILE ; 1f + db WATER_TILE ; 20 + db WATER_TILE ; COLL_WATER_21 + db WATER_TILE | TALK ; 22 + db LAND_TILE ; COLL_ICE + db WATER_TILE | TALK ; COLL_WHIRLPOOL + db WATER_TILE ; 25 + db WATER_TILE ; 26 + db WALL_TILE ; COLL_BUOY + db WATER_TILE ; COLL_CUT_28 + db WATER_TILE ; COLL_WATER + db WATER_TILE | TALK ; 2a + db LAND_TILE ; COLL_ICE_2B + db WATER_TILE | TALK ; COLL_WHIRLPOOL_2C + db WATER_TILE ; 2d + db WATER_TILE ; 2e + db WALL_TILE ; 2f + db WATER_TILE ; COLL_WATERFALL_RIGHT + db WATER_TILE ; COLL_WATERFALL_LEFT + db WATER_TILE ; COLL_WATERFALL_UP + db WATER_TILE ; COLL_WATERFALL + db WATER_TILE ; 34 + db WATER_TILE ; 35 + db WATER_TILE ; 36 + db WATER_TILE ; 37 + db WATER_TILE ; COLL_CURRENT_RIGHT + db WATER_TILE ; COLL_CURRENT_LEFT + db WATER_TILE ; COLL_CURRENT_UP + db WATER_TILE ; COLL_CURRENT_DOWN + db WATER_TILE ; 3c + db WATER_TILE ; 3d + db WATER_TILE ; 3e + db WATER_TILE ; 3f + db LAND_TILE ; COLL_BRAKE + db LAND_TILE ; COLL_WALK_RIGHT + db LAND_TILE ; COLL_WALK_LEFT + db LAND_TILE ; COLL_WALK_UP + db LAND_TILE ; COLL_WALK_DOWN + db LAND_TILE ; COLL_BRAKE_45 + db LAND_TILE ; COLL_BRAKE_46 + db LAND_TILE ; COLL_BRAKE_47 + db LAND_TILE ; COLL_GRASS_48 + db LAND_TILE ; COLL_GRASS_49 + db LAND_TILE ; COLL_GRASS_4A + db LAND_TILE ; COLL_GRASS_4B + db LAND_TILE ; COLL_GRASS_4C + db LAND_TILE ; 4d + db LAND_TILE ; 4e + db LAND_TILE ; 4f + db LAND_TILE ; COLL_WALK_RIGHT_ALT + db LAND_TILE ; COLL_WALK_LEFT_ALT + db LAND_TILE ; COLL_WALK_UP_ALT + db LAND_TILE ; COLL_WALK_DOWN_ALT + db LAND_TILE ; COLL_BRAKE_ALT + db LAND_TILE ; COLL_BRAKE_55 + db LAND_TILE ; COLL_BRAKE_56 + db LAND_TILE ; COLL_BRAKE_57 + db LAND_TILE ; 58 + db LAND_TILE ; 59 + db LAND_TILE ; 5a + db LAND_TILE ; COLL_5B + db LAND_TILE ; 5c + db LAND_TILE ; 5d + db LAND_TILE ; 5e + db LAND_TILE ; 5f + db LAND_TILE ; COLL_PIT + db LAND_TILE ; COLL_VIRTUAL_BOY + db WALL_TILE ; 62 + db LAND_TILE ; 63 + db LAND_TILE ; COLL_64 + db LAND_TILE ; COLL_65 + db LAND_TILE ; 66 + db LAND_TILE ; 67 + db LAND_TILE ; COLL_PIT_68 + db LAND_TILE ; 69 + db WALL_TILE ; 6a + db LAND_TILE ; 6b + db LAND_TILE ; 6c + db LAND_TILE ; 6d + db LAND_TILE ; 6e + db LAND_TILE ; 6f + db LAND_TILE ; COLL_WARP_CARPET_DOWN + db LAND_TILE ; COLL_DOOR + db LAND_TILE ; COLL_LADDER + db LAND_TILE ; COLL_STAIRCASE_73 + db LAND_TILE ; COLL_CAVE_74 + db LAND_TILE ; COLL_DOOR_75 + db LAND_TILE ; COLL_WARP_CARPET_LEFT + db LAND_TILE ; COLL_WARP_77 + db LAND_TILE ; COLL_WARP_CARPET_UP + db LAND_TILE ; COLL_DOOR_79 + db LAND_TILE ; COLL_STAIRCASE + db LAND_TILE ; COLL_CAVE + db LAND_TILE ; COLL_WARP_PANEL + db LAND_TILE ; COLL_DOOR_7D + db LAND_TILE ; COLL_WARP_CARPET_RIGHT + db LAND_TILE ; COLL_WARP_7F + db WALL_TILE ; 80 + db WALL_TILE ; 81 + db WALL_TILE ; 82 + db WALL_TILE ; 83 + db WALL_TILE ; 84 + db LAND_TILE ; 85 + db LAND_TILE ; 86 + db LAND_TILE ; 87 + db WALL_TILE ; 88 + db WALL_TILE ; 89 + db WALL_TILE ; 8a + db WALL_TILE ; 8b + db WALL_TILE ; 8c + db LAND_TILE ; 8d + db LAND_TILE ; 8e + db LAND_TILE ; 8f + db WALL_TILE ; COLL_COUNTER + db WALL_TILE ; COLL_BOOKSHELF + db WALL_TILE ; 92 + db WALL_TILE ; COLL_PC + db WALL_TILE ; COLL_RADIO + db WALL_TILE ; COLL_TOWN_MAP + db WALL_TILE ; COLL_MART_SHELF + db WALL_TILE ; COLL_TV + db WALL_TILE ; COLL_COUNTER_98 + db WALL_TILE ; 99 + db WALL_TILE ; 9a + db WALL_TILE ; 9b + db WALL_TILE ; COLL_9C + db WALL_TILE ; COLL_WINDOW + db WALL_TILE ; 9e + db WALL_TILE ; COLL_INCENSE_BURNER + db LAND_TILE ; COLL_HOP_RIGHT + db LAND_TILE ; COLL_HOP_LEFT + db LAND_TILE ; COLL_HOP_UP + db LAND_TILE ; COLL_HOP_DOWN + db LAND_TILE ; COLL_HOP_DOWN_RIGHT + db LAND_TILE ; COLL_HOP_DOWN_LEFT + db LAND_TILE ; COLL_HOP_UP_RIGHT + db LAND_TILE ; COLL_HOP_UP_LEFT + db LAND_TILE ; a8 + db LAND_TILE ; a9 + db LAND_TILE ; aa + db LAND_TILE ; ab + db LAND_TILE ; ac + db LAND_TILE ; ad + db LAND_TILE ; ae + db LAND_TILE ; af + db LAND_TILE ; COLL_RIGHT_WALL + db LAND_TILE ; COLL_LEFT_WALL + db LAND_TILE ; COLL_UP_WALL + db LAND_TILE ; COLL_DOWN_WALL + db LAND_TILE ; COLL_DOWN_RIGHT_WALL + db LAND_TILE ; COLL_DOWN_LEFT_WALL + db LAND_TILE ; COLL_UP_RIGHT_WALL + db LAND_TILE ; COLL_UP_LEFT_WALL + db LAND_TILE ; b8 + db LAND_TILE ; b9 + db LAND_TILE ; ba + db LAND_TILE ; bb + db LAND_TILE ; bc + db LAND_TILE ; bd + db LAND_TILE ; be + db LAND_TILE ; bf + db WATER_TILE ; COLL_RIGHT_BUOY + db WATER_TILE ; COLL_LEFT_BUOY + db WATER_TILE ; COLL_UP_BUOY + db WATER_TILE ; COLL_DOWN_BUOY + db WATER_TILE ; COLL_DOWN_RIGHT_BUOY + db WATER_TILE ; COLL_DOWN_LEFT_BUOY + db WATER_TILE ; COLL_UP_RIGHT_BUOY + db WATER_TILE ; COLL_UP_LEFT_BUOY + db WATER_TILE ; c8 + db WATER_TILE ; c9 + db WATER_TILE ; ca + db WATER_TILE ; cb + db WATER_TILE ; cc + db WATER_TILE ; cd + db WATER_TILE ; ce + db WATER_TILE ; cf + db LAND_TILE ; d0 + db LAND_TILE ; d1 + db LAND_TILE ; d2 + db LAND_TILE ; d3 + db LAND_TILE ; d4 + db LAND_TILE ; d5 + db LAND_TILE ; d6 + db LAND_TILE ; d7 + db LAND_TILE ; d8 + db LAND_TILE ; d9 + db LAND_TILE ; da + db LAND_TILE ; db + db LAND_TILE ; dc + db LAND_TILE ; dd + db LAND_TILE ; de + db LAND_TILE ; df + db LAND_TILE ; e0 + db LAND_TILE ; e1 + db LAND_TILE ; e2 + db LAND_TILE ; e3 + db LAND_TILE ; e4 + db LAND_TILE ; e5 + db LAND_TILE ; e6 + db LAND_TILE ; e7 + db LAND_TILE ; e8 + db LAND_TILE ; e9 + db LAND_TILE ; ea + db LAND_TILE ; eb + db LAND_TILE ; ec + db LAND_TILE ; ed + db LAND_TILE ; ee + db LAND_TILE ; ef + db LAND_TILE ; f0 + db LAND_TILE ; f1 + db LAND_TILE ; f2 + db LAND_TILE ; f3 + db LAND_TILE ; f4 + db LAND_TILE ; f5 + db LAND_TILE ; f6 + db LAND_TILE ; f7 + db LAND_TILE ; f8 + db LAND_TILE ; f9 + db LAND_TILE ; fa + db LAND_TILE ; fb + db LAND_TILE ; fc + db LAND_TILE ; fd + db LAND_TILE ; fe + db WALL_TILE ; COLL_FF diff --git a/data/overworld/scripting.asm b/data/overworld/scripting.asm new file mode 100644 index 000000000..e6a5da9b6 --- /dev/null +++ b/data/overworld/scripting.asm @@ -0,0 +1,172 @@ +ScriptCommandTable: +; entries correspond to *_command constants (see macros/scripts/events.asm) + dw Script_scall ; 00 + dw Script_farscall ; 01 + dw Script_memcall ; 02 + dw Script_sjump ; 03 + dw Script_farsjump ; 04 + dw Script_memjump ; 05 + dw Script_ifequal ; 06 + dw Script_ifnotequal ; 07 + dw Script_iffalse ; 08 + dw Script_iftrue ; 09 + dw Script_ifgreater ; 0a + dw Script_ifless ; 0b + dw Script_jumpstd ; 0c + dw Script_callstd ; 0d + dw Script_callasm ; 0e + dw Script_special ; 0f + dw Script_memcallasm ; 10 + dw Script_checkmapscene ; 11 + dw Script_setmapscene ; 12 + dw Script_checkscene ; 13 + dw Script_setscene ; 14 + dw Script_setval ; 15 + dw Script_addval ; 16 + dw Script_random ; 17 + dw Script_checkver ; 18 + dw Script_readmem ; 19 + dw Script_writemem ; 1a + dw Script_loadmem ; 1b + dw Script_readvar ; 1c + dw Script_writevar ; 1d + dw Script_loadvar ; 1e + dw Script_giveitem ; 1f + dw Script_takeitem ; 20 + dw Script_checkitem ; 21 + dw Script_givemoney ; 22 + dw Script_takemoney ; 23 + dw Script_checkmoney ; 24 + dw Script_givecoins ; 25 + dw Script_takecoins ; 26 + dw Script_checkcoins ; 27 + dw Script_addcellnum ; 28 + dw Script_delcellnum ; 29 + dw Script_checkcellnum ; 2a + dw Script_checktime ; 2b + dw Script_checkpoke ; 2c + dw Script_givepoke ; 2d + dw Script_giveegg ; 2e + dw Script_givepokemail ; 2f + dw Script_checkpokemail ; 30 + dw Script_checkevent ; 31 + dw Script_clearevent ; 32 + dw Script_setevent ; 33 + dw Script_checkflag ; 34 + dw Script_clearflag ; 35 + dw Script_setflag ; 36 + dw Script_wildon ; 37 + dw Script_wildoff ; 38 + dw Script_xycompare ; 39 + dw Script_warpmod ; 3a + dw Script_blackoutmod ; 3b + dw Script_warp ; 3c + dw Script_getmoney ; 3d + dw Script_getcoins ; 3e + dw Script_getnum ; 3f + dw Script_getmonname ; 40 + dw Script_getitemname ; 41 + dw Script_getcurlandmarkname ; 42 + dw Script_gettrainername ; 43 + dw Script_getstring ; 44 + dw Script_itemnotify ; 45 + dw Script_pocketisfull ; 46 + dw Script_opentext ; 47 + dw Script_refreshscreen ; 48 + dw Script_closetext ; 49 + dw Script_writeunusedbytebuffer ; 4a + dw Script_farwritetext ; 4b + dw Script_writetext ; 4c + dw Script_repeattext ; 4d + dw Script_yesorno ; 4e + dw Script_loadmenu ; 4f + dw Script_closewindow ; 50 + dw Script_jumptextfaceplayer ; 51 + dw Script_farjumptext ; 52 + dw Script_jumptext ; 53 + dw Script_waitbutton ; 54 + dw Script_promptbutton ; 55 + dw Script_pokepic ; 56 + dw Script_closepokepic ; 57 + dw Script__2dmenu ; 58 + dw Script_verticalmenu ; 59 + dw Script_loadpikachudata ; 5a + dw Script_randomwildmon ; 5b + dw Script_loadtemptrainer ; 5c + dw Script_loadwildmon ; 5d + dw Script_loadtrainer ; 5e + dw Script_startbattle ; 5f + dw Script_reloadmapafterbattle ; 60 + dw Script_catchtutorial ; 61 + dw Script_trainertext ; 62 + dw Script_trainerflagaction ; 63 + dw Script_winlosstext ; 64 + dw Script_scripttalkafter ; 65 + dw Script_endifjustbattled ; 66 + dw Script_checkjustbattled ; 67 + dw Script_setlasttalked ; 68 + dw Script_applymovement ; 69 + dw Script_applymovementlasttalked ; 6a + dw Script_faceplayer ; 6b + dw Script_faceobject ; 6c + dw Script_variablesprite ; 6d + dw Script_disappear ; 6e + dw Script_appear ; 6f + dw Script_follow ; 70 + dw Script_stopfollow ; 71 + dw Script_moveobject ; 72 + dw Script_writeobjectxy ; 73 + dw Script_loademote ; 74 + dw Script_showemote ; 75 + dw Script_turnobject ; 76 + dw Script_follownotexact ; 77 + dw Script_earthquake ; 78 + dw Script_changemapblocks ; 79 + dw Script_changeblock ; 7a + dw Script_reloadmap ; 7b + dw Script_reloadmappart ; 7c + dw Script_writecmdqueue ; 7d + dw Script_delcmdqueue ; 7e + dw Script_playmusic ; 7f + dw Script_encountermusic ; 80 + dw Script_musicfadeout ; 81 + dw Script_playmapmusic ; 82 + dw Script_dontrestartmapmusic ; 83 + dw Script_cry ; 84 + dw Script_playsound ; 85 + dw Script_waitsfx ; 86 + dw Script_warpsound ; 87 + dw Script_specialsound ; 88 + dw Script_autoinput ; 89 + dw Script_newloadmap ; 8a + dw Script_pause ; 8b + dw Script_deactivatefacing ; 8c + dw Script_prioritysjump ; 8d + dw Script_warpcheck ; 8e + dw Script_stopandsjump ; 8f + dw Script_endcallback ; 90 + dw Script_end ; 91 + dw Script_reloadend ; 92 + dw Script_endall ; 93 + dw Script_pokemart ; 94 + dw Script_elevator ; 95 + dw Script_trade ; 96 + dw Script_askforphonenumber ; 97 + dw Script_phonecall ; 98 + dw Script_hangup ; 99 + dw Script_describedecoration ; 9a + dw Script_fruittree ; 9b + dw Script_specialphonecall ; 9c + dw Script_checkphonecall ; 9d + dw Script_verbosegiveitem ; 9e + dw Script_verbosegiveitemvar ; 9f + dw Script_swarm ; a0 + dw Script_halloffame ; a1 + dw Script_credits ; a2 + dw Script_warpfacing ; a3 + dw Script_battletowertext ; a4 + dw Script_getlandmarkname ; a5 + dw Script_gettrainerclassname ; a6 + dw Script_getname ; a7 + dw Script_wait ; a8 + dw Script_checksave ; a9 diff --git a/data/overworld/tilesets.asm b/data/overworld/tilesets.asm new file mode 100644 index 000000000..eb5b6fe49 --- /dev/null +++ b/data/overworld/tilesets.asm @@ -0,0 +1,51 @@ +tileset: MACRO + dba \1GFX, \1Meta, \1Coll + dw \1Anim + dw NULL + dw \1PalMap +ENDM + +; Associated data: +; - The *GFX, *Meta, and *Coll are defined in gfx/tilesets.asm +; - The *PalMap are defined in gfx/tileset_palette_maps.asm +; - The *Anim are defined in engine/tilesets/tileset_anims.asm + +Tilesets:: +; entries correspond to TILESET_* constants + tileset Tileset0 + tileset TilesetJohto + tileset TilesetJohtoModern + tileset TilesetKanto + tileset TilesetBattleTowerOutside + tileset TilesetHouse + tileset TilesetPlayersHouse + tileset TilesetPokecenter + tileset TilesetGate + tileset TilesetPort + tileset TilesetLab + tileset TilesetFacility + tileset TilesetMart + tileset TilesetMansion + tileset TilesetGameCorner + tileset TilesetEliteFourRoom + tileset TilesetTraditionalHouse + tileset TilesetTrainStation + tileset TilesetChampionsRoom + tileset TilesetLighthouse + tileset TilesetPlayersRoom + tileset TilesetPokeComCenter + tileset TilesetBattleTowerInside + tileset TilesetTower + tileset TilesetCave + tileset TilesetPark + tileset TilesetRuinsOfAlph + tileset TilesetRadioTower + tileset TilesetUnderground + tileset TilesetIcePath + tileset TilesetDarkCave + tileset TilesetForest + tileset TilesetBetaWordRoom + tileset TilesetHoOhWordRoom + tileset TilesetKabutoWordRoom + tileset TilesetOmanyteWordRoom + tileset TilesetAerodactylWordRoom diff --git a/data/overworld/variables.asm b/data/overworld/variables.asm new file mode 100644 index 000000000..ee062a786 --- /dev/null +++ b/data/overworld/variables.asm @@ -0,0 +1,33 @@ +VarActionTable: +; entries correspond to VAR_* constants + ; RETVAR_STRBUF2: copy [de] to wStringBuffer2 + ; RETVAR_ADDR_DE: return address in de + ; RETVAR_EXECUTE: call function + dwb wStringBuffer2, RETVAR_STRBUF2 + dwb wPartyCount, RETVAR_STRBUF2 + dwb Var_BattleResult, RETVAR_EXECUTE + dwb wBattleType, RETVAR_ADDR_DE + dwb wTimeOfDay, RETVAR_STRBUF2 + dwb Var_CountCaughtMons, RETVAR_EXECUTE + dwb Var_CountSeenMons, RETVAR_EXECUTE + dwb Var_CountBadges, RETVAR_EXECUTE + dwb wPlayerState, RETVAR_ADDR_DE + dwb Var_PlayerFacing, RETVAR_EXECUTE + dwb hHours, RETVAR_STRBUF2 + dwb Var_DayOfWeek, RETVAR_EXECUTE + dwb wMapGroup, RETVAR_STRBUF2 + dwb wMapNumber, RETVAR_STRBUF2 + dwb Var_UnownCaught, RETVAR_EXECUTE + dwb wEnvironment, RETVAR_STRBUF2 + dwb Var_BoxFreeSpace, RETVAR_EXECUTE + dwb wBugContestMinsRemaining, RETVAR_STRBUF2 + dwb wXCoord, RETVAR_STRBUF2 + dwb wYCoord, RETVAR_STRBUF2 + dwb wSpecialPhoneCallID, RETVAR_STRBUF2 + dwb wNrOfBeatenBattleTowerTrainers, RETVAR_STRBUF2 + dwb wKurtApricornQuantity, RETVAR_STRBUF2 + dwb wCurCaller, RETVAR_ADDR_DE + dwb wBlueCardBalance, RETVAR_ADDR_DE + dwb wBuenasPassword, RETVAR_ADDR_DE + dwb wKenjiBreakTimer, RETVAR_STRBUF2 + dwb NULL, RETVAR_STRBUF2 |