Welcome to Ramleague,

Ramleague - the best site for pinoy chat, games chat and mobiles chat,

Sign Up
  1. Hello guest Guest , Are you tired from Ads? to remove some ads you need to register and be active. :D

[Source Code] PointBlank PH Class 9/22/2019

Discussion in 'Point Blank Source Code & Tutorials' started by zNova, Sep 22, 2019.

  1. zNova True God Gamer
    Member Lvl2

    zNova
    Joined:
    Oct 7, 2017
    Posts:
    901
    Reputation:
    52
    Thanks:
    208
    Psychedelic

    PointBlank PH Class 9/22/2019

    Welp since it was shifted to zepetto it piqued my interest and i reversed it.
    Also i noticed that they are dynamically loading their dll so it wont show in the module list.(cant call exported function from dll)
    Class i am using :

    Code:
    class i3InputKeyboard
    {
    public:
        char pad_0000[0x1A];
        int8_t A; //0x001A
        int8_t B; //0x001B
        int8_t C; //0x001C
        int8_t D; //0x001D
        int8_t E; //0x001E
        int8_t F; //0x001F
        int8_t G; //0x0020
        int8_t H; //0x0021
        int8_t I; //0x0022
        int8_t J; //0x0023
        int8_t K; //0x0024
        int8_t L; //0x0025
        int8_t M; //0x0026
        int8_t N; //0x0027
        int8_t P; //0x0028
        int8_t O; //0x0029
        int8_t Q; //0x002A
        int8_t R; //0x002B
        int8_t S; //0x002C
        int8_t T; //0x002D
        int8_t U; //0x002E
        int8_t V; //0x002F
        int8_t W; //0x0030
        int8_t X; //0x0031
        int8_t Y; //0x0032
        int8_t Z; //0x0033
        int8_t Escape; //0x0034
        int8_t Enter; //0x0035
        int8_t Ctrl; //0x0036
        int8_t N0000175B; //0x0037
        int8_t Shift; //0x0038
        int8_t N00001761; //0x0039
        int8_t Alt; //0x003A
        int8_t N00001762; //0x003B
        int8_t SpaceBar; //0x003C
        int8_t ArrowRight; //0x003D
        int8_t ArrowLeft; //0x003E
        int8_t ArrowUp; //0x003F
        int8_t ArrowDown; //0x0040
        int8_t PageUp; //0x0041
        int8_t PageDown; //0x0042
        int8_t Home; //0x0043
        int8_t End; //0x0044
        int8_t Delete; //0x0045
        int8_t Insert; //0x0046
        int8_t Tab; //0x0047
        int8_t NumLock; //0x0048
        int8_t CapsLock; //0x0049
        int8_t ScrollLock; //0x004A
        int8_t PauseBreak; //0x004B
        int8_t Unk1; //0x004C
        int8_t Unk2; //0x004D
        int8_t Unk3; //0x004E
        int8_t F1; //0x004F
        int8_t F2; //0x0050
        int8_t F3; //0x0051
        int8_t F4; //0x0052
        int8_t F5; //0x0053
        int8_t F6; //0x0054
        int8_t F7; //0x0055
        int8_t F8; //0x0056
        int8_t F9; //0x0057
        int8_t F10; //0x0058
        int8_t F11; //0x0059
        int8_t F12; //0x005A
        int8_t NumPad0; //0x005B
        int8_t NumPad1; //0x005C
        int8_t NumPad2; //0x005D
        int8_t NumPad3; //0x005E
        int8_t NumPad4; //0x005F
        int8_t NumPad5; //0x0060
        int8_t NumPad6; //0x0061
        int8_t NumPad7; //0x0062
        int8_t NumPad8; //0x0063
        int8_t NumPad9; //0x0064
        int8_t NumDivide; //0x0065
        int8_t NumMultiply; //0x0066
        int8_t NumMinus; //0x0067
        int8_t NumPlus; //0x0068
    };
    
    class i3InputMouse
    {
    public:
        char pad_0000[16]; //0x0000
        D3DXVECTOR3 MousePos; //0x0010
        int32_t MouseState; //0x001C
        char pad_0020[4]; //0x0020
        D3DXVECTOR3 MouseDelta; //0x0024
    
        void SetMouse(D3DXVECTOR3 pos)
        {
            typedef void(__thiscall * SetMousePos)(i3InputMouse * pthis, float x, float y, float z);
            SetMousePos oMouse = (SetMousePos)SetMouseAddr; //55 8B EC F3 0F 10 45 08 F3
            oMouse(this, pos.x,pos.y,pos.z);
        }
    };
    
    class i3RenderContext
    {
    public:
        char pad_0000[2224]; //0x0000
        D3DXMATRIX ViewMatrix; //0x08B0
        D3DXMATRIX ProjectionMatrix; //0x08F0
        D3DXMATRIX InverseMatrix; //0x0930
        D3DXMATRIX WorldMatrix; //0x0970
        char pad_0x974[0x45EB];//0x974
        int width;//0x4F54
        int height;//0x4F58
        char pad_0x4F5C[0x100];//0x4F5C
        LPDIRECT3DDEVICE9 pDevice;//0x505C
        char pad_14[0x10];//0x5060
        HWND GameHWND;//0x5070
        char pad_00F0[0xEC];//0x5074
        D3DXMATRIX TextureMatrix;//0x5160
      
    
       
    BOOL WorldToScreen(LPDIRECT3DDEVICE9 pDevice,D3DVECTOR Player, D3DVECTOR& Out)
        {
            D3DXVECTOR3 PlayerPos(Player.x, Player.y, Player.z);
            D3DXVECTOR3 vScreen;
            D3DVIEWPORT9 Viewport;
            pDevice->GetViewport(&Viewport);
            Viewport.X = Viewport.Y = 0;
            Viewport.MinZ = 0;
            Viewport.MaxZ = 1;
    
            D3DXVec3Project(&vScreen, &PlayerPos, &Viewport, &this->ProjectionMatrix, &this->ViewMatrix, &this->WorldMatrix);
            if (vScreen.z < 1.0f && vScreen.x > 0.0f && vScreen.y > 0.0f && vScreen.x < Viewport.Width && vScreen.y < Viewport.Height)
            {
                Out.x = vScreen.x;
                Out.y = vScreen.y;
                Out.z = vScreen.z;
                return true;
            }
            return false;
        }
    }
    
    class i3UIMessageBox
    {
    public:
        enum I3UI_MESSAGEBOX_TYPE : int
        {
            TEST = 0,
            TEST2 = 1,
        };
        void ButtonCaption(int a2,const char* msg)
        {
            typedef void(__thiscall * SetBtnCaption)(i3UIMessageBox*, int, const char*);//i3UIMessageBox::SetBtnCaption
            SetBtnCaption oSetBtnCaption = (SetBtnCaption)CallAddr;
            oSetBtnCaption(this, a2, msg);
        }
    
        void OnEnabled(bool bul)
        {
            typedef void(__thiscall * OnEnabled)(i3UIMessageBox *, bool);
            OnEnabled oOnEnabled = (OnEnabled)CallAddr;
            oOnEnabled(this, bul);
        }
      
        void SetMsgString(const char* msg)
        {
            typedef void(__thiscall * SetMsgString)(i3UIMessageBox*, const char*);
            SetMsgString oSetMsgString = (SetMsgString)CallAddr;
            oSetMsgString(this, msg);
        }
    
        void SetMsgBoxType(I3UI_MESSAGEBOX_TYPE type,int a2)
        {
            typedef void(__thiscall * SetMsgBoxType)(I3UI_MESSAGEBOX_TYPE,int);
            SetMsgBoxType oSetMsgBoxType = (SetMsgBoxType)CallAddr;
            oSetMsgBoxType(type,a2);
        }
        /*
        int __thiscall i3UIMessageBox::SetMsgBoxType(int this, signed int a2)
    {
      int v2; // esi
      int result; // eax
    
      v2 = this;
      if ( *(_DWORD *)(this + 548) != a2 )
      {
        *(_DWORD *)(this + 548) = a2;
        (*(void (__stdcall **)(bool, _DWORD))(**(_DWORD **)(this + 560) + 256))(a2 >= 2, 0);
        (*(void (__stdcall **)(bool, _DWORD))(**(_DWORD **)(v2 + 556) + 256))(a2 >= 1, 0);
        result = (*(int (__stdcall **)(bool, _DWORD))(**(_DWORD **)(v2 + 552) + 256))(a2 >= 0, 0);
        *(_DWORD *)(v2 + 200) |= 0x80000000;
      }
      return result;
    }
        */
    };
    
     
    Last edited: Sep 22, 2019
    • BE A GAMER - RAMLeague
Loading...

Advertisement

Tags for this Thread

:

Share This Page