Ok, so I was going to work on learning how to use the XLib Tilemap and Scrollscreen functions, the only thing is, I don't quite know what I should do for a single room.

I was looking at the demo that comes with XLib, and noticed the tilemap scrolls within the function, and that makes me wonder what the scroll screen function is even for, is it more for transitioning maps, or just movement around 1 tilemap's screen?
Are you asking why someone would use the ScrollScreen (real(4...) function? It can be used for level transitions (like you suggested), special effects (like an EarthQuake magic spell or something like that), it can used to cleanly scroll a single map, stuff like that.
merthsoft wrote:
Are you asking why someone would use the ScrollScreen (real(4...) function? It can be used for level transitions (like you suggested), special effects (like an EarthQuake magic spell or something like that), it can used to cleanly scroll a single map, stuff like that.
Let me show you an example of real(4...) in action:

DCSBL Race

That makes sense, but does that also mean it isn't for moving the tilemap around itself too?
Correct, it only moves the screen around. All of these commands are separate things, just just draw to the screen.
merthsoft wrote:
Correct, it only moves the screen around. All of these commands are separate things, just just draw to the screen.


Thanks for the clarification. Very Happy

I will post more questions when I hit a bump(which is inevitable as I am learning these functions).
If you want to flush a row (column) out of the tilemap matrix and insert a new one, you'll have to use different matrix manipulation functions. Smile
KermMartian wrote:
If you want to flush a row (column) out of the tilemap matrix and insert a new one, you'll have to use different matrix manipulation functions. Smile


That gave me an idea though, but I need to figure out how I can explain it and it make sense. :/
Sonlen wrote:
KermMartian wrote:
If you want to flush a row (column) out of the tilemap matrix and insert a new one, you'll have to use different matrix manipulation functions. Smile


That gave me an idea though, but I need to figure out how I can explain it and it make sense. :/
Aight, we'll be waiting patiently for you to figure out what you'd like to say.
can i draw outside of the screen perimeters and then scroll into it?
calcman wrote:
can i draw outside of the screen perimeters and then scroll into it?
You cannot. What you can do, though, is draw things on the screen with xLIB without updating it, then update the LCD when you've finished drawing so everything appears at once.
so you can have a variable set so that when at a certain value draw the new stuff?
calcman wrote:
so you can have a variable set so that when at a certain value draw the new stuff?
If you take a look at the full list of xLIB, PicArc, Celtic, and Omnicalc commands that Doors CS offers, many of the drawing-related ones have a ULCD flag. When 0, they don't update the LCD. When you've drawn everything you want, you just call real(6) to update the LCD.
what function (x-lib) have a ucld flag?
calcman wrote:
what function (x-lib) have a ucld flag?
*What *functions *xLIB *ULCD. Did you bother clicking on the link in my post? Here it is again:

http://dcs.cemetech.net/index.php?title=Third-Party_BASIC_Libraries#XLib_Libraries
KermMartian wrote:
calcman wrote:
so you can have a variable set so that when at a certain value draw the new stuff?
If you take a look at the full list of xLIB, PicArc, Celtic, and Omnicalc commands that Doors CS offers, many of the drawing-related ones have a ULCD flag. When 0, they don't update the LCD. When you've drawn everything you want, you just call real(6) to update the LCD.
You can also update the screen if you update the screen while drawing things e.g. shapes.
Aye, that's when you set the ULCD flag equal to 1 instead of zero, but I think he wants the opposite, where the new screen isn't shown until he finishes drawing and adding everything to it.
I mean instead of
Code:
:real(12,........,0
:real(12,........,0
:real(12,........,0
:real(12,........,0
:real(12,........,0
:real(12,........,0
.
.
.
.
:real(6


you can use

Code:
:real(12,........,0
:real(12,........,0
:real(12,........,0
:real(12,........,0
:real(12,........,0
:real(12,........,0
.
.
.
.
:real(12,........,1


uses two bytes less! Smile
Ah, very good, an excellent point! I hope that CalcMan sees that when he returns. Smile
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement