Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: Harrierfalcon on October 01, 2007, 03:09:00 pm

Title: Artistic 2.0
Post by: Harrierfalcon on October 01, 2007, 03:09:00 pm
Shocked into action by PyroEdit 4.0 (and now Implicit), I've been working on Artistic 2.0.

For those watching my sig, I'm currently working on the easy parts, i.e. coding the sprite editor, etc.  The projected features thus:And it's more graphical than Artistic 1.0.  Look!
user posted image
Sorry about the delay in typing the plugin name, I had a brain fart and forgot which key theta was.  XDsmiley.gif

Obviously, it's not that far yet, but it's getting there.  Oh yeah, and whenever you see a black screen with white text like when it's loading, any text that you think would cause a domain error doesn't.  :)smile.gif  Look!
user posted image
Title: Artistic 2.0
Post by: DJ Omnimaga on October 01, 2007, 03:55:00 pm
So Celtic is handling the plugins I guess? Very nice! I assume it uses xLIB too, rigth?

As for the text not causing errors, do u actualy use xLIB scrolling functions?
Title: Artistic 2.0
Post by: Harrierfalcon on October 01, 2007, 04:09:00 pm
  1. (Celtic) Yes.
  2. (xLIB) Yes.
  3. (Scrolling...) Tada! YES!

The Game is pretty much dead ATM...Q_Q
Title: Artistic 2.0
Post by: DJ Omnimaga on October 01, 2007, 04:18:00 pm
well Super Speler said he will prbly not work again on it, since the calc crash, and idk if SilverCalcKnight will pick it up like he said.

Metroid I and II use scrolling like this for the credits, altough Zeromus/CDI made it scroll one pixel at a time (he did the credit section)
Title: Artistic 2.0
Post by: Harrierfalcon on October 02, 2007, 01:19:00 am
I've never been able to tolerate the speed enough to beat Pure... :(sad.gif
Title: Artistic 2.0
Post by: DJ Omnimaga on October 02, 2007, 04:17:00 am
Nonono I meant the original CDI Metroid, using xLIB, which was the prequel to mine. But the speed was much worse than Pure though in both xLIB Metroid anyway so you wouldn't like it.

But I guess that and the insane amount of features compared to both Pure BASIC Metroids can justify Metroid II speed
user posted image

Please don't post this map outside Omnimaga btw, it is exclusive to Omnimaga visitors and it doesn't contains any map from version 2.0

EDIT: The pic is 1/4 scaled because the 3352x2448 one didn't really had its place in a forum post
Title: Artistic 2.0
Post by: Harrierfalcon on October 02, 2007, 10:27:00 am
This hasn't been going as fast as I'd like it to,  but it's making progress.  Currently, I'm planning on how to implement saving, and I'm working on tile interaction.
Title: Artistic 2.0
Post by: DJ Omnimaga on October 02, 2007, 10:48:00 am
Metroid Pi 2 or Artistic? If it's metroid Pi then I'm glad you're still working on it, else I hope you resume it soon :)smile.gif and keep up the good work on Artistic.
Title: Artistic 2.0
Post by: Harrierfalcon on October 02, 2007, 11:23:00 am
D'oh! Wrong topic.  Well, Artistic is just getting all it's main parts done, like drawing lines and such.

Oh, and btw, yiour configuration and plugins are saved in a hidden and unused part of your calc :)smile.gif.
Title: Artistic 2.0
Post by: DJ Omnimaga on October 02, 2007, 11:28:00 am
how do u do this? o.oblink.gif I thought running hidden programs was impossible, unless celtic can detect them?


