unknowncheats uc-forum.com ucdownloads ucdownloads.com

Go Back   UC-Tutorials - Multiplayer Game Hacking and Cheat Tutorials > First-Person Shooters > Other FPS Games > Crossfire

- Sponsored Advertisement -
http://www.myfpscheats.com/


Reply
 
Thread Tools Display Modes
  #1  
Old 10-30-2009, 12:23 AM
Dave Dave is offline
Junior Member
 
Join Date: Oct 2009
Posts: 11
Default [Code] Engine Drawing

PHP Code:
struct CF_FontBase
{
    
unsigned char        ucPadding[0xC];        //0000
    
ID3DXFont*        m_pDefault;            //000C
    
ID3DXFont*        m_pVerdanaBold;        //0010
    
ID3DXFont*        m_pVerdanaSkinny;        //0014
    
ID3DXFont*        m_pVerdanaGiant;        //0018
    
ID3DXFont*        m_pVerdanaBig;        //001C
    
ID3DXFont*        m_pVerdanaBigSkinny;    //0020
}; 
PHP Code:
__declspec(noinlinevoid CEngine::RenderTextEngineint xint yDWORD colorchar *strbool bCenterbool bOutline )
{
    if( !
IsReady() )
        return;

    if( *(
DWORD *)m_pFontBase == NULL )
        return;

    
CF_Viewport vp GetViewport();

    if( 
GetFontBase() )
    {
        if( 
GetFontBase()->m_pVerdanaSkinny )
        {
            
int StringWidth g_Engine.GetStringWidthstrGetFontBase()->m_pVerdanaSkinny );

            if( 
bCenter )
            {
                
-= (int)(StringWidth/2);
            }

            
RECT fp = { xyvp.xvp.};

            if( 
bOutline )
            {
                
RECT fp1 = { 1yvp.xvp.};
                
RECT fp2 = { 1yvp.xvp.};
                
RECT fp3 = { x1vp.xvp.};
                
RECT fp4 = { x1vp.xvp.};

                
GetFontBase()->m_pVerdanaSkinny->DrawTextANULLstr, -1, &fp1DT_LEFTD3DCOLOR_RGBA000ALPHAcolor ) ) );
                
GetFontBase()->m_pVerdanaSkinny->DrawTextANULLstr, -1, &fp2DT_LEFTD3DCOLOR_RGBA000ALPHAcolor ) ) );
                
GetFontBase()->m_pVerdanaSkinny->DrawTextANULLstr, -1, &fp3DT_LEFTD3DCOLOR_RGBA000ALPHAcolor ) ) );
                
GetFontBase()->m_pVerdanaSkinny->DrawTextANULLstr, -1, &fp4DT_LEFTD3DCOLOR_RGBA000ALPHAcolor ) ) );
            }

            
GetFontBase()->m_pVerdanaSkinny->DrawTextANULLstr, -1, &fpDT_LEFTcolor );
        }
    }
}

