Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
Dear lord that's pretty D: I would love to get my hands on the code so maybe I have a better understanding on why I can't get xlibc to properly update the screen when I try to use it :p

Looks fantastic, though!
Sure thing, the demo can be downloaded here: http://tr1p1ea.net/files/downloads/XZELDA.7z

The code is:


Code:
"2021202120212021202120212021202120212021452C20212021202120212021202120212021202120212021202120212021202120212021202120212223222322232223222322232223222322232223462D22232223222322232223222322232223222322232223222322232223222322232223222322232021202120212021202120212021202120212021462D000000000000002F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F202120212223222322232223222322232223222322232223462D003233343500314C4D4D4D4D4D4D4E00575757575757575700000203030303030431222322232021202120212021202120212021202120212021462D003637383900314F4B4B4B4B524B5000000000000000000000000501010101010631202120212223222322232223222322232223222322232223462D003A3B3C3D00315351515151515154002F2F2F2F2F2F2F2F0204070C010101010631222322232021202157000057570000005755202120212021472E003E3F4041003100000000000000000030020303030303030A06300708080808093120212021222322230000000000000000005722232223222300452C0002030304002F2F0203042F2F2F2F020A01010101010101062F2F2F2F2F2F2F2F22232223202100000000202120210000000000000057202100462D000501010B0303030A010B030303030A010D08080808080809005726272727272727272728222300000000222322230000000000000000222300472E57070808080808080808080C0101010D0809262727272727272728292A2A2A2A2A2A2A2A2B20210000202120212021202100000000000000000020212627272727272857000000070C010D090057292A2A2A2A2A2A2A2B202120212021202120212223000022232223222322230000000002030303042223292A2A2A2A2A2B262727272805010626272727282021202120215722232223222322232223030303030457202120215700000203030A01010106575520212021202157292A2A2A2B050106292A2A2A2B22232223222300000203030303030303030101010106002223222300000005010101010101060000222322232223000020212021050106002021202120215700000000020A010D080808080808010101010B03030303030402030A010D080808080900000000000000000000222322230708095722232223222300000000020A01010620212021202108080C010101010101010605010101060000000000000000000020210020212021570000002021202120210000000000020A01010D092223222322232021070808080C01010D09070808080920210000000000000057222300222322230000000022232223222300550000020A01010D090000572021202122235700000007080809000000000000222300000000000000000000000000000002030304005757575700000000020A01010D0900005500222322232021202100550000000000000000202120212021000000000000000055000203030A01010B0303030303040000000501010D0900000000000057202122232223570000000000000000002223222322230000000000000000000005010101010101010101010106000000070808090000000000000000222320212021202100000000000020212021555720212021000000000000000007080808080C010101010D0809000000000000000000000000002021202122232223222357000000000022232223000022232223000000000000000000000000000708080C010600000000000000000000000000005722232223202120212021202120210000000000000000005720215700000000000000202120210000000007080900000020210000000000000000202120212021222322232223222322235700000000000000000022230000000000000000222322235700000000000000000022235700000000000057222322232223202120212021202120212021202120210000000000000000202120212021202120212021202100000020212021202120210000002021202120212021222322232223222322232223222322235755000000000057222322232223222322232223222300005722232223222322235700552223222322232223202120212021202120212021202120212021202120212021202120212021202120212021202120212021202120212021202120212021202120212021222322232223222322232223222322232223222322232223222322232223222322232223222322232223222322232223222322232223222322232223→Str9
real(0,1,1,0
"XZELDA
real(5,0,0
real(1,1,0,8
real(1,1,1,104
real(1,1,2,real(1,0,0
real(1,1,3,real(1,0,1
real(1,1,4,100
real(1,1,5,100
real(1,1,6,60
real(0,3,4,0,1
real(0,3,4,0,0
"HP:100-xZELDA-XP:000"
real(6,0,0,0,255,0,1
real(6,0,0,0,255,0,0
1→D
0→F
Repeat real(2,0,0)=15
If real(3,9,0,20,4)real(3,9,1,14,5)=0
Then
real(1,1,4,real(3,6,real(1,0,0),20
real(1,1,5,real(3,6,real(1,0,1),14
real(3,1,4,5,6,9,0,1,19,14,1
real(3,1,4,5,6,9,0,1,19,14,0
real(1,1,2,real(1,0,0
real(1,1,3,real(1,0,1
End
real(4,1,0,1,1,1,⁻8real(1,0,4),⁻8real(1,0,5)+8,240,1,4D+F,96,97,96,98,99,100,99,101,102,103,102,104,105,106,105,107
real(4,5,2,3,2,2,⁻8real(1,0,4),⁻8real(1,0,5)+8,240,0,6,9
real(1,1,2,real(1,0,0
real(1,1,3,real(1,0,1
If real(2,4,0,1,4,4,6,15,9,0,4,7,7)≠⁻1
Then
Ans→D
(F+1)(F<3)→F
Else
0→F
End
End
real(0,1,0,1


When I get a chance ill add some comments to explain what the code does better.
If you or someone else in the community doesn't use xLIBC to make a Zelda game, I think we'll have a full-scale uprising on our hands. Smile A YouTube commenter on one of my calculator hardware videos recently connected my YouTube username with the author of "those TI-84+C games" he has, and requested that I make a Zelda game. Since I probably completely lack the time to do such an undertaking justice, I hope someone else will take up that mantle (especially with how huge TI-84+CE TI-BASIC programs can be).
Whoa, that is some pretty neat stuff! Smile I really need to investigate this programming style more! I'm wondering if it might be possible to do a little image compression; it seems to me that there are quite a few repeated consecutive numbers? Confused Great work; this is definitely a plus for developing on the CSE! Smile
tr1p1ea wrote:

xLIBC Zelda walking demo!!!:


The first are just resized tiles that DJ posted on omni a while back. The zelda tiles I got from somewhere a while back and the character is inspired by some of the rougelike 8x8 sprites getting around - however I added different directions and proper walking animations Smile.

Are you making a game out of that?
Kerm: Hahaha yeah I think there have been at the very least a Zelda demo for every calc incarnation - I suppose it's a game that people would love to see. Though there is DJ's version already Smile.

Mateo: Yeah thats just the tilemap data, it could definitely be compressed.

ralph: Im not sure, I only made it as a proof of concept - that said using DCSE and xLIB, I was able to construct this very quickly (while waiting for dinner to cook).
Quick question for both you and Kerm, will this be integrated into a hot fix release of DCSE for programmers to get at soon?
The drawsprite transparency bug will be, is that what you were referring to?
Well, the question is, have you emailed the fix in the code to KermM so it can be released in DCSE as a fixed version? :p
Yep Kerm gave me access to the repository so things should be much easier now Smile.

EDIT - I wasnt sure where to put this, but ive been working on some of the graphics routines for the CE port of xLIBC.

I came up with a rough cut of a line routine and used a 3Dish (very inaccurate) demo as a test:



(To capture the screenie I used SmartView CE and Fraps, then cropped and converted it to an animated gif with virtualdub ...).
tr1p1ea wrote:
I came up with a rough cut of a line routine and used a 3Dish (very inaccurate) demo as a test:
That looks superb! I know that Graph3DC, should it ever make its way to the TI-84+CE, will be very happy that a nice fast line routine exists. Wink

Quote:
(To capture the screenie I used SmartView CE and Fraps, then cropped and converted it to an animated gif with virtualdub ...).
In which I despair that I haven't had more time to devote to implementing TI-84+CE support in jsTIfied yet. Neutral I'm sorry that you have to deal with such a painful process.
Yeah the cube runs at over 120fps from my rough calculations, however it isnt a proper 3D engine or anything.

The line routine should be interrupt safe, but it does sacrifice some speed - although the general method should be ok performance wise. It is only a rough cut, and I guess ill have to add clipping as well.
Indeed, from within SmartView, it's not very practical...
But this should help solving this issue Very Happy
Ok it's been a long time between updates but I have *finally* begun seriously porting this over to the CE.

Here is an early tilemap test - note that this is the EXACT SAME program running on both the CSE and CE (no modification):

TI-84+CSE:

TI-84+CE:


A bit of a speed improvement for an early test, which is nice.
Hot a, that's speedy. Very nice!
This is really impressive so far, tr1p1ea. Nice job! This is very specific to a single one of my programs, but do you have a good way to leverage the LCD's own features (GRAM offset, at least?) to do X-offsetting on the CE?
This is a difficult issue as iirc GRAM must be doubleword-aligned.

It will require some thought and might end up requiring buffer shifting.
Wow, that looks amazing! I can't wait for this to be released Smile
Oh man, that looks delicious!
Good news, work on xLIBCE continues Smile.

So far I have almost got the xZelda demo completely working (tilemap, sprites, collisions, key input, background filling, strings, string values, buffer setup).

And this morning I ported over the BGPIC & BGPIC32 functions as seen below:



EDIT - I should have noted that this is the CSE xMEME example program running completely unaltered.

EDIT2 - I have implemented 'frames' for both BGPIC's and BGPIC32 images so that you can store multiple images in a single appvar. Here is a speed test between the CSE and the CE:

CSE

CE


EDIT3 - I have also ported over DrawSpriteTileBG over so now the xZELDA demo works in fully. Note that this program is unaltered from the CSE version:
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 7 of 8
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement