Omnimaga
Calculator Community => TI Calculators => Axe => Topic started by: Snake X on June 09, 2010, 04:06:09 pm
-
well, I finally got my logo working and that kind of thing, so I tried to combine it with my background... complete fail. Can someone help me structure my program the way it should be so that the logo does not scroll and that the background does not draw on top of the logo? The source is attached. Thanks.
-
Hmm, this is a tough one.
You could write a custom routine to AND the data onto the screen. Below is a routine to do this for you (probably), and you can draw the background independently of the picture. Like this:
While 1
[Update background]
StorePic
Pic1:sub(DP
DispGraph
RecallPic
And here is DP:
->A
For(B,0,767 // If your data is not 768 bytes, change this to size-1
{A+B} and {L6+B}→{L6+B}
End
-
so, uhh... what would that exactly look like in the full code? I don't want to place this code in the wrong spot exactly.. =s
edit: well, I tried to insert that into my code, and here's what the code looks like. I have included an attachment.
edit 2: I have gotten err: block on the code, so I added an extra end on the end to... i have no idea what was not ended. After that, I got an err: lbl missing.
edit 3: what is DP? That makes me want to think Diamond and pearl XD
-
DP is just a generic label name, I put it there to represent Draw Picture. I don't have the resources atm to test that for you, either. Use this:
StorePic
Pic1:sub(DP
DispGraph
RecallPic
And this:
Lbl DP
→A
For(B,0,767 // If your data is not 768 bytes, change this to size-1
{A+B} and {L6+B}→{L6+B}
End
-
well, since SirCmpwn can't help, is anyone else able to resolve this? Since I'm not seeing him come on in the future any time soon...
*Snake X awaits Quigibo
-
You could have the logo be grayscale. Then all you have to do is draw the logo to the back buffer and never worry about it again. Just update the screen with DispGraphrr.
Another, more annoying way to do it is to split the logo into a bunch of 8x8 sprites and then use Pt-Change() to add and remove it every frame.
-
oh. Well, I am planning to animate the logo in a wavy up-down style, so Im not sure what method to use in that case. Not to mention, if its possible, use DJ_Omni's sandstorm effect to fill in the whiteness of the logo.
-
You lost a little speed, but I believe this is the outcome you were looking for. It would probably run a bit faster if you either:
- Re-entered the logo data inverted so you didn't have to include "65535□" in the logo drawing subroutine
or
- Before the main loop, copied the logo to the back buffer, inverted the back buffer, copied the inverted logo to another location such as L₁, and then referenced "{B*2+L₁}ʳ" instead of "65535□{B*2+Pic1}ʳ in the logo drawing subroutine"
-
ah. Nice! Thanks man. but.. is there any way to get rid of the white line on there?
-
ah. Nice! Thanks man. but.. is there any way to get rid of the white line on there?
Oh, is that not part of your data? Your source program said to copy 312 bytes from Pic1 to the buffer, apparently you only needed 298.
-
I heard something about a sandstorm?
EDIT: Sorry about the double post, just realized :-[
-
this makes me very happy. thanks man! Ok.. well, since I made this thread for general problems I will have on my logo, I have another one... bad symbol.
I modded the logo without the sandstorm, but once I get that working ill just put it into the logo.
the error lays within the code that replaces drawinv, because I have my own way of blackening the screen in a creative manor. The piece will execute perfectly in ti-basic, but not in axe.
-
Setting the increment in for loops is not supported. Neither are decimals. And what exactly are you trying to do with that code?
-
Nice job Snake and Runner! That's a neat logo. :D
-
I modded my post to show what I did with that code. Thanks ztrumpet :D
-
I modded my post to show what I did with that code. Thanks ztrumpet :D
For(B,-64,64,1.9)
Line(-96,-B,96,B
End
For(B,-96,96,2)
Line(-B,-64,B,64
End
Ok, so:
- Setting the increment for For() loops is not a supported feature. You can only increment by one (for now at least)
- Decimals are not supported. All variables in assembly are 2-bit integers, so 0-65535 or -32768-32767.
- The dimensions of the screen are 96x64. This means that pixels have an x-value ranging from 0-95 and a y-value ranging from 0-63. There is no need for drawing the lines into negative pixels, or all the way to x=96 or y=64.
- And what exactly are you trying to achieve with this code? I can't quite tell.
-
I am trying to blacken the screen in my own creative manor. Instead of just drawing black at once, I have created a creative way to draw a simple design to blacken the screen
edit: I tried the code out fixed, and it didn't work. So, now how do I get the sandstorm 2 effect instead of the original since its a little bit more saturating?
-
How do you want it to blacken the screen? Can you describe it?
-
no. I can show a picture though, I'll edit this post once I get the picture up. I don't know how to describe it in words :D
edit: I have created the picture.
-
Wait... so you have it working?
EDIT: Nevermind, just realized that's a BASIC program. Should I give you code for it? Or should I let you figure it out with a little help if you need it?
-
err, no.
That was executed on basic since that's what I wrote it in. You don't need to create this part, DrawInv will do fine. Now, how would I make the logo be filled with sandstorm 2 instead of the original sandstorm? I think sandstorm 2 is more saturated on the actual calc.
-
So do you want me to give you code for it? Or should I let you do it and guide you if you need help?
-
no. You don't have to give me the code for it. The final addition I need to make to my logo is to make it fill with sandstorm2 instead of the original sandstorm. How would I do that exactly?
-
Well you won't need to display grayscale any more, so just do normal display. Then, you'll need to modify the logo drawing routine to include another bitwise operation to copy the sandstorm to the front buffer as well.
-
how would I change it from grayscale to normal display then?
-
Umm just checking, you have glanced at the documentation and command list, right?
-
yeah.. but I will though since I haven't in a long enough time to forget this command.
Edit: the only difference in sandstorm and sandstorm 2 is the store/recall pic is present in the second one
-
DispGraph
-
oh... right.... :-[
yeah, I should be good.
edit: errm... You might as well help me on this one since im probably going to ask more questions than its worth on how to do the bitwise thing.
-
Sorry I didn't get back to you on this, but I'm glad you got it figured out.
-
Here
-
WOW! THat looks AMAZING! I think I will prbly use my sandstorm effect in some of my programs eventually too, if I have time to make more.
Also
Snake X's LOGOSRC with DJ Omnimaga's SANDSTRM put together by Runer112 (lol).8xp
I didn't knew the forums supported file names this long ;D
-
damnnn... i really need to make a better title screen than the one i have for my project. this is amazing.
-
That's amazing! Nice job Runner, Snake! Excellent work. ;D
-
that reminds me, in Thepenguin77 Missile Command game, I think he must be using a similar effect to the sandstorm program. It looks like the offset is randomized, but on the score screen you can notice it. Quite cool TV snow effect
-
haha thanks guys. To a good game, I thought it would deserve a good title screen.
-
Yeah I noticed often that people use title screens with just two lines and text. Not that I hate those games, but some cool title screens are nice sometimes ^^
That said, text title screens with a few lines like Breakout or Missile Command can make things cool in the way it's kinda old-skool, though, since it was the standard in the late '90s in the TI community :P
Can't wait for game screenshots ^^