avatar_dakosmu

Source WideScreen 2024 By Dakosmu

Iniciado por dakosmu, Ene 18, 2024, 03:58 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

dakosmu

Source WideScreen 2024 By Dakosmu





[warning]Este Wide Fue Sacado de los Source ZonaMu season 6 + grow lancer[/warning]


[okay]Interface.cpp[/okay]

[info]Agregas[/info]

#include "DakosmuS6.h"



[info]Buscas[/info]

void Interface::LoadImages()


[info]Agregas[/info]


    //DakosmuWide Imagenes Cliente
    pLoadImage("Custom\\DakosmuWide\\Wide_1.tga", 87968, 0x2601, 0x2901, 1, 0);
    pLoadImage("Custom\\DakosmuWide\\Wide_2.tga", 87969, 0x2601, 0x2901, 1, 0);
    pLoadImage("Custom\\DakosmuWide\\Wide_3.tga", 61546, GL_LINEAR, GL_CLAMP, 1, 0);
    pLoadImage("Custom\\DakosmuWide\\Wide_4.tga", 61547, GL_LINEAR, GL_CLAMP, 1, 0);
    pLoadImage("Custom\\DakosmuWide\\Wide_5.tga", 31337, 9729, 10496, 1, 0);
    //Dakosmu


[okay]Descargar los .OZT[/okay]


[okay]Colocar Dentro del CLiente en la Ruta[/okay]
CitarData\Custom\DakosmuWide


[info]Buscas[/info]

pLoadSomeForm();


[info]Agregas[/info]

DakosmuInterfaceNew.Load_Image(); //Las Imagenes Wide_1,2,3,4,5



[okay]Main.cpp[/okay]

[info]Agregas[/info]


#include "DakosmuWide.h"
#include "DakosmuS6.h"



[info]Buscas[/info]

extern "C" _declspec(dllexport) void EntryProc() // OK


[info]Agregas[/info]

    //WideScreen
    DakosmuWide1.InitFrameOpenGL();
    DakosmuInterfaceNew.Load();
    //WideScreen



[okay]DakosmuBytes.cpp[/okay]


#include "stdafx.h"
#include "DakosmuBytes.h"
#include "../../Util/libjpeg/jpeglib.h"
#include "Util.h"

#include <Shlwapi.h>

#pragma comment(lib, "Shlwapi.lib")

#pragma comment(lib, "jpeg.lib")

#define pOpen        ((FILE*(*)(const char *,const char*))0x009D0040)
#define pSeek        ((int*(*)(FILE*,long,int))0x009D6A53)
#define pRead        ((DWORD*(*)(void*,DWORD,DWORD,FILE*))0x009CFF5F)

void* DakosmuJpegBuffer;
DWORD DakosmuJpegBufferSize;

void DakosmuDec()
{
    SetCompleteHook(0xE9, 0x004FC7AC, &DakosmuOpenJpegBuffer1);
    SetCompleteHook(0xE9, 0x004FCB85, &DakosmuOpenJpegBuffer2);

    SetCompleteHook(0xE9, 0x004FCCBA, &DakosmuOpenTga);
    SetCompleteHook(0xE9, 0x0054C28C, &DakosmuOpenBmd);
    SetCompleteHook(0xE9, 0x005D68FF, &DakosmuOpenAtt);
    SetCompleteHook(0xE9, 0x005D6ECF, &DakosmuOpenMap);
    SetCompleteHook(0xE9, 0x005F34A8, &DakosmuOpenObj);

    SetCompleteHook(0xFF, 0x004FC6C7, &DakosmuOpenFile);
    SetCompleteHook(0xFF, 0x004FCC3E, &DakosmuOpenFile);
    SetCompleteHook(0xFF, 0x0054C21D, &DakosmuOpenFile);
    SetCompleteHook(0xFF, 0x005D6826, &DakosmuOpenFile);
    SetCompleteHook(0xFF, 0x005D6E64, &DakosmuOpenFile);
    SetCompleteHook(0xFF, 0x005F3402, &DakosmuOpenFile);
}

FILE* DakosmuOpenFile(const char* path, const char* f)
{
    char encpath[MAX_PATH] = { 0 };

    wsprintf(encpath, "%s.enc", path);

    if (PathFileExists(encpath) != 0)
    {
        return pOpen(encpath, f);
    }

    return pOpen(path, f);
}

