zeldaking wrote:
GIMP? Hmm I will look into that. Yup yup, I think.
Yes indeed. Also, did you create that spectrum circle yourself? If not, you can easily create one of your own in the GIMP that will look even better as far as aliasing goes. Make a circular selection, fill it with white, then Select->Shrink, and choose about 4 pixels. Select the gradient tool, and make a new layer. Under Gradient, choose Full Saturation Spectrum, then set the gradient Shape to Conical (asym). Drag out the gradient! Voila.
Ha okay I will try that, here is a better circle. (An update from that last one)

I will try your version and see how it works out.
That's better, but I still see some unhappiness around the edges. I liked the white border, but I get OCD about aliasing in icons, when these days we have the tools and icon fidelity to include sufficient anti-aliasing.
Okay how does this look?
Unselected:

Selected:

Hmm what do you guys think?
I think there still is an outline Sad
I think you could get away with it, especially since it's not noticable when you highlight it, but since I'm OCD, i suggest you see if you can get rid of it if possible... Otherwise you could make a black border around the entire thing. That way, it wouldn't show up when not highlighted, and when it is, it would look like a normal border instead of a white border that isn't supposed to be there.
Okay I fixed it.
Unselected:

Selected:

What do you guys think now? Better, worse?
I'd say better. Smile I think that's good for now, and if in the future you decide you want to tweak it further, you can always come back to it.
I think it looks better than the other ones.
I have noticed it is really bright, meaning it stands out. The rest of the icons are a little dull colored, which is not a bad thing.
zeldaking wrote:
I have noticed it is really bright, meaning it stands out. The rest of the icons are a little dull colored, which is not a bad thing.
That's true. You could always turn down the saturation a hair if you wanted (in GIMP, Colors -> Hue/Saturation). Of course, you'd only want to adjust the color-wheel layer, not the black or gray background.
Meh, like you said it is fine for now. Untill I get some coding done I will leave it how it is.
Thanks for the feedback.
zeldaking wrote:
Meh, like you said it is fine for now. Until I get some coding done I will leave it how it is.
Thanks for the feedback.
Indeed, I agree; the icon is the least of your concerns. So what features will you be working on first?
-Getting a moveable cursor
-Adding pixel (on-off)
-Changing colors
-Lines
-Title screen
This will most likely be the first release. Just the simple stuff. I will then add other features as the releases get higher.
Question:

Code:

void CopySpriteMasked(const char* data, int x, int y, int width, int height, int maskcolor) { 
   char* VRAM = (char*)0xA8000000; 
   VRAM += 2*(LCD_WIDTH_PX*y + x); 
   for(int j=y; j<y+height; j++) { 
      for(int i=x; i<x+width;  i++) { 
         if ((((((int)(*data))&0x000000FF)<<8) | ((((int)(*(data+1))))&0x000000FF)) != maskcolor) { 
            *(VRAM++) = *(data++); 
            *(VRAM++) = *(data++); 
         } else { VRAM += 2; data += 2; } 
      } 
      VRAM += 2*(LCD_WIDTH_PX-width); 
   } 
}

This is the routine for the masked sprite, which I will be using for my cursor. With one exception, I don't understand it very much. Could someone explain how to use this. char*data ?
SourceCoder can turn sprites into data for you. You'll want an unsigned short* version of this routine, correct? Also, maskcolor should be a color_t. Therefore:


Code:

void CopySpriteMasked(const unsigned short* data, int x, int y, int width, int height, color_t maskcolor) { 
   unsigned short* VRAM = (unsigned short*)0xA8000000; 
   VRAM += (LCD_WIDTH_PX*y + x); 
   for(int j=y; j<y+height; j++) { 
      for(int i=x; i<x+width;  i++) { 
         if (*data != maskcolor) { 
            *(VRAM++) = *(data++); 
         } else { VRAM ++; data ++; } 
      } 
      VRAM += (LCD_WIDTH_PX-width); 
   } 
}


Even makes the code simpler!
Okay I have my cursor data, where do I put it?

Code:

   const char cursor[256] = {
      0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
      0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
      0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
      0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
      0x00,0x00,0xf7,0xf7,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
      0x00,0x00,0xf7,0xf7,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
      0x00,0x00,0xf7,0xf7,0xf7,0xf7,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
      0x00,0x00,0xf7,0xf7,0xf7,0xf7,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
      0x00,0x00,0xf7,0xf7,0xf7,0xce,0xce,0xce,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
      0x00,0x00,0xf7,0xf7,0xce,0xce,0x7b,0x7b,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
      0x00,0x00,0x00,0x00,0xce,0xce,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
      0x00,0x00,0x00,0x00,0xce,0x7b,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
      0x00,0x00,0xff,0xff,0x00,0x00,0x7b,0x7b,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
      0x00,0x00,0xff,0xff,0x00,0x00,0x7b,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
      0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
      0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff
   };
Anywhere. For many of my projects, I have a sprites.c that contains all of the sprite data, and then #include "sprites.c" somewhere in my main program code file, but that's not strictly necessary. Smile
Similair to a sub program in Axe that contains sprite data? Seems like a good idea. Will see if it works.
zeldaking wrote:
Okay I fixed it.
Unselected:

Selected:

What do you guys think now? Better, worse?

I like these picks. WAY better than the first one's
zeldaking wrote:
Similair to a sub program in Axe that contains sprite data? Seems like a good idea. Will see if it works.
No, it's not a stub, it's still part of the exact same program. In C, you can divide your source code among as many .c files as you want, as long as you smash them all together when you compile them. Your compiler will take care of the mashing and joining.
  
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 4
» 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