Bienvenido!

¡Se bienvenido!

martes, 19 de enero de 2021

The Phone House estropea un móvil en garantía, no indemniza y encima la justicia le da la razón

Voy a contar la historia de mi móvil, estropeado por el SAT de The Phone House, sin dar solución alguna más allá de reclamar y ser ninguneado, riendose de sus clientes. Spoiler: la historia acaba sin móvil ni compensación alguna. Nada de lo que cuento aquí es mentira, ni siquiera mínimamente exagerado.

Allá por 2015 quise comprar mi primer buen teléfono, un tope de gama, y decidí esperar hasta casi diciembre para que saliera al mercado el Xperia Z5 Premium. En todas las tiendas tenía el mismo precio y The Phone House (TPH de aquí en adelante) ofrecía una promoción donde te daban un tercer año de garantía, así que a igualdad de precio y con ese extra, se lo compré a ellos, creyendo que eran una empresa decente...

Para entender la avería que generaron en el móvil, he de contar la primera reparación que sufrió, donde ocurrió lo mismo pero sí solucionaron:

Iluso de mi, como el móvil es bonito, no llevaba funda pensando que el móvil sería tan resistente como el anterior, pero no era así y solo dos meses después cayó de lado y se hizo una pequeña rotura en la pantalla, una linea, pero aunque no afectó a la pantalla, sí lo hizo al sensor táctil, por lo que no tuve más remedio que llevarlo a reparar fuera de garantía a donde lo compré.

Allí lo enviaron a su SAT (que en esa época era Regenersis creo, ya que los resistentes al agua los abren y cierran en laboratorio) y me cambiaron la pantalla por la módica cantidad de 200€. Recogí el teléfono pasado el tiempo usual (casi 2 semanas tardan para lo que sea) y no fue hasta el día siguiente cuando me di cuenta de que cuando llamaba, me oían mal, como bajo el agua o como si fuera el Pato Lucas, aunque las pruebas de micrófono eran satisfactorias. (Parece que tiene que ver con la cancelación de eco que se emplea solo en llamadas, usando el micrófono secundario)

Lo llevé de vuelta y tras mostrar el problema in situ, se lo llevaron de nuevo al SAT y tras cambiar la placa base (con el consiguiente cambio de IMEI), me lo devolvieron arreglado, a la primera.

El teléfono pasó una vez más, sin problemas, por el SAT allá por los dos años de vida porque cuando quise usar el jack de audio por primera vez, debía tener una cantidad de roña considerable y solo detectaba el conector si lo apretabas con mucha fuerza. Como estaba en garantía aun, lo llevé y lo solucionaron sin pegas, sin provocar el problema del micrófono.

Ahora es cuando viene el problema real. Durante el verano de 2018 (en el tercer año de garantía) noté que el borde de la pantalla se estaba poniendo ligeramente amarillo y como según pasaba el tiempo iba a más lentamente (no era muy perceptible) decidí llevarlo al SAT del Centro comercial Tres Aguas (en Alcorcón), ya que la tienda original había cerrado, a ver si sabían qué podía ser y si era normal.

Allí me dijo el chico que atendía el SAT, buena gente, que eso lo provocaba la batería porque del calor que generaba el móvil, se estaba hinchando un poco y presionando la pantalla por detrás, cosa que se notaba porque si dabas toquecillos relativamente fuertes a la pantalla, hacía el efecto de una gota de agua al caer sobre más agua, como una televisión si la tocas (esto me lo enseñó el técnico de allí).

Me dijo que no había problema y que lo enviaba al laboratorio porque eso lo cubría la garantía, y que seguramente me cambiarían la batería y la pantalla. Tras el tiempo usual, fuí a recogerlo, y de camino, me dijo mi mujer: recuerda hacer una llamada allí mismo a ver si se oye bien, no vaya a pasar lo mismo que la primera vez, así que le hice caso y zas, volvió a pasar. Era una lástima porque me habían cambiado varias cosas y parecía nuevo el teléfono, tras 3 años de uso era como tener teléfono nuevo para varios años más.

