diff options
Diffstat (limited to 'wram.asm')
-rw-r--r-- | wram.asm | 166 |
1 files changed, 113 insertions, 53 deletions
@@ -1,4 +1,4 @@ -INCLUDE "includes.asm" +INCLUDE "constants.asm" INCLUDE "macros/wram.asm" @@ -152,7 +152,7 @@ wMapTimeOfDay:: db wPrinterConnectionOpen:: db wPrinterOpcode:: db -wLastDexEntry:: db +wPrevDexEntry:: db wDisableTextAcceleration:: db wPreviousLandmark:: db wCurrentLandmark:: db @@ -303,20 +303,46 @@ wc3fc:: ds 1 SECTION "Sprites", WRAM0 Sprites:: ; c400 -; 4 bytes per sprite -; 40 sprites -; struct: -; y (px) -; x (px) -; tile id -; attributes: -; bit 7: priority -; bit 6: y flip -; bit 5: x flip -; bit 4: pal # (non-cgb) -; bit 3: vram bank (cgb only) -; bit 2-0: pal # (cgb only) - ds 4 * 40 +Sprite01:: sprite_oam_struct Sprite01 +Sprite02:: sprite_oam_struct Sprite02 +Sprite03:: sprite_oam_struct Sprite03 +Sprite04:: sprite_oam_struct Sprite04 +Sprite05:: sprite_oam_struct Sprite05 +Sprite06:: sprite_oam_struct Sprite06 +Sprite07:: sprite_oam_struct Sprite07 +Sprite08:: sprite_oam_struct Sprite08 +Sprite09:: sprite_oam_struct Sprite09 +Sprite10:: sprite_oam_struct Sprite10 +Sprite11:: sprite_oam_struct Sprite11 +Sprite12:: sprite_oam_struct Sprite12 +Sprite13:: sprite_oam_struct Sprite13 +Sprite14:: sprite_oam_struct Sprite14 +Sprite15:: sprite_oam_struct Sprite15 +Sprite16:: sprite_oam_struct Sprite16 +Sprite17:: sprite_oam_struct Sprite17 +Sprite18:: sprite_oam_struct Sprite18 +Sprite19:: sprite_oam_struct Sprite19 +Sprite20:: sprite_oam_struct Sprite20 +Sprite21:: sprite_oam_struct Sprite21 +Sprite22:: sprite_oam_struct Sprite22 +Sprite23:: sprite_oam_struct Sprite23 +Sprite24:: sprite_oam_struct Sprite24 +Sprite25:: sprite_oam_struct Sprite25 +Sprite26:: sprite_oam_struct Sprite26 +Sprite27:: sprite_oam_struct Sprite27 +Sprite28:: sprite_oam_struct Sprite28 +Sprite29:: sprite_oam_struct Sprite29 +Sprite30:: sprite_oam_struct Sprite30 +Sprite31:: sprite_oam_struct Sprite31 +Sprite32:: sprite_oam_struct Sprite32 +Sprite33:: sprite_oam_struct Sprite33 +Sprite34:: sprite_oam_struct Sprite34 +Sprite35:: sprite_oam_struct Sprite35 +Sprite36:: sprite_oam_struct Sprite36 +Sprite37:: sprite_oam_struct Sprite37 +Sprite38:: sprite_oam_struct Sprite38 +Sprite39:: sprite_oam_struct Sprite39 +Sprite40:: sprite_oam_struct Sprite40 SpritesEnd:: @@ -827,7 +853,7 @@ wDexListingCursorBackup:: db wBackupDexListingCursor:: db wBackupDexListingPage:: db wDexCurrentLocation:: db -if DEF(CRYSTAL11) +if DEF(_CRYSTAL11) wPokedexStatus:: db wPokedexDataEnd:: else @@ -1202,8 +1228,7 @@ wcd74:: ds 1 wOTMonSelection:: ds 2 ; ds 3 wcd77:: ds 1 -wcd78:: ds 1 -wcd79:: ds 1 +wMobileCrashCheckPointer:: dw wcd7a:: ds 2 wcd7c:: ds 3 wcd7f:: ds 1 @@ -1276,8 +1301,8 @@ wNamedObjectTypeBuffer:: db ds 1 -wBattleTowerBattleEnded:: wJumptableIndex:: +wBattleTowerBattleEnded:: db UNION ; cf64 @@ -1289,7 +1314,11 @@ wcf66:: db NEXTU ; cf64 ; intro and title data wIntroSceneFrameCounter:: db +UNION ; cf65 +wIntroSceneTimer:: db +NEXTU ; cf65 wTitleScreenTimer:: dw +ENDU NEXTU ; cf64 ; credits data @@ -1298,10 +1327,31 @@ wCreditsBorderMon:: db wCreditsLYOverride:: db NEXTU ; cf64 -; unown puzzle data -wHoldingUnownPuzzlePiece:: db -wUnownPuzzleCursorPosition:: db -wUnownPuzzleHeldPiece:: db +; pokedex +wPrevDexEntryJumptableIndex:: db +if DEF(_CRYSTAL11) +wPrevDexEntryBackup:: db +else +wPrevDexEntryBackup:: +wPokedexStatus:: db +endc + +NEXTU ; cf64 +; pokegear +wPokegearCard:: db +wPokegearMapRegion:: db + +NEXTU ; cf64 +; pack +wPackJumptableIndex:: db +wCurrPocket:: db +wPackUsedItem:: db + +NEXTU ; cf64 +; trainer card badges +wTrainerCardBadgeFrameCounter:: db +wTrainerCardBadgeTileID:: db +wTrainerCardBadgeAttributes:: db NEXTU ; cf64 ; card flip data @@ -1310,19 +1360,26 @@ wCardFlipCursorX:: db wCardFlipWhichCard:: db NEXTU ; cf64 -; pokedex -wDexEntryPrevJumptableIndex:: db -if !DEF(CRYSTAL11) -wPokedexStatus:: db -endc +; magnet train +wMagnetTrainOffset:: db +wMagnetTrainPosition:: db +wMagnetTrainWaitCounter:: db + +NEXTU ; cf64 +; unown puzzle data +wHoldingUnownPuzzlePiece:: db +wUnownPuzzleCursorPosition:: db +wUnownPuzzleHeldPiece:: db NEXTU ; cf64 ; miscellaneous +wFrameCounter:: wNrOfBeatenBattleTowerTrainers:: wMomBankDigitCursorPosition:: +wNamingScreenLetterCase:: +wHallOfFameMonCounter:: wSlotsDelay:: db -wCurrPocket:: wPrinterQueueLength:: db ENDU ; cf67 @@ -1361,37 +1418,28 @@ wMenuDataBank:: db wMenuDataHeaderEnd:: wMenuData2:: -UNION ; cf91 ; MenuData2 -wMenuData2Flags:: ; cf91 -; bit 7: When set, start printing text one tile to the right of the border -; In scrolling menus, SELECT is functional -; bit 6: When set, start printing text one tile below the border -; In scrolling menus, START is functional -; bit 5: ???? -; bit 4: ???? -; bit 3: ???? -; bit 2: ???? -; bit 1: Enable Select button -; bit 0: Disable B button - db + +wMenuData2Flags:: db ; cf91 + +UNION ; cf92 +; Vertical Menu/DoNthMenu/SetUpMenu wMenuData2Items:: db ; cf92 wMenuData2IndicesPointer:: dw ; cf94 wMenuData2DisplayFunctionPointer:: dw ; cf96 wMenuData2PointerTableAddr:: dw ; cf97 -NEXTU ; cf91 -; 2D menu - ds 2 ; cf91 -wMenuData2Spacing:: db ; cf93 +NEXTU ; cf92 +; 2D Menu +wMenuData2_2DMenuDimensions:: db ; cf92 +wMenuData2_2DMenuSpacing:: db ; cf93 wMenuData2_2DMenuItemStringsBank:: db ; cf94 wMenuData2_2DMenuItemStringsAddr:: dw ; cf96 wMenuData2_2DMenuFunctionBank:: db ; cf97 wMenuData2_2DMenuFunctionAddr:: dw ; cf98 -NEXTU ; cf91 -; scrolling menu - ds 1 ; cf91 +NEXTU ; cf92 +; Scrolling Menu wMenuData2_ScrollingMenuHeight:: db ; cf92 wMenuData2_ScrollingMenuWidth:: db ; cf93 wMenuData2_ScrollingMenuSpacing:: db ; cf94 @@ -1408,7 +1456,16 @@ w2DMenuCursorInitY:: db ; cfa1 w2DMenuCursorInitX:: db ; cfa2 w2DMenuNumRows:: db ; cfa3 w2DMenuNumCols:: db ; cfa4 -w2DMenuFlags1:: db ; cfa5 +w2DMenuFlags1:: ; cfa5 +; bit 7: Disable checking of wMenuJoypadFilter +; bit 6: Enable sprite animations +; bit 5: Wrap around vertically +; bit 4: Wrap around horizontally +; bit 3: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 5 is disabled and we tried to go too far down +; bit 2: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 5 is disabled and we tried to go too far up +; bit 1: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 4 is disabled and we tried to go too far left +; bit 0: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 4 is disabled and we tried to go too far right + db w2DMenuFlags2:: db ; cfa6 w2DMenuCursorOffsets:: db ; cfa7 wMenuJoypadFilter:: db ; cfa8 @@ -2279,6 +2336,7 @@ StartSecond:: db ; d4b9 wRTC:: ds 8 ; d4ba wDST:: db ; d4c2 +GameTime:: GameTimeCap:: db ; d4c3 GameTimeHours:: dw ; d4c4 GameTimeMinutes:: db ; d4c6 @@ -2438,9 +2496,9 @@ wCeruleanGymSceneID:: db ; d977 wRoute25SceneID:: db ; d978 wTrainerHouseB1FSceneID:: db ; d979 wVictoryRoadGateSceneID:: db ; d97a -wSaffronTrainStationSceneID:: db ; d97b +wSaffronMagnetTrainStationSceneID:: db ; d97b wRoute16GateSceneID:: db ; d97c -wRoute1718GateSceneID:: db ; d97d +wRoute17Route18GateSceneID:: db ; d97d wIndigoPlateauPokecenter1FSceneID:: db ; d97e wWillsRoomSceneID:: db ; d97f wKogasRoomSceneID:: db ; d980 @@ -2880,6 +2938,7 @@ w3_dffc:: ds 4 SECTION "GBC Video", WRAMX ; eight 4-color palettes each +wPals:: wBGPals1:: ds 8 palettes ; d000 wOBPals1:: ds 8 palettes ; d040 wBGPals2:: ds 8 palettes ; d080 @@ -2890,6 +2949,7 @@ LYOverridesEnd:: ; d190 ds 1 +wMagnetTrain:: wMagnetTrainDirection:: db wMagnetTrainInitPosition:: db wMagnetTrainHoldPosition:: db |