ORE v10a1 Adaptacion (?)

Estado
Cerrado para nuevas respuestas.

Shura

Dragón Ancestral Lvl 2
Esto Me Lo Dijo Hace Bastante Maraxus:
La implementación que intentás hacer es bastante compleja por varios motivos:

a - el código del AO está tan mal modularizado que quitar algo existente o reemplazarlo es casi imposible.
b - tu falta de práctica en el tema.

Sin embargo, no es algo imposible de hacer. Barrin lo hizo con IAO (de hecho usó una versión un poco más nueva del ORE 1.0 que la 1.0a1).

Si AO hubiese respetado la modularización del ORE hasta su versión 0.4.3 el reemplazo hubiese sido muy fácil. Como no ha sido así, el cambio precisa:

- Quitar de Main el bucle principal de código del engine (que originalmente estaba en ShowNextFrame() del TileEngine.bas) y por cuestiones de "eficiencia" lo hicieron inline (no voy a discutir acá el que tan estúpido fue este cambio).
- Eliminar toda referencia al módulo de DX, que sólo inicializa y deinicializa objetos de DX7.
- Eliminar toda la basura relacionada al audio (en el cliente de Alkon coexisten 3 formas de reproducir midis y 2 de reproducir wavs, sin contar los módulos que vienen con el cliente pero no están en el proyecto que traen otras alternativas).

Además de los cambios que de por sí deberías hacer que son:

a - quitar el TileEngine.bas y agregar el clsTileEngineX.cls
b - rehacer el inventario gráfico para usar el método Grh_Render_To_hDC del ORE 1.0
c - rehacer los manejadores de superficies dinámicos y estáticos para cargar texturas.
d - editar el engine del ORE 1.0 para que utilice el manager de texturas y no su propio sistema estático.
e - editar la clase de diálogos para que utilice GUI_Text_Render() del engine para dibujar texto en pantalla o bien utilizar el sistema de chats-over-head que hice yo para ORE 1.0 y que es aprte del engine.
f - reescribir el bucle principal del cliente.
g - poner el engine de sonido del ORE 1.0 (para evitar tener 2 versiones de DX coexistiendo).
h - quitar la referencia a DX7 y agregar la referencia a DX8.
i - reemplazar los métodos generales (FieldRead, WriteVar, GetVar, etc.) por sus nuevas versiones (algunas muy similares / iguales, otras totalmente reescritas).
j - cambiar el shape que hace de "borde" de la render area por una picture box.

El trabajo es largo y no va a ser fácil si no sabés manejarte con VB 6.0 en forma fluida, pero si aún así querés intentarlo estas cosas te van a ayudar.

En cuanto al protocolo, te recomiendo usar el que hice yo para Alkon (está en el CVS) que es el que usa IAO y permite reducir el uso de ancho de banda a la mitad.

Del servidor, poco es lo del ORE 1.0 que te pueda servir. Si te interesa algún módulo en particular te debería resultar relativamente simple portarlo al server de AO pues el ORE 1.0 está bastante bien modularizado, y es sólo cuestión de llevar una clase al otro proyecto y poner las llamadas apropiadas. Igualmente, el servidor del AO tiene muchos cuellos de botella....`/quote]
 

Tavo

[color=#BF0000]Lucha por tus ideales![/color]
El AO nunca fue hechop para que tenga particulas. Pasar al ORE 1.0.a1 es mas dificil que rescribir todo de nuevo. Hya modulos inservibles y cosas que NUNCA TENDRIAN que estar en un juego para mejorar su performance.
 

Tavo

[color=#BF0000]Lucha por tus ideales![/color]
Jaja, no compares con IAO. Antes que nada sabe que:

- IAO NO USA LA 1.0.a1, sino una version mas nueva
- Usan DLLs en C++ (He ahy porque Pilux esta haciendo el "AO" en C++)
- Usan Scripts, mas exactamente LUA.

Ademas, usan DX8... Igual, si lo queres hacer bienvenido seas!
 

Tavo

[color=#BF0000]Lucha por tus ideales![/color]
Yo estoy en demasiados proyectos para darle bola a esto, y ademas tengo cosas mas importantes que hacer :)
Si tenes alguna duda seguro te la puedo responder, pero sino busca a alguien de esta comunidad que este interesado...
 

Tavo

[color=#BF0000]Lucha por tus ideales![/color]
El Engine se llama?....

OFF: Juaz, revivieron el topic xD
 

LUCASAX

Newbie Lvl 4
Una pregunta....

Quiere decir que con este VbGore podremos adaptar el engine grafico al engine del AO y generar Alphas y partìculas sin necesidad de reescribir el còde de Vb a C++
No es asì?
 

Tavo

[color=#BF0000]Lucha por tus ideales![/color]
Gente, no digan boludeses. Por que escucharon hablar de C++ no significa que es el universo. No necesariamento se necesita escribir un codigo en C++ para hacer particulas, DX8 lo ofrece, entonces en VB se puede hacer.
 
Estado
Cerrado para nuevas respuestas.
Arriba