Holy f***ing s***, if celtic can detect hidden programs I'm so gonna put this in Metroid II: Evolution so there is only one sub routine that shows up when you go in the PRGM menu (after running/exiting the game at least once)!
Title: Artistic 2.0
Post by: Harrierfalcon on October 02, 2007, 12:05:00 pm
AFAIK, RUNNING hidden progs is impossible.  However, with 2 subroutines from PyroEdit 4.0, you can quickly copy them to a temp prog.  Celtic2 can access hidden programs :)smile.gif, but AFAIK, only if you created the programs with a symbol rather than an alphanumberic character as the first letter. (You have to use Celtic for that :(sad.gif).
Title: Artistic 2.0
Post by: Liazon on October 02, 2007, 12:07:00 pm
o.oblink.gif that's a big map.  and it'd be pretty insane if artistic could handle it.
Title: Artistic 2.0
Post by: DJ Omnimaga on October 02, 2007, 12:09:00 pm
hehe thanks. But i dont understand what u mean with harrierfalcon. Do you mean with celtic2 i would need to rename my metroid programs with a special characters to make them recognizable by celtic when hidden or something? Could you explain in further details or is it all in the readme?

Basically what I mean is would it be possible for example, to make the metroid launching program hide all Metroid sub routines when exiting, then when you rerun the program it immediately reveal them again? Just so that people who don't like having massive amount of sub routines show up in PRGM menu when they're not playing only have the Metroid launching program visible.
Title: Artistic 2.0
Post by: Harrierfalcon on October 02, 2007, 12:18:00 pm
It's not at all in the readme.  However, I will make an attempt to enlighten :)smile.gif.

Typically I hide programs the reliable way--not with MOS, but manually with DCS.  A program whose name starts with a space or anything with a lower value (I use '.') is automatically hidden and irretrievable by most shells.  This not only renders it hidden from the program menu, but also by the typical user.  There are 2 ways to access it from here: 1. With Celtic2 or prgmPROG2STR or 2. With DoorsCS.

To prevent the latter, I added "Ans" as the first line of the programs, and used Celtic2 to archive them.  This makes it totally hidden to all but the most savvy users.

To reference the programs with Celtic2, PROG2STR, or STR2PROG, use the same name you created it with.  It will access it.

For example, write and execute this code (with Celtic2 in RAM, of course):c1-->
CODE
ec1:4→Θ
:".XXXTEMP→Str0
:Asm(prgmCELTIC2c2
ec2This will create the program ".XXXTEMP".  To access it, use any of the above-mentioned methods.

Normally, this would not only take a chunk of RAM, but it would also be lost in a RAM clear.  So I archive it, solving both issues.

----------------------------------------

As for hiding ALL those subroutines...it would be highly inefficient.  It would take a long time with Celtic2.  If you really want to, I suggest getting your hands on PyroEdit 4.0 and stealing prgmPRGM2STR and prgmSTR2PRGM.

When you run prgmPRGM2STR, the name of the program in Ans as a string is taken as input (It's the same name you'd use with Celtic2), and it converts that entire program to a string, complete with newline tokens.  Those look like spaces.  But be careful--recalling them anywhere but in the program editor causes minor but potentially huge issues.

When you have that string, you can have fun with it.  It's a string!

But with prgmSTR2PRGM, you can convert that string back to a program, FAST.  When you run it, it takes the name of a program in Str7, the program string in Ans, and overwrites any preexisting program whose name is the same as Str7 with the program string you inputted.  It doesn't really care if it's archived or not, it works either way :)smile.gif.
Title: Artistic 2.0
Post by: nitacku on October 02, 2007, 12:22:00 pm
Sweet! Awesome! :thumbup:google.gif
I'm going to try this out.

Btw, how did you figure out that programs that didn't start with a letter were hidden?
Title: Artistic 2.0
Post by: Harrierfalcon on October 02, 2007, 12:25:00 pm
ASM in 28 Days, Day 20.  
Title: Artistic 2.0
Post by: DJ Omnimaga on October 02, 2007, 12:25:00 pm
ah ok I will forget about this then, i don't want to rename every single programs in metroid II just to make them hidden this will be long and tedious x.x
Title: Artistic 2.0
Post by: nitacku on October 02, 2007, 12:36:00 pm
@ Harrierfalcon: So you're saying that you could store programs inside a program as just a string? Do you know if programs take up less memory if stored as a string?

I might store some programs into one program this way, in order to save some memory.
Title: Artistic 2.0
Post by: Harrierfalcon on October 02, 2007, 12:46:00 pm
Not really, because when you recall the program string, the newlines are actually recalled as newlines, not as spaces.
Title: Artistic 2.0
Post by: Halifax on October 02, 2007, 01:39:00 pm
So is this the GIMP or Photoshop in this battle. ;)wink.gif lol