A partir de aquí viene el infierno con esta gente (menos el chico del SAT de la tienda del Tres Aguas, que hizo todo lo que pudo por ayudarme). Le enseñé el problema, haciendo llamadas entre su móvil y el mío, y comprobando que efectivamente no iba bien la voz, muy lejana, baja y poco inteligible. Me dijo que lo devolvía al laboratorio para solucionarlo.

El problema es que nunca fueron capaz de arreglar ese fallo que crearon en su SAT (que ahora es Anovo) tras varios intentos. En unos decían que no veían fallo, en otro cambiaron el micrófono, en otro cambiaron la placa base y así 6 intentos. Siempre que iba, lo probaba con el técnico local y me verificaba que no iba correctamente, así que la única solución que me dió fue poner una reclamación en consumo...

Como es imaginable por el título de la historia, no accedieron a inmdenizar ni reemplazar el móvil porque "estaba fuera de garantía", cosa que no era cierta porque la primera vez que lo llevé, aun quedaban unas semanas para que terminara, pero claro, tras tanto intento de arreglar, a dos semanas por cada uno, pues la reclamación la puse allá por abril o marzo de 2019, donde efectivamente ya estaba fuera de garantía, pero por culpa de ellos, ya que el primer rechazo de la reparación se hizo en garantía, y sobre todo, porque lo estropearon ellos, así que debería dar igual cuanto tiempo se alargue, porque lo estropearon ellos.

Tras el fiasco de la reclamación, me dieron dos opciones, arbitraje (sin opción a apelación alguna) o demandar, así que como al reclamar menos de 2000€, era gratuíta la demanda, y con ayuda de un amigo abogado, presentamos la demanda, la cual fue gestionada con la lentitud usual de la justicia, meses y meses, para que el juez terminara NO leyendose la documentación aportada y diciendo que el móvil solo tenía 2 años de garantía, y además aceptando la exigencia de TPH en sus alegatos, donde pedían que inviertiera la carga de la prueba, ya que decían que el móvil no tenía fallo alguno y que las cosas que cambiaban era "por deferencia con el cliente" (la carcajada que se me escapaba es imaginable). Es decir, decían que tenía que demostrar Yo que el teléfono tenía el problema, así que se ve que la parte donde decía en la demanda que era el empleado de TPH el que decía que no funcionaba bien, tampoco se la leyeron...

Así que tras pedir un recurso de súplica (porque la sentencia tampoco admitía apelaciones, ni hubo vista), pidiendo que por favor se leyeran la demanda, dijo el juez que sí, que el teléfono tenía 3 años pero que el papel que daba TPH para ese tercer año ni siquiera estaba firmado adecuadamente por ellos (es decir, ¿legalmente es una estafa?), y de nuevo insistieron en que como dice TPH que no había avería, que me aguante vamos, y que si encima hubiera que pagar costas, me tocaba a mi también...

Así que tras el nuevo fiasco con la justicia (me pongo a la cola para llorar, que hay miles delante), intento contactar con TPH para al menos recuperar mi móvil estropeado, pero oh sorpresa, cuando tardas mucho en recogerlo, te cobran 1 € por día de retraso (tras pasar unos días de cortesía, cosa que no te avisan al llevarlo claro), y como se quedó allí desde principios de 2019, pues hablamos de cientos y cientos de euros por recoger un teléfono que estropearon ellos y que no fue recogido porque no funcionaba bien, no porque yo no lo quisiera recoger, y yo a esto le llamo secuestrar el móvil. Lo que me pregunto, si ya les he dejado bien claro que no voy a pagar el rescate, ¿qué ganan quedándse el móvil para la eternidad, aparte de joderme?

Así que todo acaba sin móvil, sin indemnización y con un cabreo monumental, y encima la justicia haciendo de las suyas, y luego la gente se pregunta porqué no confiamos en ella.

Ya que no puedo hacer absolutamente nada contra ellos, al menos quiero contar el problema y que todo el mundo comparta esta historia para que se sepa cómo se las gasta esta gentuza, y que al menos tenga alguna repercusión comercial.

¡Gracias por leer el ladrillo!

miércoles, 2 de octubre de 2013

¡Versión 2.2.0 de Hotel! ¡Al fin!

