Author Topic: Implicit: Graphic Engineer  (Read 11424 times)

0 Members and 3 Guests are viewing this topic.

Offline nitacku

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 300
  • Rating: +30/-1
  • ni-ta-ku ^_^
    • View Profile
Implicit: Graphic Engineer
« on: October 06, 2007, 04:18:00 am »
Implicit: Graphic Engineer

Alright, I have uploaded the newest version finally :)smile.gif
I still don't have the readme complete, but Implicit is finished.
Now maybe I'll see about making it into an app.


[old]
K, so try out this version of Implicit.
It should fix all the bugs.
Also, it uses way less ram since everything is kept archived.

As always, you can create your own modules to use with Implicit.
Just follow the directions in the readme.
[/old]

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
Implicit: Graphic Engineer
« Reply #1 on: October 06, 2007, 12:18:00 pm »
Nice to see you back posting updates ^^

I've tried, thank you a lot for specifying which programs that arent modules to archive this time because in the last readme it didn't x.x so now I have enough RAM to run it :)smile.gif, but I noticed a bug when pressing CLEAR in the sprite editor it gives ERR:LABEL x.x

Is the map editor module coming along pretty well btw? I noticed it wasn't included in the current release

Offline nitacku

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 300
  • Rating: +30/-1
  • ni-ta-ku ^_^
    • View Profile
Implicit: Graphic Engineer
« Reply #2 on: October 06, 2007, 01:56:00 pm »
That's because I forget to update the programs to use prgmRET instead of Lbl Q :Ptongue.gif

In my next release everything will be finished, including the map editor.
So if anyone has any suggestions/requests/ideas/demands, please share them so that I may program them into the editor.

If anyone would like a feature that is not being implemented, such as text sprites or animation (I just gave myself an awesome idea %)rolleyes2.gif ), I will program it and include it in Implicit as a module. (That's the beauty of the modules. Adding things is simple)

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
Implicit: Graphic Engineer
« Reply #3 on: October 06, 2007, 02:52:00 pm »
Suggestion: Allow the user to view the grayscale real time by pressing a key, to see how it really look. Have  a smaller preview as well tho.

Also include xLIB in your next release

You could also make an editor for text based maps with dual layer text support (like Metroid Pi and Zoith), and allow people to save their favourite char combinations ^^

Offline Halifax

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1334
  • Rating: +2/-1
    • View Profile
    • TI-Freakware
Implicit: Graphic Engineer
« Reply #4 on: October 06, 2007, 04:16:00 pm »
Hmmm, you think you could make updates in the latest posts, instead of editing the topic post please? That would help.
There are 10 types of people in this world-- those that can read binary, and those that can't.

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
Implicit: Graphic Engineer
« Reply #5 on: October 06, 2007, 04:51:00 pm »
uhm halifax i think you're replying to wrong topic x.x it seems like you wanted to post in AOCII thread not Implicit since he didnt edited his first post

Offline bfr

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 819
  • Rating: +4/-0
    • View Profile
    • bfr's website
Implicit: Graphic Engineer
« Reply #6 on: October 06, 2007, 05:14:00 pm »
This looks pretty cool - I just downloaded it.  :)smile.gif  Now to find my TI-84+ SE....

Offline Halifax

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1334
  • Rating: +2/-1
    • View Profile
    • TI-Freakware
Implicit: Graphic Engineer
« Reply #7 on: October 06, 2007, 08:39:00 pm »
Really, it looks like he did. Oh, I am sorry then.
There are 10 types of people in this world-- those that can read binary, and those that can't.

Offline dinhotheone

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 410
  • Rating: +2/-1
    • View Profile
Implicit: Graphic Engineer
« Reply #8 on: October 11, 2007, 12:29:00 pm »
this is a really cool engine, i have a question though. whats going on in the gscale section??? i press like delete and it does some wierd crap then i press alpha and my stuff disapeers and mode does something too i think, can you explain it here or in the readme because i am confused.

one thing you could add
(probably already are) is an are you sure when exiting instead of an error msg. the error msg is nice and i can see where you were going with it but i think there are more important things (jk btw but not about the are you sure) also another place where this would be handy is pasting stuff. i kept accidentally pasting over my spot one sprite when i pressed paste it immediately jumped to paster and pasted it right there.

also i think that you have everything you really need in your engine, also, the size is managable which is great. i think any other additions should be modular, (text sprites for example) which will keep the size the same.

Offline nitacku

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 300
  • Rating: +30/-1
  • ni-ta-ku ^_^
    • View Profile
Implicit: Graphic Engineer
« Reply #9 on: October 11, 2007, 04:53:00 pm »
Alright, let's see if I can explain the buttons.

In order to create grayscale sprites, two layers must be used. One layer will get displayed while the other layer is quickly XOR'd over the stationary layer . What you get is pixels that rapidly get turned on and off, generating a grayscale effect.

ALPHA:
When you open the editor, by default the active layer is the layer that will remain stationary, not XOR'd. To switch to the other layer (the XOR'd layer) simply press ALPHA.

MODE: (Before you read this section, keep in mind that DEL will do the process for you. You'll see what I mean.)
When creating grayscale sprites, it is necessary to design the layers in such a way that the XOR'd layer will not cause the rendered sprite to flicker. In order to do this, there should be an alternating pattern of off/on pixels (a checkered pattern) in the stationary layer in relation to the XOR'd layer. (Now I know this doesn't make any sense, but maybe I'll create a picture tutorial to explain better.) Anyways, pressing MODE simply merges the two layers together into one view so that you can see how the two layers will effect each other. Pressing MODE does not modify the layer in any way, it is only a tool to make creating grayscale easier.

DEL:
So now that you know what you have to do in order to create grayscale, wouldn't it be nice if the editor could do the checkered pattern work for you? This what DEL is for. Simply turn the pixels on in the XOR'd layer that you want to appear gray in the rendered sprite. Press DEL, and the editor will do the rest. What actually happens is the editor will AND a checkered pattern to a third matrix based on the XOR'd layer, which in turn will be OR'd to the stationary layer. Whew! :)smile.gif This simply creates a checkered pattern on the stationary layer in relation to wherever pixels were turned on in the XOR'd layer.

Now try this for practice:
1. Start Implicit
2. Open the Sprite module
3. Press F2 to switch to "gray" mode
4. Press F3 to switch to "16x16" mode
5. Select "new" from the menu
6. Press ALPHA to switch to the XOR'd layer
7. Press F4 to fill the active layer
8. Press DEL to create the grayscale checkered pattern
9. Press ENTER to return back to the module menu
10. Press F1 to render the grayscale sprite.

What you should end up with is a 'perfect' grayscale sprite, meaning the sprite shouldn't have any noticeable flicker to it (quite an achievement in Basic I might add :)smile.gif )

So that's the basics of the buttons. If you have any more questions, please feel free to ask.

As for the sprite getting pasted immediately, that's just because I'm using xLIB for keypress recognition, and it doesn't clear the read like getKey would. I'll add a getKey just before the paste code and that should fix the problem. Thanks for notifiying me of this and also thank you for the compliments, it's knowing that people find my programs useful that keeps me going :)smile.gif

I am a bit confused on the error message you mentioned. Is this in the picture editor? I do have a "Save Changes?" dialog that appears when in the picture editor.

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
Implicit: Graphic Engineer
« Reply #10 on: October 11, 2007, 07:01:00 pm »
Nice, I should really update my old grayscale tutorial. It's almost 3 years old. It used Omnicalc but i was supposed to make one usign xLIB app at one point

Liazon

  • Guest
Implicit: Graphic Engineer
« Reply #11 on: October 12, 2007, 10:13:00 am »
write it!

Offline dinhotheone

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 410
  • Rating: +2/-1
    • View Profile
Implicit: Graphic Engineer
« Reply #12 on: October 12, 2007, 12:29:00 pm »
thanks for the info, i was confused. i thought gscale usually worked by showing 2 images real fast. now i see what your prog is doing. but wouldnt it be easier to display one sprite over the other? or is there a specific reason you have it doing it that way.

theres a label error whenever i press clear, thats what i was referring to i think you said you fixed it but i cant remember. thanks for the explanation, i see whats going on now.

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Implicit: Graphic Engineer
« Reply #13 on: October 14, 2007, 10:24:00 am »
QUOTE
Nice, I should really update my old grayscale tutorial. It's almost 3 years old. It used Omnicalc but i was supposed to make one usign xLIB app at one point

Yes, do find some time to write this. I'm sure a large number of people would find it very useful :)smile.gif.


Liazon

  • Guest
Implicit: Graphic Engineer
« Reply #14 on: October 15, 2007, 02:50:00 pm »
QuoteBegin-nitacku+11 Oct, 2007, 22:53-->
QUOTE (nitacku @ 11 Oct, 2007, 22:53)
In order to create grayscale sprites, two layers must be used. One layer will get displayed while the other layer is quickly XOR'd over the stationary layer . What you get is pixels that rapidly get turned on and off, generating a grayscale effect.

...
When creating grayscale sprites, it is necessary to design the layers in such a way that the XOR'd layer will not cause the rendered sprite to flicker. In order to do this, there should be an alternating pattern of off/on pixels (a checkered pattern) in the stationary layer in relation to the XOR'd layer. (Now I know this doesn't make any sense, but maybe I'll create a picture tutorial to explain better.) Anyways, pressing MODE simply merges the two layers together into one view so that you can see how the two layers will effect each other. Pressing MODE does not modify the layer in any way, it is only a tool to make creating grayscale easier.  

 so basically w/ xlib, you have to pre-interlace the sprites for gs since you don't actually have a quick way to interlaces the whole screen to prevent flickering?

I know in ASM, most gs packages (Ducks' and RGP) will use bit level masking of the screen buffer data to reduce the flicker of simply alternating light and dark layers.