This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Messages - Quigibo
Pages: 1 ... 65 66 [67] 68 69 ... 135
991
« on: July 28, 2010, 11:27:41 pm »
I just want to be clear about how sprite rotation and flipping will work because I don't want people thinking its something that its not. The commands take 1 argument; the pointer to the 8x8 sprite and the return argument is a pointer to an 8 byte buffer in an unused safe ram area outside of L1-L6. This area holds a copy of the "new" sprite after the transformation.
Pt-On(X,Y,FlipH(Pic1)) I was originally thinking of having a second argument allowing you to specify what area of ram to use as the temporary buffer, but then I realized that it would be easier to use, smaller faster code, and take up no extra visible memory with the single argument instead. The only problem though is that you cannot nest these routines together, maybe with an exception of the flip horizontal. Like for instance RotCC(FlipV(Str1)) will fail because the input and output buffer are the same. Therefore, I might still have the second argument, but it would be optional.
Also, the subroutines themselves that do the flipping are around 2 sprites in size and it costs an extra 3 bytes each time you call them and is obviously slower than just using a regular pointer so you'd have to be really desperate for space with massive amounts of sprites to even consider using this.
992
« on: July 28, 2010, 11:05:12 pm »
Generally if you're trying to maximize speed, you keep the whole program in 15MHz mode EXCEPT DispGraph with grayscale modifiers and direct keys. So you can simply do this to update the screen:
:Normal :DispGraphr :Full
993
« on: July 28, 2010, 06:41:21 pm »
You can always try these: http://ourl.ca/35290 A lot of good sprites in there.
994
« on: July 28, 2010, 03:59:18 pm »
Has it worked before with previous versions of Axe? Also, another thing to try, maybe resign the app with the app signing tool included with the parser (although that's a windows program) and see if it sends after that. I know the date fields are different and I hope that isn't the reason why its not sending. I had another mac user also mention this problem.
995
« on: July 28, 2010, 04:51:17 am »
Let me explain the new masked sprite routine because its really cool. The first layer is the sprite and the second layer is the mask. The way it works is that anything drawn on the first layer is going to be black or gray and any bit that is neither in the sprite layer nor the mask layer becomes transparent. So the codes are 11 for black, 10 for gray, 01 for white, and 00 for transparent. Think of it like a controlled Pt-Off() that also draws gray since you can control which pixels to see through when drawing. The routine is slower than the normal sprite drawing but much faster than trying to draw to both layers individually. Also, due to the choice of color codes, you can use this for monochrome masking as well with the first layer being the sprite you want to draw and the second layer is black in the areas you want to draw over. However keep in mind that the routine still draws to both buffers so make sure you aren't storing anything there first. Here is an example
Layer1: ████████ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ ██ ██ ████████
Layer2: ████████ ████████████ ████████████████ ██████ ██████ ██████ ██████ ████████████████ ████████████ ████████
Result: ░░░░████████░░░░ ░░██ ██░░ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ ░░██ ██░░ ░░░░████████░░░░
The crosshatched color means those pixels don't change when drawing the sprite (transparent).
Also, please let me know if you are still getting errors that you were getting before. I tried to fix as much as I could but since I still can't figure out the problem, that means I'm just guessing so I need your help to see if anything actually got fixed.
996
« on: July 28, 2010, 04:23:48 am »
Axe Parser Delta 0.4.1
Just a minor follow-up with some bug fixes and a couple new features. New Features:- New masked sprite drawing routine for 3 level grayscale.
- Main sprite drawing routines can be drawn to any specified buffer.
Changed:- Fixed bug with file pointers.
- Fixed small bug in defragmenting and app compiling.
997
« on: July 27, 2010, 06:30:58 pm »
You don't need to be a judge to see the entries. Everyone will post their entries when the contest expires. And no, no one who has an entry in the contest can be a judge because that's completely biased.
998
« on: July 27, 2010, 06:17:36 pm »
Well I didn't find it that rude, and its nice to see some criticism for a change, I was getting worried There are a few technical considerations because its not as simple as a number substitution since the labels aren't actually well defined until the end of the first pass, so its a little more difficult. That also means the "label values" start using up the available space for label names (there is a 150 name limit for labels). Secondly, just getting the value of the label is not very useful unless you can actually jump or call to that address. I'd like to see you propose an intuitive syntax for that since I can't think of a good one off the top of my head. Lastly, it allows for arbitrary execution of assembly code which is against the rules of the contest if that's what you were planning to use it for. EDIT: Also, I reset the poll since it was getting old and moldy.
999
« on: July 27, 2010, 03:58:16 am »
Alright! Alright! I'll include it in 0.4.1 since you're helping me debug that other problem and since I need things to add and this is extremely easy. The syntax will be Pt-On(X,Y,Pic1)→BUFF. I can also use a similar technique with ClrDraw and DrawInv, but I'm not sure if I'll have time for that right now.
1000
« on: July 27, 2010, 03:20:33 am »
C/C++: Advanced Visual Basic: Beginner Javascript: Intermediate HTML: Intermediate Parallax BASIC: Advanced Yabasic: Advanced Wireworld: Beginner lol x86: Beginner Z80: Advanced TI-BASIC: Advanced Axe: God
I know a few more, but I can't think of them off the top of my head right now.
1001
« on: July 26, 2010, 11:18:47 pm »
Yeah, I'm looking into it. I'm working on the masked sprite routine right now so at least I can add something new to 0.4.1 instead of just a bunch of bug fixes. Hopefully I will find and fix them all so I can update late tonight or tomorrow.
1002
« on: July 26, 2010, 11:12:58 pm »
Well, you're both partially correct. If the Pointer is a static pointer, then Deep Thought is correct, because the return value is not the pointer, but the value you're storing to the pointer. On the the other hand, Runer is correct for non-static pointers such as a pointer to an appvar because then the return value is the location rather than the value stored.
1003
« on: July 26, 2010, 06:52:58 pm »
Lists and other floating point stuff is really complicated and I don't know it well myself. You'll have to refer to the TI-Developer's guide to see how floats are formatted. The only thing I know is that they're 9 bytes each and the last 7 bytes are the number itself in BCD. Its way too complicated I think to work with them now in Axe, it will be easier when I get floating point conversions working. For now, just stick with programs, appvars, pics, and strings is my advice.
Also, Runer112 I can't seem to simulate that problem and I don't see anything obvious in the parser that would cause that. Would you mind emailing me an example that I can debug?
1004
« on: July 26, 2010, 03:23:23 pm »
Yeah, you can do that too.
1005
« on: July 26, 2010, 02:50:04 pm »
Each one is half way right, you just have to combine the 2.
"vPBWMAP1"->Str0 Getcalc(Str0,16)->P If P For(A,0,15) 1->{P+A} End End
Pages: 1 ... 65 66 [67] 68 69 ... 135
|