¡Al fin está lista la versión mas completa hasta la fecha!

Lo más importante es que ahora se pueden salvar y cargar partidas en linea, de forma que se puede pausar y continuar la partida en cualquier momento.

Funciona así:

Solo el creador (y éste cambia a otro si se sale de la partida) puede salvar la partida indicando una contraseña y pudiendo cargarla solo él más tarde usando el ID proporcionado por el servidor. Y solo los jugadores que estaban (que coincida el nombre con el que entraron), podrán unirse usando la contraseña proporcionada.

Ahora el turno se pasa automáticamente cuando pasan varios minutos de inactividad en un partida por parte de un jugador. Se finaliza la subasta en curso si había mayor pujador, se pagan las deudas automáticamente y se termina de construir una fase si el jugador tiró el dado pero no seleccionó el dinero en la ventana.

Se han hecho varias mejoras en la interfaz:
  • Las entradas ahora son imágenes en condiciones y se pintan correctamente sobre el tablero.
  • Se ha añadido una bola de color para indicar el turno de forma que se vea bien a quién le toca.
  • Las fases se indican con un tick mucho más bonito que antes, sin fondo blanco y con el color del dueño de la fase.
  • Muchas pequeñas mejoras y arreglos para un mejor funcionamiento.
¡Descargar!

domingo, 10 de febrero de 2013

Detección de volantes en DiRT 3 en Windows 8

Después de arreglar el problema con el perfil de DiRT 3, me vino otro nuevo: el juego detectaba los botones de mi volante (Logitech Momo Racing) pero no me ofrecía un esquema predeterminado para él como hacía antes. Esto obliga a configurar todas las teclas cada vez.

Rebuscando de nuevo por internet, encontré como solucionarlo en un post del foro de Steam donde intentaban establecer el dispositivo por defecto.

En el caso de Windows 8, aparentemente el problema es que el volante no tiene el mismo nombre que en Windows 7, y el juego tiene unos mapas de teclas asociados a los nombres de los dispositivos de juego.

Solución:

 Abrir el registro (regedit) y navegar hasta:

HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM

Buscar entre los dispositivos cual es el de nuestro mando o volante (en mi caso es VID_046D&PID_CA03) y fijarse en el valor de OEMName. Ahora vamos a donde hayamos instalado el juego y entramos en la subcarpeta "actionmap" y buscamos el fichero que corresponde a nuestro volante o mando (en mi caso: lg_momo_racing_usb.xml) y lo abrimos con un editor de texto.

Arriba hay una propiedad del nodo ActionMap llamada deviceName. Lo que pone ahí dentro tiene que coincidir 100% con el valor de OEMName del registro que hemos mirado antes.

La diferencia que vi es que en el fichero XML ponía "Logitech MOMO Racing USB" y en el registro no aparece con el "USB" al final, cosa que supongo que Microsoft ha cambiado de Windows 7 al 8. Corregimos el fichero (mejor no tocar el registro para evitar problemas con juegos futuros que ya estén adaptados a Windows 8) y funcionará :)

Espero que sea útil!

Mantener partidas de juegos basados en Games For Windows Live con cuentas locales

Buenas!

Hoy me encontré un problema al intentar jugar a DiRT 3 de nuevo. Cambié de Windows 7 a Windows 8 y, generalmente, con mantener las carpetas dentro de Mis Documentos (en este caso, están en Mis Documentos\My Games\DiRT 3) basta para no perder las partidas.

A la hora de arrancar el juego, te dice que elijas un perfil y da un error cargandolo (momento pánico :D), y rebuscando por internet, encontré que has de iniciar sesión en el Games For Windows Live, ya que los perfiles se asocian a la cuenta. En mi caso, usaba una cuenta local, y resulta que se guardan en otro lugar de Windows, lo que implica que si vas a otro ordenador o reinstalas Windows, no tendrás la cuenta local que busca el perfil del juego.

Solución:

Copiar la carpeta C:\Users\{tu usuario}\appdata\Local\Microsoft\XLive a la misma localización del nuevo Windows, y eso hará que tu cuenta local exista y así poder cargar el perfil del juego.

