Join us on Discord!
You can help CodeWalrus stay online by donating here.

RTEXT - RPG Textbox Tool for TI-BASIC

Started by GuyInFreezer, January 31, 2019, 09:14:31 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

GuyInFreezer

I forgot how to tag. This is my very first assembly program that I worked on. Huge props on Zeda and Runer for helping me out in times of need (which is, I proudly say, a lot).


What does this program do?

This program generates the textbox that can be easily seen in RPG games.

What is this program capable of?

This program can make a textbox with location and size you provide, as long as you meet the criteria (96 x 64 pixels. That's how big your calculator screen is).

The text will auto-advance to the next line and even next page if your text goes over the box. (Default is [2nd] for next page) Nifty, eh?

But that's not all! You can also make the text advance twice as fast by holding a designated key! (Default is [ALPHA] key.)

Finally, during any time, you can press [ON] to force-quit the program.


How do I use it?

First, this program requires your text to be stored in Str1. It will accept any letters (even lowercase if you can type it) or tokens (such as sin( ).

There are exceptions, however. This program won't display the following tokens: E,-1, 2 , o, and r. The reason is because they allow this program to do special things if you include them in your text.

  • E: set the text delay to normal.
  • -1: set the text delay to 2x (This means slower. More delay = slower text).
  • 2: set the text delay to 4x.
  • o: Force next line.
  • r: Force next page.

After you store your string, you can execute the program by running this:

{x_loc, y_loc, width, height:Asm(prgmRTEXT

x_loc and y_loc is where the top left boundary of your textbox will be.
width and height are, well, width and height of your textbox.

So if you want the textbox to fill up the whole screen, you'll do:

{0,0,96,64:Asm(prgmRTEXT

If you want more control over which key does which, you can also do this:

{x_loc, y_loc, width, height, NextPageKey, SkipKey:Asm(prgmRTEXT

As default, the NextPageKey will be [2nd] and SkipKey will be [ALPHA].

IMPORTANT!!!
The NextPageKey and SkipKey used does NOT take the value from TI-BASIC getKey!
It uses the keyvalue that Axe or Grammer uses.

Use the values from the second image of this webpage instead.
http://tibasicdev.wikidot.com/key-codes

**WARNING**
Do NOT, I repeat, do NOT use 41 ([ON]) in any of the keys! If you do and something happens to your calculator, I am not responsible.

Powered by EzPortal