int DakosmuCheckFile(FILE* hFile)
{
    BYTE Buffer[0x18] = { 0 };

    pSeek(hFile, 0, SEEK_SET);
    pRead(Buffer, 1, sizeof(Buffer), hFile);

    if (Buffer[0] != 'E' || Buffer[1] != 'N' || Buffer[2] != 'C')
    {
        return 0;
    }

    if (Buffer[3] == 1)
    {
        return 2;
    }

    return 1;
}

BOOL DakosmuDecryptFile(FILE* hFile, BYTE* Buffer, int Size, int Origin, int Offset)
{
    if (DakosmuCheckFile(hFile) != 0)
    {
        pSeek(hFile, 0x18, SEEK_SET);
        pRead(Buffer, 1, Size, hFile);

        for (int n = 0; n < (Size - 0x18); n++)
        {
            Buffer[n] += (BYTE)(0xA0 ^ HIBYTE(n));
            Buffer[n] ^= (BYTE)(0xAB ^ LOBYTE(n));
        }

        return 1;
    }

    pSeek(hFile, Offset, SEEK_SET);
    pRead(Buffer, 1, Size, hFile);

    return 0;
}

__declspec(naked) void DakosmuOpenJpegBuffer1()
{
    static DWORD Address1 = 0x004FC7C2;
    static DWORD Address2 = 0x004FC7C2;
    static DWORD Address3 = 0x009CFF5F;
    static DWORD Address4 = 0x009D6A53;
    static DWORD Address5 = 0x009D6CF0;
    static DWORD Address6 = 0x009D00C5;

    _asm
    {
        Push 2
        Push 0x18
        Mov Ecx, Dword Ptr Ss : [Ebp - 0x2C4]
        Push Ecx
        Call[Address4]
        Add Esp, 0x0C
        Mov Ecx, Dword Ptr Ss : [Ebp - 0x2C4]
        Push Ecx
        Call[Address5]
        Add Esp, 0x04
        Mov DakosmuJpegBufferSize, Eax
        Push 0
        Push 0x18
        Mov Ecx, Dword Ptr Ss : [Ebp - 0x2C4]
        Push Ecx
        Call[Address4]
        Add Esp, 0x0C
        Push DakosmuJpegBufferSize
        Call[Address6]
        Add Esp, 0x04
        Push 0x18
        Push 0
        Mov DakosmuJpegBuffer, Eax
        Push DakosmuJpegBufferSize
        Push DakosmuJpegBuffer
        Mov Ecx, Dword Ptr Ss : [Ebp - 0x2C4]
        Push Ecx
        Call[DakosmuDecryptFile]
        Add Esp, 0x14
        Test Eax, Eax
        Je EXIT
        Mov Edx, DakosmuJpegBufferSize
        Sub Edx, 0x18
        Push Edx
        Mov Eax, DakosmuJpegBuffer
        Add Eax, 0x18
        Push Eax
        Lea Ecx, Dword Ptr Ss : [Ebp - 0x2A4]
        Push Ecx
        Call[jpeg_mem_src]
        Add Esp, 0x0C
        Jmp Address1
        EXIT :
        Push DakosmuJpegBufferSize
            Push DakosmuJpegBuffer
            Lea Ecx, Dword Ptr Ss : [Ebp - 0x2A4]
            Push Ecx
            Call[jpeg_mem_src]
            Add Esp, 0x0C
            Jmp Address2
    }
}

__declspec(naked) void DakosmuOpenJpegBuffer2()
{
    static DWORD Address1 = 0x004FCB8C;
    static DWORD Address2 = 0x009CF11A;

    _asm
    {
        Push DakosmuJpegBuffer
        Call[Address2]
        Add Esp, 0x04
        Mov DakosmuJpegBuffer, 0
        Mov Byte Ptr Ss : [Ebp - 0x325] , 1
        Jmp Address1
    }
}

__declspec(naked) void DakosmuOpenTga()
{
    static DWORD Address1 = 0x004FCCD0;
    static DWORD Address2 = 0x004FCCD0;

    _asm
    {
        Push 0
        Push 0x18
        Mov Edx, Dword Ptr Ss : [Ebp - 0x34]
        Push Edx
        Mov Eax, Dword Ptr Ss : [Ebp - 0x44]
        Push Eax
        Mov Ecx, Dword Ptr Ss : [Ebp - 0x3C]
        Push Ecx
        Call[DakosmuDecryptFile]
        Add Esp, 0x14
        Jmp Address1
    }
}

