Author Topic: dev thread  (Read 10279 times)

0 Members and 1 Guest are viewing this topic.

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8206
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: dev thread
« Reply #30 on: June 16, 2012, 01:35:38 pm »
dat animation sprite looks familiar :D Seriously though, the new updates sound great and I'm glad our two projects have almost identical features. I kinda want to rename Pixelscape to tileIt online! or something now.




Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: dev thread
« Reply #31 on: June 16, 2012, 10:29:40 pm »
yeah, it's a bit weird how we both ended up making the same thing at the same time :p
yours looks great, by the way. i was using it earlier, and it's nice to be able to just click and drag to draw.
* shmibs thinks they will work together well =D

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: dev thread
« Reply #32 on: June 19, 2012, 07:09:04 pm »
update!
lowercase input is now supported, and exporting map to matrix, set to pic, and map to pic all function =D
now all that's left is axe source.

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: dev thread
« Reply #33 on: June 20, 2012, 06:06:56 am »
I haven't really been following this, but I have to tell ya... it's looking very nice. =)

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: dev thread
« Reply #34 on: June 22, 2012, 12:33:53 pm »
Update!
added exporting to axe source, cleaned up text entry a bit, added auto-reloading the last files worked on, added clear-all option with [Graph], and made the save option auto-copy in the name of the currently opened file, if one is opened.

and... i think it's about time for a release. if nobody finds any glaring bugs, i think i'll upload this soon =D

EDIT: fixed a dumb parentheses bug
« Last Edit: June 22, 2012, 12:54:54 pm by shmibs »

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: dev thread
« Reply #35 on: July 05, 2012, 03:19:26 pm »
one last update
i fixed a couple of small bugs, added logical OR/XOR -ing of tiles over each other as a paste option in the editor, which people may find useful for making masked sprites, and added default filenames for the "to program" export options to save people a little time.

this is it for now, unless the urge to work on a grey-scale version comes about at some point in the future
« Last Edit: July 05, 2012, 03:20:20 pm by shmibs »

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: dev thread
« Reply #36 on: September 25, 2012, 03:04:34 pm »
* shmibs is working to make this support 3/4 level grey, seeing as how so many people complained :P

actually writing this is going to be fairly simple; the only difficult part is going to be in trying to optimise things afterwards so the grey actually looks decent, as i sort of didn't even try before because it wasn't necessary.

Offline DJ Omnimaga

  • Now active at https://codewalr.us
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55821
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: dev thread
« Reply #37 on: September 25, 2012, 06:19:47 pm »
Doesn't it already support 3 level gray from the screenshot above? ??? That said it seems pretty nice :)
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF


Bandcamp|Reverbnation|Facebook|Youtube|Twitter

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: dev thread
« Reply #38 on: September 25, 2012, 06:48:18 pm »
no, up there i was just using dynamic tiles to distinguish spots that haven't been filled yet from actual tiles. it was pretty arbitrary, and i might change that as well.

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: dev thread
« Reply #39 on: October 03, 2012, 08:54:07 pm »
alright, here is a working mono/threelevel/fourlevel grey version. the controls are almost identical to what they were before, with the only exceptions being that trace now switches between the three colour modes (the default is mono) and mode draw to the back buffer in the tile editor. this current version is a bit slow, because i was sloppy while throwing together this behemoth before, so it only runs on 15mhz and the grey still looks a bit ugly. if you are leafy, or if you want to use it now for some other reason, go ahead and download it, but it hasn't been tested very exhaustively yet, so it might explode.

oh, and if you see any obvious optimisations in this section:
Code: [Select]
.EXPORT
!If H-3
If D=51 or (D=15)
0->A->B->D->HEnd
!If D-52
->A->B->D
2->H
6->GEnd
!If D-53
->A->B->D
1->HEnd