j/k

This is looking very nice though Harrierfalcon.
Title: Artistic 2.0
Post by: nitacku on October 02, 2007, 01:51:00 pm
QUOTE
Not really, because when you recall the program string, the newlines are actually recalled as newlines, not as spaces.


Darn. I was starting to think of some interesting applications too.

It's kinda cool that we're creating similar graphic programs. I find that it makes me want to program even more (like I don't program enough :Ptongue.gif ). After we're both done with the programs, do you want to pick a new a project that we can both try programming? If you don't mind, I would really enjoy doing this. It's not a "who can make the better", I just really like seeing how other programmers tackle the same problems. It's a very good learning experience and it's more fun than programming alone. :)smile.gif
Title: Artistic 2.0
Post by: Harrierfalcon on October 02, 2007, 02:21:00 pm
Then we could make pitiful attempts at deciphering each otherse code :Dbiggrin.gif!

j/k.  It'd be fun though, but I seriously have to work on Metroid Pi2, or I'll make a lot of disappointed people...:(sad.gif
Title: Artistic 2.0
Post by: DJ Omnimaga on October 02, 2007, 03:06:00 pm
like me?
Title: Artistic 2.0
Post by: Harrierfalcon on October 02, 2007, 03:30:00 pm
Yes :)smile.gif.
Title: Artistic 2.0
Post by: AaroneusTheGreat on October 02, 2007, 03:35:00 pm
QuoteBegin-Harrierfalcon+2 Oct, 2007, 20:21-->
QUOTE (Harrierfalcon @ 2 Oct, 2007, 20:21)
or I'll make a lot of disappointed people...:(sad.gif


You can make people!?  o.oblink.gif Well I guess we all can, but I was thinking of like making them by hand... Okay this joke went nowhere. :knight:knight3.gif
Title: Artistic 2.0
Post by: Harrierfalcon on October 02, 2007, 04:14:00 pm
*poof*

:)smile.gif

Progress is being made slowly due to large homework loads, but I have a 4-day weekend ahead of me, so I'll have time to work on my many projects :Dbiggrin.gif.
Title: Artistic 2.0
Post by: DJ Omnimaga on October 02, 2007, 04:48:00 pm
@atg o.oblink.gif lol

I can't wait to see screenies of MPII and new screenies of A2 features!
Title: Artistic 2.0
Post by: Liazon on October 03, 2007, 10:44:00 am
@ATG: not bad ^^

@Harrierfalcon: well as long as you meet your goals for this graphics editor.  I mean, in the end the person that it should help the most is you :)smile.gif
Title: Artistic 2.0
Post by: DJ Omnimaga on October 27, 2007, 01:24:00 pm
I noticed progress was posted here and not at UnitedTI... sighs, I'm gonna have to go through inactive staff/undedicated staff again I guess :/confused.gif
Title: Artistic 2.0
Post by: Harrierfalcon on October 27, 2007, 02:09:00 pm
I think you mean "at UTI and not here"

But regardless, I'm working on the sprite editor as of now.  The menu subroutine is faster (thanks to stolen TI|BD code), and I'm floating between making sprite to hex built-in or a plug-in.
Title: Artistic 2.0
Post by: DJ Omnimaga on October 27, 2007, 02:23:00 pm
Oops mistake yes i meant UTI and not here,and by TIBD I assume you mean TI-BASIC developper, right?

by hex built do u mean it will be for asm programs  as well or just compressed like tifreak8x sprites in Pok
Title: Artistic 2.0
Post by: Harrierfalcon on October 27, 2007, 03:07:00 pm
By 'hex' I mean actual hex strings, that you can use with a hex-to-sprite converter or DCS.

Although, I guess you could use them compressed like that.