Aparentemente no aplica solo a DiRT 3, ya que el GTA IV creo que se asocia también a las cuentas de GFWL, así como Bioshock.

Espero que sea útil!

lunes, 25 de junio de 2012

Proyectos de Visual Studio siempre desactualizados

Buenos días,

El otro día me harté de que el Visual Studio me dijera constantemente que que un proyecto no está al día aunque lo acabes de compilar y encontré la solución para saber porqué te pregunta si quieres recompilar los proyectos cuando le inicias la depuración.

Visual Studio no nos dice el porqué opina que un proyecto no está al día, y para saber el motivo, debemos ver las trazas que emite por DebugView. Para conseguir esto, hemos de editar este fichero:

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config 
o
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config
si tu SO es de 64 bits.

Después del nodo [i]configSections[/i] añadir el siguiente nodo:

    <system.diagnostics>
        <switches>
            <add name="CPS" value="4" />
        </switches>
    </system.diagnostics>


Es necesario reiniciar el Visual Studio, no basta con iniciar una nueva instancia mientras ya lo tenías abierto.

Nos descargamos DebugView de http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx (por si no lo tenemos al alcance) y una vez abierto, lo ponemos a capturar e iniciamos la depuración en VS, para que salte el cartelito de "los proyectos tal y tal no están actualizados". En el DebugView se podrá leer el motivo por el cual dice que no lo está. Pueden ser por dependencias que no lo están o porque no encuentra algún fichero fuente o cosas así que no hay forma de saber.

Espero que os ayude :)

lunes, 18 de junio de 2012

¡Versión 2.1.0 de Hotel!

He conseguido corregir los bugs absurdos que se dieron en la versión 2.0.

Principalmente eran culpa del GCC, ya que el mismo código en Windows y Linux no se comportaba igual, fallando en la comparación de wstrings y manejo en general de wstrings y me ha costado bastante darme cuenta de que pasaba.

De paso he añadido algunas cosas:
  • Se puede ver el estado de las partidas en la propia ventana, en vez de solo el nombre.
  • Se impide el acceso a partidas empezadas, llenas o ya terminadas.
  • Se detecta la versión del cliente y el servidor te admite o rechaza, para evitar fallos.
Esta versión no es compatible con la 2.0, para jugar online hace falta la 2.1.0

Pueden salir más bugs del estilo por culpa del GCC, que me falle en más operaciones que no debiera, reportadmelos please!

https://sourceforge.net/projects/hotels-game/files/Hotel%202.1.0.zip/download

viernes, 25 de mayo de 2012

¡¡Versión 2.0 de Hotel!!


¡Al fin está lista! Por fin ya se puede jugar online y en inglés :D

El mecanismo para jugar online consiste en contestar "Si" a la pregunta que saltará al iniciar el juego.
Puedes jugar en el servidor oficial dejando el Check marcado o crearte tu propio servidor local descargando http://sourceforge.net/projects/hotels-game/files/Hotel%20Server%201.0.zip/download para windows. Para linux, recomiendo bajarse el código desde subversion y hacer 'make' en la carpeta Server. Hay un script llamado 'restarter' que te permite ejecutar el servidor y reiniciarlo automáticamente si se cae.

Echad un vistazo al Readme.txt que sale en la sección Files de SourceForge .

Para jugar online no hay que registrarse, solo dar un login que no esté repetido y estás dentro. Verás una lista de jugadores ya conectados con los que puedes crear chats (haz selección múltiple en la lista y pulsa en Crear Chat). También hay uno global para todo el que quiera usarlo.

Una vez crees una partida y se unan el nº de jugadores indicados al crearla, podrás darle a Iniciar, abriéndose así la ventana normal del juego. Si lo que has hecho es unirte, has de esperar a que el creador la inicie mientras chateas si quieres :)

Importante: el chat de la partida sigue ACTIVO durante la partida, por tanto, haced uso de él!

Sobre el idioma, la ventana principal permite cambiarlo en un ComboBox en la parte superior, y el cambio es en caliente. Deben cambiar las ventanas abiertas dinámicamente y los nuevos formularios se abrirán con el nuevo idioma.