!If D-1
A<9+A->AEnd
!If D-4
A-(A>0)->AEnd
If D=3 or (D=2)
If A/5
A-5->AElse
A+5->AEnd
End
Lbl EXD
ClrDraw
7:While ->L+1
7:While ->M+1
!If M>1 and (M<7)
0->T
Else
768-(A/5*320)->T
End
Pt-On(L*8,M*8,M*8+L*8-T+Pic6
M-1:End
L-1:End
Pt-On(7,A^5*6+23,Pic8
StorePic
If H>3
Return
End

!If D-54
5->H
If A>4 and (A<7) or (A<4)
For(L,1,10
0->{L+L1}End
If A<4
21->{L1}
Else
5->{L1}
End
0->U->D->B
4->H

!If A*(A-5)
If {L2}-95
Copy(L2,L1+1,8
length(L1+1)->U
!If A-5
!If U-8
83->{L1+8}
Else
83->{L1+U+1}
U++
End:End
End:End
!If A-1*(A-6)
If {L2+10}-95
Copy(L2+10,L1+1,8
length(L1+1)->U
!If A-6
!If U-8
77->{L1+8}
Else
77->{L1+U+1}
U++
End:End
End:End
End
!If A-4
6->H
End
If A<10 and (A>6)
6->HEnd
End


End
.MAP EDIT
!If H-2
!If D-51
3->HEnd
If D=52 or (D=15)
0->H->DEnd
!If D-53
1->HEnd

If G<5
If getKey(48)
If getKey(3)
P<128+P->PEnd
If getKey(2)
P-(P>8)->PEnd
N-(N+8>P)->N
If getKey(1)
Q<128+Q->QEnd
If getKey(4)
Q-(Q>8)->Q
O-(O+8>Q)->OEnd
6->GEnd

End

If D

If D-1<4
!If D-3
N+8<P*(A=7)+N->N
A<7+A->AEnd
!If D-2
N-(N>0*(A=0))->N
A-(A>0)->AEnd
!If D-1
O+8<Q*(B=7)+O->O
B<7+B->BEnd
!If D-4
O-(O>0*(B=0))->O
B-(B>0)->BEnd
6->GElse

O+B*128+N+A+Y->T
.SELECT BY MAP
!If D-40
{T}->E
8->GEnd

!If D-54
.ADD TO UNDO STACK
If {L1+20}
{L1+20}+1
While -1->L
{L-1*3+L1+21}->{L*3+L1+21}
{L-1*3+L1+22}^^r->{L*3+L1+22}^^r
L:End:End
{T}->{L1+21}
T->{L1+22}^^r
{L1+20}+({L1+20}<128)->{L1+20}
E->{T}End
.UNDO
!If D-55
If {L1+20}
{L1+21}->{{L1+22}^^r}
Copy(L1+24,L1+21,384
{L1+20}-1->{L1+20}
End:End

End:End

.DRAW
7:While ->L+1
7:While ->M+1
O+M*128+L+N+Y->T
If {T}<=F
Pt-Off(L*8,M*8,{T}*8+Z
Pt-Off(L*8,M*8,{T}*8+Z+2048)^^r
Else
Pt-Off(L*8,M*8,Z
Pt-Off(L*8,M*8,Z+2048)^^r
End
M-1:End
L-1:End
If G
If getKey(48)
Rect(0,0,64,14
RectI(1,0,62,13
Rect(0,0,64,14)^^r
RectI(1,0,62,13)^^r
N>10*4+(N>100*4)->T
O>10*4+(O>100*4)->U
N+7>9*4+(N+7>99*4)->V
O+7>9*4+(O+7>99*4)->W
Text(2,0,"X:"
Text(2,6,"Y:"
Text(9,0,N>Dec
Text(9,6,O>Dec
Text(T+13,0,"-"
Text(U+13,6,"-"
Text(T+17,0,N+7>Dec
Text(U+17,6,O+7>Dec
Text(T+V+21,0,"/"
Text(U+W+21,6,"/"
Text(T+V+25,0,P>Dec
Text(U+W+25,6,Q>Dec
Else
Pt-Change(A*8,B*8,Pic4
End
Else
0->T
End
Else
.SET EDIT
!If H-1
If D=53 or (D=15)
0->H->DEnd
!If D-52
2->H
6->GEnd
!If D-51
3->HEnd



If D
If D-1<4


!If D-3
A<7+A->AEnd
!If D-2
A-(A>0)->AEnd
!If D-1
B<7+B->BEnd
!If D-4
B-(B>0)->BEnd



Else



!If D-56
Fill(E*8+Z,8,0)
Fill(E*8+Z+2048,8,0)
End

.NUM COMMANDS
If D>17 and (D<37)
E*8+Z->T+2048->S
!If D-36
Copy(rotCC(T),T,8
Copy(rotCC(S),S,8
End
!If D-28
Copy(T+1,L1,7
{T}->{T+7}
Copy(L1,T,7
Copy(S+1,L1,7
{S}->{S+7}
Copy(L1,S,7
End
!If D-20
Copy(rotC(T),T,8
Copy(rotC(S),S,8
End
!If D-35
For(L,0,7
{T+L}*2+(/256)->{T+L}
{S+L}*2+(/256)->{S+L}
End:End
!If D-27
For(L,0,7
{T+L} xor 255->{T+L}
{S+L} xor 255->{S+L}
End:End
!If D-19
For(L,0,7
{T+L}*257/2^256->{T+L}
{S+L}*257/2^256->{S+L}
End:End
!If D-34
Copy(flipH(T),T,8
Copy(flipH(S),S,8
End
!If D-26
Copy(T,L1,7
{T+7}->{T}
Copy(L1,T+1,7
Copy(S,L1,7
{S+7}->{S}
Copy(L1,S+1,7
End
!If D-18
Copy(flipV(T),T,8
Copy(flipV(S),S,8
End
If E>F
E->FEnd
End

End:End




.ANIMATION
If {L2+400}
!If D-32
->{L2+400}
8->G
End
!If G
2->G
E++
If E>F
-1->EEnd
End
Else
!If D-32
+1->{L2+400}
0->E+1->G
End:End





If D




.COPY/PASTE
!If D-40
Copy(E*8+Z,L5,8
Copy(E*8+Z+2048,L5+8,8
End
!If D-48
Copy(L5,E*8+Z,8
Copy(L5+8,E*8+Z+2048,8
If E>F
E->FEnd
End
!If D-47
7:While ->L+1
{E*8+Z+L} or {L+L5}->{E*8+Z+L}
{E*8+Z+L+2048} or {L+L5+8}->{E*8+Z+L+2048}
L-1:End
If E>F
E->FEnd
End
!If D-46
7:While ->L+1
{E*8+Z+L} xor {L+L5}->{E*8+Z+L}
{E*8+Z+L+2048} xor {L+L5+8}->{E*8+Z+L+2048}
L-1:End
If E>F
E->FEnd
End

If (D=54)+(D=55)
E*8+B+Z->T
!If D-55
T+2048->T
End
If {T}[e]A
{T}-e^((7-A))->{T}Else
{T}+e^((7-A))->{T}End
If E>F
E->FEnd
End


End




7:While ->L+1
7:While ->M+1
Pt-On(L*8,M*8,C/4*8+Pic3
M-1:End
L-1:End
StorePic
7:While ->L+1
7:While ->M+1
If {E*8+M+Z}[e]L
Pt-On(L*8,M*8,Pic2
End
If {E*8+M+Z+2048}[e]L
Pt-On(L*8,M*8,Pic2)^^r
End
M-1:End
L-1:End
Pt-Change(A*8,B*8,Pic1
Pt-Change(A*8,B*8,Pic1)^^r
End:End
.INFO
!If H
!If D-53
1->HEnd
!If D-52
2->H
6->GEnd
!If D-51
3->HEnd


If D


If D-1<4
8->G
!If D-3
E^4<3+E->EEnd
!If D-2
E-(E^4>0)->EEnd
!If D-1
E<252*4+E->EEnd
!If D-4
E-(E>3*4)->EEnd
End

.COPY/PASTE
!If D-40
Copy(E*8+Z,L5,8
End
!If D-48
Copy(L5,E*8+Z,8
If E>F
E->FEnd
End
!If D-47
7:While ->L+1
{E*8+Z+L} or {L+L5}->{E*8+Z+L}
L-1:End
If E>F
E->FEnd
End
!If D-46
7:While ->L+1
{E*8+Z+L} xor {L+L5}->{E*8+Z+L}
L-1:End
If E>F
E->FEnd
End

!If D-54
E->FEnd



End



ClrDraw
Text(30,19,L2
Text(30,25,(E+1)>Dec
Text(46,25,(F+1)>Dec
Text(30,33,L2+10
Text(30,39,N>Dec
Text(46,39,P>Dec
Text(30,45,O>Dec
Text(46,45,Q>Dec
7:While ->L+1
7:While ->M+1
Pt-On(L*8,M*8,M*8+L*8+Pic6
M-1:End
L-1:End

StorePic
End

32:While ->L+1
Pt-On(L^4*8+64,L/4*8,C/6*8+Pic5
L-1:End

!If E/32>(F/32)
!If E/32-(F/32)
F^32->TElse
32->TEnd
E/32*256+Z->S
T:While ->L+1
Pt-Off(L^4*8+64,L/4*8,L*8+S
Pt-Off(L^4*8+64,L/4*8,L*8+S+2048)^^r
L-1:End
End

If G
Pt-Change(E^32^4*8+64,E^32/4*8,Pic4
G--
End
If D-15
!If R-2
DispGraph^^r^^r
Else!If R
DispGraph
Else
DispGraph^^r
End
End
C++
!If C-12
->CEnd
End
If GetCalc(Str3,16)->theta
Copy(L2,theta,8)
Copy(L2+10,theta+8,8)
End
DelVar Str1
DelVar Str2
Return

.TO STRING
Lbl STR
nib{r1+L*2}->T
T>9*7+48+T->{L*2+theta}
nib{r1+L*2+1}->T
T>9*7+48+T->{L*2+theta+1}
Return

.DRAW PROG BAR
Lbl BAR
sub(EXD)
For(M,0,r1
Pt-On(M+3,54,Pic9
End
DispGraph
Return

.EXP ERROR
Lbl ERR
Rect(19,33,25,9
RectI(20,34,23,7
Text(21,34,"ERROR!"
!If D
->UEnd
!If U
If D
3->HEnd
End
Return
or if you run into any bugs, let me know =) there are a bunch of obvious changes, like not clearing/redrawing the screen every single time and moving the portions in the "if H-n" statements into subroutines, but things like that would require massive rewrites and restructuring, which i'm not really up to right now :P

TILE and TDATA are the source. oh, and the grey doesn't look nearly as good on calc as it does in this screenie.
« Last Edit: October 03, 2012, 08:56:25 pm by shmibs »

Offline DJ Omnimaga

  • Now active at https://codewalr.us
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55821
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: dev thread
« Reply #40 on: October 14, 2012, 12:10:15 pm »
Wow this looks very great O.O Can it be ran from archive entirely?
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF


Bandcamp|Reverbnation|Facebook|Youtube|Twitter

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8206
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: dev thread
« Reply #41 on: October 14, 2012, 12:13:29 pm »
Wow this looks very great O.O Can it be ran from archive entirely?
Yep, it can read data appvars from archive, and I think it always saves to the archive. The program itself is an app.




Offline DJ Omnimaga

  • Now active at https://codewalr.us
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55821
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: dev thread
« Reply #42 on: October 14, 2012, 12:24:03 pm »
Oh I thought there was still separate stuff such as TDATA.8xp, hence why I was asking. I know certain ASM games like Desolate required one program to remain in RAM while playing.
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF


Bandcamp|Reverbnation|Facebook|Youtube|Twitter

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: dev thread
« Reply #43 on: January 30, 2013, 04:32:51 am »
i finally got around to updating this again.

Added:
the tan button will now swap the front and back buffers of all the tiles in the tileset, enabling people to export either one (whichever is in front when the export is called) to options like "Set to Pic" which only allow monochrome.

an icon which appears in the top left corner of the screen when the colour depth is changed, indicating the new number of levels.

Changed:
several bugs fixed

various minor speed improvements. hopefully it won't be slow enough to annoy anyone now.

the controls have been modified to be more intuitive. switching the currently selected tile forwards/backwards is now handled with Graph/Trace, so the right thumb doesn't have to be moving back and forth constantly while editing. changing colour depth has been moved to ^, and reset all to .


this may very well be the last test release before the new version is all official and things, so test it out and try to find some bugs!
« Last Edit: January 30, 2013, 09:00:20 am by shmibs »

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: dev thread
« Reply #44 on: February 10, 2013, 11:58:18 pm »
ok, this makes a few more bug fixes and actually signing the app this time X_X
if nobody finds any bugs, this version is going up on ticalc tomorrow.
* shmibs has already spent a bit testing it.