0 Members and 5 Guests are viewing this topic.
In other news, Frey continues kicking unprecedented levels of ass.
"This is"[01]"text data"->Str1Run loop for length of Str1Keep track of the "current character"If current character is displayable (>32) display it. Then advance the cursor over by 1. If you're at the end of the line newline and reset cursor XElseIf character=1do stuffEndDispGraphEnd
I have no Idea what's making it so big. I don't think it's the fact that each line of text has to go all the way to the edge of the screen, because when I changed the program to use the graphscreen instead of the homescreen, it got almost 2kB larger. I only have Axe 0.4.7, so there's no built in string equality check, which is what's flummoxing me on the text parser. I did figure out a way to chop up the input though: loop through the input and change every space into a null, that way Axe sees a bunch of separate strings to check instead of one long one.
sub(CS,"HEY","HELLO
"HEY"->Str1If sub(CS,"HEY",Str1.This will be executed since "HEY" == "HEY"End
Text tends to end up pretty large quick so that might explain it. In Illusiat 13, I think 30% of the code is just text.
Here's the ASM of what I have of Asylum so far. It's meant to be run on a ~15Mhz calc, btw, and up/down to move the cursor (it's the one that's blinking) and Enter to select/continue. If you wind up back at the beginning screen of inverse text, that means you've fallen comatose again and have to start over. The solution? Choose a different option next time. Also, there is no way to exit the game other than to reach the current end of the story, so if you wanna quit before reaching the end of the game, you're gonna have to do a battery pull. I'm still working on that. Note: Meant to be scary, with the odd dash of humor in it.