Author Topic: BatLib Ideas/Wishlist  (Read 57882 times)

0 Members and 1 Guest are viewing this topic.

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
BatLib Ideas/Wishlist
« on: January 23, 2011, 04:08:03 pm »
I decided to start this because I noticed a comment from way back in the beginning from DJ Omnimaga that I never really answered/noticed:
Sounds interesting. I wonder what kind of sprite stuff you plan to add. I think you should go with some features that other APPs like xLIB doesn't have, because xLIB, Celtic III and Doors CS 7 already do a lot of stuff and if your library only does a small portion of what those apps do, those apps kinda obsoletes your lib, while if you add even more stuff, people might see your lib as an alternative. I think that it would be cool if you added sprite masking, grayscale (using two sprites like in Axe and everytime you use a certain command, the checkered pattern is inverted).

It would also be nice if you had a tilemap feature that displayed maps which has their map data stored inside pics and allow pixel-testing from pic data. In Illusiat 6, 7 and 9 through 12, all map data is stored inside pics, but I am forced to recall the pic on the graph screen to pxl-test it.
-I am not sure that I will be able to get gray scale working because the app only has control when the sum( command is used.
-Sprite masking is definitely something I can do.
-I can also try to create a tilemap routine that reads tile data from pictures, however, I only plan to let it use one picture at a time.
-That pxl-test idea is a really neat idea that I think I want to implement. In fact, I think I want to make a command that lets you draw in pictures, too, not just the screen. Pretty much, I want to extend all of the drawing routines in BatLib to be able to use a picture file instead of the graph screen.

Thanks DJ!

So, if anybody has any ideas, please feel free to post. I may not be able to add it now, but I couldn't add DJ's features, before. Now, a few months later, I have the skill required.
EDIT: Wow, it looks like I missed even more!
Suggestion for a feature: Extend the Delvar command so it can also delete archived variables, pictures, lists, matrices and strings. Also do you have a command that checks if a list already exists?
Sheesh, I wish I would have payed attention. Um, I can add those without a problem. In fact, it would be pretty easy.
To determine if a list exists or not, using command 41 returns ".BAD NAME" in Ans if the var doesn't exist. This doesn't work with named lists, yet, so I will need to modify that, but it works with lists like L1. (Actually, you can get it to work, but the process is slightly complicated).
Deleting a var will be fairly easy.

Offline Hot_Dog

  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: Ideas-BatLib
« Reply #1 on: January 24, 2011, 09:52:46 am »
Wow, I'd better finish Correlation fast, or we'll have two programs out at the same time with duplicate features :D

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Ideas-BatLib
« Reply #2 on: January 24, 2011, 11:26:56 am »
Alternate base arithmetic and other mathematical operations would be nice for a BASIC app.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

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: Ideas-BatLib
« Reply #3 on: January 24, 2011, 11:41:24 am »
Sounds good Qwerty! That is where the multiprecision stuff is going. I am using it to handle very large numbers. That command that converts a hex string to another base is still the beta form, but as you can see, it can convert large numbers (it converted a 248-bit number to decimal and other bases). I plan to extend that to other math operations (I am working on the multiplying routine at the moment) so that users can make use of much larger numbers than the OS can normally handle.

@Hot_Dog- The APPs might have duplicate features, but that just means the end user won't need multiple apps to run programs which is what actually started this program. I was using Celtic 3 and Omnicalc so that I could use and edit fonts. BatLib was once a BASIC program called FONTEDIT that I made long before I learned Assembly :D Naturally, when I started learning assembly, I first took away the need for one of the APPS so that the user didn't need two apps to run simple programs. Now I am just adding a bunch of features I wanted from a long time ago :D

Also, I have been working on more sprite routines, so the syntax of some sprite commands may change (to account for things like masking, rotating, and flipping).

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Ideas-BatLib
« Reply #4 on: January 25, 2011, 02:17:05 am »
I wonder if chaining between both apps could be possible?

Offline Hot_Dog

  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: Ideas-BatLib
« Reply #5 on: January 25, 2011, 04:47:56 am »
I wonder if chaining between both apps could be possible?

Whatever happens, DJ, this is another example of something that one can use WITH Correlation simply by turning Correlation on and off.

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: Ideas-BatLib
« Reply #6 on: January 25, 2011, 08:12:30 am »
At the moment, BatLib can chain with any other parser hook, however, if another APP uses the same RAM, then there will be problems. I recently found that Axe does not work well with BatLib, so I am going to adjust some RAM locations. Also, I have the Delvar command made and I have the Picture drawing finished, so I think I will make an update soon...

Edit: I have to fix the pixel test function for command 56 and 62, but once I find the error, I will make a release... The new functions are:
60-DelVarArc
     Deletes a variable whether in archive or RAM
61-DrawRectVar
     Draws a rectangle (using the same syntax as command 29-Rectangle), but draws to the variable, not the graph. So if you use sum(61,"Pic1",0,48,0,32,2 you would invert the upper left quarter of Pic1
62-DrawToVar
     Uses the same drawing functions as command (56-Draw) to draw directly to a variable.

Note that the last two were aimed at drawing to pictures, but other vars can be used, too. However, when drawing to a named variable, the variable type MUST be included before the name.

I also recently found a bug in command 41 that doesn't seem to like archived variables (it crashes when used on an archived variable, usually).

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Ideas-BatLib
« Reply #7 on: January 26, 2011, 02:05:07 am »
I wonder if chaining between both apps could be possible?

Whatever happens, DJ, this is another example of something that one can use WITH Correlation simply by turning Correlation on and off.
Oh wait, I always forgot about that part. I love how it can do this, since it lets us use whatever app we want besides Correlation. :D

By the way will fonts be useable inside Axe programs too? (Not that there would be much point due to faster graph screen routines but some people may like to use special fonts for menus and stuff.

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: Ideas-BatLib
« Reply #8 on: January 26, 2011, 08:58:29 am »
If that is directed at me, my font hooks only modify the large font (at the moment), but they will still be in affect while an axe program is running. However, Axe and BatLib don't seem to get along well at the moment, so as soon as Axe is ran, exiting it will crash the calc (it uses one or multiple of the same spots in RAM as BatLib).

However, disabling BatLib hooks by doing sum(0,50,51will let you safely use Axe. Then, you can compile your programs and reactivate BatLib so that you can use the font hooks :)

Also, the main menu in BatLib is not finished, but in the readme I explain what I intend for it to do. It is going to be a hook manager, hopefully, that lets you install, uninstall, chain, or change the priority level of hooks.

Gah, I have to work on that menu system...

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Ideas-BatLib
« Reply #9 on: January 29, 2011, 02:00:39 am »
COol to hear it's possible to disable it. Also will the fonts work on the graph screen too? I ask since it's possible to use large fonts there too (Text(-1,Y,X,<text>) instead of Text(Y,X,<text>))

Good job so far :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: Ideas-BatLib
« Reply #10 on: January 29, 2011, 02:01:42 am »
Hmm, I could add hooks for that, yes, but it isn't added yet.

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Ideas-BatLib
« Reply #11 on: February 02, 2011, 05:09:16 pm »
Idea: Do you already have comments?

Not sure if it can be done, but all lines starting with // (for example) would be comments and not compiled.

Once again, not sure if this is 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: Ideas-BatLib
« Reply #12 on: February 02, 2011, 05:14:10 pm »
Ahh, this isn't a programming language, it is like Celtic 3. This just modifies the regular OS command "dim("

However, when I do get back to work on command 40 (BASIC ReCode), it uses "." as the start of a comment... BASIC ReCode is a programming language, but I am pretty sure it doesn't work anymore.

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Ideas-BatLib
« Reply #13 on: February 02, 2011, 05:16:08 pm »
Totally awesome idea: on-calc objected Oriented language compiler that has the functions of C and the ease of Python  :w00t:

EDIT: Forgot to request the Assembler/disassembler package too :P
« Last Edit: February 02, 2011, 05:16:40 pm by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

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: Ideas-BatLib
« Reply #14 on: February 02, 2011, 05:26:30 pm »
I do plan to add assembly mnemonic support in BASIC ReCode.