FieldDebug_DoVRAMViewer: call LoadStandardMenuHeader call ClearTileMap call ClearSprites ldh a, [hMapAnims] push af xor a ldh [hMapAnims], a ld a, 1 ld [wcdc3], a call .GenerateTilemap call WaitBGMap call .DoViewer pop af ldh [hMapAnims], a ld a, $e3 ldh [rLCDC], a call .ReloadDefaultGFX call CloseWindow ld a, FIELDDEBUG_RETURN_REOPEN ret .DoViewer: ld a, [wcdc3] dec a ld hl, .Jumptable call CallJumptable call .GenerateTilemap call .ScreenControl jr nc, .DoViewer ret .ScreenControl: call WaitBGMap .wait_input call GetJoypad ldh a, [hJoyDown] and A_BUTTON | B_BUTTON | START | D_RIGHT | D_LEFT jr z, .wait_input bit D_LEFT_F, a jr nz, .next_page bit D_RIGHT_F, a jr nz, .previous_page bit START_F, a jr nz, .switch_tileset bit A_BUTTON_F, a ret nz scf ret .switch_tileset ldh a, [rLCDC] xor (1 << rLCDC_TILE_DATA) ldh [rLCDC], a and a ret .next_page ld hl, wcdc3 inc [hl] ld a, [hl] cp 8 jr c, .not_at_end ld [hl], 1 .not_at_end and a ret .previous_page ld hl, wcdc3 dec [hl] jr z, .not_at_start and a ret .not_at_start ld [hl], 7 and a ret .Jumptable: dw .LoadTilesets1 dw .LoadBagGFX dw .LoadTilesetsCommon dw .LoadToolgearGFX dw .ReloadDefaultGFX dw .LoadStatsGFX dw .LoadTilesets6 .GenerateTilemap: hlcoord 1, 1 ld de, 4 ld b, $10 xor a .generate_loop1 ld c, $10 .generate_loop2 ld [hli], a inc a dec c jr nz, .generate_loop2 add hl, de dec b jr nz, .generate_loop1 ret .ReloadDefaultGFX: call .LoadTilesetsCommon call LoadFont ret .LoadBagGFX: call .LoadTilesetsCommon call DisableLCD call LoadFont callab LoadBackpackGraphics call EnableLCD ret .LoadToolgearGFX: call .LoadTilesetsCommon call LoadToolgearGraphics ret .LoadTilesets1: call .LoadTilesetsCommon call DisableLCD call LoadFontsBattleExtra call LoadFont call EnableLCD ret .LoadStatsGFX: call .LoadTilesetsCommon call DisableLCD call LoadFontsBattleExtra call LoadFont callab LoadPokemonStatsGraphics xor a ldh [hMapAnims], a call EnableLCD ld de, vTileset call .LoadPokemon ret .LoadTilesets6: call DisableLCD xor a ld hl, vSprites ld bc, $180 tiles call ByteFill call LoadFont callab Function3e39f xor a ldh [hMapAnims], a call EnableLCD ld de, vTileset call .LoadPokemon ld de, $9310 ld a, 3 ld [wcdd8], a predef Function3f04a ret .LoadPokemon: ld a, 3 ld [wce37], a ld [wMonDexIndex], a call GetMonHeader call LoadMonFrontSprite ret .LoadTilesetsCommon: call DisableLCD xor a ld hl, vSprites ld bc, $180 tiles call ByteFill call LoadTilesetGFX ld a, 1 ldh [hMapAnims], a callab LoadUsedSpritesGfx call LoadFontExtra call EnableLCD ret FieldDebug_DoClearEventFlags: ld hl, .MenuHeader call LoadMenuHeader call VerticalMenu call CloseWindow ret c call .CheckMapFlags jr nc, .no_flags ld a, [wMenuCursorY] cp 1 ld a, 0 jr z, .done ld a, $ff .done ld [de], a ret .no_flags ld hl, .NoMapFlagsText call MenuTextBoxBackup ret .NoMapFlagsText: text "このマップは シーケンスの" line "とうろくが ありません" prompt .MenuHeader: db MENU_BACKUP_TILES menu_coords 0, 0, 12, 6 dw .MenuData db 1 .MenuData: db STATICMENU_CURSOR db 2 db "フラグを クりア@" db "フラグを うめる@" .CheckMapFlags: ld a, [wMapGroup] ld b, a ld a, [wMapId] ld c, a ld hl, UnknownMapBufferPointers .determine_loop push hl ld a, BANK(UnknownMapBufferPointers) call GetFarByte cp -1 jr z, .none_found cp b jr nz, .determine_loop2 inc hl ld a, BANK(UnknownMapBufferPointers) call GetFarByte cp c jr nz, .determine_loop2 jr .has_flags .determine_loop2 pop hl ld de, 8 add hl, de jr .determine_loop .has_flags pop hl ld de, 6 add hl, de ld a, BANK(UnknownMapBufferPointers) call GetFarByte ld e, a inc hl ld a, BANK(UnknownMapBufferPointers) call GetFarByte ld d, a scf ret .none_found pop hl and a ret