Author Topic: Features Wishlist  (Read 614500 times)

0 Members and 2 Guests 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: Features Wishlist
« Reply #60 on: February 05, 2010, 04:21:18 pm »
Can you have "input" input at whereever the cursor is at, moved around with output?

------
Pictures:
I think you should have both Hex and external AppVars.  I think it would be easier like that.

If an hex code is done, I think it might be best that someone writes a binary to hex converter or something else it will be hard to add 300+ sprites in a game x.x
DJ, I wrote this a while ago.  It works for both 8*8 and 16*16 sprites.  You select what you want to do, and it will do exactly that.  It may take some trial and error, but I also have a screenie. ;D

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6265
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Features Wishlist
« Reply #61 on: February 05, 2010, 04:36:43 pm »
it could be slower unless at the start of the program it extracts the sprites to somewhere on the excess RAM and then run it from there (excess as in one of the extra pages, of course this could be limiting on newer calcs, who have way less extra ram...)
/e

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 #62 on: February 05, 2010, 05:58:49 pm »
I was thinking something along the lines of this.  I whipped it up in about an hour:

« Last Edit: February 05, 2010, 06:00:29 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Features Wishlist
« Reply #63 on: February 05, 2010, 06:07:59 pm »
To be clear I just meant the Appvar as storage to hold the sprites. When Axe compiles the program the sprite data would be copied from the Appvar to your new program. You'd only need the Appvar if you wanted to "build" the program. That way it wouldn't need to remain on calc after you complete your program. Although, If you release the source with your program, I'm sure you'd want to include the Appvar as well (so it would be buildable)

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 #64 on: February 05, 2010, 06:13:04 pm »
To be clear I just meant the Appvar as storage to hold the sprites. When Axe compiles the program the sprite data would be copied from the Appvar to your new program. You'd only need the Appvar if you wanted to "build" the program. That way it wouldn't need to remain on calc after you complete your program. Although, If you release the source with your program, I'm sure you'd want to include the Appvar as well (so it would be buildable)
Why use an appvar?  Why not just a picture file?  The picture file would be less memory and in addition to that, it is more editable.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Features Wishlist
« Reply #65 on: February 05, 2010, 08:23:55 pm »
Back on topic...

I'm going to get to the sprite stuff soon, but I don't know quite how the user will define a sprite.  I think I will offer multiple methods for different purposes, but I'm not sure what they will be exactly.

My first idea was to do something like this:
Code: [Select]
StorePic 1A
[--****--]
[-******-]
[**-**-**]
[********]
[*-****-*]
[**----**]
[-******-]
[--****--]
It looks better on the calc.  This would store a happy face into Pic1A.  The problem with this, is that it uses a lot of space in the Source file, but the advantage is that you can make the entire program without needing any external tools and it becomes very easy to make sprites.

In your original post you mentioned that using Picture files would take up alot of space, so I was trying to find an alternate workable solution. Perhaps I misunderstood and you just meant the picture files themselves were large? If that's the case, I don't mind. Picture files don't take up that much space in my opinion.  Additionally, if someone wanted to make a really large game they wouldn't have to worry about having to use hacked picture files. An Appvar can also be named whatever the user wanted. If using hacked pictures isn't a problem then picture files would be a much better solution.

Offline Geekboy1011

  • The Oneironaut
  • Donator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2031
  • Rating: +119/-2
  • Dream that Awakening dream
    • View Profile
Re: Features Wishlist
« Reply #66 on: February 05, 2010, 08:36:51 pm »
the only other reason i see y you would do as art said is that also there are only a small amount of pics and if your programming basic games as well at the time it could be hectic with remembering whats what X.x

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 #67 on: February 05, 2010, 09:43:34 pm »
Back on topic...

I'm going to get to the sprite stuff soon, but I don't know quite how the user will define a sprite.  I think I will offer multiple methods for different purposes, but I'm not sure what they will be exactly.

My first idea was to do something like this:
Code: [Select]
StorePic 1A
[--****--]
[-******-]
[**-**-**]
[********]
[*-****-*]
[**----**]
[-******-]
[--****--]
It looks better on the calc.  This would store a happy face into Pic1A.  The problem with this, is that it uses a lot of space in the Source file, but the advantage is that you can make the entire program without needing any external tools and it becomes very easy to make sprites.

