RenderTerrainFace S6.3 - Source Mu - Mu Server Files
 

Noticias:

SMF - Just Installed!

Menú principal

RenderTerrainFace S6.3

Publicado por Dakosmu, Nov 14, 2025, 07:18 PM

Tema anterior - Siguiente tema

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

Dakosmu

    Guía Paso a Paso: Warper Optimizado para RenderTerrainFace S6.3

    ---

    Hola a todos. Comparto una optimización para la función de renderizado de terreno en la Season 6.3 de MU Online.

    Detalles del Warper

    Este warper optimizado se centra en la función RenderTerrainFace para mejorar su comportamiento con la transparencia (Alpha Blending).

    Corrección de Compilación (HIDWORD y LODWORD)

    Si al compilar obtienes el error "identifier "HIDWORD" is undefined", es necesario incluir las siguientes definiciones. Generalmente, estas se añaden al archivo stdafx.h o similar, antes de incluir el código del Warper:

    // stdafx.h (o similar)

    #ifndef HIDWORD
    #define HIDWORD(x)    ((DWORD)(((unsigned long long)(x) >> 32) & 0xFFFFFFFF))
    #endif

    #ifndef LODWORD
    #define LODWORD(x)    ((DWORD)((unsigned long long)(x) & 0xFFFFFFFF))
    #endif

    Código Fuente del Warper (C++)

    Aquí está el código principal del warper que debes integrar en tu proyecto.

    #define pRenderTerrainFace ((void(__cdecl*)(DWORD a1, int a2, int a3, int a4))0x005D9B50)

    void __cdecl RenderTerrainFace(__int64 a1, int a2, int a3)
    {
       glAlphaFunc(GL_GREATER, 0.0f);

       pRenderTerrainFace(LODWORD(a1), HIDWORD(a1), a2, a3);

       glAlphaFunc(GL_GREATER, 0.25f);
    }

    SetCompleteHook(0xE8, 0x005DA43A, &RenderTerrainFace);

    Explicación Breve

    La modificación ajusta la función glAlphaFunc (función de prueba alfa de OpenGL) antes y después de llamar a la función original (pRenderTerrainFace):
    • Antes: Establece el umbral de transparencia a 0.0f.
    • Después: Restaura el umbral a 0.25f para el renderizado normal de objetos con transparencia.

    Instrucciones Paso a Paso

    Sigue estos pasos para aplicar la optimización:
    [list=1]
    • Incluye las definiciones de HIDWORD y LODWORD (código de corrección) en tu archivo stdafx.h o en un archivo de cabecera relevante.
    • Copia el código principal del Warper y pégalo en el archivo fuente de tu main.exe.
    • Asegúrate de que las demás definiciones (SetCompleteHook, glAlphaFunc, etc.) estén correctamente incluidas.
    • Compila tu proyecto para generar el nuevo archivo main.exe.
    • Reemplaza el archivo main.exe existente en tu cliente con el nuevo compilado.
    • ¡Inicia el juego y comprueba la optimización del renderizado!

    Imágenes de Ejemplo




    Créditos

    Credits: MU main webzen, emershow, and T-LEGENDARY

    ---
    Bon Dia

    🡱 🡳
    Real Time Web Analytics