Merge pull request #596 from Rangi42/master

Remove the nested UNION within battle WRAM
This commit is contained in:
Rangi 2019-02-09 18:03:07 -05:00 committed by GitHub
commit b791198f74
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 154 additions and 142 deletions

View File

@ -14,8 +14,8 @@ _UnownPuzzle:
xor a xor a
ldh [hBGMapMode], a ldh [hBGMapMode], a
call DisableLCD call DisableLCD
ld hl, wc608 ; includes wPuzzlePieces ld hl, wUnownPuzzle ; includes wPuzzlePieces
ld bc, wc7e8 - wc608 ld bc, wUnownPuzzleEnd - wUnownPuzzle
xor a xor a
call ByteFill call ByteFill
ld hl, UnownPuzzleCursorGFX ld hl, UnownPuzzleCursorGFX

View File

@ -594,7 +594,7 @@ endr
jr c, .done jr c, .done
ld a, h ld a, h
add $8 add HIGH(vTiles1 - vTiles0)
ld h, a ld h, a
call .CopyToVram call .CopyToVram

View File

@ -1,6 +1,6 @@
HandleNewMap: HandleNewMap:
call Clearwc7e8 call ClearUnusedC7E8
call ResetMapBufferEventFlags call ResetMapBufferEventFlags
call ResetFlashIfOutOfCave call ResetFlashIfOutOfCave
call GetCurrentMapSceneID call GetCurrentMapSceneID

View File

@ -44,7 +44,7 @@ InitClock:
ld hl, Text_WokeUpOak ld hl, Text_WokeUpOak
call PrintText call PrintText
ld hl, wTimeSetBuffer ld hl, wTimeSetBuffer
ld bc, 50 ld bc, wTimeSetBufferEnd - wTimeSetBuffer
xor a xor a
call ByteFill call ByteFill
ld a, 10 ; default hour = 10 AM ld a, 10 ; default hour = 10 AM

View File

@ -1,8 +1,8 @@
; Functions dealing with rendering and interacting with maps. ; Functions dealing with rendering and interacting with maps.
Clearwc7e8:: ClearUnusedC7E8::
ld hl, wc7e8 ld hl, wUnusedC7E8
ld bc, wc7e8_End - wc7e8 ld bc, wUnusedC7E8End - wUnusedC7E8
ld a, 0 ld a, 0
call ByteFill call ByteFill
ret ret

View File

@ -319,7 +319,7 @@ WRAM0
align 8 align 8
"Sprites" "Sprites"
"Tilemap" "Tilemap"
"Battle" "Miscellaneous"
"Overworld Map" "Overworld Map"
"Video" "Video"
WRAMX 1 WRAMX 1

278
wram.asm
View File

@ -354,54 +354,26 @@ wTileMap:: ; c4a0
wTileMapEnd:: wTileMapEnd::
SECTION "Battle", WRAM0 SECTION "Miscellaneous", WRAM0
; This union spans 480 bytes from c608 to c7e8.
UNION ; c608 UNION ; c608
; unidentified uses
wc608:: ds 53
wc63d:: ds 5
wc642:: ds 5
wc647:: ds 33
wc668:: ds 32
wc688:: ds 2
wc68a:: ds 350
NEXTU ; c608
; surrounding tiles ; surrounding tiles
; This buffer determines the size for the rest of the union;
; it uses exactly 480 bytes.
wSurroundingTiles:: ds SURROUNDING_WIDTH * SURROUNDING_HEIGHT wSurroundingTiles:: ds SURROUNDING_WIDTH * SURROUNDING_HEIGHT
NEXTU ; c608 NEXTU ; c608
; box save buffer ; box save buffer
; SaveBoxAddress uses this buffer in three steps because it
; needs more space than the buffer can hold.
wBoxPartialData:: ds 480 wBoxPartialData:: ds 480
wBoxPartialDataEnd:: wBoxPartialDataEnd::
NEXTU ; c608
; odd egg
wOddEgg:: party_struct wOddEgg
wOddEggName:: ds MON_NAME_LENGTH
wOddEggOTName:: ds NAME_LENGTH
NEXTU ; c608 NEXTU ; c608
; battle tower temp struct ; battle tower temp struct
wBT_OTTemp:: battle_tower_struct wBT_OTTemp wBT_OTTemp:: battle_tower_struct wBT_OTTemp
NEXTU ; c608
; hall of fame temp struct
wHallOfFameTemp:: hall_of_fame wHallOfFameTemp
NEXTU ; c608
; timeset temp storage
wTimeSetBuffer::
ds 20
wInitHourBuffer:: db ; c61c
ds 9
wInitMinuteBuffer:: db ; c626
NEXTU ; c608
; link engine data
wLink_c608:: ds 10
wc612:: ds 10
NEXTU ; c608 NEXTU ; c608
; battle data ; battle data
wBattle:: wBattle::
@ -578,9 +550,6 @@ wPlayerAtkLevel:: db ; c6cc
wPlayerDefLevel:: db ; c6cd wPlayerDefLevel:: db ; c6cd
wPlayerSpdLevel:: db ; c6ce wPlayerSpdLevel:: db ; c6ce
wPlayerSAtkLevel:: db ; c6cf wPlayerSAtkLevel:: db ; c6cf
UNION ; c6d0
; finish battle RAM
wPlayerSDefLevel:: db ; c6d0 wPlayerSDefLevel:: db ; c6d0
wPlayerAccLevel:: db ; c6d1 wPlayerAccLevel:: db ; c6d1
wPlayerEvaLevel:: db ; c6d2 wPlayerEvaLevel:: db ; c6d2
@ -739,107 +708,60 @@ wSomeoneIsRampaging:: db ; c73b
wPlayerJustGotFrozen:: db ; c73c wPlayerJustGotFrozen:: db ; c73c
wEnemyJustGotFrozen:: db ; c73d wEnemyJustGotFrozen:: db ; c73d
wBattleEnd:: wBattleEnd::
; Battle RAM
; c741
NEXTU ; c6d0 NEXTU ; c608
; trade
wTrademons::
wPlayerTrademon:: trademon wPlayerTrademon
wOTTrademon:: trademon wOTTrademon
wTrademonsEnd::
wTradeAnimAddress:: dw
wLinkPlayer1Name:: ds NAME_LENGTH
wLinkPlayer2Name:: ds NAME_LENGTH
wLinkTradeSendmonSpecies:: db
wLinkTradeGetmonSpecies:: db
NEXTU ; c6d0
; naming screen
wNamingScreenDestinationPointer:: dw ; c6d0
wNamingScreenCurNameLength:: db ; c6d2
wNamingScreenMaxNameLength:: db ; c6d3
wNamingScreenType:: db ; c6d4
wNamingScreenCursorObjectPointer:: dw ; c6d5
wNamingScreenLastCharacter:: db ; c6d7
wNamingScreenStringEntryCoord:: dw ; c6d8
NEXTU ; c6d0
; pokegear
wPokegearPhoneLoadNameBuffer:: db ; c6d0
wPokegearPhoneCursorPosition:: db ; c6d1
wPokegearPhoneScrollPosition:: db ; c6d2
wPokegearPhoneSelectedPerson:: db ; c6d3
wPokegearPhoneSubmenuCursor:: db ; c6d4
wPokegearMapCursorObjectPointer:: dw ; c6d5
wPokegearMapCursorLandmark:: db ; c6d7
wPokegearMapPlayerIconLandmark:: db ; c6d8
wPokegearRadioChannelBank:: db ; c6d9
wPokegearRadioChannelAddr:: dw ; c6da
wPokegearRadioMusicPlaying:: db ; c6dc
NEXTU ; c6d0
; slot machine
wSlots::
wReel1:: slot_reel wReel1
wReel2:: slot_reel wReel2
wReel3:: slot_reel wReel3
; c700
wReel1Stopped:: ds 3
wReel2Stopped:: ds 3
wReel3Stopped:: ds 3
wSlotBias:: db
wSlotBet:: db
wFirstTwoReelsMatching:: db
wFirstTwoReelsMatchingSevens:: db
wSlotMatched:: db
wCurReelStopped:: ds 3
wPayout:: dw
wCurReelXCoord:: db
wCurReelYCoord:: db
ds 2
wSlotBuildingMatch:: db
wSlotsDataEnd::
ds 28
wSlotsEnd::
NEXTU ; c6d0
; card flip
wCardFlip::
wDeck:: ds 24
wDeckEnd::
; c6e8
wCardFlipNumCardsPlayed:: db
wCardFlipFaceUpCard:: db
wDiscardPile:: ds 24
wDiscardPileEnd::
wCardFlipEnd::
NEXTU ; c6d0
; dummy game
wDummyGame::
wDummyGameCards:: ds 9 * 5
wDummyGameCardsEnd::
wDummyGameLastCardPicked:: db ; c6fd
wDummyGameCard1:: db ; c6fe
wDummyGameCard2:: db ; c6ff
wDummyGameCard1Location:: db ; c700
wDummyGameCard2Location:: db ; c701
wDummyGameNumberTriesRemaining:: db ; c702
wDummyGameLastMatches:: ds 5 ; c703
wDummyGameCounter:: db ; c708
wDummyGameNumCardsMatched:: db ; c709
wDummyGameEnd::
NEXTU ; c6d0
; unown puzzle ; unown puzzle
wUnownPuzzle:: wUnownPuzzle::
ds 200
wPuzzlePieces:: ds 6 * 6 wPuzzlePieces:: ds 6 * 6
ds 244
wUnownPuzzleEnd:: wUnownPuzzleEnd::
NEXTU ; c6d0 NEXTU ; c608
; This union spans 200 bytes from c608 to c6d0.
UNION ; c608
; timeset temp storage
wTimeSetBuffer::
ds 20
wInitHourBuffer:: db ; c61c
ds 9
wInitMinuteBuffer:: db ; c626
ds 19
wTimeSetBufferEnd::
NEXTU ; c608
; hall of fame temp struct
wHallOfFameTemp:: hall_of_fame wHallOfFameTemp
NEXTU ; c608
; link engine data
wLink_c608:: ds 10
wc612:: ds 10
NEXTU ; c608
; odd egg
wOddEgg:: party_struct wOddEgg
wOddEggName:: ds MON_NAME_LENGTH
wOddEggOTName:: ds NAME_LENGTH
NEXTU ; c608
; mobile data
wc608:: ds 53
wc63d:: ds 5
wc642:: ds 5
wc647:: ds 33
wc668:: ds 32
wc688:: ds 2
wc68a:: ds 4
ds 66
ENDU ; c6d0
; This union spans 280 bytes from c6d0 to c7e8.
UNION ; c6d0
; pokedex ; pokedex
wPokedexDataStart:: wPokedexDataStart:: ; c6d0
wPokedexOrder:: ds $100 ; >= NUM_POKEMON wPokedexOrder:: ds $100 ; >= NUM_POKEMON
wPokedexOrderEnd:: wPokedexOrderEnd::
wDexListingScrollOffset:: db ; offset of the first displayed entry from the start wDexListingScrollOffset:: db ; offset of the first displayed entry from the start
@ -871,6 +793,95 @@ wPokedexDataEnd:: ds 1
endc endc
ds 2 ds 2
NEXTU ; c6d0
; pokegear
wPokegearPhoneLoadNameBuffer:: db ; c6d0
wPokegearPhoneCursorPosition:: db ; c6d1
wPokegearPhoneScrollPosition:: db ; c6d2
wPokegearPhoneSelectedPerson:: db ; c6d3
wPokegearPhoneSubmenuCursor:: db ; c6d4
wPokegearMapCursorObjectPointer:: dw ; c6d5
wPokegearMapCursorLandmark:: db ; c6d7
wPokegearMapPlayerIconLandmark:: db ; c6d8
wPokegearRadioChannelBank:: db ; c6d9
wPokegearRadioChannelAddr:: dw ; c6da
wPokegearRadioMusicPlaying:: db ; c6dc
NEXTU ; c6d0
; trade
wTrademons:: ; c6d0
wPlayerTrademon:: trademon wPlayerTrademon
wOTTrademon:: trademon wOTTrademon
wTrademonsEnd::
wTradeAnimAddress:: dw
wLinkPlayer1Name:: ds NAME_LENGTH
wLinkPlayer2Name:: ds NAME_LENGTH
wLinkTradeSendmonSpecies:: db
wLinkTradeGetmonSpecies:: db
NEXTU ; c6d0
; naming screen
wNamingScreenDestinationPointer:: dw ; c6d0
wNamingScreenCurNameLength:: db ; c6d2
wNamingScreenMaxNameLength:: db ; c6d3
wNamingScreenType:: db ; c6d4
wNamingScreenCursorObjectPointer:: dw ; c6d5
wNamingScreenLastCharacter:: db ; c6d7
wNamingScreenStringEntryCoord:: dw ; c6d8
NEXTU ; c6d0
; slot machine
wSlots:: ; c6d0
wReel1:: slot_reel wReel1
wReel2:: slot_reel wReel2
wReel3:: slot_reel wReel3
; c700
wReel1Stopped:: ds 3
wReel2Stopped:: ds 3
wReel3Stopped:: ds 3
wSlotBias:: db
wSlotBet:: db
wFirstTwoReelsMatching:: db
wFirstTwoReelsMatchingSevens:: db
wSlotMatched:: db
wCurReelStopped:: ds 3
wPayout:: dw
wCurReelXCoord:: db
wCurReelYCoord:: db
ds 2
wSlotBuildingMatch:: db
wSlotsDataEnd::
ds 28
wSlotsEnd::
NEXTU ; c6d0
; card flip
wCardFlip:: ; c6d0
wDeck:: ds 24
wDeckEnd::
; c6e8
wCardFlipNumCardsPlayed:: db
wCardFlipFaceUpCard:: db
wDiscardPile:: ds 24
wDiscardPileEnd::
wCardFlipEnd::
NEXTU ; c6d0
; dummy game
wDummyGame:: ; c6d0
wDummyGameCards:: ds 9 * 5
wDummyGameCardsEnd::
wDummyGameLastCardPicked:: db ; c6fd
wDummyGameCard1:: db ; c6fe
wDummyGameCard2:: db ; c6ff
wDummyGameCard1Location:: db ; c700
wDummyGameCard2Location:: db ; c701
wDummyGameNumberTriesRemaining:: db ; c702
wDummyGameLastMatches:: ds 5 ; c703
wDummyGameCounter:: db ; c708
wDummyGameNumCardsMatched:: db ; c709
wDummyGameEnd::
NEXTU ; c6d0 NEXTU ; c6d0
; mobile data ; mobile data
wc6d0:: ds 56 wc6d0:: ds 56
@ -896,10 +907,11 @@ wc7d2:: ds 1
wc7d3:: ds 1 wc7d3:: ds 1
wc7d4:: ds 1 wc7d4:: ds 1
ENDU ; c7e8 ENDU ; c7e8
ENDU ; c7e8 ENDU ; c7e8
wc7e8:: ds 24 wUnusedC7E8:: ds 24
wc7e8_End:: wUnusedC7E8End::
SECTION "Overworld Map", WRAM0 SECTION "Overworld Map", WRAM0