Difference between revisions of "DCSE:BasicLibs:ManagePic"

From Doors CS, Doors CSE, and Doors CE Wiki
Jump to navigationJump to search
Line 92: Line 92:
  
  
'''DISPLAYBGPIC32 (TIOS VALUES, DCSE8.1):'''<br>
+
===DisplayBGPIC32 (TIOS VALUES, ''DCSE8.1'')===
 
''':"APPVARNAME'''<br>
 
''':"APPVARNAME'''<br>
 
'''real(5,6,UPDATELCD'''<br>
 
'''real(5,6,UPDATELCD'''<br>

Revision as of 00:01, 10 June 2014

This routine is only available on Doors CSE 8.0 and later for the color-screen TI-84 Plus C Silver Edition.

Technical Details

LoadTilePic (TI-OS Values)

real(5,0,PICSLOT):
Ans = AppVar name (as string, no rowSwap( prefix)
PICSLOT = 0/1 pic slot (temp RAM) to load tilepic into (slot0=tiles 0-127, slot1=tiles128-255)

This function loads custom tilepic image appvars (name stored as a string in ANS) into temp RAM (slot0/1). These images are 128x64 pixels using the custom xLIB palette. They each hold 128 * 8x8 tiles.

picslot0 = tiles loaded into 0-127
picslot1 = tiles loaded into 128-255

You must load a tilepic into temp RAM before using DRAWMAP or DRAWSPRITE

EXAMPLE: To load a tilepic named "TESTILE" into slot0:

:"TESTTILE
:real(5,0,0

LoadBGPic (TI-OS Values)

real(5,1,BGSLOT):
Ans = AppVar name (as string, no rowSwap( prefix)
BGSLOT = 0/1 bg slot (temp RAM) to load bgpic into

This function loads custom bgpic image appvars (name stored as a string in ANS) into temp RAM (slot0/1). These images are 80x60 pixels using the custom xLIB palette. These images are low resolution and can be useful for low detail backgrounds.

DisplayBGPic (TI-OS Values)

real(5,2,UPDATELCD):
Ans = AppVar name (as string, no rowSwap( prefix)
UPDATELCD = 0/1 to update LCD after drawing

This function will display a custom bgpic image appvar (name stored as a string in ANS).

To display a bgpic named "BGTEST":

:"BGTEST
:real(5,2,1

DrawPicSectionA (TI-OS Values)

real(5,3,X,Y,WIDTH,HEIGHT,BGSLOT,UPDATELCD):
X = source X in bgpic
Y = source Y in bgpic
WIDTH = width of section to draw
HEIGHT = height of section to draw
BGSLOT = source BGPIC slot 0/1
UPDATELCD = 0/1 to update LCD after drawing

This function will draw a section of a BGPIC to a specified location on the screen.

You must have loaded a BGPIC into temp RAM before using this function.

DrawPicSectionB (Uservar Values)

real(5,4,X,Y,WIDTH,HEIGHT,BGSLOT,UPDATELCD):
X = source X in bgpic
Y = source Y in bgpic
WIDTH = width of section to draw
HEIGHT = height of section to draw
BGSLOT = source BGPIC slot 0/1
UPDATELCD = 0/1 to update LCD after drawing

This function is the same as above but takes user variables as arguments instead.

LoadSingleTile(TI-OS Values)

real(5,5,TILEID):
Ans = Tile data
TILEID = id of tile to write data to (0-255)

This function will write data from a string stored in ANS to the specified TILEID in TEMPRAM.

Tile data in ANS is stored as a 'HEX encoded string' (2 bytes per pixel) where each HEX pair represents a colour index in the standard xLIB palette.

Tile data is arraged in columns and from left to right like so:

00 08 16 24 32 40 48 56
01 09 17 25 33 41 49 57
02 10 18 26 34 42 50 58
03 11 19 27 35 43 51 59
04 12 20 28 36 44 52 60
05 13 21 29 37 45 53 61
06 14 22 30 38 46 54 62
07 15 23 31 39 47 55 63

So the string in ANS would look like:

"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263

This way you can manually write tile/sprite data to TEMPRAM without the need for TILEPIC's.

Note that tiles are 8x8 pixels in size.


DisplayBGPIC32 (TIOS VALUES, DCSE8.1)

:"APPVARNAME
real(5,6,UPDATELCD
UPDATELCD = 0/1 to update LCD after drawing

This function will display a custom 32 colour 160x120 image (scaled to fullscreen) appvar (name stored as a string in ANS).

To display a bgpic named "BGTEST":

"BG32TEST
real(5,6,1