Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- -----------------------------------------
- * Game hacking QTS ( Quickie Tip Series )
- * no. 19 - Primitive 3D shape drawing function
- -----------------------------------------
- * Author: SEGnosis - GHAnon.net
- * Thanks to:
- * bitterbanana - No known site
- * Drunken Cheetah - No known site
- * fatboy88 - No known site
- * Geek4Ever - No known site
- * learn_more - www.uc-forum.com
- * Novocaine - http://ilsken.net/blog/?page_id=64
- * Philly0494 - No known site
- * Roverturbo - www.uc-forum.com
- * SilentKarma - www.halocoders.com - offline
- * Strife - www.uc-forum.com
- * Wieter20 - No known site
- */
- //------------------------------------//
- void BoundingShape( FVect3 vPos, DWORD dwWidth, DWORD dwHeight, DWORD dwSides, float fRotation )
- {
- POINT* ptBase = new POINT[ dwSides + 1 ]; // make points to draw to
- POINT* ptTop = new POINT[ dwSides + 1 ];
- FVect3 vBaseSquare = vPos;
- FVect3 vTopSquare = vPos;
- vTopSquare.y += dwHeight; // height of box
- for( int i = 0; i < dwSides; i++ )
- {
- vBaseSquare.x = ( cosf( fRotation ) * dwWidth ) + vPos.x;
- vBaseSquare.z = ( sinf( fRotation ) * dwWidth ) + vPos.z;
- vTopSquare.x = vBaseSquare.x;
- vTopSquare.z = vBaseSquare.z;
- ptBase[ i ] = CDraw.World2Screen( vBaseSquare );
- ptTop [ i ] = CDraw.World2Screen( vTopSquare );
- fRotation += PI_SQUARED/dwSides; // offset
- }
- ptBase[ dwSides ] = ptBase[ 0 ]; // set finishing point
- ptTop [ dwSides ] = ptTop [ 0 ];
- for( int i = 0; i < dwSides; i++ ) // Draw Bottom
- CDraw.Line( ptBase[ i ].x, ptBase[ i ].y, ptBase[ i + 1 ].x, ptBase[ i + 1 ].y, 1, CDraw.m_coRed );
- for( int i = 0; i < dwSides; i++ ) // Draw top
- CDraw.Line( ptTop[ i ].x, ptTop[ i ].y, ptTop[ i + 1 ].x, ptTop[ i + 1 ].y, 1, CDraw.m_coRed );
- for( int i = 0;+ i < dwSides; i++ ) // Draw lines from bottom to top
- CDraw.Line( ptBase[ i ].x, ptBase[ i ].y, ptTop[ i ].x, ptTop[ i ].y, 1, CDraw.m_coRed );
- }
- //------------------------------------//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement