Author Topic: Insanity's Projects  (Read 25630 times)

0 Members and 1 Guest are viewing this topic.

Liazon

  • Guest
Insanity's Projects
« Reply #120 on: February 26, 2007, 10:57:00 am »
you can also use in any-8-bit-register,(c ) and out (c ),any-8-bit-register

but I rarely encounter a need to put the Key input in anything other than a, or change the port of interest for that matter.

now you just need to get the sprites to flip in other directions.  like I mentioned on IRC earlier, you really have the choice of

1.) storing all the directions of the sprites in your program
pro: good for few sprites, possibly faster; many addresses to deal with, though not a problem if you index them nicely
con: bad for more and more sprites since it takes up more permanent space in your program

2.) flip the sprite when it changes direction
pro: only 1 copy per 2 directions, so less space; only 1(or 2 when you add up/down views) address for sprite input
con: doubtful that you need the clocks, but will eat up clocks since you have to flip before using ionlargsprite; routines still take up space

3.) create all copies of the sprite before the fight and store the copies in saferam
pro: no clocks to flip during gameplay; less space taken when program not running; less addresses to deal with than method 1 assuming you use the same buffers for sprites
con: routines still take up space

Of course there are always other more appropriate methods for what you're doing, and since I'm not sure what the game will ultimately look like, I can't recommend one over the other

but it's looking good so far  :thumbup:google.gif

Offline Jon

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 278
  • Rating: +0/-0
    • View Profile
Insanity's Projects
« Reply #121 on: February 26, 2007, 06:00:00 pm »
Best idea: make your own sprite routine that goes to the and of the sprite, then reads it from the bottom up, but still plots it from the top down, making it upside-down on the screen. (Jon points out that he wrote a NexGenGS routine that does this)

Demon

  • Guest
Insanity's Projects
« Reply #122 on: February 27, 2007, 02:13:00 am »
PyroEdit III
Status: 65%
- Sped up pixel-editing.
- Memory monitor.
- Reduded size by 700 bytes.
- GUI improvements.
- Saving bug fixed.

Offline tifreak

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Insanity's Projects
« Reply #123 on: February 27, 2007, 02:19:00 am »
700 bytes, or 700,000 bytes? o.oblink.gif I think you might have made a typo... :Ptongue.gif
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

Insanity

  • Guest
Insanity's Projects
« Reply #124 on: March 18, 2007, 08:49:00 am »
PyroEdit III
Status: 75%
- Added Pen Tool
- Added Preview-before-opening
- More size optimizations

Still pending:
- Rotation by x degrees (can I get an ASM routine - most preferred for live rotation - for this or can someone teach me how to do it in BASIC?)
- Tilemapper
- The polygon tool (making it smaller)
- Plug-ins, and deciding whether I should implement them or not.

Offline Halifax

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1334
  • Rating: +2/-1
    • View Profile
    • TI-Freakware
Insanity's Projects
« Reply #125 on: March 18, 2007, 11:33:00 am »
Wow Demon this is shaping up to be the (if not already) best sprite editor ever.

@Liazon: Using A is the most speed efficient and size efficient way because that is what you use to do all comparing. So putting key input into C would only make it slower because you have to load into A.
There are 10 types of people in this world-- those that can read binary, and those that can't.

Offline bfr

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 819
  • Rating: +4/-0
    • View Profile
    • bfr's website
Insanity's Projects
« Reply #126 on: March 18, 2007, 11:43:00 am »
Yeah.

Excellent progress!  :king:king2.gif

Insanity

  • Guest
Insanity's Projects
« Reply #127 on: March 18, 2007, 02:15:00 pm »
PyroEdit Online Sprite and Tilemap Editor
Status: 20%
>> PyroEdit is now being unleashed to the Internet!  PyroEdit Online will be able to do what PyroEdit III can do and more when it is finished, and can be accessed from anywhere.

Offline Halifax

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1334
  • Rating: +2/-1
    • View Profile
    • TI-Freakware
Insanity's Projects
« Reply #128 on: March 18, 2007, 03:31:00 pm »
Dude amazing. Best ideas ever.
There are 10 types of people in this world-- those that can read binary, and those that can't.

