Prev: 36908 Up: Map Next: 36979
36919: Draw window frame for character portraits (2nd floor) and goblet picture in Florin's room
Used by the routine at 29150.
Input
B y-coordinate (characters) of picture
C x-coordinate (characters) of picture
D index of graphic to draw inside frame
IY 23610
36919 LD A,10 Load A with 10 (window index)
36921 EX AF,AF' Switch AF
36922 PUSH BC Store BC (x- and y-coordinates of top-left corner)
36923 LD H,0 Load HL with index of graphic to draw inside frame
36925 LD L,D ...
36926 LD E,3 In preparation for drawing an object (object height + 1)
36928 ADD HL,HL Multiply HL by four...
36929 ADD HL,HL ...
36930 LD BC,42642 Point to start of graphic lookup data
36933 ADD HL,BC Add offset (now, for example, pointing to entry for goblet from picture in Florin's room)
36934 LD A,(HL) Load width data into A
36935 CP 255 If width data is 255 (i.e. we are drawing an object)...
36937 JR Z,36942 ...then jump ahead to 36942
36939 INC HL Load height data into E...
36940 LD E,(HL) ...
36941 INC E Increase height by one
36942 POP BC Restore BC (x- and y-coordinates of top-left corner)
36943 LD A,112 Set window / menu parameter to 112 (window, not menu) in window drawing routine...
36945 LD (37084),A ...
36948 LD A,C Load x-coordinate...
36949 LD (41954),A ...into this window's "left position" entry in the window data table at 41874
36952 ADD A,3 Set window's "right position"...
36954 LD (41955),A ...as three characters to the right (i.e. width of window is 4 characters)
36957 LD A,B Load y-coordinate...
36958 LD (41956),A ...into this window's "top position" entry in the window data table at 41874
36961 ADD A,E Set window's "bottom position"...
36962 LD (41957),A ...as top position plus height data
36965 LD A,(25393) Load Magic Knight's current attribute into A...
36968 LD (41959),A ...and set window's border attribute to match
36971 CALL 36993 Draw the window
36974 RES 1,(IY+65) Reset disable-in-game-glow flag
36978 RET Return
Prev: 36908 Up: Map Next: 36979