__declspec(naked) void DakosmuOpenBmd()
{
    static DWORD Address1 = 0x0054C2A2;
    static DWORD Address2 = 0x0054C2A2;

    _asm
    {
        Push 0
        Push 0x18
        Mov Edx, Dword Ptr Ss : [Ebp - 0x64]
        Push Edx
        Mov Eax, Dword Ptr Ss : [Ebp - 0x68]
        Push Eax
        Mov Ecx, Dword Ptr Ss : [Ebp - 0x18]
        Push Ecx
        Call[DakosmuDecryptFile]
        Add Esp, 0x14
        Jmp Address1
    }
}

__declspec(naked) void DakosmuOpenAtt()
{
    static DWORD Address1 = 0x005D6915;
    static DWORD Address2 = 0x005D6915;

    _asm
    {
        Push 0
        Push 0x18
        Mov Edx, Dword Ptr Ss : [Ebp - 0x14]
        Push Edx
        Mov Eax, Dword Ptr Ss : [Ebp - 0x0C]
        Push Eax
        Mov Ecx, Dword Ptr Ss : [Ebp - 0x8]
        Push Ecx
        Call[DakosmuDecryptFile]
        Add Esp, 0x14
        Test Eax, Eax
        Je EXIT
        Mov Edx, Dword Ptr Ss : [Ebp - 0x14]
        Sub Edx, 0x18
        Mov Dword Ptr Ss : [Ebp - 0x14] , Edx
        Jmp Address1
        EXIT :
        Jmp Address2
    }
}

__declspec(naked) void DakosmuOpenMap()
{
    static DWORD Address1 = 0x005D6EE5;
    static DWORD Address2 = 0x005D6EE5;

    _asm
    {
        Push 0
        Push 0x18
        Mov Edx, Dword Ptr Ss : [Ebp - 0x14]
        Push Edx
        Mov Eax, Dword Ptr Ss : [Ebp - 0x0C]
        Push Eax
        Mov Ecx, Dword Ptr Ss : [Ebp - 0x8]
        Push Ecx
        Call[DakosmuDecryptFile]
        Add Esp, 0x14
        Test Eax, Eax
        Je EXIT
        Mov Edx, Dword Ptr Ss : [Ebp - 0x14]
        Sub Edx, 0x18
        Mov Dword Ptr Ss : [Ebp - 0x14] , Edx
        Jmp Address1
        EXIT :
        Jmp Address2
    }
}

__declspec(naked) void DakosmuOpenObj()
{
    static DWORD Address1 = 0x005F34BE;
    static DWORD Address2 = 0x005F34BE;

    _asm
    {
        Push 0
        Push 0x18
        Mov Edx, Dword Ptr Ss : [Ebp - 0x18]
        Push Edx
        Mov Eax, Dword Ptr Ss : [Ebp - 0x10]
        Push Eax
        Mov Ecx, Dword Ptr Ss : [Ebp - 0x8]
        Push Ecx
        Call[DakosmuDecryptFile]
        Add Esp, 0x14
        Test Eax, Eax
        Je EXIT
        Mov Edx, Dword Ptr Ss : [Ebp - 0x18]
        Sub Edx, 0x18
        Mov Dword Ptr Ss : [Ebp - 0x18] , Edx
        Jmp Address1
        EXIT :
        Jmp Address2
    }
}


[okay]DakosmuBytes.h[/okay]


#pragma once

void DakosmuDec();
FILE *DakosmuOpenFile(const char *path, const char *f);
int DakosmuCheckFile(FILE *hFile);
BOOL DakosmuDecryptFile(FILE *hFile, BYTE *Buffer, int Size, int Origin, int Offset);
void DakosmuOpenJpegBuffer1();
void DakosmuOpenJpegBuffer2();
void DakosmuOpenTga();
void DakosmuOpenBmd();
void DakosmuOpenAtt();
void DakosmuOpenMap();
void DakosmuOpenObj();


[okay]Dakosmudefine.h[/okay]


