Entidad 3D :: Creación de juegos en 3D sin programar

Foro de Entidad 3D
 
PortalÍndiceBuscarMiembrosGrupos de UsuariosFAQChatAnalisisRegistrarseConectarse
. . . . . . . . . . . . . . . . . . . . . . . .
Visita el sitio oficial de Entidad 3D para descargar la última versión!
Si encuentras un bug en la útlima versión de Entidad 3D, comunícaselo directamente al autor de Entidad 3D, Jordi Perez via correo electronico. Si no estás seguro si es un bug o no, consúltalo con la gente del foro!
Si eres un usuario nuevo preséntate en el subforo de saludos y despedidas para asegurar tu cuenta! (Los usuarios que tengan 0 mensajes pasados los primeros 10 días de creada su cuenta serán eliminados como política de limpieza del foro)

Comparte | 
 

 Injectar dll en entidad-3d

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
estantaya-1
Spammer
Spammer
avatar

Sexo : Masculino
Mensajes : 541
Edad : 30

MensajeTema: Injectar dll en entidad-3d   Lun Mayo 07, 2012 3:52 pm

hola estaba buscando alguna forma de programar en c++ con entidad-3d y crear un mod o un plugin para agregarle funciones al engine
y encontre este articulo: [Tienes que estar registrado y conectado para ver este vínculo]
me sirvio, segui los pasos y me andubo
la dll:
[Tienes que estar registrado y conectado para ver esa imagen]

al ejecutar entidad3d.exe se inicia el codigo injectado:
[Tienes que estar registrado y conectado para ver esa imagen]

ahora necesito ayuda en lo siguiente:
quiero introducir en mi dll injectada este codigo:
[Tienes que estar registrado y conectado para ver este vínculo]
no todo por ejemplo la parte de la aplicación no la quiero,
el articulo es viejo y la descarga no anda, en la pagina del autor la descarga si sirve:
[Tienes que estar registrado y conectado para ver este vínculo]
hasta ahora pude hacer una dll que lee el mouse y teclado, pero me gustaria saber como hago para poder procesar los eventos.
este es el contenido de mi plugin:
dllmain.cpp
Código:
#define STRICT
#include <windows.h>
#include <tchar.h>
#include <basetsd.h>
#include <stdio.h>
#include "dll.h"

//This is the #define you need prior to including dinput.h
#define DIRECTINPUT_VERSION 0x0800
//

// algunos pragmas para optimizacion, para producir un EXE mas pequeño (se pueden quitar)
// ademas estas lineas son las causantes de los warnings del compilador
#pragma optimize("gsy",on)
#pragma comment(linker, "/MERGE:.rdata=.data")
#pragma comment(linker, "/MERGE:.reloc=.data")
#pragma comment(linker, "/MERGE:.text=.data")
#pragma comment(linker, "/FILEALIGN:64")
#pragma comment(linker, "/ALIGN:64")

//-----------------------------------------------------------------------------
// Prototipos de Funcion
//-----------------------------------------------------------------------------
INT_PTR CALLBACK MainDlgProc( HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam );
HRESULT OnInitDialog( HWND hDlg );
VOID    UpdateUI( HWND hDlg );
HRESULT OnCreateDevice( HWND hDlg );
HRESULT ReadImmediateData( HWND hDlg );
VOID    FreeDirectInput();

bool salir = false;

 
 
#define EXPORT extern "C" __declspec (dllexport)
 
EXPORT void injection( ){} //Anclaje
 
EXPORT BOOL APIENTRY DllMain(HINSTANCE hInst, DWORD reason, LPVOID reserved)
 
{
 
switch(reason)
 
{
 
case DLL_PROCESS_ATTACH:
 
MessageBox(0,"Esta ventana podria servir para un menu o video...","Combustion Machine Mod",MB_OK);

break;
 
case DLL_PROCESS_DETACH:
 
MessageBox(0,"Ah rre loko!!!! nos vemos ;)","C.M. Mod developed by ea!",MB_OK);
 
break;
 
}
 
return true;
 
}

dll.h
Código:
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by mouse.rc
//
#define IDI_MAIN                        101
#define IDD_MOUSE                      102
#define IDR_MENU                        103
#define IDR_ACCELERATOR1                105
#define IDC_DATA                        1000
#define IDC_CREATEDEVICE                1010
#define IDC_DATA_STATIC                1013
#define IDC_DATA2                      1016
#define IDM_CREATEDEVICE                40003
#define IDM_RELEASEDEVICE              40005

// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE        106
#define _APS_NEXT_COMMAND_VALUE        40006
#define _APS_NEXT_CONTROL_VALUE        1017
#define _APS_NEXT_SYMED_VALUE          101
#endif
#endif

#ifndef _DLL_H_
#define _DLL_H_

#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */


#ifdef DIRECTINPUT_VERSION

//-----------------------------------------------------------------------------
// definiciones constantes y variables globales
//-----------------------------------------------------------------------------
#define SAFE_DELETE(p)  { if(p) { delete (p);    (p)=NULL; } }
#define SAFE_RELEASE(p) { if(p) { (p)->Release(); (p)=NULL; } }

LPDIRECTINPUT8      g_pDI    = NULL;
LPDIRECTINPUTDEVICE8 g_pMouse = NULL;
LPDIRECTINPUTDEVICE8 g_pKeyboard = NULL;

#include <dinput.h>

class DLLIMPORT DllClass
{
  public:
    IDirectInput8 *_pDI8;
    DllClass();
    virtual ~DllClass(void);

  private:
        DLLIMPORT DllClass() { };
      DLLIMPORT DllClass(HINSTANCE hinst) {Init(hinst);};
        ~DLLIMPORT DllClass() { };

        HRESULT Init(HINSTANCE hinst);
      void    ShutDown(void) {if (_pDI8) _pDI8->Release();};
      IDirectInput8 *GetInterface(void) {return _pDI8;};

};

#endif
#endif /* _DLL_H_ */

si lograse procesar esos eventos, nose si llegariamos a ponerle un puntero al menu de [Esc] pero si podriamos hookear teclas o adherirle funcionalidades al mouse ingame como ejecución de codigos batch para manejar las variables de e3d, sonidos, imagenes, video, etc...
y lo mejor sin depender de aplicaciones externas a entidad-3d

estoy compilando con Dev-C++

descarga del proyecto vacio de el patrixF con mi plugin:
[Tienes que estar registrado y conectado para ver este vínculo] (3mb)
parti de la base del proyecto vacio de el patrixF solo modifique entidad-3d para que lea mi dll
comenten Wink
el proyecto se llamara "Combustion Machine"
apunta a ser una modificación para crear plugins a travez de dlls
pd: esto es un plugin o un mod?
pd2: necesito ayuda de la comu!!!
Volver arriba Ir abajo
Ver perfil de usuario
Invitado
Invitado



MensajeTema: Re: Injectar dll en entidad-3d   Lun Mayo 07, 2012 5:00 pm


No tengo ni la menor idea de este tema, pero vere de que se trata. albino
Volver arriba Ir abajo
Invitado
Invitado



MensajeTema: Re: Injectar dll en entidad-3d   Lun Mayo 07, 2012 5:29 pm

Igualmente yo scratch osea no se le entiende lo que quieres hacer con el E3D y el proyecto vacio, alguna novedad?? y ese tal combustion machine de que trataria y que aportaria al software?
Volver arriba Ir abajo
estantaya-1
Spammer
Spammer
avatar

Sexo : Masculino
Mensajes : 541
Edad : 30

MensajeTema: Re: Injectar dll en entidad-3d   Lun Mayo 07, 2012 6:44 pm

JhonC. escribió:
Igualmente yo scratch osea no se le entiende lo que quieres hacer con el E3D y el proyecto vacio, alguna novedad?? y ese tal combustion machine de que trataria y que aportaria al software?
aportaria nuevas funcionalidades, pero con la premisa de ser inperceptible para los usuarios, osea no quiero hacer un cambio de apariencia sino de funciones, el cambio de apariencia le corresponde al que valla a usar mi plugin si es que lo termino Wink
las funciones en las que pienso estan orientadas a procesos que se van a ejecutar a la par del programa no antes ni despues, sino durante el juego y seran activados por medio del teclado y mouse, tuve avances en mi primer intento, si sigo por este camino voy a tener buenos resultados y nos va a servir a todos cheers
Volver arriba Ir abajo
Ver perfil de usuario
Bumer
Conocedor
Conocedor
avatar

Último Juego : Reto IQ
Sexo : Masculino
Mensajes : 399
Edad : 28
Localización : Venezuela

MensajeTema: Re: Injectar dll en entidad-3d   Lun Mayo 07, 2012 7:01 pm

Hola estantaya.


