Author Topic: Features Wishlist  (Read 692560 times)

0 Members and 1 Guest are viewing this topic.

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Features Wishlist
« Reply #2925 on: January 03, 2012, 02:00:17 am »
I see, so its mostly default options that this affects.  While I disagree that those settings are intuitive defaults in the example tilemapper, I can definitely see situations where it could be useful to provide default settings for options that rarely need changing.  There are several ways to do this:

  • A specific ifdef command
  • A isDefined() command
  • A "Define if undefined" command

I'm guessing the last one would be most convenient for programmers since it's targeted at default values.  One idea for the syntax could be a double store arrow such as 8→→oVar to mean "If Var is not already defined make it 8.  But if it was defined, keep it as it was".
« Last Edit: January 03, 2012, 02:00:45 am by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Freyaday

  • The One And Only Serial Time Killing Catboy-Capoeirista-Ballerino
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1970
  • Rating: +128/-15
  • I put on my robe and pixel hat...
    • View Profile
Re: Features Wishlist
« Reply #2926 on: January 03, 2012, 08:42:06 am »
I see, so its mostly default options that this affects.  While I disagree that those settings are intuitive defaults in the example tilemapper, I can definitely see situations where it could be useful to provide default settings for options that rarely need changing.  There are several ways to do this:

  • A specific ifdef command
  • A isDefined() command
  • A "Define if undefined" command

I'm guessing the last one would be most convenient for programmers since it's targeted at default values.  One idea for the syntax could be a double store arrow such as 8→→oVar to mean "If Var is not already defined make it 8.  But if it was defined, keep it as it was".
I like the doubled store command syntax. I suppose I can make it work. Although, expect me to abuse this thing as much as I can. It's a game I play.
« Last Edit: January 03, 2012, 08:42:21 am by Freyaday »
In other news, Frey continues kicking unprecedented levels of ass.
Proud member of LF#N--Lolis For #9678B6 Names


I'm a performer at heart; I stole it last week.
My Artwork!

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #2927 on: January 03, 2012, 10:39:12 am »
I think that any of those options would be great. I had suggested an ifdef-like command because it seemed easier to just base my suggestion on an existing assermbler directive, but any of those options would serve the purpose. The first two would be more general and flexible, but maybe the third would actually be better with its more specific and smaller syntax.

Now, all Axe libraries need are conditional inclusion of routines based on whether or not they are actually used, like real routines and Axiom commands, and they'll be fully awesome. ;D
« Last Edit: January 03, 2012, 10:40:08 am by Runer112 »

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #2928 on: January 10, 2012, 09:16:59 pm »
How about the ability to use Pt-Mask()r with arbitrary buffers? Unlike Pt-Mask(), it only uses one buffer which is only referenced once, so arbitrary buffer support would be just as easy as with the three basic sprite drawing commands.

Also, the command list description for Pt-Mask()r should probably be changed a bit. The sprite argument isn't a "grayscale sprite" like with Pt-Mask().

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Features Wishlist
« Reply #2929 on: January 11, 2012, 06:07:10 pm »
Excellent idea!  Also, I need to finalize the list of hijack-able routines soon to make the framework more stable so if you have suggestions for similar features in other routines, now would be a good time :)
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Freyaday

  • The One And Only Serial Time Killing Catboy-Capoeirista-Ballerino
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1970
  • Rating: +128/-15
  • I put on my robe and pixel hat...
    • View Profile
Re: Features Wishlist
« Reply #2930 on: January 11, 2012, 09:49:13 pm »
Circle()?
In other news, Frey continues kicking unprecedented levels of ass.
Proud member of LF#N--Lolis For #9678B6 Names


I'm a performer at heart; I stole it last week.
My Artwork!

Offline C0deH4cker

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 258
  • Rating: +11/-1
    • View Profile
    • iNinjas Forum/Repo
Re: Features Wishlist
« Reply #2931 on: January 12, 2012, 02:26:05 pm »
Token<->string conversion would be nice.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #2932 on: January 20, 2012, 11:31:14 am »
A long time ago, the ability to enter inline data was added, so you could do things like Pt-On(X,Y,[FFFFFFFFFFFFFFFF]). This is quite useful. However, inline data cannot be the operand of any math operations, like Text A+[0606060600]. Could this ability be added? I realize that you can perform math on inline data by putting the inline data first or in parentheses, but both of those are less optimized and look a bit less clean.
« Last Edit: January 20, 2012, 11:33:03 am by Runer112 »