Estas nuevas funcionalidades están probadas solamente por mi y por Javier, que es quien me ha enseñado a traducir y ha hecho mucha de la propia traducción, por tanto, puede haber fallos aun que no hemos detectado y pido paciencia por si hay alguno :D

Por favor reportad todo lo que veáis en http://sourceforge.net/tracker/?group_id=321940 y si tenéis sugerencias o mejoras necesarias, son bienvenidas :)

Disfrutadlo!

Enlace: http://sourceforge.net/projects/hotels-game/files/Hotel%202.0.zip/download

miércoles, 4 de enero de 2012

Versión 1.3.3 del Hotel

Saludosss
  • He ampliado el formulario de pagos para que los billetes se vean bien grandes, a petición del usuario "nokiajavi"
  • Ahora se muestran los nombres reales de los hoteles en la ventana para elegir hotel a comprar.
  • Se ve una línea nueva en el control del jugador que dice "Nombre", pero es solo para el modo online, el cual va avanzando bien :)

Link: https://sourceforge.net/projects/hotels-game/files/Hotel%201.3.3.rar/download

lunes, 2 de enero de 2012

Warcraft II sobre Windows 7

Yuhu! El Warcraft II Battle.net Edition funciona perféctamente sobre Windows 7 64 bits, mooola!

sábado, 31 de diciembre de 2011

Corrección de bugs en Hotel 1.3

Saludos,

He resuelto un fallo gracias al usuario "nokiajavi" que lo reportó en el blog. En la revisión del bug corregí otro con el dado de construcción, por lo que he creado la versión 1.3.2:


Link: https://sourceforge.net/projects/hotels-game/files/Hotel%201.3.2.rar/download

Disculpad la molestia

jueves, 29 de diciembre de 2011

Pequeña cagadita en la version 1.3

Hola!

Hay un error en la versión 1.3 al redimensionar si juegas menos de 4 jugadores y da un error cambiando el tamaño. También he encontrado un caso malo al reiniciar una partida después de haber cargado una.

Ya lo he corregido en la versión 1.3.1 :)

Link: https://sourceforge.net/projects/hotels-game/files/Hotel%201.3.1.rar/download

Versión 1.3 del Hotel

Uola!

  • He añadido una cutre-imagen para indicar que fases están hechas para cada hotel. No he puesto imágenes de los hoteles porque hacer una foto a cada techo de cada uno me parece poco útil jeje.
  • He añadido los suelos al tablero y han quedado chulos jeje.
  • Y lo más complejo de la versión es que ahora permite redimensionar la ventana a cualquier tamaño. Me ha dado guerra recalcular la posición de cada imagencita superpuesta (coches, fases y entradas) pero al final salió bien :)
Ahora a seguir con el modo online camino a la 2.0 :)

Link: https://sourceforge.net/projects/hotels-game/files/Hotel%201.3.rar/download

martes, 20 de diciembre de 2011

Versión 1.2 del juego Hotel

¡Saludos de nuevo!

El mayor cambio en esta versión es: ¡ ahora se pintan imágenes en el tablero según construyes las fases !