In your original post you mentioned that using Picture files would take up alot of space, so I was trying to find an alternate workable solution. Perhaps I misunderstood and you just meant the picture files themselves were large? If that's the case, I don't mind. Picture files don't take up that much space in my opinion.  Additionally, if someone wanted to make a really large game they wouldn't have to worry about having to use hacked picture files. An Appvar can also be named whatever the user wanted. If using hacked pictures isn't a problem then picture files would be a much better solution.

What I was referring to is drawing pictures in the program like you quoted.  "Pic1A" is just a name, not a picture file.  If you literally type out the 1s and 0s (or in this case, hyphens and asterisks) to make a sprite, that takes up about 10x more space than it needs to in the source.  But also, if you only have lets say ten 8x8 sprites in the game, and you store them in Pic1, then you are wasting 90% of that picture since you're not using all of it.  Also, if you include the size of the picture and the size of the source code needed to tell the calculator which part of the picture to use, then it really comes out to about the same memory usage as pure Hex code.

Edit: Actually, I take that back, you can archive the pictures.  But its still not that much more memory efficient than Hex.

BTW, is everyone aware that all the user variables: Labels, Strings, Sprites, Pictures, etc. all have 2 byte names similar to labels?  You are not limited to Str0-Str9, you actually have Str00-Str9Z, which is 370 strings total.  Same with sprites and everything else.
« Last Edit: February 05, 2010, 09:46:17 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #68 on: February 06, 2010, 01:25:15 am »
mhmm nice to know ^^
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Features Wishlist
« Reply #69 on: February 06, 2010, 08:05:35 am »
Ok, I see what you mean now. I think I'd prefer reading sprites from a Picture file, but hex sprites wouldn't be too bad either.

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6265
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Features Wishlist
« Reply #70 on: February 06, 2010, 12:48:47 pm »
I would like to have the option for both...and what about tokenized hex? That would decrease the size by half. Could you have like an option field so the user can enter where it wants it to grab the sprite from? And for hex, can it be from labels or something? That would be nicer for when you call the sprite more then once to cut down on source code size.
/e

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: Features Wishlist
« Reply #71 on: February 06, 2010, 01:48:41 pm »
This sounds really nice!
I think I'd write best in hex (My Preference). :D

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6265
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Features Wishlist
« Reply #72 on: February 06, 2010, 02:09:18 pm »
Yeah I'd prefer hex (unless I have a large amount of sprites) but with hex I'd rather have support for tokenized hex so I can save room. Tokenizimg hex is as putting the hex into a program doing the asmprog() on it, and then unlocking the program. Either that or justuse Celtic III's hex to bin function.
/e

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 #73 on: February 06, 2010, 02:24:29 pm »
Hmmm, id rather not have tokenised hex, as then you would have to rely on other assembly programs besides Axe, and i think that would kind of defeat the purpose a little.  I personally would like either Pics or Pure Binary as the picture format storage, as they are the easiest to view and edit, a must while working on games.  Pics would be used when you have large ammounts of sprite data, and could be archived if needed.  And Binary would be used when you have a small amount of sprites or just want to play around a but.  And then when compiling the program, the pics/binary would be stored into the program itself so that there is no need for any pics/appvars to run your program.

Offline Galandros

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1140
  • Rating: +42/-10
    • View Profile
Re: Features Wishlist
« Reply #74 on: February 06, 2010, 02:44:54 pm »
Base64 ftw. Kidding. ^^"

There are many ways to do the sprites storage...
I prefer a Appvar to store the sprites (and other data) in raw data (binary). Appvars can be any size we need, are compact and fast because we will store raw data. (this reminds CelticIII features...)
The only cost is we need some extra coding to edit the sprites and store to appsvars but it is definitely worth it.
Or just put it into the program file in the end after an special token with something like Data...
« Last Edit: February 06, 2010, 02:46:12 pm by Galandros »
Hobbing in calculator projects.