#pragma once
//WideScreem
#define DakosmuCoorX                *(DWORD *)(*(DWORD *)0x7BC4F04 + 0xAC)
#define DakosmuCoorY                *(DWORD *)(*(DWORD *)0x7BC4F04 + 0xB0)
#define DakosmuSupremo                    ((void(__cdecl*)())0x00637A30)
#define DakosmuSetFont                ((int(__thiscall*)(LPVOID This, int a2)) 0x420120)
#define DakosmuFontBold                *(HGDIOBJ*)0x00E8C58C
#define DakosmuAlphaTest                        ((void(__cdecl*)(BYTE Mode)) 0x635FD0)
#define DakosmuBitmap                ((void(__cdecl*)(int ImageID, float PosX, float PosY, float Width, float Height, float Arg6, float Arg7, float ScaleX, float ScaleY, bool ScaleSize, bool ScalePosition, float ScaleAlpha)) 0x00637C60)
#define DakosmuMouseOver                ((bool(__cdecl*)(int a1, int a2, int a3, int a4)) 0x00790B10)
#define DakosmuBuffer33                            ((signed int(__cdecl*)(int a1, int a2, int a3)) 0x006D6C20)
#define Dakosmu_7BC4F04                        *(DWORD*)0x7BC4F04
#define Dakosmu_8128AC8                        *(DWORD*)0x8128AC8
#define Dakosmu_8793384                        *(BYTE*)0x8793384
#define Dakosmu_8793380                        *(BYTE*)0x8793380
#define Dakosmu_8128ABC                        *(DWORD*)0x8128ABC
#define DakosmuSkillLine                    ((void(__thiscall*)(int a1, float a5, int a6, int a7, int a8, int a9)) 0x00772EA0)
#define DakosmuWidth                *(GLsizei*)0x0E61E58
#define DakosmuHeight                *(GLsizei*)0x0E61E5C
//WideScreem


[okay]
import.cpp[/okay]


#include "stdafx.h"
#include "Import.h"
#include "DakosmuWide.h"
#include "DakosmuS6.h"
#include "DakosmuBytes.h"

signed int sub_9CEBF0_2(double a1)
{
    return (signed int)a1;
}

bool pCheckMouseOverMiddle(int x, int y, int w, int h)
{
    int Addr = (pWinWidth / pWinHeightReal / 2) - 320;
    return pCheckMouseOver(x + Addr, y, w, h);
}

void RenderBitmapMiddle(int ImageID, float PosX, float PosY, float Width, float Height, float Arg6, float Arg7, float ScaleX, float ScaleY, bool ScaleSize, bool ScalePosition, float ScaleAlpha)
{
    int Addr = (pWinWidth / pWinHeightReal / 2) - 320;

    RenderBitmap(ImageID, PosX + Addr, PosY, Width, Height, Arg6, Arg7, ScaleX, ScaleY, ScaleSize, ScalePosition, ScaleAlpha);
}

void RenderBitmapRight(int ImageID, float PosX, float PosY, float Width, float Height, float Arg6, float Arg7, float ScaleX, float ScaleY, bool ScaleSize, bool ScalePosition, float ScaleAlpha)
{
    int Addr = pWinWidth / pWinHeightReal - 640;

    RenderBitmap(ImageID, PosX + Addr, PosY, Width, Height, Arg6, Arg7, ScaleX, ScaleY, ScaleSize, ScalePosition, ScaleAlpha);
}

void CRenderImageMiddle(int a1, float a2, float a3, float a4, float a5)
{
    int Addr = (pWinWidth / pWinHeightReal / 2) - 320;

    pDrawGUI(a1, a2 + Addr, a3, a4, a5);
}

void CRenderImageRight(int a1, float a2, float a3, float a4, float a5)
{
    int Addr = pWinWidth / pWinHeightReal - 640;

    pDrawGUI(a1, a2 + Addr, a3, a4, a5);
}

void BarFormMiddle(float PosX, float PosY, float Width, float Height, float Arg5, int Arg6)
{
    int Addr = (pWinWidth / pWinHeightReal / 2) - 320;

    pDrawBarForm(PosX + Addr, PosY, Width, Height, Arg5, Arg6);
}

void BarFormRight(float PosX, float PosY, float Width, float Height, float Arg5, int Arg6)
{
    int Addr = pWinWidth / pWinHeightReal - 640;

    pDrawBarForm(PosX + Addr, PosY, Width, Height, Arg5, Arg6);
}

void pDrawButtonMiddle(DWORD ModelID, float X, float Y, float W, float H, float CurrentX, float CurrentY)
{
    int Addr = (pWinWidth / pWinHeightReal / 2) - 320;
    pDrawButton(ModelID, X + Addr, Y, W, H, CurrentX, CurrentY);
}


double sub_636450_2(float a1)
{
    return (float)((double)(unsigned int)pWinHeight * a1 / 480.0);
}


[okay]DakosmuS6.cpp[/okay]



[okay]DakosmuS6.h[/okay]



[okay]DakosmuWide.cpp[/okay]



[okay]DakosmuWide.h[/okay]






Creditos
Asura
Dakosmu


Bon Dia
  •  
    Los siguientes usuarios dieron las gracias a este tema: Marcelo07

Temas Similares (1)