Fixed scrolling in combat window.

This commit is contained in:
Martin Haye 2015-11-30 08:02:32 -08:00
parent 305e79977d
commit f342bb55c0
2 changed files with 12 additions and 10 deletions

View File

@ -605,14 +605,14 @@ ScrLp1 LDX zTmp3
JSR GetBasX ;Get base address, again
LDY LfMrgn
ScrLp2 LDA (GBasL),Y ;copy the pixels from down screen
STA (zTmp1),Y ;to 8 lines up
STA (zTmp1),Y ;to 9 lines up
INY
CPY RtMrgn ;do from left margin to right margin
BNE ScrLp2
CPX BtMrgn ;keep looping until all the way to
BNE ScrLp1 ;the bottom margin.
LDX zTmp3 ;Clear the last 8 pixel lines
LDX zTmp3 ;Clear the last 9 pixel lines
ScrLp3 INX ;so a new text line can be plotted
JSR ClrChkF ;Check background color
BEQ ScrClbw ;then clear the bottom txt row
@ -643,7 +643,8 @@ ClrSlp2 STA (GBasL),Y
BNE ClrSlp2
INX
CPX BtMrgn
BNE ClrSlp1
BCC ClrSlp1 ;loop while less than
BEQ ClrSlp1 ;...or equal
RTS
ClrColr LDA BkgColor

View File

@ -658,7 +658,8 @@ asm setFont
end
///////////////////////////////////////////////////////////////////////////////////////////////////
// Use the font engine to clear the current text window
// Use the font engine to clear the current text window.
// Parameters: top, bottom, left, right
asm setWindow
+asmPlasm 4
bit setLcRW+lcBank2
@ -968,29 +969,29 @@ end
///////////////////////////////////////////////////////////////////////////////////////////////////
// Window for the map name bar
def setWindow1()
setWindow(8, 18, 35, 119)
setWindow(8, 18, 35, 119) // Top, Bottom, Left, Right
end
///////////////////////////////////////////////////////////////////////////////////////////////////
// Window for the large upper right bar
def setWindow2()
setWindow(24, 136, 154, 269)
displayChar('N'-$40) // Set normal mode - clear all special modes
displayChar('N'-$40) // Set normal mode - clear all special modes (like underline, etc.)
setWindow(24, 132, 154, 269) // Top, Bottom, Left, Right
end
///////////////////////////////////////////////////////////////////////////////////////////////////
// Window for the mid-size lower right bar
def setWindow3()
setWindow(144, 184, 154, 269)
setWindow(144, 184, 154, 269) // Top, Bottom, Left, Right
end
///////////////////////////////////////////////////////////////////////////////////////////////////
// Window for the map area (used for clearing it)
def setMapWindow()
if mapIs3D
setWindow(24, 153, 14, 140)
setWindow(24, 153, 14, 140) // Top, Bottom, Left, Right
else
setWindow(24, 169, 14, 140)
setWindow(24, 169, 14, 140) // Top, Bottom, Left, Right
fin
end