Para quienes no tengan claro como trabajar en un SVN, en el caso de que utilicen Windows pueden utilizar TortoiseSVN para trabajar con él sin apenas complicación.
Esto es sólo orientativo pero os facilitará el camino a los recién llegados.
Como primer paso, localizad TortoiseSVN y realizad la instalación por defecto: "Siguiente", "siguiente", "siguiente"... Una vez que haya finalizado os pedirá reiniciar el PC. Aceptad y acercaros al frigo a echar un vistazo al frigo o simplemente incorporaros de la silla para estirar piernas que nunca viene mal.
Cuando hayamos regresado a Windows ya se habrá integrado el programa correctamente en el shell, lo que viene a ser que cuando utilicemos el botón derecho del ratón sobre una carpeta o directorio tendremos disponibles nuevas opciones para gestionar nuestro contenido local en vinculación con un espacio SVN.
Lo siguiente que habrá que hacer es una carpeta donde volcaremos el contenido del SVN quedando asociado a éste. Por tanto: se crea una carpeta y en el menú contextual que se muestra al pulsar el botón derecho seleccionamos "SVN Checkout".
Tenemos que indicar
http://svn.assembla.com/svn/ultrastarwii/trunk en la URL del repositorio. Le damos a "OK" y nos logeamos con los datos de la cuenta en assembla. Ahora esperamos a que se descargue el contenido del SVN.
Que no os confunda la imagen, únicamente pretende mostrar el diálogo de loginYa podéis examinar el contenido de la carpeta que se corresponderá con lo que en el momento del "checkout" hubiese en el servido. Y a partir de ahí, a trastear con el código y con las opciones del tortoise.
Saludos y gracias a todos los que os estáis interesando por el proyecto.
@Pho: que te olvidaba
, trabajar así con código ajeno resulta tedioso al principio. Curiosea los fuentes para hacerte una idea de cómo va y cuando ya veas algo donde creas que puedas meter mano, pues manos a la obra.
=======================================================================
EDIT:
Fuentes con formatoEn el Ultrastar NG original se utilizan las librerías
Pango fonts para dibujar texto en pantalla.
Pongo la declaración del PrintText para que le echéis un vistazo a todas las llamadas que se hacen a funciones de estas libs.
En /src/theme.cppcairo_surface_t *CTheme::PrintText(TThemeTxt *text) {
PangoFontDescription *desc = pango_font_description_new();
PangoLayout *layout = pango_cairo_create_layout(dc);
pango_layout_set_alignment(layout, PANGO_ALIGN_CENTER );
PangoRectangle rec;
cairo_save(dc);
pango_font_description_set_family(desc, text->fontfamily.c_str());
pango_font_description_set_style (desc,PANGO_STYLE_NORMAL);
pango_font_description_set_absolute_size (desc,text->fontsize * PANGO_SCALE);
pango_layout_set_font_description (layout, desc);
pango_layout_set_text (layout, text->text.c_str(), -1);
pango_layout_get_pixel_extents (layout,NULL,&rec);
text->extents.width = rec.width;
text->extents.height = rec.height;
text->extents.x_advance = rec.width+rec.x;
text->extents.y_advance = rec.height+rec.y;
pango_font_description_set_absolute_size (desc,text->fontsize * text->scale * PANGO_SCALE);
pango_layout_set_font_description (layout, desc);
pango_cairo_update_layout (dc, layout);
cairo_scale(dc, width/text->svg_width, height/text->svg_height);
cairo_move_to(dc,text->x - (rec.width-rec.width/text->scale)/2,text->y-text->fontsize * text->scale);
pango_cairo_show_layout (dc, layout);
pango_cairo_layout_path(dc,layout);
if (text->fill_col.r != -1 && text->fill_col.g != -1 && text->fill_col.b != -1) {
cairo_set_source_rgba(dc, text->fill_col.r, text->fill_col.g, text->fill_col.b, text->fill_col.a);
if (text->stroke_col.r != -1 && text->stroke_col.g != -1 && text->stroke_col.b != -1) cairo_fill_preserve(dc);
else cairo_fill(dc);
}
if (text->stroke_col.r != -1 && text->stroke_col.g != -1 && text->stroke_col.b != -1) {
cairo_set_line_width(dc, text->stroke_width);
cairo_set_source_rgba(dc, text->stroke_col.r, text->stroke_col.g, text->stroke_col.b, text->stroke_col.a);
cairo_stroke(dc);
}
cairo_restore(dc);
g_object_unref(layout);
pango_font_description_free(desc);
return surface;
}
Y ahora la pregunta: ¿hay alguna librería para wii para trabajar con texto con formato?
============================================================
EDIT 2:
Pasar de los gráficos SVG en favor de PNGcairo_svg = new CairoSVG(sm->getThemePathFile("intro.svg"), width, height);Otra cosa que tampoco pienso que necesitemos, al menos de momento, viene a ser todo el código relacionado con el formato SVG. Toda esa parte se puede reescribir para usar PNG, por ejemplo, en lugar de complicarnos la vida con gráficos vectoriales para los que tampoco parece que tengamos librerías que nos lo den hecho. Además, para los efectos de transición entre menús, que se llevan a cabo un ligero zoom con fundido antes de dar paso al nuevo, eso se puede hacer teniendo renderizado el menú como textura sobre polígonos planos, que sería el caso. Escalado y alpha; aparentemente simple.
Para trabajar con PNG ya existen buenas herramientas (es lo que tiene EOL, que es muy completito) y si se quisiera respetar el formato de los gráficos originales, para eso siempre habría tiempo ya una vez concluida la versión funcional nativa de wii. Tampoco va a suponer demasiado coñazo convertir de SVG a PNG a los que quieran utilizar los skins del original...