Comprendo lo que quiere hacer y me parece muy bien,
ojala y pueda terminar este plugin y alguien de la comunidad
le colabore, me parece muy buen proyecto, para poder integrarle
algunas cosas utiles, como videos o cosas asi sin depender de
nada externo.


Saludos y mucho exito con este proyecto.
Volver arriba Ir abajo
Ver perfil de usuario http://bumergames.wordpress.com
elPatrixF
Administrador
Administrador
avatar

Último Juego : ni dios sabe
Sexo : Masculino
Mensajes : 2868
Edad : 25
Localización : Ausente!

MensajeTema: Re: Injectar dll en entidad-3d   Lun Mayo 07, 2012 7:18 pm

te lo muevo a herramientas, mucha suerte! clown
Volver arriba Ir abajo
Ver perfil de usuario http://elpatrixf.com
Patriota
Administrador
Administrador
avatar

Sexo : Masculino
Mensajes : 2054
Edad : 26
Localización : Barcelona

MensajeTema: Re: Injectar dll en entidad-3d   Lun Mayo 07, 2012 7:27 pm

habrá k esperar para probar xd

________________________________________
[Tienes que estar registrado y conectado para ver esa imagen]
Volver arriba Ir abajo
Ver perfil de usuario http://www.rockabilly-juego.jimdo.com
dariodados
Analista
Analista
avatar

Último Juego : Top Secret
Sexo : Masculino
Mensajes : 1011
Edad : 33
Localización : Buenos Aires Pergamino

MensajeTema: Re: Injectar dll en entidad-3d   Lun Mayo 07, 2012 8:28 pm

estoy investigando casi lo mismo que tu estataya,nada mas que en mi caso es integrarle directx9 a entidad.
no tube tanta suerte ya que presenta muchos errores, me hece falta mucha experiencia.

Una vez que pueda integrar dx9 a entidad estariamos bajo graficos casi actuales ya que dx9 se parchea facilmente con filtros graficos.Todo ovbiamente correria en forma de parche
Volver arriba Ir abajo
Ver perfil de usuario http://da2analisis.hostzi.com/analisis.html
estantaya-1
Spammer
Spammer
avatar

Sexo : Masculino
Mensajes : 541
Edad : 30

MensajeTema: Re: Injectar dll en entidad-3d   Mar Mayo 08, 2012 2:04 am

dariodados escribió:
estoy investigando casi lo mismo que tu estataya,nada mas que en mi caso es integrarle directx9 a entidad.
no tube tanta suerte ya que presenta muchos errores, me hece falta mucha experiencia.

Una vez que pueda integrar dx9 a entidad estariamos bajo graficos casi actuales ya que dx9 se parchea facilmente con filtros graficos.Todo ovbiamente correria en forma de parche

dx9!!! :O sos mi heroe
yo me estoy centrando en la entrada del teclado y el mouse por direct input
parche? osea otra version de entidad3d?

uy no puedo esperar quiero ver a entidad3d con los graficos del DIRECTX9!!!! sshock
Volver arriba Ir abajo
Ver perfil de usuario
Invitado
Invitado



MensajeTema: Re: Injectar dll en entidad-3d   Mar Mayo 08, 2012 2:29 am

dariodados escribió:
estoy investigando casi lo mismo que tu estataya,nada mas que en mi caso es integrarle directx9 a entidad.
no tube tanta suerte ya que presenta muchos errores, me hece falta mucha experiencia.

Una vez que pueda integrar dx9 a entidad estariamos bajo graficos casi actuales ya que dx9 se parchea facilmente con filtros graficos.Todo ovbiamente correria en forma de parche

Wow! impresionante lo que estas comentando Shocked , si tienes problemas pueda ser que hables con rocket launcher para que te de una manita para ver si es posible. hiiiirl

Y...estantaya siguele adelante que ya quiero ver tu propuesta Very Happy
Volver arriba Ir abajo
elPatrixF
Administrador
Administrador
avatar

Último Juego : ni dios sabe
Sexo : Masculino
Mensajes : 2868
Edad : 25
Localización : Ausente!

MensajeTema: Re: Injectar dll en entidad-3d   Mar Mayo 08, 2012 2:09 pm

Bueno, ustedes pareciera que van en serio Wink
Y a uds. les creo bastante más que a otros intentos de renovar e3d jajaja xD

Si logran algo interesante les puedo llegar a montar hasta un subforo dedicado a inyectar dlls clown


PD:
Lo acabo de probar, jeje Razz
Volver arriba Ir abajo
Ver perfil de usuario http://elpatrixf.com
dariodados
Analista
Analista
avatar