Como dije en la anterior, hasta donde he probado yo, no he visto errores, pero es perfectamente posible que encontréis alguno, no dudéis en decirmelo cuanto antes! (Podéis usar un comentario aquí, pero es mejor usar el tracker de SourceForge (https://sourceforge.net/tracker/?group_id=321940&atid=1352912)

Otros cambios:
  • Se añade un control extra de errores para partidas con más fases hechas para cualquier hotel que el máximo de ese hotel.
  • Se corrige el botón Comprar Suelo, ahora ya sirve para eso realmente :D
  • Se renombra n_ampliaciones_construidas a n_fases_construidas y n_ampliaciones_max a n_fases_max por claridad. (Toca retocar el XML de una partida a mano para que sirva).
  • La ventana ahora no permite cambiar su tamaño.
Lo siguiente que me gustaría hacer es recortar los suelos de los hoteles, que los tengo escaneados, e ingeniármelas para que encaje cada uno en su hueco. Si alguien se ofrece a ayudar para recortar que lo diga!


Link: https://sourceforge.net/projects/hotels-game/files/Hotel%201.2.rar/download

lunes, 19 de diciembre de 2011

Versión 1.1 del juego Hotel

¡Saludos!

El mayor cambio en esta versión es: ¡¡ se pueden guardar y cargar partidas !! :)

Hasta donde he probado yo, no he visto errores, pero es posible que encontréis alguno, no dudéis en decirmelo cuanto antes!

Otros cambios son referidos a mejoras en el actualizador, asi como bugs ocultos en situaciones extrañas y protecciones extra contra casos especiales, pero que ya no preocupan porque al poder salvar la partida, se puede ir haciendo periódicamente y evitar disgustos jeje.

Lo siguiente que me gustaría hacer es marcar el tablero de forma que cuando se construya una fase de un hotel, se marque y todos lo puedan ver, haciendolo más realista, ya que el tema de hacer una interfaz en 3D queda muy lejos aun jeje.

El tema de jugar online va avanzando despacio, pero va.

Link: https://sourceforge.net/projects/hotels-game/files/Hotel%201.1.rar/download

Saludos!

lunes, 28 de noviembre de 2011

Autoactualización de Hotel

Saludos de nuevo, he añadido un sistema de autoactualziación para el juego. Ahora al arrancar os pregunta si queréis comprobar si existe una versión del juego más nueva que la que tenéis y os lleva a la web de descarga.

Con esto me aseguro de que si hay un error importante, todo el mundo lo tendrá solucionado rápido.

El enlace a la versión lo tenéis aqui:

https://sourceforge.net/projects/hotels-game/files/Hotel%201.03.rar/download

Otra actualización del juego Hotel

Saludos de nuevo! Gracias a Charly he corregido otro error doble en el juego. Se producía un error cuando un Hotel tenía todas las ampliaciones compradas o cuando tenías que pagar 6 noches por un fallo mío en el código. Es muy importante actualizarse a esta versión para jugar, ya que la partida se pierde si se produce el fallo. También he corregido un posible hack, se podían comprar más de una entrada por Hotel en cada vuelta. Ahora la lista de casillas se borra.

Podéis encontrar la descarga en el proyecto de SourceForge, y en este link directo:

http://sourceforge.net/projects/hotels-game/files/Hotel%201.02.rar/download

Muchas gracias por jugar y reportarme los errores, quiero que el juego sea todo lo perfecto que pueda :)

Support This Project

domingo, 27 de noviembre de 2011

Actualización del juego Hotel

Saludos! Gracias al usuario esca he corregido un error doble en el juego. Se controlaba que las casillas eran de tipo Fase Gratis y Entrada Gratis, pero te cobraba igual sin comprobarlo a la hora de pagar.

Ahora te avisa de esas casillas y además, lo más importante, no te cobra :D

Podéis encontrar la descarga en el proyecto de SourceForge, y en este link directo:

http://sourceforge.net/projects/hotels-game/files/Hotel%201.01.rar/download

He visto en el web de SF que ha habido unas cuantas descargas, ¡yuhu! ¡¡que corra la voz!! :)

Support This Project

viernes, 4 de marzo de 2011

dlib C++ library. Guía de uso

Hoy voy a escribir cómo se usa esta impresionante librería (o biblioteca, que se supone que es la traducción literal jeje). Necesito hacer threads en el servidor para el juego Hotel y quiero que funcione en Windows y Linux, pero aunque la API de sockets se parecen mucho entre ambas plataformas, la de threads no se parece absolutamente en nada :)

Encontré la librería dlib en Google, y su web es http://dlib.net/
En ella tienen guías en inglés y montones de ejemplos, pero yo voy a poner lo más básico para ponerla en tu proyecto o Makefile.

Lo primero es bajarla (actualmente la versión 17.36) y descomprimir la carpeta 'dlib' que hay dentro del zip (Ruta: dlib-17.36.zip\dlib-17.36\dlib). Vienen otras carpetas, pero la que necesitas para tu proyecto o Makefile solo es esa; las demás son de documentación y ejemplos.

La guía original dice que te asegures de que la carpeta donde instalas la 'dlib' esté en la ruta de inclusiones del proyecto o compilador, aunque yo no tuve que hacerlo puesto que la he metido en la propia carpeta de fuentes del programa, lo que me permite hacer "#include dlib/threads.h" directamente.

Ahora, dependiendo de qué se esté usando de la librería, se necesita el fichero "dlib/all/source.cpp" o no. Esto se debe a que casi toda la librería se compone de ficheros de cabecera (.h) pero hay excepciones, como los threads, en los que lo necesitas. La forma más sencilla es incluir ese fichero en la solución de Visual Studio y probar a compilar para ver si funciona; posteriormente, quitarlo a ver si da errores o no :)

En la documentación tienes ejemplos de uso de cada parte de la librería, pero es tan fácil como cualquier otra clase que importes al proyecto.

Ahora, la forma de utilizarla en Linux es la siguiente:

Mantener la ruta igual que expliqué antes, o meterla en una carpeta global y modificar la ruta de includes del sistema o del Makefile. En mi caso, la metí con la fuente y marchando.

Un ejemplo de Makefile: (cada línea que empieza aparentemente a 3 espacios, es un tabulador, si no, no funciona)

CC=g++
FLAGS=-g -Wall
LDOPT= -lpthread -lnsl

all: programa

clean:
   rm -rf *.o
   rm -rf programa

portable_socket.o: portable_socket.cpp portable_socket.h
   $(CC) -c $(FLAGS) -o portable_socket.o portable_socket.cpp

programa.o: programa.cpp
   $(CC) -c $(FLAGS) -o programa.o
programa.cpp

programa: portable_socket.o programa.o
   $(CC) -o programa portable_socket.o programa.o dlib/all/source.cpp $(LDOPT) -DDLIB_NO_GUI_SUPPORT

He puesto un par de objetivos como ejemplo, pero lo importante es el final, donde se ve que se incluye manualmente el fichero source.cpp y se pasa la opción DLIB_NO_GUI_SUPPORT. Esto viene en la documentación (How to compile, en la web oficial) y lo hice porque no tengo instaladas las cabeceras de desarrollo de todas las XWindows, si no, te fallará por todos lados.

En el caso de Linux, también se puede probar a quitar el source.cpp del Makefile a ver si chuta para tu caso :)

¡Espero que sirva la guía!

Clase socket portable Windows - Linux (C++ Portable sockets)

¡Saludos a todos!

He hecho una pequeña abstracción para utilizar sockets en Windows y Linux indistintamente.

La clase es bastante sencilla y basta con hacer un include de ella.

El constructor inicializa la API Winsock2 2.2 en el caso de Windows y en el de Linux, incluye las cabeceras necesarias. También nos da un socket listo para trabajar con él.

El destructor cierra el socket y libera los recursos.

Métodos públicos:

   portable_socket(void);
   int pbind (const struct sockaddr *addr, socklen_t addrlen);
   int plisten(int backlog);
   portable_socket* paccept(struct sockaddr *addr, socklen_t *addrlen);
   int pconnect(const struct sockaddr *addr, socklen_t addrlen);
   int psend(const void *buf, size_t len, int flags);
   int precv(void *buf, size_t len, int flags);
   void set_fd(SOCKET s);
   SOCKET get_fd();
   int get_last_error();
    ~portable_socket(void);

La 'p' de delante de cada nombre indica "portable", y no he metido funciones extra como sendto y recvfrom pero es bastante fácil añadirlas :)

Espero que sea útil :)

Enlace con el código: http://paste2.org/p/1280475 (Están los dos ficheros en el mismo paste)

miércoles, 23 de febrero de 2011

El juego de mesa Hotel para PC

¡Saludos!


He creado la adaptación a PC del antiguo juego de mesa Hotel, el similar al Monopoly.

Por ahora está en español y se puede jugar en local hasta 4 jugadores, pero estoy añadiendo el soporte para jugar en red y posteriormente la traducción al inglés.

La web es:

http://sourceforge.net/projects/hotels-game/

Y un enlace directo a la descarga:

http://sourceforge.net/projects/hotels-game/files/Hotel%201.2.rar/download

Reportad errores y sugerencias please! Si alguien quiere contribuir, no hay problema :)

Una captura: