Path: blob/master/engine/events/hidden_objects/school_blackboard.asm
1271 views
PrintBlackboardLinkCableText:1call EnableAutoTextBoxDrawing2ld a, $13ld [wDoNotWaitForButtonPressAfterDisplayingText], a4ld a, [wHiddenObjectFunctionArgument]5call PrintPredefTextID6ret78LinkCableHelp::9text_asm10call SaveScreenTilesToBuffer111ld hl, LinkCableHelpText112call PrintText13xor a14ld [wMenuItemOffset], a ; not used15ld [wCurrentMenuItem], a16ld [wLastMenuItem], a17ld a, PAD_A | PAD_B18ld [wMenuWatchedKeys], a19ld a, 320ld [wMaxMenuItem], a21ld a, 222ld [wTopMenuItemY], a23ld a, 124ld [wTopMenuItemX], a25.linkHelpLoop26ld hl, wStatusFlags527set BIT_NO_TEXT_DELAY, [hl]28hlcoord 0, 029ld b, 830ld c, 1331call TextBoxBorder32hlcoord 2, 233ld de, HowToLinkText34call PlaceString35ld hl, LinkCableHelpText236call PrintText37call HandleMenuInput38bit B_PAD_B, a39jr nz, .exit40ld a, [wCurrentMenuItem]41cp 3 ; pressed a on "STOP READING"42jr z, .exit43ld hl, wStatusFlags544res BIT_NO_TEXT_DELAY, [hl]45ld hl, LinkCableInfoTexts46add a47ld d, 048ld e, a49add hl, de50ld a, [hli]51ld h, [hl]52ld l, a53call PrintText54jp .linkHelpLoop55.exit56ld hl, wStatusFlags557res BIT_NO_TEXT_DELAY, [hl]58call LoadScreenTilesFromBuffer159jp TextScriptEnd6061LinkCableHelpText1:62text_far _LinkCableHelpText163text_end6465LinkCableHelpText2:66text_far _LinkCableHelpText267text_end6869HowToLinkText:70db "HOW TO LINK"71next "COLOSSEUM"72next "TRADE CENTER"73next "STOP READING@"7475LinkCableInfoTexts:76dw LinkCableInfoText177dw LinkCableInfoText278dw LinkCableInfoText37980LinkCableInfoText1:81text_far _LinkCableInfoText182text_end8384LinkCableInfoText2:85text_far _LinkCableInfoText286text_end8788LinkCableInfoText3:89text_far _LinkCableInfoText390text_end9192ViridianSchoolBlackboard::93text_asm94call SaveScreenTilesToBuffer195ld hl, ViridianSchoolBlackboardText196call PrintText97xor a98ld [wMenuItemOffset], a99ld [wCurrentMenuItem], a100ld [wLastMenuItem], a101ld a, PAD_LEFT | PAD_RIGHT | PAD_A | PAD_B102ld [wMenuWatchedKeys], a103ld a, 2104ld [wMaxMenuItem], a105ld a, 2106ld [wTopMenuItemY], a107ld a, 1108ld [wTopMenuItemX], a109.blackboardLoop110ld hl, wStatusFlags5111set BIT_NO_TEXT_DELAY, [hl]112hlcoord 0, 0113lb bc, 6, 10114call TextBoxBorder115hlcoord 1, 2116ld de, StatusAilmentText1117call PlaceString118hlcoord 6, 2119ld de, StatusAilmentText2120call PlaceString121ld hl, ViridianSchoolBlackboardText2122call PrintText123call HandleMenuInput ; pressing up and down is handled in here124bit B_PAD_B, a ; pressed b125jr nz, .exitBlackboard126bit B_PAD_RIGHT, a127jr z, .didNotPressRight128; move cursor to right column129ld a, 2130ld [wMaxMenuItem], a131ld a, 2132ld [wTopMenuItemY], a133ld a, 6134ld [wTopMenuItemX], a135ld a, 3 ; in the the right column, use an offset to prevent overlap136ld [wMenuItemOffset], a137jr .blackboardLoop138.didNotPressRight139bit B_PAD_LEFT, a140jr z, .didNotPressLeftOrRight141; move cursor to left column142ld a, 2143ld [wMaxMenuItem], a144ld a, 2145ld [wTopMenuItemY], a146ld a, 1147ld [wTopMenuItemX], a148xor a149ld [wMenuItemOffset], a150jr .blackboardLoop151.didNotPressLeftOrRight152ld a, [wCurrentMenuItem]153ld b, a154ld a, [wMenuItemOffset]155add b156cp 5 ; cursor is pointing to "QUIT"157jr z, .exitBlackboard158; we must have pressed a on a status condition159; so print the text160ld hl, wStatusFlags5161res BIT_NO_TEXT_DELAY, [hl]162ld hl, ViridianBlackboardStatusPointers163add a164ld d, 0165ld e, a166add hl, de167ld a, [hli]168ld h, [hl]169ld l, a170call PrintText171jp .blackboardLoop172.exitBlackboard173ld hl, wStatusFlags5174res BIT_NO_TEXT_DELAY, [hl]175call LoadScreenTilesFromBuffer1176jp TextScriptEnd177178ViridianSchoolBlackboardText1:179text_far _ViridianSchoolBlackboardText1180text_end181182ViridianSchoolBlackboardText2:183text_far _ViridianSchoolBlackboardText2184text_end185186StatusAilmentText1:187db " SLP"188next " PSN"189next " PAR@"190191StatusAilmentText2:192db " BRN"193next " FRZ"194next " QUIT@"195196db "@" ; unused197198ViridianBlackboardStatusPointers:199dw ViridianBlackboardSleepText200dw ViridianBlackboardPoisonText201dw ViridianBlackboardPrlzText202dw ViridianBlackboardBurnText203dw ViridianBlackboardFrozenText204205ViridianBlackboardSleepText:206text_far _ViridianBlackboardSleepText207text_end208209ViridianBlackboardPoisonText:210text_far _ViridianBlackboardPoisonText211text_end212213ViridianBlackboardPrlzText:214text_far _ViridianBlackboardPrlzText215text_end216217ViridianBlackboardBurnText:218text_far _ViridianBlackboardBurnText219text_end220221ViridianBlackboardFrozenText:222text_far _ViridianBlackboardFrozenText223text_end224225226