Último Juego : Top Secret
Sexo : Masculino
Mensajes : 1011
Edad : 33
Localización : Buenos Aires Pergamino

MensajeTema: Re: Injectar dll en entidad-3d   Mar Mayo 08, 2012 2:37 pm

no seria una nueva version,en cambio se trataria de un parche que usaria librerias dx9 combinadas con dx7 las que trae el entidad3d.
Estube hablando en un foro de USA y uno de ellos me prometio una herramienta para editar dlls.Si cumple nos va a servir incluso para crear un menu interno como el de rality.

Le pase Reality factory y entidad3d la ultima version para que compare el tema de los menus y los integre a entidad y con respecto a las dll le pase todas las del programa.

Lo que si me dijo que el me da la herramienta lo demas lo tengo o tenemos que hacer nosotros.

Haber si cumple!!!
Volver arriba Ir abajo
Ver perfil de usuario http://da2analisis.hostzi.com/analisis.html
e3dtutoriales
DJ del Foro
DJ del Foro
avatar

Último Juego : Pasillos(Nombre TEMPORAL)
Sexo : Masculino
Mensajes : 489
Edad : 20
Localización : España |Barcelona|

MensajeTema: Re: Injectar dll en entidad-3d   Mar Mayo 08, 2012 3:53 pm

dariodados escribió:
no seria una nueva version,en cambio se trataria de un parche que usaria librerias dx9 combinadas con dx7 las que trae el entidad3d.
Estube hablando en un foro de USA y uno de ellos me prometio una herramienta para editar dlls.Si cumple nos va a servir incluso para crear un menu interno como el de rality.

Le pase Reality factory y entidad3d la ultima version para que compare el tema de los menus y los integre a entidad y con respecto a las dll le pase todas las del programa.

Lo que si me dijo que el me da la herramienta lo demas lo tengo o tenemos que hacer nosotros.

Haber si cumple!!!

Eso significa, que podriamos mejorar MUCHISIMO los garciso de e3d? Y ademas agregarle mas cosas. O como?:OO
Volver arriba Ir abajo
Ver perfil de usuario http://www.youtube.com/user/Ccl15TV?feature=mhee
dariodados
Analista
Analista
avatar

Último Juego : Top Secret
Sexo : Masculino
Mensajes : 1011
Edad : 33
Localización : Buenos Aires Pergamino

MensajeTema: Re: Injectar dll en entidad-3d   Mar Mayo 08, 2012 3:59 pm

serian a la edicion de la interface y los graficos.Nada de nuevas entidades ni funciones.
Volver arriba Ir abajo
Ver perfil de usuario http://da2analisis.hostzi.com/analisis.html
e3dtutoriales
DJ del Foro
DJ del Foro
avatar

Último Juego : Pasillos(Nombre TEMPORAL)
Sexo : Masculino
Mensajes : 489
Edad : 20
Localización : España |Barcelona|

MensajeTema: Re: Injectar dll en entidad-3d   Mar Mayo 08, 2012 4:44 pm

Pero igual, graficos de direct 9 en E3d?!! Guau!! Seria igualmente GENIAL, muchisimo exito tio!!
Volver arriba Ir abajo
Ver perfil de usuario http://www.youtube.com/user/Ccl15TV?feature=mhee
ev0lizard
Inquilino
Inquilino
avatar

Último Juego : Fury Road (fan free game)
Sexo : Masculino
Mensajes : 1937
Edad : 37
Localización : Pangea/Tierra

MensajeTema: Re: Injectar dll en entidad-3d   Miér Mayo 09, 2012 4:30 pm

presupongo que el tema de los graficos a dx9 permitira usar mas efectos visuales, por ahora solo tenemos normalmapping(BN0_BNB_) y spheremapping(SM0_), no se si me equivoco, pero esto debe ir definido en el archivo Genesis.dll (suele encontrarse en programas que permiten abrir .bdy y .act, como milkshape y skin replacer) quiza habria que empezar a mirar ahi por si hay algun otro efecto que se pudiese usar utilizando prefijos
Volver arriba Ir abajo
Ver perfil de usuario
 

Injectar dll en entidad-3d

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

 Temas similares

-
» fallo algunas paginas
» No me va el internet, problema con certificados

Permisos de este foro:No puedes responder a temas en este foro.
Entidad 3D :: Creación de juegos en 3D sin programar :: Utilidades :: Herramientas-