norecess information 701 glöps
- demo Amstrad Plus PHAT by Condense [web]
- @Optimus : more information about C on CPC here : http://arnaud.storq.googlepages.com/cforamstradcpc
Expect a x2 / x3 size versus ASM, but it packs very well.
1) Yes it takes times to be used to z88dk.
2) Each parts are unpacked at run-time so memory is not a problem here
And as a general rule : experiment by yourself ! Dont stop work because of presumptions or people without knowledge ! :o) - isokadded on the 2008-07-22 15:13:03
- demo Amstrad Plus PHAT by Condense [web]
- video http://fr.youtube.com/watch?v=HIaVST3ycCY
- isokadded on the 2008-07-21 17:54:50
- demo Amstrad Plus PHAT by Condense [web]
- (sorry for huge code sample!)
- isokadded on the 2008-07-21 00:19:34
- demo Amstrad Plus PHAT by Condense [web]
- Thank you Optimus for your comment.
About the tunnel effect, all is done in C. The only ASM code here is the rectangle rasterization.
This is the source-code of the squared tunnel effect's main loop :
Code:for ( iSquare = 0; iSquare < SQUARECOUNT - 1; iSquare++ ) { if ( s_sizes[ iSquare ] > 1 ) { { addX = s_cosX[ s_iSinX ]; addY = s_cosY[ s_iSinY ]; X1 = s_sizeX1[ iSquare ] + addX; Y1 = s_sizeY1[ iSquare ] + addY; X2 = s_sizeX2[ iSquare ] + addX; Y2 = s_sizeY2[ iSquare ] + addY; } { s_iSinX += TUNNEL_CURVEX; if ( s_iSinX >= MAXSINCOS ) { s_iSinX -= MAXSINCOS; } s_iSinY += TUNNEL_CURVEY; if ( s_iSinY >= MAXSINCOS ) { s_iSinY -= MAXSINCOS; } } { if ( X1 < s_prevX1 ) { X1 = s_prevX1; } if ( X1 > s_prevX2 ) { X1 = s_prevX2; } if ( X2 < s_prevX1 ) { X2 = s_prevX1; } if ( X2 > s_prevX2 ) { X2 = s_prevX2; } if ( Y1 < s_prevY1 ) { Y1 = s_prevY1; } if ( Y1 > s_prevY2 ) { Y1 = s_prevY2; } if ( Y2 < s_prevY1 ) { Y2 = s_prevY1; } if ( Y2 > s_prevY2 ) { Y2 = s_prevY2; } } { if ( Y1 > Y2 ) { s_tempValue = Y2; Y1 = Y2; Y2 = s_tempValue; } if ( X1 > X2 ) { s_tempValue = X2; X1 = X2; X2 = s_tempValue; } } s_pen = s_pens[ iSquare ]; if ( s_prevX2 > s_prevX1 ) { width = s_prevX2 - s_prevX1; if ( Y1 > s_prevY1 ) { crGFXDrawRectFast( s_scanlineBuffer + s_prevY1, s_prevX1 + width, width, Y1 - s_prevY1, s_pen ); } if ( s_prevY2 > Y2 ) { crGFXDrawRectFast( s_scanlineBuffer + Y2, s_prevX1 + width, width, s_prevY2 - Y2, s_pen ); } } if ( Y2 > Y1 ) { if ( X1 > s_prevX1 ) { width = X1 - s_prevX1; crGFXDrawRectFast( s_scanlineBuffer + Y1, s_prevX1 + width, width, Y2 - Y1, s_pen ); } if ( s_prevX2 > X2 ) { width = s_prevX2 - X2; crGFXDrawRectFast( s_scanlineBuffer + Y1, X2 + width, width, Y2 - Y1, s_pen ); } } s_prevX1 = X1; s_prevY1 = Y1; s_prevX2 = X2; s_prevY2 = Y2; } }
If you want to know more about source-code, you can get the whole C framework I created for the demo, as also the demo itself. In a way, this is the first open-source CPC demo ;)
This is the Subversion repository :
https://crocolib.svn.sourceforge.net/svnroot/crocolib/trunk
Finally, thank you for your comments ! Let's say I'm waiting your next production now :-) and don't rush it hehe! - isokadded on the 2008-07-21 00:18:42
- demo Amstrad CPC Synergy 2 by Impact
- I'm in love with used color scheme. Great!
- rulezadded on the 2008-05-02 17:25:51
- demo Amstrad CPC The Demo by Logon System
- The best part of this megademo :
http://www.youtube.com/watch?v=osh-0z_073w
That part has been created in 1989... - isokadded on the 2008-04-03 20:42:47
- intro Amstrad CPC Shadow Of The Beast Preview by Logon System
- Oh yeah! Definitively awesome to watch on real CPC hardware.
- rulezadded on the 2008-03-07 21:50:30
- demo Amstrad Plus Synergy by Impact
- Impressive ! COLORS !!
- rulezadded on the 2007-12-06 19:56:34
- demo VIC 20 OMD - Orb MegaDemo by Orb [web]
- Well, perhaps Maxidemo/Megademo are terms reserved to Amstrad/Atari scene..?
anyway, I found that maxidemo/megademo distinction a good thing. - isokadded on the 2007-09-12 16:18:34
- demo VIC 20 OMD - Orb MegaDemo by Orb [web]
- BTW - can someone tell me why this production is called "megademo" ?
I mean, and correct me if I'm wrong..
- a multi-part production where users wait for the end of a part or press space to discover the next one should be called a MAXIDEMO
- a multi-part production with a menu to select parts to launch should be called a MEGADEMO
Your thought? - isokadded on the 2007-09-11 16:21:00
account created on the 2000-07-28 12:50:07
