Consejos de Yahoo! Grupos
¿Sabías que...?
Puedes buscar mensajes antiguos en un grupo.
|
|
Re: [war_3d] Ideas para reescribir el server, by ASK
Hay un pattern en c++ llamado Functor que os puede servir. En mi
opinion usar punteros a funciones en c++ es un atraso, para eso esta la
herencia virtual.
Un saludo
ZeruGiran (Eric Ruiz) wrote:
Conversacio: Algunas Ideas de ASK,
comentadas entre K-ballo y Zerugiran
[22:28:10] <ZeruGiran> jaja XD que loko.
[22:28:14] <K-ballo> y porque?
[22:28:34] <ZeruGiran> Yo que se.. seguro tu mama te dejo caer
cuando estaba chiquito.
[22:28:47] <ZeruGiran>
[22:28:51] <ZeruGiran> Te decia que.
[22:29:03] <K-ballo> ajajajajaaa
[22:29:12] <ZeruGiran> Quiere reescribir W3DServer
[22:29:15] <ZeruGiran> .cpp
[22:29:37] <ZeruGiran> pasa que intentó agregar un comando nuevo,
y es un poco complicad y para facilitarlo...
[22:30:35] <ZeruGiran> quiere hacer algo asi como..
[22:31:02] <ZeruGiran> addComando ("Comando", ApuntadorAFuncion)
[22:31:27] <K-ballo> sep, un array o vector de callbacks ...
[22:31:31] <ZeruGiran> Donde ApuntadorAFucnion es la funcion que
se encargara de implementar la accion del comando.
[22:31:47] <ZeruGiran> gueno pos eso estaria muy muy bien , no?
[22:32:12] <K-ballo> si, pero abría que generar una
parametrización generalizada, al estilo windows, porque sino se
complica muchisimo
[22:32:13] <ZeruGiran> tambien se puede hacer lo mismo para los
Botones... de HUD
[22:32:33] <K-ballo> osea, todas las funciones deben tener los
mismos parametros, y a traves de ellos mandarle los datos
[22:32:53] <ZeruGiran> addBoton ("ImagenDelBoton.tga", PosicionX,
PosicionY, ApuntadorAFuncion)
[22:33:13] <K-ballo> tambien, seguro
[22:33:16] <ZeruGiran> amm yep
[22:33:24] <ZeruGiran> pos eso.
[22:33:54] <ZeruGiran> suena bien. crees que sea bueno hacerlo o
es demaciado esfuerzo ?
[22:34:10] <ZeruGiran> mucho esfuerzo y no vale la pena.
[22:34:20] <ZeruGiran> ?
[22:34:24] <K-ballo> nono, el esfuerzo es casi totalmente del
usuario, lo unico q tenemos q definir es q parametros usaremos y listo,
yo me ocupo
[22:34:35] <K-ballo> osea, no se si alguna vez vistes un WinProc
[22:34:43] <ZeruGiran> amm nop
[22:35:27] <K-ballo> bueno... los parametros son
HWND hWnd, uint msg, int wParam, long lParam
[22:35:41] <K-ballo> entonces, los valores de wParam y lParam
dependen del valor de msg
[22:35:46] <ZeruGiran> muy al estilo Ventanucos
[22:35:58] <K-ballo> y si no alcanzan esos pa los valores, pos
uno de ellos es un puntero a la funcion
[22:36:07] <K-ballo> ajap... pero es muy util en casos de
vectores de callbacks
[22:36:13] <ZeruGiran> yep
[22:37:15] <K-ballo> bueno, toncs... generalmente para las
funciones q tipo de datos se necesitan?
[22:37:41] <ZeruGiran> amm en el caso del Server
[22:38:01] <ZeruGiran> Es un string
[22:38:11] <ZeruGiran> la cadena que envian los clientes
[22:38:35] <K-ballo> joder... no me habia dado cuenta, que no
TODOS los mensajes son stirngs?
[22:38:41] <ZeruGiran> o si quieres que se paresca un poco mas a
como esta hecho ahora es un Vector de Strings
[22:39:48] <K-ballo> anda yo hago asi:
[22:40:09] <K-ballo> CALLBACK Funcionsita ( string parametros );
[22:40:28] <K-ballo> y cuando recibo esa funcion, le paso el
resto de chars q queden en esa linea...
[22:40:31] <K-ballo> ... asi no funciona?
[22:41:08] <ZeruGiran> el resto ?
[22:41:47] <K-ballo> pos no se... no se como trabajamos con el
server =_(
[22:41:47] <K-ballo> estoy totalmente descolgado
[22:42:09] <ZeruGiran> dale un vistazo no es nada complicado aun
no tiene muchas lineas
[22:42:21] <ZeruGiran> Estoy pensando en que..
[22:42:36] <K-ballo> okey... si, mejor q me ponga a tono ahora
porque sino despues ya no enganchare jamas
[22:42:39] <ZeruGiran> Podemos reescribir el codigo del Server.
[22:42:53] <ZeruGiran> Muy facilmente..
[22:43:11] <ZeruGiran> Porque es practicamente algo aparte del
War3D
[22:43:22] <ZeruGiran> Ya te conte un poco como lo tengo hecho??
[22:43:44] <ZeruGiran> Cuando el War3D esta como server.
[22:43:53] <K-ballo> nopes
[22:44:01] <ZeruGiran> abre un puerto, el 6300
[22:44:22] <ZeruGiran> y se pone a escuchar, con el codigo que
esta en W3Dserver.cpp
[22:44:49] <ZeruGiran> cuando el server esta activo el, War que
arranco como server se conecta asi mismo..
[22:44:59] <ZeruGiran> Como si fuera un cliente comun y corriente.
[22:45:18] <ZeruGiran> luego el server espera a que otro cliente
se conecte..
[22:45:36] <ZeruGiran> y cuando son dos clintes los que estan
conectados comienza la partida.
[22:46:06] <ZeruGiran> El server es practicamente un programa
independiente.
[22:46:11] <K-ballo> si, lo probé en mi maquina
[22:46:28] <ZeruGiran> Lo hice asi para poder tener Servidores
dedicados..
[22:46:52] <ZeruGiran> El puro programita server, corriendo en
una maquina. Sin necesidad de correr todo el War.
[22:47:00] <K-ballo> entiendo
[22:47:28] <ZeruGiran> Pos eso hace que podamos reescribir de
nuevo el server.. Independiente del War.
[22:29:37] <ZeruGiran> pasa que intento agregar un comando nuevo
[22:29:58] <ZeruGiran> XDDDD
[22:30:12] <ZeruGiran> juass
[22:30:13] <K-ballo> O_o
[22:30:35] <ZeruGiran> y quiero acer algo asi como..
[22:31:02] <ZeruGiran> addComando ("Comando", ApuntadorAFuncion)
[22:31:27] <K-ballo> sep, un array o vector de callbacks ...
[22:31:31] <ZeruGiran> Donde ApuntadorAFucnion es la funcion que
se encargara de implementar la accion del comando.
[22:31:47] <ZeruGiran> gueno pos eso estaria muy muy bien , no?
[22:32:12] <K-ballo> si, pero abría que generar una
parametrización generalizada, al estilo windows, porque sino se
complica muchisimo
[22:32:13] <ZeruGiran> tambien se puede hacer lo mismo para los
Botones... de HUD
[22:32:33] <K-ballo> osea, todas las funciones deben tener los
mismos parametros, y a traves de ellos mandarle los datos
[22:32:53] <ZeruGiran> addBoton ("ImagenDelBoton.tga", PosicionX,
PosicionY, ApuntadorAFuncion)
[22:33:13] <K-ballo> tambien, seguro
[22:33:16] <ZeruGiran> amm yep
[22:33:24] <ZeruGiran> pos eso.
[22:33:54] <ZeruGiran> suena bien. crees que sea bueno hacerlo o
es demaciado esfuerzo ?
[22:34:10] <ZeruGiran> mucho esfuerzo y no vale la pena.
[22:34:20] <ZeruGiran> ?
[22:34:24] <K-ballo> nono, el esfuerzo es casi totalmente del
usuario, lo unico q tenemos q definir es q parametros usaremos y listo,
yo me ocupo
[22:34:35] <K-ballo> osea, no se si alguna vez vistes un WinProc
[22:34:43] <ZeruGiran> amm nop
[22:35:27] <K-ballo> bueno... los parametros son
HWND hWnd, uint msg, int wParam, long lParam
[22:35:41] <K-ballo> entonces, los valores de wParam y lParam
dependen del valor de msg
[22:35:46] <ZeruGiran> muy al estilo Ventanucos
[22:35:58] <K-ballo> y si no alcanzan esos pa los valores, pos
uno de ellos es un puntero a la funcion
[22:36:07] <K-ballo> ajap... pero es muy util en casos de
vectores de callbacks
[22:36:13] <ZeruGiran> yep
[22:37:15] <K-ballo> bueno, toncs... generalmente para las
funciones q tipo de datos se necesitan?
[22:37:41] <ZeruGiran> amm en el caso del Server
[22:38:01] <ZeruGiran> Es un string
[22:38:11] <ZeruGiran> la cadena que envian los clientes
[22:38:35] <K-ballo> joder... no me habia dado cuenta, que no
TODOS los mensajes son stirngs?
[22:38:41] <ZeruGiran> o si quieres que se paresca un poco mas a
como esta hecho ahora es un Vector de Strings
[22:39:48] <K-ballo> anda yo hago asi:
[22:40:09] <K-ballo> CALLBACK Funcionsita ( string parametros );
[22:40:28] <K-ballo> y cuando recibo esa funcion, le paso el
resto de chars q queden en esa linea...
[22:40:31] <K-ballo> ... asi no funciona?
[22:41:08] <ZeruGiran> el resto ?
[22:41:47] <K-ballo> pos no se... no se como trabajamos con el
server =_(
[22:41:47] <K-ballo> estoy totalmente descolgado
[22:42:09] <ZeruGiran> dale un vistazo no es nada complicado aun
no tiene muchas lineas
[22:42:21] <ZeruGiran> Estoy pensando en que..
[22:42:36] <K-ballo> okey... si, mejor q me ponga a tono ahora
porque sino despues ya no enganchare jamas
[22:42:39] <ZeruGiran> Podemos reescribir el codigo del Server.
[22:42:53] <ZeruGiran> Muy facilmente..
[22:43:11] <ZeruGiran> Porque es practicamente algo aparte del
War3D
[22:43:22] <ZeruGiran> Ya te conte un poco como lo tengo hecho??
[22:43:44] <ZeruGiran> Cuando el War3D esta como server.
[22:43:53] <K-ballo> nopes
[22:44:01] <ZeruGiran> abre un puerto, el 6300
[22:44:22] <ZeruGiran> y se pone a escuchar, con el codigo que
esta en W3Dserver.cpp
[22:44:49] <ZeruGiran> cuando el server esta activo el, War que
arranco como server se conecta asi mismo..
[22:44:59] <ZeruGiran> Como si fuera un cliente comun y corriente.
[22:45:18] <ZeruGiran> luego el server espera a que otro cliente
se conecte..
[22:45:36] <ZeruGiran> y cuando son dos clintes los que estan
conectados comienza la partida.
[22:46:06] <ZeruGiran> El server es practicamente un programa
independiente.
[22:46:11] <K-ballo> si, lo probé en mi maquina
[22:46:28] <ZeruGiran> Lo hice asi para poder tener Servidores
dedicados..
[22:46:52] <ZeruGiran> El puro programita server, corriendo en
una maquina. Sin necesidad de correr todo el War.
[22:47:00] <K-ballo> entiendo
[22:47:28] <ZeruGiran> Pos eso hace que podamos reescribir de
nuevo el server.. Independiente del War.
Cometarios sobre esta conversacion please a war_3d@yahoogroups.com
Saludos 
_____________________________________
http://war3d.sourceforge.net/
Para cancelar su suscripción war_3d-unsubscribe@yahoogroups.com
_____________________________________
La utilización de Yahoo! Grupos está sujeta a su aceptación de
las Condiciones del
servicio así como de la Política
de privacidad.
|
Jue, 11 de Sep, 2003 5:43 am
javi <qualopec@...>
qualopec@...
Enviar mensaje
|
|