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 - Runer112
Pages: 1 ... 112 113 [114] 115 116 ... 153
1696
« on: November 28, 2010, 07:44:08 am »
I've been debating trying to make a Z80 CPU in Minecraft. It would be crazily difficult and probably run at most at a few cycles per second, but it would still be awesome.
1697
« on: November 27, 2010, 10:18:35 pm »
I see what you mean by how sets could be useful. I think that can probably be covered by the user having multiple sprites with the same attributes in a folder, so I don't know if I'd need a specific "Set" function. And even if this thing ends up with AI, I'd probably still just call it a sprite editor.
1698
« on: November 27, 2010, 10:07:44 pm »
As some may have learned from a poll I posted a while ago, I've been working on a sprite editor in Axe. Or at least I was working on it, but put it down for a while to work on other stuff. But I want to come back to it, and I want to make sure it's as feature-packed and awesome as it can be. So before I get back to work on it, I'd like to know: What features would you want to see in the on-calc sprite editor of your dreams? Did I miss any useful editing tools? Did I miss a file operations feature? Request any features that you don't already see in the list below, or tell me about features already in the list below that you would especially like to see implemented. Potential features (some are obviously more fundamental than others and will definitely be implemented, whereas others would probably be ridiculously complex to implement): - Black and white, 3-level gray, and 4-level gray sprites
- Masked sprites
- Sprites of any size
- Viewing and editing at any zoom level, including zoom levels that don't fully fit on the screen (scrolling will be necessary)
- Point tool
- Line tool
- Box tool
- Circle tool
- Variable pen size for drawing commands
- Fill tool
- Text tool
- Hex editing
- Area selection, transforming, cut, copy, and paste
- Palette transformations (e.g. changing the color of all dark gray pixels to light gray and all light gray pixels to dark gray)
- Sprite transformations (flip, rotate, shift)
- Sprite conversion/attribute editing (e.g. changing size, changing gray level)
- Tilemaps
- Animations
- A full filesystem (files, folders, shortcuts, etc. with names and attributes)
- A file explorer
- A menu system
- Shortcut keys for most menu items
- Search
- File sorting in folders by various attributes
- Importing data from and exporting data to pictures, strings, and Ans
- Undo/redo
- File selecting, moving, copying, and deleting from the file explorer
- Batch sprite transformations
1699
« on: November 27, 2010, 07:09:34 pm »
In Axe, just about all mathematics and comparsions are, by default, unsigned. And in an unsigned system, you can never have a value less than zero. What you need is a signed comparison.
1700
« on: November 27, 2010, 09:44:39 am »
Pour obtenir un pointeur à un appvar qui existe déjà et le stocker dans la variable VAR:
GetCalc("appvPLOP")→VAR Pour récupérer seulement un ou deux octets de l'appvar, il est préférable et plus facile de ne pas utiliser Copy(). Si la variable P contient le pointeur à l'appvar, vous pouvez simplement récupérer un octet (0-255) de l'appvar comme ceci :
{P+OFFSET} Pour récupérer deux octets (un mot, 0-65535), ajoutez un r à l'accolade fermante. Et pour stocker cette valeur dans une variable, ajoutez →VAR.
1701
« on: November 25, 2010, 10:39:25 pm »
I did. I'm working on deciphering Runer112's tilemap program, but I'm still not entirely sure how it works.
I think that's b/c it's crazy optimized.
Correct! I often struggle to decipher my optimized code, which is why I usually try to force myself to add more comments than I think I need so I can understand it at a later time. However, it looks like I didn't comment my tilemapper much. Want me to go back and comment it?
1702
« on: November 25, 2010, 05:25:42 pm »
Par contre, si ce post t'a pris 5 minutes, comment celui-là t'a pris??? 
À peu près d'une heure. EDIT: Le fait que j'ai écrit le message sur mon iPod n'a pas aidé probablement.
1703
« on: November 25, 2010, 04:53:57 pm »
kindermoumoute, comment bien peux-tu comprendre l'anglais? Parce que je peux répondre à tes questions en français, mais c'est difficile pour moi. Je peux comprendre bien le français, mais je ne peux pas bien écrire le français. Je peux répondre meilleur et plus rapidement en anglais. Ce message seulement m'a pris à peu près de cinq minutes.
1704
« on: November 25, 2010, 04:03:41 am »
Let's see how bad my French is. On peut utiliser des Lbls et des Gotos où on veut, bien qu'il faut qu'on s'assure que pour chacun appel de fonction pendant l'exécution, il y a un Return. Contrairement au TI-BASIC, dans lequel les structures comme les boucles utilisent de la mémoire donc le prochain End saura où à sauter (franchir?), les boucles dans Axe sont comme là: While A<256 A*2->A End | | Lbl A If not(A<256) Goto B A*2->A Goto A Lbl B |
Parce que les boucles dans Axe sont comme ça, il ne faut pas qu'une boucle utilise de la mémoire donc la fin de la boucle sait où à aller. On ne peut pas causer une fuite de mémoire par sauter hors d'une boucle. On peut utilise des Gotos dans des fonctions aussi, bien qu'on doit faire attention que les nombres des sub() et des Return qui exécutent sont égals. On peut faire un appvar comme petit ou comme grande comme on veut, tant que l'appvar va dans la mémoire vive. Le nom, cependant, est limité à huit octets. Pour créer un appvar de taille TAILLE des octets et à mettre un pointeur au début de ses données dans P: "appvMONAPPVR"->Str1 GetCalc(Str1,TAILLE)->P Pour trouver un appvar qui déjà existe et à mettre un pointeur au début de ses données dans P: "appvMONAPPVR"->Str1 GetCalc(Str1)->P J'espère que vous pouvez comprendre mon mauvais français.
1705
« on: November 24, 2010, 08:01:30 am »
1706
« on: November 23, 2010, 01:03:10 pm »
It takes a pointer to a zero-terminated string that contains the name of the program.
1707
« on: November 23, 2010, 10:58:57 am »
Oh, nevermind then. I just glanced at the routine and didn't see any 16-bit register operations so assumed it was all 8-bit. But now I see the dec h.
1708
« on: November 23, 2010, 10:04:17 am »
Well actually it would be a bit more complicated than just multiplying by 2. For now, you would have to do something like this:
!If sin(A)→B<ᴇ80 B+ᴇFF00→B End .8.8 fixed point result in B When the signed division auto-optimizations are fixed, a better way will be this:
sin(A)*256//256 EDIT: Disregard all of that, the number comes out as fixed point after all.
1709
« on: November 22, 2010, 10:42:36 pm »
The current sine and cosine routines produce 1-byte outputs, which is why the range is from -127 to 127. It uses a basic approximation that already isn't completely accurate for the output range of -127 to 127, so expanding the output range would just inflate the inaccuracies as well. If you want to inflate the output values, it's probably not that difficult to do with Axe anyways. And if he were to modify the routine to be more accurate and produce 2-byte outputs, it would require a better approximation method and would surely be a much heftier and slower routine.
1710
« on: November 22, 2010, 08:52:50 pm »
Would most maps be filled with mainly one tile like this? EDIT: How about RLE? I made a program ( ASHCOSRC) to compress nibble tilemaps with 4-bit RLE for you  To use it, change the width and height variables present at the start of the source program to what you want and put the hex for the uncompressed tilemap under GDB0M. Then run the program and the hex for the compressed map will be put into Str1. Your example tilemap compressed very well, from 120 bytes to 24.  And of course, what compression algorithm is any good without the proper decompression algorithm? ASHDESRC is the decompression program. The part of it that is the actual algorithm, which is all you would want, is the code under the tag ".DECOMPRESSION" excluding the Disp "DECOMPRESSING..." line. The decompression algorithm is only 113 103 bytes. F70002C11002E002F0F00AE00AF0F0F0F0F0F0F04003F060 I hope I made it straightforward and user-friendly enough that you can simply stick all your maps into ASHCOSRC one at a time and easily retrieve the compressed map data. If you have any questions, feel free to ask. EDIT 2: Uploaded a new, further optimized decompression program. The algorithm is now 103 bytes instead of 113.
Pages: 1 ... 112 113 [114] 115 116 ... 153
|