Show Posts

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 - LincolnB

Pages: 1 ... 44 45 [46] 47 48 ... 77
676
Axe / Re: Axe Q&A
« on: September 29, 2011, 10:39:55 am »
Ok, that's cool.

677
Axe / Re: Axe Q&A
« on: September 28, 2011, 10:50:21 pm »
Does Doors CS do that as well? ^

678
TI Z80 / Re: The Impossible Game
« on: September 28, 2011, 10:49:58 pm »
I think it's in the main menu, but I'm not sure (haven't had it on my calc for a while :().

yeah, it's in the main menu.

679
Are you going to do this every week, for every 100 posts you make? ;)

680
News / Re: A New "Wave" of Physics Simulations
« on: September 28, 2011, 10:32:45 pm »
lol, all of the actual water simulation code in my program was BuilderBoy's, I basically read his cellular automata tutorial and built off of the material in that.

681
TI Z80 / Re: PaintPad - On-Calc Paint and Text Editing
« on: September 28, 2011, 10:30:28 pm »
I'm experiencing some unexpected delays. Just know that it's coming along nicely and I'll get screenies/source up as soon as I feel like I'm ready.

Made all the text sprites today! Gosh, monospace fonts, what a pain...it's the best way, tho.

682
Miscellaneous / Re: How come I have the best parents ever???
« on: September 28, 2011, 10:26:56 pm »
sigh...I think my parents want me to become a "well rounded person" and all this other garbage. And yeah, omni's blocked, so I have to use SSL (but mostly just be really sneaky)

683
do you really think so?
Maybe i have tested it so many times that i am used to it :D


Hm...initially I thought so, but I'm sure it won't be a problem after using it a bit.

684
nice, that looks great. A little hard to see what's what, but that's how it is with all 3d calc games.

685
Miscellaneous / Re: Probability Puzzle
« on: September 27, 2011, 10:38:39 pm »
Oh, I get it, because it would be a two thirds chance that the other coin is tails.

686
Miscellaneous / Re: Probability Puzzle
« on: September 27, 2011, 09:23:24 pm »
I think I understand how this works, would you mind explaining step by step?

687
TI Z80 / Re: Gravity Guy
« on: September 27, 2011, 06:39:41 pm »
buttfredkin: I already know what RLE is, I just can't think of a practical way to make an on-calc compressor. Namely, how do you know how large the output is going to be? I think I'm going to have to do something rather inefficient: make the output file 1024 bytes (the size of an uncompressed map) and then keep track of the file size as the data is compressed...and then use memkit or write my own routine to change the final size of the file.

Once the data is compressed I imagine the engine+compressed levels will only be around 6 or 7k of data :P

My bad. All I read was RLE Compression, and I thought, oh, BuilderBoy knows how to do that. :)

... Namely, how do you know how large the output is going to be? ...

... Perhaps just make a two pass system, the first pass to evaluate the data for the output size, the second for compression?  Isn't that kind of the standard approach?

I'm with Ashbad here. That sounds like the right approach to me.

688
TI Z80 / Re: PaintPad - On-Calc Paint and Text Editing
« on: September 27, 2011, 06:37:57 pm »
I'm just about finished with the Paint portion of the program (minus the menu, everything right now is based off of keyboard shortcuts), I'll upload screenies later today probably.

689
TI Z80 / Re: Gravity Guy
« on: September 27, 2011, 10:08:01 am »
Definitely the first one.

Also, BuilderBoy wrote a good tutorial on RLE, here it is:


Map data format:
The data uses run length encoding for comression.  Lets say we had a simple map:

11111000001111
00000222220000

Pretty simple, each number representing a different tile.  With normal storage this would take
a single byte per tile.  Or we could represent the data in a different way:

150514052504

Seems much smaller, but what does it mean?  lets insert some imaginary commas and dashes to make
it easier:

1-5,0-5,1-4,0-5,2-5,0-4

Now you may or may not be able to see how the data is represented.  The first segment is 1-5, or 5 '1's in
a row, followed by 0-5, or five '0's in a row, and so on.  This is how the data in run length encoding is
represented.  And to further the compression (or confusion), each #-# segment is packed into a single byte.
Instead of two hex digits to represent a number from 0-255, we will have 2 hex digits, each from 0-15,
representing the two numbers of each #-# element.

The first Hex digit 0 to 15 is the tile number.  The second hex digit is the number of tiles to add to the
tilemap.  The digit goes from 0-15, but 0 doesnt make much sense, since that would mean this element doesnt
do anything :P, so we will add one to this after we decompress it so that it has a range of 1 to 16. 

There is a small disadvantage that if you have empty spaces of 17 or more in a row, it will take more than
1 byte to represent in the code.





[Data]->GDB1         //map data to GDB1
[tileData]->Pic1      //tile data for tilemap

0->N            //element index for map data
0->I            //map index for storing tile data

While I>=96         //until we have stored all tiles
{GBD+N}->A         //Take the first element of the map data
N+1->N            //Increment the map index
A^16->B            //spit the map element into it
A/16->A               two seperate elements

For(F,0,B         //fill the map from current position I to I+B
A->{L1+I}         //could be optimised with Fill but i couldnt get it
I+1->I            //working :/
End

End            //End while


After this code is run, the tile data will be decompressed into L1, as folows

0  1  2  3  4  5  6
7  8  9  10 11 12 13...

ect, it will be in a straigt line, but you will have to access it using your own routine.  Something like this

{Y*W+X+L1}

where W is the width in tiles of your map.  X and Y would be the tile coordinates starting at the top left at
0,0.


Displaying the map:

here is a rudimentary program that should be run right after the pervious decompressing program:

For(X,0,11      //loop through the entire screen coordinates with tiles of 8x8
For(Y,0,7
{Y*12+X+L1}->A      //retrieve the correct tile from the data in L1
Pt-On(X*8,Y*8,A*8+Pic1   //draw the sprite to the screen
End
End


...hope he doesn't mind my posting it here.

690
Axe / Re: Third-party Axe tutorial
« on: September 25, 2011, 11:28:24 pm »
Ooh, very cool. This will be very useful, as I've seen a lot of new people around. I am always here, if you need any help with anything at all.

Pages: 1 ... 44 45 [46] 47 48 ... 77