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

0 Members and 2 Guests are viewing this topic.

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 #30 on: February 06, 2011, 03:16:45 am »
Oh ok, that can work I guess. :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 #31 on: February 06, 2011, 10:45:06 am »
Either way, I think I've got ya covered DJ ^-^ I added the ability to use pictures to store tiles (like with xLIB) and the speed won't be a problem as it converts everything all at once.

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 #32 on: February 07, 2011, 03:16:32 pm »
Awesome! This will be handy for many people. :D

So basically, Batlib will be more an hybrid of math/game-oriented functions, like Omnicalc, while xLIB, Celtic III and DCS are more game-oriented, right?

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 #33 on: February 08, 2011, 01:08:15 am »
Hopefully, yes :D As a note about the math, I have pretty much been gone all day, but I did make a code to handle large multiplication operations.

Offline program4

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 158
  • Rating: +15/-0
    • View Profile
Re: Ideas-BatLib
« Reply #34 on: February 08, 2011, 08:04:23 pm »
That's nice  :D

Since BatLib is also math-oriented, will you add specific math functions (like the gamma function)? Also, if there isn't such a command already, a possible addition would be to convert a number to a string (the opposite of the expr( command).

I love how this library helps not just game programmers, but just about any TI-BASIC programmer!

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 #35 on: February 08, 2011, 08:46:17 pm »
Thanks ^-^
And actually, now that you mention it... I do have some code lying around from way back when to convert a number to a string... I'll add that real quick before I forget!

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 #36 on: February 28, 2011, 01:04:04 pm »
At the moment, I have added 3 commands not in the newest released version:
70-PlayNote
71-Logic
72-MatrixList

And I plan to add these ones soon:
73-SearchStr: similar to inString(, but meant for use with the next few
74-left: gets the left part of a string (byte offset)
75-right: gets the right part of a string (byte offset)
76-mid: gets a portion of a string (byte offsets)
77-diag: gets a diagonal from a matrix (1,1)
78-diagI: gets a diagonal from a matrix (1,n)
79-subRow: Grabs a portion of a row of a matrix
80-subCol: Grabs a portion of a column of a matrix
81-ListToRow: copies a list to a Row in a matrix
82-ListToCol: copies a list to a Column in a matrix

With that in mind, if anybody has any similar ideas, feel free to let me know :D I am going to be gone for most of the day, but I will be back later tonight.
EDIT: Here is a glimpse at the syntax I am aiming for:
Spoiler For Spoiler:

*I want to make it so that the string/matrix can either be a name or the data itself. So if you want to get the right part of Str6, you enter 5, but if you want the right part of "HELLO" you input "HELLO" instead. Just some extra features that can be memory savers :D Again, this is what I plan to do, I don't know if I will be able to, immediately.

SearchStr   dim(73,"String"|Str,offset,"Search"
left        dim(74,"String"|Str,offset
right       dim(75,"String"|Str,offset
mid         dim(76,"String"|Str,offset,NumBytes
diag        dim(77,[matrix]|Matr,Col,Row,NumElem
diagI       dim(78,[matrix]|Matr,Col,Row,NumElem
subRow      dim(79,[matrix]|Matr,Col,Row,NumElem
subCol      dim(80,[matrix]|Matr,Col,Row,NumElem
ListToRow   dim(81,[matrix]|Matr,Col,Row,{List}|List
ListToCol   dim(82,[matrix]|Matr,Col,Row,{List}|List

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 #37 on: March 02, 2011, 04:33:27 am »
Darn how many commands are you planning for the final release? O.O

Also I wonder if the more commands, the slower it is? You might want to check that.

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 #38 on: March 02, 2011, 11:38:16 am »
No, it doesn't slow anything down with more commands ^-^
I plan to keep adding to it as much as I can, but it is looking like by the end of this there will be over 100 commands. I plan to add a few other features when I get time that lets you use dim( the normal way on lists and matrices even if they are archived, too. I have been a little busy, lately, trying to get my GPA up, so I might not have time to program for a little while (meaning a week or two) :(

EDIT: Okay, I just checked... the average command uses 34.5 bytes of code (the bulk of the app is comprised of calls and a bitmap) so at this rate, I have enough room for 236 more commands :D
I will probably be adding more complicated things for future commands, though, that use a large chunk of memory. When I added the 12 rectangle routines, I used almost 700 bytes of code.

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 #39 on: March 03, 2011, 04:53:07 am »
Good to hear. I was worried it had a lot more stuff to check with more commands. In BASIC, with 100 ifs in a row, it starts getting slow. :P

And sorry to hear about your GPA, I hope it goes well.

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Ideas-BatLib
« Reply #40 on: March 03, 2011, 08:02:44 am »
@Xeda: Wow, that is gonna be feature packed! Awesome! Oh, and yes. Grades before programming. :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 #41 on: March 13, 2011, 02:09:49 pm »
So I have made good on what I wanted to add (not the search function, yet), plus I added more, so I feel good about that. For now, I have been working on BASIC ReCode for the past few days and I think I will be working with that some more. Between ReCode and the dim( commnads, BatLib contains 135 commands (92 dim( commands and 43 ReCode functions). It is far enough along that games can be made with it, but it still has a lot more that I can add. For now, I want to add:
-Sprite routines using Pt-On(, Pt-Off(, and Pt-Change(
-I need to fix up the While loop to allow for End statements inside it
-I want to add string variable support
-I should add support for recalling and storing to pictures
-I should add support for modifying variables like programs.

As a note, I was thinking of adding the command Get( to act as another command subset... so something like Get(Line(EBLOCKEAT,2 could return a pointer to the second line of code in the program BLOCKEAT while Get(Shade( could return the current contrast level.

If anybody has ideas for ReCode commands, feel free to mention them!

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 Wishlist
« Reply #42 on: April 01, 2011, 08:47:42 am »
Y'all may have noticed that I haven't made any updates in a long while (meaning a few weeks), but I'm mostly just burnt out at the moment. I've been doing a bunch of math, lately, and very little programming. I should definitely start making a wishlist of things to add because eventually I will get programming fever again and who knows, I might wan crazy ideas :D
So if anybody has made a request I haven't implemented or you have any ideas, feel free to post here. They can be ideas for the regular BatLib commands or for ReCode and they can be simple or crazy. I am not saying they will appear in BatLib, but who knows?
So my wishlist, currently:
-PopUp Menu
-Hook chaining/handling
-new Tilemap routines

Anybody else got anything?

Offline mrmprog

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 559
  • Rating: +35/-1
    • View Profile
Re: BatLib Wishlist
« Reply #43 on: April 05, 2011, 08:10:57 pm »
Normal:Find and replace routine for editing programs.
Crazy:Key hook system that will link key combinations to programs. For example, you could press on and clear to execute <program name>.

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: BatLib Wishlist
« Reply #44 on: April 05, 2011, 08:12:12 pm »
Crazy actually sounds easier than Normal O.O