foamy3 wrote:
KermMartian wrote:
If you were a BASIC programmer and you were writing Doors CS programs, what features would you like access to?


gCn.
Well yeah, in an ideal world, but I'd have to make it work first. Razz Also, there's issues with the OS's interrupts causing problems if allowed to run without supervision.
I personally would probably only use a menu routine, but a sprite rendering routine (on the graph) might also be useful to people.
Perhaps an extension of Text( that takes the code for the image in a similar way to the way icons are handled in DCS and maybe extra parameters that enable the mouse and have DCS pass a given name back to the basic program so it can tell what was clicked.
Kerm, here's my wishlist:

Graphical stuff:
-copy homescreen buffer to graphscreen
-on the graphscreen, "move" an arbitrary rectangle (or arbitrary length and width). It's already possible with xLib, but it takes a few too many steps atm. A built in way would be much faster.
-given a point(coordinates), a direction(u/d/l/r), and a pixel state, return the location of the first pixel in said direction that is in that state. Not only would this be incredibly handy for neater collision detection, but it could also let me write a shading routine. Speaking of which...
-a fast fill/shading routine. Throw it a coordinate, and it shades in the area. Pwease?
-Fast pixel doubling, for zooming. If possible, an approximation that allows for arbitrary zoom levels (in and out) would be AWESOME.
-rotate an arbitrary rectangular area on the graphscreen by multiples of 90 degrees.

Sort-of-graphical-stuff:
-Given a string, return it's graphscreen pixel-width count. Doing it in pure TIB is a bit too slow for respectable word-wrap on the fly.
-Return list of all already-existing PIC variables numbers. (including all of the extra xLIB Pic variables)
-Arc/Unarc PIC by number (again, including all of the extra xLIB Pic variables)

Still LIB-stuff:
-Given the position of a character in a program, return the line number of that character in the program. When using CIII, I often convert an entire program to a string and use inString to search through it... problem is that once you find a match, there's no way to find the line number you're on.
-DCS library version check, to make sure that the user is using a compatible version of DCS (I could easily see you adding lots of stuff to your lib even after releasing DCS7)
-DCS mouse routine that uses the user's cursor, DCS-setting specified acceleration, and maybe even compatibility with a physical mouse.
-send/receive prgm files.
-allow BASIC programs t0o install key-based hooks? I would love for my programs to be able to specify keyboard shortcuts... though admittedly, something like that would be easily abused.

DCS7 functionality requests:
-Search! In the DCS "homescreen", I would love to be able to just type a few characters and have DCS show me only files and folders that begin with that string.
-Omnicalc-style fast-app list applied not only to apps, but also the program list. As a person who has 160+ prgms, scrolling is a pain atm. That said...
-An optional list view in DCS would always be welcome Smile
*Kerm stretches his fingers*
rthprog wrote:
Kerm, here's my wishlist:

Graphical stuff:
-copy homescreen buffer to graphscreen
I can add this one.
Quote:
-on the graphscreen, "move" an arbitrary rectangle (or arbitrary length and width). It's already possible with xLib, but it takes a few too many steps atm. A built in way would be much faster.
The picArc libraries have a routine for this, I believe?
Quote:
-given a point(coordinates), a direction(u/d/l/r), and a pixel state, return the location of the first pixel in said direction that is in that state. Not only would this be incredibly handy for neater collision detection, but it could also let me write a shading routine. Speaking of which...
I can easily add this
Quote:
-a fast fill/shading routine. Throw it a coordinate, and it shades in the area. Pwease?
Couldn't you make one yourself if I had the previous routine?
Quote:
-Fast pixel doubling, for zooming. If possible, an approximation that allows for arbitrary zoom levels (in and out) would be AWESOME.
What would you want the arguments and functionality of that to be?
Quote:
-rotate an arbitrary rectangular area on the graphscreen by multiples of 90 degrees.
This would be a bit complex; I would have to define whether it would xor, or, or and...

Quote:
Sort-of-graphical-stuff:
-Given a string, return it's graphscreen pixel-width count. Doing it in pure TIB is a bit too slow for respectable word-wrap on the fly.
There isn't a routine in any of the existing libraries for this?
Quote:
-Return list of all already-existing PIC variables numbers. (including all of the extra xLIB Pic variables)
Cool. Do you want a list enumerating {1,4,9,15}, something like that, or {10010000,1000000,...., something like that?
Quote:
-Arc/Unarc PIC by number (again, including all of the extra xLIB Pic variables)
Really, this doesn't exist? If so, definitely.

Quote:
Still LIB-stuff:
-Given the position of a character in a program, return the line number of that character in the program. When using CIII, I often convert an entire program to a string and use inString to search through it... problem is that once you find a match, there's no way to find the line number you're on.
Sounds very doable.
Quote:
-DCS library version check, to make sure that the user is using a compatible version of DCS (I could easily see you adding lots of stuff to your lib even after releasing DCS7)
Good call, will definitely do this too.
Quote:
-DCS mouse routine that uses the user's cursor, DCS-setting specified acceleration, and maybe even compatibility with a physical mouse.
I'll definitely at least have a routine that lets you call Mouse with a start X,Y and returns X,Y, click type.
Quote:
-send/receive prgm files.
doubtful, but maybe, if other people want it.
Quote:
-allow BASIC programs t0o install key-based hooks? I would love for my programs to be able to specify keyboard shortcuts... though admittedly, something like that would be easily abused.
This one would be very tricky

Quote:
DCS7 functionality requests:
-Search! In the DCS "homescreen", I would love to be able to just type a few characters and have DCS show me only files and folders that begin with that string.
This will be an external program, if at all.
Quote:
-Omnicalc-style fast-app list applied not only to apps, but also the program list. As a person who has 160+ prgms, scrolling is a pain atm. That said...
Could you explain this more?
Quote:
-An optional list view in DCS would always be welcome Smile
Maybe for DCS 8. Smile Or someone could make it as an external program.

Thanks so much! Will others please comment on these ideas?
I second:
-word wrap
-DCS version check
-all DCS functionality requests

Quote:
Omnicalc-style fast-app list applied not only to apps, but also the program list. As a person who has 160+ prgms, scrolling is a pain atm.

Perhaps he means the same thing I am looking for with faster scrolling in DCS.
ti84p wrote:
I second:
-word wrap
-DCS version check
-all DCS functionality requests

Quote:
Omnicalc-style fast-app list applied not only to apps, but also the program list. As a person who has 160+ prgms, scrolling is a pain atm.

Perhaps he means the same thing I am looking for with faster scrolling in DCS.
Sounds good about the word wrap, that will be straightforward, same with the DCS version. What about use of the DCS GUI and AP systems? No huge interest in that?
KermMartian wrote:
ti84p wrote:
I second:
-word wrap
-DCS version check
-all DCS functionality requests

Quote:
Omnicalc-style fast-app list applied not only to apps, but also the program list. As a person who has 160+ prgms, scrolling is a pain atm.

Perhaps he means the same thing I am looking for with faster scrolling in DCS.
Sounds good about the word wrap, that will be straightforward, same with the DCS version. What about use of the DCS GUI and AP systems? No huge interest in that?

I personally only see scrollable menus being particularly useful to me, but the ability to Text( fractions would be great too.

Code:
:Text(1,1,0.5>Frac

Then again, I am relatively new to DCS, so I am used to working in plain BASIC within a single program for MirageOS compatibility, so I could probably make things much more efficient and powerful with Doors CS. Don't count me as a vote against DCS GUI and AP, I'm just not familiar enough with DCS to have use for them yet.

Edit: Archiving and unarchiving programs with the regular Archive and UnArchive commands might also be useful.
Ah, ok. Did you get a chance to look at the Doors CS wiki yet for what you can do with the Doors CS header, for example automatically unarchiving and rearchiving the subprograms of your program when necessary, without leaving the realm of pure BASIC?

http://dcs.cemetech.net/index.php?title=SDK
KermMartian wrote:
Ah, ok. Did you get a chance to look at the Doors CS wiki yet for what you can do with the Doors CS header, for example automatically unarchiving and rearchiving the subprograms of your program when necessary, without leaving the realm of pure BASIC?

http://dcs.cemetech.net/index.php?title=SDK

I've looked at it briefly. I will go though it in more detail when I begin work on my entry for the contest.
KermMartian wrote:

rthprog wrote:

-a fast fill/shading routine. Throw it a coordinate, and it shades in the area. Pwease?
Couldn't you make one yourself if I had the previous routine?

Yep.

KermMartian wrote:

rthprog wrote:
-Fast pixel doubling, for zooming. If possible, an approximation that allows for arbitrary zoom levels (in and out) would be AWESOME.
What would you want the arguments and functionality of that to be?

Perhaps given the coordinates of the upper left corner and a zoom level, overwrite the screen with a pixel doubled/tripled image of that section? Such functionality would be really handy to anyone writing an image-editor.

KermMartian wrote:

Quote:
Sort-of-graphical-stuff:
-Given a string, return it's graphscreen pixel-width count. Doing it in pure TIB is a bit too slow for respectable word-wrap on the fly.
There isn't a routine in any of the existing libraries for this?

Unfortunately, no :/

KermMartian wrote:
Quote:
-Return list of all already-existing PIC variables numbers. (including all of the extra xLIB Pic variables)
Cool. Do you want a list enumerating {1,4,9,15}, something like that, or {10010000,1000000,...., something like that?

The former would be ideal Smile YES!!!

KermMartian wrote:
Quote:
-send/receive prgm files.
doubtful, but maybe, if other people want it.
Meh, it's your call. My idea was that I could write a linking game that could check the version number of the same game on the other calculator, and update automatically if need be.

KermMartian wrote:
Quote:
-Omnicalc-style fast-app list applied not only to apps, but also the program list. As a person who has 160+ prgms, scrolling is a pain atm. That said...
Could you explain this more?
Omnicalc caches your app list so that when you go to your app catalog, it goes to Omnicalc's clone instead of TIOS' fairly slow list. As a Basic programmer, that's the extent of my understanding of this awesome feature... you should try Omnicalc's fast-app setting; it really is a life-changer Smile

KermMartian wrote:
Thanks so much! Will others please comment on these ideas?
No, thank you!!! Even if you only implemented just a few of these, you would make my life sooo much easier.
Awesome, I'll definitely take these into consideration. Smile Could you take a look at the Spec Draft 1 topic and see what your thoughts are on the list there, which is more or less taken directly from your list of suggestions?
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 2 of 2
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement