OS_WII

Started by josebita, March 31, 2010, 01:24:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

josebita

Quote from: SplinterGU on March 31, 2010, 05:37:24 PM
y como mantendrias actualizada la version, lo pensaste?

o seria un fork de bennu?

Pues la verdad es que desde el principio mi idea era hacer el port de la versión 1.0 y luego... pues ya veré. No tengo un "plan" de qué hacer después, sinceramente. También depende un poco de hacia dónde lleves Bennu y de lo fácil/dificil que sea adoptar los cambios a la Wii.

Me da la impresión de que cuando limpie el código todo será mucho más fácil, eso sí.

Y en cuanto a lo del código, lo ideal es que quien use Bennu no haga algo del estilo:
if(OS_ID == 0)
cosas
end;

Sino más bien algo como:
if(OS_ID == OS_WIN32)
cosas
end;
Por lo que el código será válido allá donde el dcb no lo sea (es decir, que la incompatibilidad en ppio. se resolvería con recompilar). El problema no es tanto cuánto valga la constante, pero siempre viene bien tener algo de orden.
Además algún valor le tenía que dar :)

DCelso

Splinter, propongo el añadir ya los os para los que se están haciendo ya ports, como  wii,psp,haiku, etc. Por ejemplo 9,10,11 respectivamente.
Simplemente habría que decidir el número del commons_def.
Por ejemplo para wii sería algo así a tocar en el core.
Quote from: commons_def.h
#define OS_WIN32                0
#define OS_LINUX                1
#define OS_BEOS                 2
#define OS_MACOS                3
#define OS_GP32                 4
#define OS_DC                   5
#define OS_BSD                  6
#define OS_GP2X                 7
#define OS_GP2X_WIZ             8
#define OS_WII             9

Quote from: miscs.c
/* os versions */
#ifdef _WIN32
#define _OS_ID          OS_WIN32
#endif
#ifdef TARGET_LINUX
#define _OS_ID          OS_LINUX
#endif
#ifdef TARGET_BEOS
#define _OS_ID          OS_BEOS
#endif
#ifdef TARGET_MAC
#define _OS_ID          OS_MACOS
#endif
#ifdef TARGET_GP32
#define _OS_ID          OS_GP32
#endif
#ifdef TARGET_DC
#define _OS_ID          OS_DC
#endif
#ifdef TARGET_BSD
#define _OS_ID          OS_BSD
#endif
#ifdef TARGET_GP2X
#ifdef _OS_ID
#undef _OS_ID
#endif
#define _OS_ID          OS_GP2X
#endif
#ifdef TARGET_GP2X_WIZ
#ifdef _OS_ID
#undef _OS_ID
#endif
#define _OS_ID          OS_GP2X_WIZ
#endif
#ifdef TARGET_WII
#define _OS_ID          OS_WII
#endif


Quote from: main_core.c
constants_def[] =
{
    { "STATUS_DEAD"     , TYPE_DWORD, STATUS_DEAD         },
    { "STATUS_KILLED"   , TYPE_DWORD, STATUS_KILLED       },
    { "STATUS_RUNNING"  , TYPE_DWORD, STATUS_RUNNING      },
    { "STATUS_SLEEPING" , TYPE_DWORD, STATUS_SLEEPING     },
    { "STATUS_FROZEN"   , TYPE_DWORD, STATUS_FROZEN       },
    { "STATUS_WAITING"  , TYPE_DWORD, STATUS_WAITING_MASK },

    { "NULL"            , TYPE_DWORD, 0                   },

    { "FALSE"           , TYPE_DWORD, 0                   },
    { "TRUE"            , TYPE_DWORD, !0                  },

    { "OS_WIN32"        , TYPE_DWORD, OS_WIN32            },
    { "OS_LINUX"        , TYPE_DWORD, OS_LINUX            },
    { "OS_BEOS"         , TYPE_DWORD, OS_BEOS             },
    { "OS_MACOS"        , TYPE_DWORD, OS_MACOS            },
    { "OS_GP32"         , TYPE_DWORD, OS_GP32             },
    { "OS_DC"           , TYPE_DWORD, OS_DC               },
    { "OS_BSD"          , TYPE_DWORD, OS_BSD              },
    { "OS_GP2X"         , TYPE_DWORD, OS_GP2X             },
    { "OS_GP2X_WIZ"     , TYPE_DWORD, OS_GP2X_WIZ         },
   { "OS_WII"     , TYPE_DWORD, OS_WII         },

    { "MIN_INT"         , TYPE_INT  , -2147483647L - 1    },
    { "MAX_INT"         , TYPE_INT  , 2147483647L         },
    { "MIN_DWORD"       , TYPE_DWORD, 0                   },
    { "MAX_DWORD"       , TYPE_DWORD, 0xffffffff          },

    { "MIN_SHORT"       , TYPE_SHORT, -32768              },
    { "MAX_SHORT"       , TYPE_SHORT, 32767               },
    { "MIN_WORD"        , TYPE_WORD , 0                   },
    { "MAX_WORD"        , TYPE_WORD , 0xffff              },

    { "MIN_SBYTE"       , TYPE_SBYTE, -128                },
    { "MAX_SBYTE"       , TYPE_SBYTE, 127                 },
    { "MIN_BYTE"        , TYPE_BYTE , 0                   },
    { "MAX_BYTE"        , TYPE_BYTE , 0xff                },

    { "MIN_CHAR"        , TYPE_BYTE , 0                   },
    { "MAX_CHAR"        , TYPE_BYTE , 0xff                },

    { NULL              , 0         , 0                   }
} ;


Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

FreeYourMind

Quote from: DCelso on April 05, 2010, 01:34:14 PM
Splinter, propongo el añadir ya los os para los que se están haciendo ya ports, como  wii,psp,haiku, etc. Por ejemplo 9,10,11 respectivamente.
Simplemente habría que decidir el número del commons_def.
Por ejemplo para wii sería algo así a tocar en el core.
Quote from: commons_def.h
#define OS_WIN32                0
#define OS_LINUX                1
#define OS_BEOS                 2
#define OS_MACOS                3
#define OS_GP32                 4
#define OS_DC                   5
#define OS_BSD                  6
#define OS_GP2X                 7
#define OS_GP2X_WIZ             8
#define OS_WII             9

Quote from: miscs.c
/* os versions */
#ifdef _WIN32
#define _OS_ID          OS_WIN32
#endif
#ifdef TARGET_LINUX
#define _OS_ID          OS_LINUX
#endif
#ifdef TARGET_BEOS
#define _OS_ID          OS_BEOS
#endif
#ifdef TARGET_MAC
#define _OS_ID          OS_MACOS
#endif
#ifdef TARGET_GP32
#define _OS_ID          OS_GP32
#endif
#ifdef TARGET_DC
#define _OS_ID          OS_DC
#endif
#ifdef TARGET_BSD
#define _OS_ID          OS_BSD
#endif
#ifdef TARGET_GP2X
#ifdef _OS_ID
#undef _OS_ID
#endif
#define _OS_ID          OS_GP2X
#endif
#ifdef TARGET_GP2X_WIZ
#ifdef _OS_ID
#undef _OS_ID
#endif
#define _OS_ID          OS_GP2X_WIZ
#endif
#ifdef TARGET_WII
#define _OS_ID          OS_WII
#endif


Quote from: main_core.c
constants_def[] =
{
    { "STATUS_DEAD"     , TYPE_DWORD, STATUS_DEAD         },
    { "STATUS_KILLED"   , TYPE_DWORD, STATUS_KILLED       },
    { "STATUS_RUNNING"  , TYPE_DWORD, STATUS_RUNNING      },
    { "STATUS_SLEEPING" , TYPE_DWORD, STATUS_SLEEPING     },
    { "STATUS_FROZEN"   , TYPE_DWORD, STATUS_FROZEN       },
    { "STATUS_WAITING"  , TYPE_DWORD, STATUS_WAITING_MASK },

    { "NULL"            , TYPE_DWORD, 0                   },

    { "FALSE"           , TYPE_DWORD, 0                   },
    { "TRUE"            , TYPE_DWORD, !0                  },

    { "OS_WIN32"        , TYPE_DWORD, OS_WIN32            },
    { "OS_LINUX"        , TYPE_DWORD, OS_LINUX            },
    { "OS_BEOS"         , TYPE_DWORD, OS_BEOS             },
    { "OS_MACOS"        , TYPE_DWORD, OS_MACOS            },
    { "OS_GP32"         , TYPE_DWORD, OS_GP32             },
    { "OS_DC"           , TYPE_DWORD, OS_DC               },
    { "OS_BSD"          , TYPE_DWORD, OS_BSD              },
    { "OS_GP2X"         , TYPE_DWORD, OS_GP2X             },
    { "OS_GP2X_WIZ"     , TYPE_DWORD, OS_GP2X_WIZ         },
   { "OS_WII"     , TYPE_DWORD, OS_WII         },

    { "MIN_INT"         , TYPE_INT  , -2147483647L - 1    },
    { "MAX_INT"         , TYPE_INT  , 2147483647L         },
    { "MIN_DWORD"       , TYPE_DWORD, 0                   },
    { "MAX_DWORD"       , TYPE_DWORD, 0xffffffff          },

    { "MIN_SHORT"       , TYPE_SHORT, -32768              },
    { "MAX_SHORT"       , TYPE_SHORT, 32767               },
    { "MIN_WORD"        , TYPE_WORD , 0                   },
    { "MAX_WORD"        , TYPE_WORD , 0xffff              },

    { "MIN_SBYTE"       , TYPE_SBYTE, -128                },
    { "MAX_SBYTE"       , TYPE_SBYTE, 127                 },
    { "MIN_BYTE"        , TYPE_BYTE , 0                   },
    { "MAX_BYTE"        , TYPE_BYTE , 0xff                },

    { "MIN_CHAR"        , TYPE_BYTE , 0                   },
    { "MAX_CHAR"        , TYPE_BYTE , 0xff                },

    { NULL              , 0         , 0                   }
} ;




Teh has perdido capitulos anteriores  ;D
Ponle más bien un 1000 para el código de Wii (decision que no comparto, pero alla ellos  :D)

DCelso

que va, según entendí es un valor temporal a usar hasta que splinter lo integre oficialmente en bennu. Es un valor para no machacar valores anteriores y tener un identificador único para cada sistema. Yo lo que proponía era darle ya un valor oficial.
Además el valor en el soporte oficial será transparente para el usuario ya que el usuario debe de usar siempre el nombre de la constante, es decir lo importante es llamarlo OS_WII siempre. Si modificaramos el código fuente y cambiaramos todos los valores por otros de manera que no se repitiese ninguno no afectaría a los programas "prg" de los usuarios ya que ellos no deberían de usar los números sino el nombre de las constantes.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

Lo que me recuerda... tengo que mirar el valor de la constante target en el port de GP2X, creo que no lo modifiqué ^^U
Bueno, como tengo que mirar el meter el SDK oficial con las librerías aceleradas de Paeryn en Linux, entonces (menos mal que los scripts no alteran de forma indefinida las variables del sistema y podré trabajar con dos cross-compilers sin miedo).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)