int CEngine::GetStringWidthchar *szStringID3DXFontFont )
{
    
TEXTMETRICA Met

    
Font->GetTextMetrics( &Met );

    
INT iStringSize NULL;

    for(
int i 0szString[i] != '\0'i++)
        
iStringSize++;

    return 
iStringSize Met.tmAveCharWidth

You can find the address for the CF_FontBase from the RenderText function

PHP Code:
 RenderTextString((int)dword_102491C0, (int)"Initializing Engine Manager ..."580540, -11); 
you can also create your own fonts, but i leave that up to yourself arty: arty: arty:


added FillRGBA Oct 12th 2009

PHP Code:
class ILTClient
{
public:                                                            
//  Index Offset
    
virtual const char *CLTClientName(void);                    // 0000  0000
    
virtual ILTCommonCommon(void);                            // 0001  0004
    
virtual ILTPhysicsPhysics(void);                            // 0002  0008
    
virtual voidTransform(void);                                // 0003  000C
    
virtual ILTModelGetModelLT(void);                            // 0004  0010
    
virtual ILTSoundMgrSoundMgr(void);                        // 0005  0014
    
virtual void DebugOutput(void);                                // 0006  0018
    
virtual void sub_414BE0(void);                                // 0007  001C
    
virtual void sub_414C30(void);                                // 0008  0020
    
virtual void sub_414DF0(void);                                // 0009  0024
    
virtual voidFindItYourself001(void);                        // 0010  0028
    
virtual void sub_4122B0(void);                                // 0011  002C
    
virtual void FindItYourself002(void);                        // 0012  0030
    
virtual void sub_4153D0(void);                                // 0013  0034
    
virtual void sub_415420(void);                                // 0014  0038
    
virtual void sub_414FB0(void);                                // 0015  003C
    
virtual void sub_415090(void);                                // 0016  0040
    
virtual void sub_4150C0(void);                                // 0017  0044
    
virtual void sub_4150F0(void);                                // 0018  0048
    
virtual void sub_415120(void);                                // 0019  004C
    
virtual void sub_415160(void);                                // 0020  0050
    
virtual void sub_4151A0(void);                                // 0021  0054
    
virtual void sub_4151D0(void);                                // 0022  0058
    
virtual void sub_415200(void);                                // 0023  005C
    
virtual void sub_415230(void);                                // 0024  0060
    
virtual void sub_415250(void);                                // 0025  0064
    
virtual void sub_415270(void);                                // 0026  0068
    
virtual void sub_4152A0(void);                                // 0027  006C
    
virtual voidFindItYourself003();                // 0028  0070
    
virtual void sub_415630(void);                                // 0029  0074
    
virtual void sub_415780(void);                                // 0030  0078
    
virtual void sub_4154D0(void);                                // 0031  007C
    
virtual void sub_415570(void);                                // 0032  0080
    
virtual void sub_413AA0(void);                                // 0033  0084
    
virtual void sub_413CD0(void);                                // 0034  0088
    
virtual void sub_413D80(void);                                // 0035  008C
    
virtual void sub_413E10(void);                                // 0036  0090
    
virtual void FindItYourself004();                                    // 0037  0094
    
virtual void FindItYourself005();                                        // 0038  0098
    
virtual void sub_414880(void);                                // 0039  009C
    
virtual void sub_414740(void);                                // 0040  00A0
    
virtual void sub_4146E0(void);                                // 0041  00A4
    
virtual void sub_414840(void);                                // 0042  00A8
    
virtual void sub_414800(void);                                // 0043  00AC
    
virtual void sub_414780(void);                                // 0044  00B0
    
virtual void sub_4147C0(void);                                // 0045  00B4
    
virtual void FindItYourself006( );                                // 0046  00B8
    
virtual void FindItYourself007( );                                    // 0047  00BC
    
virtual void sub_4124B0(void);                                // 0048  00C0
    
virtual void FindItYourself008(void);                                // 0049  00C4
    
virtual ILTDrawPrimDrawPrim(void);                        // 0050  00C8
};

class 
ILTDrawPrim
{
public:
    
virtual charGetClassName() = 0;                                                    //0000
    
virtual void Padding001() = 0;                                                        //0004
    
virtual void Padding002() = 0;                                                        //0008
    
virtual void Padding003() = 0;                                                        //000C
    
virtual LTRESULT SetTexture(HTEXTURE hTexture) = 0;                                    //0010
    
virtual LTRESULT BeginDrawPrimBlock() = 0;                                            //0014
    
virtual void Padding004() = 0;                                                        //0018
    
virtual void Padding005() = 0;                                                        //001C
    
virtual void Padding006() = 0;                                                        //0020
    
virtual void Padding007() = 0;                                                        //0024
    
virtual void Padding008() = 0;                                                        //0028
    
virtual void Padding009() = 0;                                                        //002C
    
virtual void Padding010() = 0;                                                        //0030
    
virtual void Padding011() = 0;                                                        //0034
    
virtual void Padding012() = 0;                                                        //0038
    
virtual void Padding013() = 0;                                                        //003C
    
virtual void Padding014() = 0;                                                        //0040
    
virtual void Padding015() = 0;                                                        //0044
    
virtual void Padding016() = 0;                                                        //0048
    
virtual void Padding017() = 0;                                    //004C
    
virtual void Padding018() = 0;                                                        //0050
    
virtual void Padding019() = 0;                                                        //0054
    
virtual void Padding020() = 0;                                                        //0058
    
virtual LTRESULT DrawPrimLT_POLYG4 *pPrim, const uint32 nCount 1) = 0;            //005C
    
virtual void Padding022() = 0;                                                        //0060
}; 
PHP Code:
void DrawPrimSetRGBA(LT_POLYG4Primitivebyte rbyte gbyte bbyte a)
{
    for(
int nCurrVert 0nCurrVert LT_POLYG4::k_nNumVertsnCurrVert++)
    {
        
Primitive.verts[nCurrVert].rgba.Initrgb);
    }
}

void DrawPrimSetXYWH(LT_POLYG4Primitivefloat fLeftfloat fTopfloat fWidthfloat fHeight)
{
    
Primitive.verts[0].pos LTVector(fLeftfTop1.0f);
    
Primitive.verts[1].pos LTVector(fLeft fWidthfTop1.0f);
    
Primitive.verts[2].pos LTVector(fLeft fWidthfTop fHeight1.0f);
    
Primitive.verts[3].pos LTVector(fLeftfTop fHeight1.0f);
}

__declspec(noinlinevoid CEngine::FillRGBAfloat xfloat yfloat wfloat hunsigned char runsigned char gunsigned char bunsigned char a )
{
    if( 
GetClient() )
    {
        if( 
GetClient()->DrawPrim() )
        {
            
LT_POLYG4 Poly;

            
DrawPrimSetRGBAPolyrgb);
            
DrawPrimSetXYWHPolyxyw);

            
GetClient()->DrawPrim()->DrawPrim( &Poly );
        }
    }
}

__declspec(noinlinevoid CEngine::OutlineRGBAfloat xfloat yfloat wfloat hfloat boarderunsigned char runsigned char gunsigned char bunsigned char a )
{
    if( 
GetClient() )
    {
        if( 
GetClient()->DrawPrim() )
        {
            
LT_POLYG4 Polys[4];

            
DrawPrimSetRGBAPolys[0], rgb);
            
DrawPrimSetRGBAPolys[1], rgb);
            
DrawPrimSetRGBAPolys[2], rgb);
            
DrawPrimSetRGBAPolys[3], rgb);

            
DrawPrimSetXYWHPolys[0], xywboarder );
            
DrawPrimSetXYWHPolys[1], xyboarder);
            
DrawPrimSetXYWHPolys[2], xhboarderboarder );
            
DrawPrimSetXYWHPolys[3], wyboarder);

            
GetClient()->DrawPrim()->DrawPrimPolys);
        }
    }

Will i release more, who knows, but any retard with d3d9 could do this, i am just making people who write PURE engine hacks' lives easier.

you can also thank uNrEaL, who was most supportive during finding all this stuff.
Reply With Quote
Reply

  • Submit Thread to Digg
  • Submit Thread to del.icio.us
  • Submit Thread to StumbleUpon
  • Submit Thread to Google
  • Submit Thread to Facebook
  • Submit Thread to My Yahoo!
  • Submit Thread to MySpace
  • Submit Thread to Twitter
  • Submit Thread to Reddit

Tags
code, drawing, engine

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 05:07 AM.