Author Topic: BatLib  (Read 145630 times)

0 Members and 1 Guest are viewing this topic.

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: SpriteLib
« Reply #30 on: November 19, 2010, 10:35:27 pm »
Sounds neat!
Do you parse the int( command and make sure that it handles regular input correctly?  I'd hate to lose compatibility with most of my programs. :)

I still am amazed at how you program in hex like this, but judging from the instant almost "sleepy-subconscious" '23', it appears to work well for you. ;D

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: SpriteLib
« Reply #31 on: November 19, 2010, 10:43:36 pm »
Thankee and yes, I realised that many programs out there use int(, so I made it work on int( if there were two inputs passed. If there is only one, it executes as normal. int(3.3 returns 3 whereas, int(3,"EF4045 will clear the screen (at the moment, command 3 executes hex code so that I can use it to test new codes)

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: SpriteLib
« Reply #32 on: November 19, 2010, 10:48:58 pm »
Awesome!  This will be great! ;D

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: SpriteLib
« Reply #33 on: November 20, 2010, 07:23:35 am »
I have six commands working, but they are pretty random and don't do much yet. This is from my notes:
Code: [Select]
Getkey 0,0
PauseKey 1,0
VarEditByte 2,Type,value,offset,"name"
ASMHex 3,"opcode"
HexToken 4,"hexstring"
LoadData 5,CharStart,#Chars
I plan to change the order of the commands, so I am not going to upload it yet. Plus, I have not made the APP with the new updates yet. I made a fun little program that makes a hook identical to the one made by the app until it gets to the functions. At that point, it loads the app at 4000h and uses the calls in the app. This will let me test the code without having to make an app every time. It is better to debug in RAM rather than Flash.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: SpriteLib
« Reply #34 on: November 20, 2010, 09:56:08 am »
Nice. I like them so far. Will Getkey be direct input? And if it's the case, will any key combination be possible?

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: SpriteLib
« Reply #35 on: November 20, 2010, 12:40:32 pm »
Actually DJ, I am glad you mentioned that. I have a few getKey routines floating around on my computer and on TICalc that I plan to use for this program. One of them will let you press up to two keys and return a real result (0 to 3191) that is unique for any two key presses, one that lets you test certain key groups for up to 8 keys at a time, and one that will just tell which keys are being pressed using a 7 element list as the output. I don't know when the last one will be added because the format will have to change a little for the parser hook, but the others are ready right now.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: SpriteLib
« Reply #36 on: November 20, 2010, 10:10:35 pm »
Ah that sounds cool. One thing I didn't like too much with xLIB is that the only multiple keypresses that were supported were <^, ^>, v> and <v arrows. I don't remember about Celtic III/DCS. I think it simply added 2nd, ALPHA, v^ and <>.
« Last Edit: November 20, 2010, 10:11:35 pm by DJ Omnimaga »

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: SpriteLib
« Reply #37 on: November 21, 2010, 07:40:15 pm »
There is still a bug for some reason in the APP. I have tested all of the current commands using a program, but using the calls in the app. They all work fine, but for some reason in the App, they are messing up. I will need to go through and find the problem, but in the meantime, I added more to the program version. I will need to adjust the readme, but I after this next command (GetSprite), I will upload it. The new commands are ideas from other programs I have made:
26-BatteryLevel
27-IncContrast
28-DecContrast
29-GraphToScrn
30-ScrnToGraph
31-DispChar
32-SetContrast
33-FlagWrite
34-FlagRead
35-GetSprite
36-PicHandle
37-OutputASCII
These will be included in the App when I get to that point, too. If you have any questions about the commands, please ask. It will help me when adding them to the command list :D

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: SpriteLib
« Reply #38 on: November 21, 2010, 08:23:43 pm »
Nice, could you explain 33, 34 and 36? Also good luck with the bugs.

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: SpriteLib
« Reply #39 on: November 21, 2010, 08:39:26 pm »
Ooh, the fun ones! Okay, the calc has a bunch of things called system flags that control almost every user setting and a few internal settings. So say you are making a program that edits the users graphical settings. By using FlagEdit, you can do a few things. By sending the value 32 to flag 4, you can do AxesOff, GridOff, CoordOff, RectGC, LabelOff, Connected, and Sequential all at once for mode settings. But here is the best part: This command returns the old value in Ans. This means that you can restore your user's settings just by sending the result back through. FlagRead just gets the value of a flag.

For the flags, I will include information on how to create values and I will put together a list of my own. FlagEdit is actually a program I made when I was just starting out as a an assembly programmer :D.

PicHandle is a really nice command, too. The input is {36,Func,Pic#}.
Pic# is a number from 0 to 255 that represents the picture number. The functions are as follows:
0-RecallPic
1-StorePic
2-DeletePic
3-Unarchive
4-Archive
5-ArchUnarch (archives an unarchived pic, unarchives an archived pic)

Any number greater than 5 executes command 5.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: SpriteLib
« Reply #40 on: November 21, 2010, 08:49:50 pm »
Cool :O

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: SpriteLib
« Reply #41 on: November 22, 2010, 12:05:57 am »
Sounds awesome! ;D

5-ArchUnarch (archives an unarchived pic, unarchives an archived pic)
You may want this to be called "Toggle Archived" to avoid confusion. :)

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: SpriteLib
« Reply #42 on: November 22, 2010, 12:08:20 am »
Okay, will do. I am working on finishing up the readme at the moment. It is really tough to explain the FlagEdit functions. :( They were a program by themselves before and they required a thorough readme. I am afraid some of the functions aren't BASIC user friendly.

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: SpriteLib
« Reply #43 on: November 22, 2010, 07:11:25 pm »
Okay, it has been an hour... Here is the updated program version... sorry if the readme is a little sparse on notes for the new commands, but if you have any questions, I will try to answer them :D

What if I included BASIC ReCode in the App version....? That might be neat... :D
I don't think I will, though :(
Actually, it wouldn't be too hard...
I dunno.

next idea for SpriteLib:
MultiKeys
SpeedKeys
ShiftData
RotateData

Maybe another FontHook to choose from...?
One that uses Omnicalc Fonts, but the font can be archived...?

(by the way, SpriteLib was originally going to be an Assembly version of FontEditor until I figured out a tilemap routine. That was when I added other sprite capabilities and called it Spritelib).

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: SpriteLib
« Reply #44 on: November 23, 2010, 12:55:51 am »
Cool! Maybe you should upload it in the downloads section so it gets more hits. Omnicalc font support would be cool, if they're useable from archive. I assume that might be a bit slower, though.