And by TI|BD, yes, I do mean TI Basic Developer.
Title: Artistic 2.0
Post by: nitacku on October 27, 2007, 09:05:00 pm
I think there most asm programmers would like the sprite to hex function built in.
However, unless you are trying to save memory, it doesn't hold as much value to a Basic programmer do to the need to convert the hex back into binary.
I suppose you could have the 16 possible hex combinations hard coded into a program that way all that has to be done is display the sprite line by line.

For example, if you had D3 (1101) as a hex code, you could have a sort of lookup table to tell the program what pixels to turn on.

If Ans="D"
Then
pixelOn(X,Y
pixelOn(X+1,Y
pixelOn(X+3,Y
End

This would be the fastest way, but obviously the most memory consuming as well.
Title: Artistic 2.0
Post by: Harrierfalcon on October 28, 2007, 04:25:00 am
No, I have on hand a hex to binary converter I can use to convert hexcode directly to a matrix, then render it normally from there.
Title: Artistic 2.0
Post by: Halifax on November 03, 2007, 07:56:00 pm
Just curious, how does Artistic handle plugins? Does it just get the program name, verify it is there, and make a call in the program. Or does it actually copy the plugin into the main program?
Title: Artistic 2.0
Post by: Harrierfalcon on November 04, 2007, 05:05:00 am
When you 'install' a plugin, it takes its name and stores it into a hidden config file.  When it says it's loading plugins when starting, it's really documenting all the plugin names and sticking them in a string.  When you run one, it's going to hand complete control to the plugin.
Title: Artistic 2.0
Post by: nitacku on November 04, 2007, 07:53:00 am
That's sort of what Implicit does.
I use xLIB to copy the plugin to a temporary program so it can be run.

Do you use Celtic to run the plugin?
Title: Artistic 2.0
Post by: arglactable on December 09, 2007, 12:03:00 pm
*necropost*  O_Oshocked2.gif:(sad.gifo.oblink.gif<_<dry.gif:/confused.gif:???:confus.gif
Title: Artistic 2.0
Post by: DJ Omnimaga on December 09, 2007, 12:30:00 pm
I'm not sure if it is progressing, as the last update was on Metroid Pi II, but this update was also a while ago. He seems pretty busy atm x.x
Title: Artistic 2.0
Post by: arglactable on December 09, 2007, 12:33:00 pm
 O_Oshocked2.gif  BUGGER! Though, oncerning MPII, I'm not sure I really care that much. If its anything like the original it will just crash.  :(sad.gif
Title: Artistic 2.0
Post by: DJ Omnimaga on December 09, 2007, 12:35:00 pm
mhmm it is weird that the original even crashed at all. You must have an issue with your calculator hardware, because pure TI-BASIC programs cannot crash a calculator.
Title: Artistic 2.0
Post by: Harrierfalcon on December 09, 2007, 02:26:00 pm
It can, but only if you really intend it too ;)wink.gifc1-->
CODE
ec1:999→dim(L1
:Ans→dim(L2
:While 1
:Disp "HAHAHAHAHAHA!
:SortA(L1,L2
:SortD(L2,L1
:Endc2
ec2

Yeah, I don't know if this will ever get worked on again, Metroid Pi2 is getting rather fun to code ATM.

@arglactable: What do you mean by "crashed"?  A RAM Clear, or an error?
Title: Artistic 2.0
Post by: arglactable on December 09, 2007, 02:37:00 pm
Well, I suppose "Crash" would be an improper term, my previous calculator (which I believe was faulty and returned to the store a week or two ago) actually did crash, causing unexplainable missing files, though not only from MP. Now, on my present calc, it just closes without warning as soon as I get the shock beam. No error messages are displayed. BTW, the original artistic is awesome...
Title: Artistic 2.0
Post by: Harrierfalcon on December 09, 2007, 03:52:00 pm
Thanks!

Hm...that is really weird...I don't know.  It might be because you don't have the most recent version (although I don't know which site has which).  Check UTI's archive for it, chances are that's the most recent version.
Title: Artistic 2.0
Post by: arglactable on December 09, 2007, 04:07:00 pm
well, I tried that and I got Idiotic Error number 2. Err: Memory. Also, the first time I tried to ungroup it, I had to reset my RAM to get some of my files back. So, it still doesn't work.

EDIT: I thought that I might not have enough RAM after reading the README; it said I needed 5k to run it. I tried again (with over 6k) and still got the same error.
Title: Artistic 2.0
Post by: Harrierfalcon on December 09, 2007, 05:04:00 pm
Odd.  I've played it many times, and encountered ERR:MEMORY never...
Title: Artistic 2.0
Post by: TIfanx1999 on December 10, 2007, 06:19:00 am
Have you done a garbage collect recently? Mabey its showing the mem but the calc hasnt reclaimed it ... other than that no idea. :(sad.gif
Title: Artistic 2.0
Post by: arglactable on December 10, 2007, 08:42:00 am
Oh, I garbage collect quite frequently (although I actually don't know hot to do it manually :(sad.gif ). I had this issue on my previous calculator (before it really started acting up). at most I can make it to the shock beam before it quits.
Title: Artistic 2.0
Post by: arglactable on December 19, 2007, 02:10:00 pm
Ok, just for an update... I managed to get it to work by opening the group file on my computer and then sending the files in there to my calculator. The same method worked for quake 4.
Title: Artistic 2.0
Post by: DJ Omnimaga on December 19, 2007, 04:50:00 pm
mhmm, I am sure it must be related to ti connect issues with groups. It happens with almost all my old games from Illusiat 1 to Zelda
Title: Artistic 2.0
Post by: Harrierfalcon on December 19, 2007, 05:08:00 pm
Usually for me, if groups are corrupted when trying to ungroup using the TI-OS group handler, I use http://www.ticalc.org/archives/files/fileinfo/385/38560.html, which not only lets you extract right to archive, but also allows you to extract individual variables from a group.  This usually fixes my corruption problems.
Title: Artistic 2.0
Post by: DJ Omnimaga on December 19, 2007, 06:35:00 pm
i assume this is like Celtic III feature but not usable inside programs, right?
Title: Artistic 2.0
Post by: Harrierfalcon on December 20, 2007, 02:21:00 am
Yep.  But, IIRC, CelticIII's itemized ungrouping feature doesn't work quite so well right now.
Title: Artistic 2.0
Post by: DJ Omnimaga on December 20, 2007, 03:46:00 am
yeah he is still working on it
Title: Artistic 2.0
Post by: TIfanx1999 on December 20, 2007, 11:03:00 am
Yes ticonnect seems to hate groups, which really sux. I was trying to load some of teh ROL games onto my calc, but ti connect was doing some weird S*** with the group files. So.... Until i find my old graphlink software... no old games with grouped files :(sad.gif.
Title: Artistic 2.0
Post by: DJ Omnimaga on December 20, 2007, 05:02:00 pm
well, you can fix the issue by ungrouping on the PC (right click on the group and "extract all" i think) then sending each individual files to the calc
Title: Artistic 2.0
Post by: arglactable on December 21, 2007, 01:29:00 pm
huh, that's strange... because the only groups I've had trouble with are MTRDPI and Quake4. All the ROL games (awesome games by-the-way if a bit slow) worked fine...

I love grouptool since I group basically any prog that uses more than one file.
Title: Artistic 2.0
Post by: DJ Omnimaga on December 21, 2007, 01:45:00 pm
i think it depends of peoiple and calcs. I got problems with the entire Illusiat and ROL series and Zelda got issues a few times altough it worked fine after multiple tries
Title: Artistic 2.0
Post by: TIfanx1999 on December 21, 2007, 02:21:00 pm
My comp doesnt seem to like groups in general for some reason. Some of the programs were named with the theta symbol and it literally interpreted them as (for example) TheataRUN if the program was named Theta symbolRUN.
Title: Artistic 2.0
Post by: arglactable on December 21, 2007, 04:41:00 pm
Come to think of it, I couldn't get Illusiat to work either (any of them).

Please take note of the actual punctuation marks featured in this post. their kind is rarely seen anymore.