diff options
Diffstat (limited to 'gfx/load_pics.asm')
-rwxr-xr-x | gfx/load_pics.asm | 494 |
1 files changed, 0 insertions, 494 deletions
diff --git a/gfx/load_pics.asm b/gfx/load_pics.asm deleted file mode 100755 index 1d685f1dd..000000000 --- a/gfx/load_pics.asm +++ /dev/null @@ -1,494 +0,0 @@ -GetUnownLetter: ; 51040 -; Return Unown letter in UnownLetter based on DVs at hl - -; Take the middle 2 bits of each DV and place them in order: -; atk def spd spc -; .ww..xx. .yy..zz. - - ; atk - ld a, [hl] - and %01100000 - sla a - ld b, a - ; def - ld a, [hli] - and %00000110 - swap a - srl a - or b - ld b, a - - ; spd - ld a, [hl] - and %01100000 - swap a - sla a - or b - ld b, a - ; spc - ld a, [hl] - and %00000110 - srl a - or b - -; Divide by 10 to get 0-25 - ld [hDividend + 3], a - xor a - ld [hDividend], a - ld [hDividend + 1], a - ld [hDividend + 2], a - ld a, 10 - ld [hDivisor], a - ld b, 4 - call Divide - -; Increment to get 1-26 - ld a, [hQuotient + 2] - inc a - ld [UnownLetter], a - ret - -GetMonFrontpic: ; 51077 - ld a, [CurPartySpecies] - ld [CurSpecies], a - call IsAPokemon - ret c - ld a, [rSVBK] - push af - call _GetFrontpic - pop af - ld [rSVBK], a - ret - -GetAnimatedFrontpicPredef: ; 5108b - ld a, [CurPartySpecies] - ld [CurSpecies], a - call IsAPokemon - ret c - ld a, [rSVBK] - push af - xor a - ld [hBGMapMode], a - call _GetFrontpic - call GetAnimatedFrontpic - pop af - ld [rSVBK], a - ret - -_GetFrontpic: ; 510a5 - push de - call GetBaseData - ld a, [BasePicSize] - and $f - ld b, a - push bc - call GetFrontpicPointer - ld a, BANK(wDecompressEnemyFrontpic) - ld [rSVBK], a - ld a, b - ld de, wDecompressEnemyFrontpic - call FarDecompress - pop bc - ld hl, wDecompressScratch - ld de, wDecompressEnemyFrontpic - call PadFrontpic - pop hl - push hl - ld de, wDecompressScratch - ld c, 7 * 7 - ld a, [hROMBank] - ld b, a - call Get2bpp - pop hl - ret - -GetFrontpicPointer: ; 510d7 -GLOBAL PokemonPicPointers, UnownPicPointers - - ld a, [CurPartySpecies] - cp UNOWN - jr z, .unown - ld a, [CurPartySpecies] - ld d, BANK(PokemonPicPointers) - jr .ok - -.unown - ld a, [UnownLetter] - ld d, BANK(UnownPicPointers) - -.ok - ld hl, PokemonPicPointers ; UnownPicPointers - dec a - ld bc, 6 - call AddNTimes - ld a, d - call GetFarByte - call FixPicBank - push af - inc hl - ld a, d - call GetFarHalfword - pop bc - ret - -GetAnimatedFrontpic: ; 51103 - ld a, BANK(vTiles3) - ld [rVBK], a - push hl - ld de, wDecompressScratch - ld c, 7 * 7 - ld a, [hROMBank] - ld b, a - call Get2bpp - pop hl - ld de, 7 * 7 tiles - add hl, de - push hl - ld a, BANK(BasePicSize) - ld hl, BasePicSize - call GetFarWRAMByte - pop hl - and $f - ld de, wDecompressEnemyFrontpic + 5 * 5 tiles - ld c, 5 * 5 - cp 5 - jr z, .got_dims - ld de, wDecompressEnemyFrontpic + 6 * 6 tiles - ld c, 6 * 6 - cp 6 - jr z, .got_dims - ld de, wDecompressEnemyFrontpic + 7 * 7 tiles - ld c, 7 * 7 -.got_dims - - push hl - push bc - call LoadFrontpicTiles - pop bc - pop hl - ld de, wDecompressScratch - ld a, [hROMBank] - ld b, a - call Get2bpp - xor a - ld [rVBK], a - ret - -LoadFrontpicTiles: ; 5114f - ld hl, wDecompressScratch - swap c - ld a, c - and $f - ld b, a - ld a, c - and $f0 - ld c, a - push bc - call LoadFrontpic - pop bc -.loop - push bc - ld c, $0 - call LoadFrontpic - pop bc - dec b - jr nz, .loop - ret - -GetMonBackpic: ; 5116c - ld a, [CurPartySpecies] - call IsAPokemon - ret c - - ld a, [CurPartySpecies] - ld b, a - ld a, [UnownLetter] - ld c, a - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - push de - - ; These are assumed to be at the same - ; address in their respective banks. - GLOBAL PokemonPicPointers, UnownPicPointers - ld hl, PokemonPicPointers ; UnownPicPointers - ld a, b - ld d, BANK(PokemonPicPointers) - cp UNOWN - jr nz, .ok - ld a, c - ld d, BANK(UnownPicPointers) -.ok - dec a - ld bc, 6 - call AddNTimes - ld bc, 3 - add hl, bc - ld a, d - call GetFarByte - call FixPicBank - push af - inc hl - ld a, d - call GetFarHalfword - ld de, wDecompressScratch - pop af - call FarDecompress - ld hl, wDecompressScratch - ld c, 6 * 6 - call FixBackpicAlignment - pop hl - ld de, wDecompressScratch - ld a, [hROMBank] - ld b, a - call Get2bpp - pop af - ld [rSVBK], a - ret - -FixPicBank: ; 511c5 -; This is a thing for some reason. - -PICS_FIX EQU $36 -GLOBAL PICS_FIX - - push hl - push bc - sub BANK(Pics_1) - PICS_FIX - ld c, a - ld b, 0 - ld hl, .PicsBanks - add hl, bc - ld a, [hl] - pop bc - pop hl - ret - -.PicsBanks: ; 511d4 - db BANK(Pics_1) + 0 - db BANK(Pics_1) + 1 - db BANK(Pics_1) + 2 - db BANK(Pics_1) + 3 - db BANK(Pics_1) + 4 - db BANK(Pics_1) + 5 - db BANK(Pics_1) + 6 - db BANK(Pics_1) + 7 - db BANK(Pics_1) + 8 - db BANK(Pics_1) + 9 - db BANK(Pics_1) + 10 - db BANK(Pics_1) + 11 - db BANK(Pics_1) + 12 - db BANK(Pics_1) + 13 - db BANK(Pics_1) + 14 - db BANK(Pics_1) + 15 - db BANK(Pics_1) + 16 - db BANK(Pics_1) + 17 - db BANK(Pics_1) + 18 - db BANK(Pics_1) + 19 - db BANK(Pics_1) + 20 - db BANK(Pics_1) + 21 - db BANK(Pics_1) + 22 - db BANK(Pics_1) + 23 - -Function511ec: ; 511ec - ld a, c - push de - ld hl, PokemonPicPointers - dec a - ld bc, 6 - call AddNTimes - ld a, BANK(PokemonPicPointers) - call GetFarByte - call FixPicBank - push af - inc hl - ld a, BANK(PokemonPicPointers) - call GetFarHalfword - pop af - pop de - call FarDecompress - ret - -GetTrainerPic: ; 5120d - ld a, [TrainerClass] - and a - ret z - cp NUM_TRAINER_CLASSES - ret nc - call WaitBGMap - xor a - ld [hBGMapMode], a - ld hl, TrainerPicPointers - ld a, [TrainerClass] - dec a - ld bc, 3 - call AddNTimes - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - push de - ld a, BANK(TrainerPicPointers) - call GetFarByte - call FixPicBank - push af - inc hl - ld a, BANK(TrainerPicPointers) - call GetFarHalfword - pop af - ld de, wDecompressScratch - call FarDecompress - pop hl - ld de, wDecompressScratch - ld c, 7 * 7 - ld a, [hROMBank] - ld b, a - call Get2bpp - pop af - ld [rSVBK], a - call WaitBGMap - ld a, $1 - ld [hBGMapMode], a - ret - -DecompressPredef: ; 5125d -; Decompress lz data from b:hl to scratch space at 6:d000, then copy it to address de. - - ld a, [rSVBK] - push af - ld a, 6 - ld [rSVBK], a - - push de - push bc - ld a, b - ld de, wDecompressScratch - call FarDecompress - pop bc - ld de, wDecompressScratch - pop hl - ld a, [hROMBank] - ld b, a - call Get2bpp - - pop af - ld [rSVBK], a - ret - -FixBackpicAlignment: ; 5127c - push de - push bc - ld a, [wBoxAlignment] - and a - jr z, .keep_dims - ld a, c - cp 7 * 7 - ld de, 7 * 7 tiles - jr z, .got_dims - cp 6 * 6 - ld de, 6 * 6 tiles - jr z, .got_dims - ld de, 5 * 5 tiles - -.got_dims - ld a, [hl] - ld b, $0 - ld c, $8 -.loop - rra - rl b - dec c - jr nz, .loop - ld a, b - ld [hli], a - dec de - ld a, e - or d - jr nz, .got_dims - -.keep_dims - pop bc - pop de - ret - -PadFrontpic: ; 512ab - ld a, b - cp 6 - jr z, .six - cp 5 - jr z, .five - -.seven_loop - ld c, $70 - call LoadFrontpic - dec b - jr nz, .seven_loop - ret - -.six - ld c, $70 - xor a - call .Fill -.six_loop - ld c, $10 - xor a - call .Fill - ld c, $60 - call LoadFrontpic - dec b - jr nz, .six_loop - ret - -.five - ld c, $70 - xor a - call .Fill -.five_loop - ld c, $20 - xor a - call .Fill - ld c, $50 - call LoadFrontpic - dec b - jr nz, .five_loop - ld c, $70 - xor a - call .Fill - ret - -.Fill: - ld [hli], a - dec c - jr nz, .Fill - ret - -LoadFrontpic: ; 512f2 - ld a, [wBoxAlignment] - and a - jr nz, .x_flip -.left_loop - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .left_loop - ret - -.x_flip - push bc -.right_loop - ld a, [de] - inc de - ld b, a - xor a - rept 8 - rr b - rla - endr - ld [hli], a - dec c - jr nz, .right_loop - pop bc - ret |