Offline bfr

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 819
  • Rating: +4/-0
    • View Profile
    • bfr's website
Insanity's Projects
« Reply #129 on: March 18, 2007, 03:33:00 pm »
Awesome!

Will users be able to save their sprites and tiles online, and will it be able to generate the sprites not only as code, but as computer and calculator image files?  That would be cool (but not really necessary - maybe these features could be added after the main stuff is finished).

Offline Halifax

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1334
  • Rating: +2/-1
    • View Profile
    • TI-Freakware
Insanity's Projects
« Reply #130 on: March 19, 2007, 09:52:00 am »
*Halifax knows how to write and read Bitmaps if you want to save them in thaet format and stuff.
There are 10 types of people in this world-- those that can read binary, and those that can't.

Insanity

  • Guest
Insanity's Projects
« Reply #131 on: March 26, 2007, 12:52:00 am »
PyroSysX Web Desktop
Status: 40%
I'm slowly getting it rebuilt...  It can already run "applications."
http://pyrosysx.mine.nu

Insanity

  • Guest
Insanity's Projects
« Reply #132 on: April 07, 2007, 10:37:00 am »
Celtic Frontend
Status: 99%
>> Makes the task of issuing arguments to Celtic a breeze so that if you use Celtic extensively in your program, your program will be much smaller.
Instead of having to say - for example:
c1-->
CODE
ec1"MYPROG->Str0
2->[Theta]
"->Str9
1:Asm(prgmCELTIC2
"->Str9
3:Asm(prgmCELTIC2
"->Str9
10:Asm(prgmCELTIC2
c2
ec2
You only have to write:
c1
-->
CODE
ec1"MYPROG->Str0
"11Text You Wanna Insert Somewhere3More Text You Wanna Insert Somewhere>10Even More Text You Wanna Insert Somewhere->Str9
prgmCTFNc2
ec2
And just look at all those bytes you save.

== Small Capital E (2nd - Comma)


Also, it will replace Celtic's long error codes with ones that are only two bytes long.

Insanity

  • Guest
Insanity's Projects
« Reply #133 on: April 10, 2007, 01:06:00 pm »
This is my current TGUI routine (Text GUI).  I tried to make it as small and fast as possible, but are there any more optimizations I could do?

That big 'E' == the 2nd-Comma 'E' (whatever it's called).

Syntax:
Menu (finally made it display more than eight items now - yay!)
"0MENU ITEM 1EMENU ITEM 2EITEM 3EITEM 4 (and so-on)
Returns selected item in Ans and X.

Numerical Input
-> U
-> V
"1
Returns selected number in Ans and X.

Text Evaluation Wrapper
"2
Return entered text (or evaluation) in Str7.

QuoteBegin-"BASIC Code"+-->
QUOTE ("BASIC Code")
:Ans→Str7
:expr(sub(Ans,1,1→W
:sub(Str7,2,length(Str7)-1→Str7
:W
:If Ans=1
:Goto 1
:If Ans=2
:Goto 2
:Str7+"E→Str7
:0→nMin
:DelVar W{0→A
:Repeat max(PMT={21,22
:1→θMin:1→X
:If nMin≥length(Str7
:DelVar W0→nMin
:If not(max(nMin=?A
:nMin→?A(1+dim(?A
:ClrHome
:Repeat θMin>8 or nMin≥length(Str7
:nMin+1→PMT
:inString(Str7,"E",Ans→nMin
:Output(θMin,2,sub(Str7,PMT,Ans-PMT
:1+θMin→θMin
:End
:Ans-1→θMin
:Repeat X<1 or X>θMin or max(PMT={21,22,105
:Output(X,1,">
:1→C/Y
:Repeat Ans
:prgmXTEMP010
:getKey→PMT
:End
:Output(X,1,"

Offline Halifax

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1334
  • Rating: +2/-1
    • View Profile
    • TI-Freakware
Insanity's Projects
« Reply #134 on: April 10, 2007, 02:00:00 pm »
very cool. I don't know if there are any optimizations that could be made though. I have been out of the basic loop for a long time now.
There are 10 types of people in this world-- those that can read binary, and those that can't.