Offline C0deH4cker

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 258
  • Rating: +11/-1
    • View Profile
    • iNinjas Forum/Repo
Re: Features Wishlist
« Reply #2933 on: January 23, 2012, 05:29:02 pm »
the Pt-On() with the inline data works because whenever you use a data command (such as "", [], or Data() ), the command returns a pointer. The Pt-On() command's third argument accepts a pointer, so that is why it works.  However, when you say A+[XXXX]->A, all youre doing is adding the pointer to the data to A. You could do this: {[06A9]+1}->A, which would store $A9 to A.

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Features Wishlist
« Reply #2934 on: January 23, 2012, 05:41:14 pm »
Codehacker, Runer knows the difference between pointers and their data, he is remarking upon the fact that A+[XXXX]->A returns an Invalid Token error. ;)

Offline Thundermagnet

  • LV3 Member (Next: 100)
  • ***
  • Posts: 69
  • Rating: +9/-0
  • Thundermagnet Productions
    • View Profile
Re: Features Wishlist
« Reply #2935 on: January 23, 2012, 06:02:50 pm »
I actually do not know if this exists in Axe, but in BASIC, "line(X1,Y1,X2,Y2,0)" turns off a line.  Notice the zero.
This would be most helpful in my newest creation, Dodge2.
« Last Edit: January 23, 2012, 06:03:19 pm by Thundermagnet »
Look me up on iTunes!  =D

Offline C0deH4cker

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 258
  • Rating: +11/-1
    • View Profile
    • iNinjas Forum/Repo
Re: Features Wishlist
« Reply #2936 on: January 23, 2012, 06:19:13 pm »
Codehacker, Runer knows the difference between pointers and their data, he is remarking upon the fact that A+[XXXX]->A returns an Invalid Token error. ;)

Right. I just realized who it was that posted that. And i know that he knows more about Axe than almost anybody else.

* C0deH4cker feels stupid right now.
« Last Edit: January 23, 2012, 06:19:23 pm by C0deH4cker »

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Features Wishlist
« Reply #2937 on: January 24, 2012, 02:09:45 pm »
I actually do not know if this exists in Axe, but in BASIC, "" turns off a line.  Notice the zero.
This would be most helpful in my newest creation, Dodge2.
A slow way to do this is
   DrawInv
   Line(X1,Y1,X2,Y2)
   DrawInv
But it is quite slow :(
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline parserp

  • Hero Extraordinaire
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1455
  • Rating: +88/-7
  • The King Has Returned
    • View Profile
Re: Features Wishlist
« Reply #2938 on: January 24, 2012, 04:44:08 pm »
I actually do not know if this exists in Axe, but in BASIC, "" turns off a line.  Notice the zero.
This would be most helpful in my newest creation, Dodge2.
A slow way to do this is
   DrawInv
   Line(X1,Y1,X2,Y2)
   DrawInv
But it is quite slow :(
well, that is a inverted line, not a 'turn off a line'. ;)


EDIT: wait, nope. my bad. :P
« Last Edit: January 24, 2012, 04:48:28 pm by parser padwan »

Offline thydowulays

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 184
  • Rating: +12/-1
  • Don't gimme dat lip
    • View Profile
    • Thy Gaming Forum
Re: Features Wishlist
« Reply #2939 on: January 24, 2012, 04:52:31 pm »
I actually do not know if this exists in Axe, but in BASIC, "line(X1,Y1,X2,Y2,0)" turns off a line.  Notice the zero.
This would be most helpful in my newest creation, Dodge2.

Thundermagnet, for what you're doing there is actually a pretty simple way to do it. As you may know, when a line goes off the screen, it disappears. So basically if you wanted a line to "turn off" all you would have to do is this: Line(X,X,X,100). Doing so will make the line disappear, and all you have to do is, to get it back, just change the 100, to a variable or a number below 96. Hope it helped!
Current Projects:
-Sparta GUI Library: 25% - Alpha Stage
-Grapher - 75% - Beta Stage *on hiatus