So over the last couple weeks I have been working on a small side project that will be being used in an upcoming project of Iambian's and mine. This project is a Text Subsystem that would be used in an RPG.
    Features
    * Arbitrary Bounding Box
    * 5xW Font (Borrowed with permission from DCS)
    * Customizable Corners
    * Word Wrapping
    * Character Wrapping
    * Post processing Effect (see next list)
    * Supporting Routines
    Post Processors
    * Italics
    * Mirror
    * Flip
    * Inverse
    * Underline
It comes with a host of supporting routines to make interfacing with it easier for the end coder
    Routines
    * NewLine
    * HomeUp
    * SetFulScreen
    * SetBoundsStack


The program is interfaced with 2 Main routines these are DrawBox And PutStr. PutStr Puts the null terminated string pointed to by hd inside the bounded box that has been defined. DrawBox Draws the visual Box around the Text and takes the corner style in A.

The PutStr Routine supports inline modifiers for the text output that is supplemented via a macro.
Mod(Italics,Underline,Flip,Mirror,Inverse,WordWrap) OR any combination of the settings. Which makes adding effects to strings rather easy.

Ok enough Jargon Lets put some examples and screenies Very Happy

.db "Welcome to Cemetech",CrlF,Mod(Italics,Underline),"LTTFW",0


.db "This Is right up",CrLf,Mod(Mirror,Flip),"This is not!",0


.db Mod(Inverse),"White",Mod(Clear),"Black",Mod(Inverse),"White",Mod(Clear),"Black",0.db Mod(Inverse),"White",Mod(Clear)," Black",Mod(Inverse),"White",Mod(Clear)," Black",0


Its WordWrapping is rather robust.


And it supports style changes by changing a byte in ram Very Happy


Why is there no release? Because this is just a showing of it so far I have to polish some of the code and make some changes to make it so when compiled with a DCS program you don't have to include the entire DCS font map and other things. (saves a few hundred bytes worth of data!)

So thoughts and suggestions/Things you would like to see?
This looks awesome. Now, port it to the color, and expose both in a basic library Smile
I wish I had a color to do so and it would be already in the works Razz Though it would be a complete rewrite the sheer size/color factor makes it have a ton more options for post processing :3 and other crazy things ^^
That is some awesome bit of work you've done there. What does the corners changing in the last screenshot signify?
It is just demonstrating that the routine can change its corners for, use to stylize the box with out needing separate code. For in an rpg this is nice cause you can theme boxes based on players and such to give it that little flare that imo makes a huge difference.
True enough. So is this going to be an added library for BASIC users to be able to use, or just asm'ers?


Did a little grunt work tonight then made some cool animations Very Happy

and I could make an interface for it to work with basic programs. No reason why not its just 2 simple calls really. The hardest part would be extracting the data from the string. But for now its not planned ^^
I didn't get to say yet that I think this looks superb! Keep up the excellent work on it, and I'll be following further development with interest. Are those different corner styles options that users can choose between, or a single option consisting of several frames of animation?
Different styles the user can choose from the code that picks looks like this


Code:

 ld a,(CornerType)
 call TextControl.DrawBox


And it picks the corner on the table based on whats in A
the animation is simply changing the value of CornerType every handful of frames
This looks awesome!

A basic lib would be nice.
I'm not sure what, if anything, I would use it for, but I guess a BASIC API for that would be nice. I feel like massive amounts of text are better suited for an ASM game, though.
If I were to make it a basic lib I would include a way to make it interface with some kind of compressed format to make it saner on the basic users end. But I agree the uses are limited in the basic world just due to The sheer size they take up.
  
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