Bueno, he probado lo de poner varios gráficos en una textura y no me sirve tal y como está montado el engine. En cada iteración del juego primero ejecuto
SpriteEngine.Move que mueve todos los sprites calculando la X, Y, ángulo, alpha blending, coloreado... y luego ejecuto
SpriteEngine.Draw que pinta en pantalla las texturas que han quedado visible después del movimiento.
El problema de usar una textura para varios gráficos es que todos esos gráficos van a compartir las propiedades del ángulo, alpha blending, coloreado... y justamente en MRO cada coche tiene un ángulo distinto. Para poder adaptarlo tendría que pasara la mitad de la lógica de
.Move a
.Draw forzando a que antes de pintar cada gráfico tendría que ajustar su angulo, alpha blending... cosa que creo que baja el rendimiento. Ahora solo modifico esas propiedades cuando realmente cambian, por ejemplo en una recta no cambio el ángulo de la textura en ningún momento. No se si el ahora de memoria de poner varias gráficos en una textura compensa el tiempo de proceso de estar ajustando las propiedades antes de pintar cada uno de los gráficos.
Ya tengo acabado el ajuste de las texturas grandes (las de los gráficos que necesitan varias texturas) a potencia de dos y al 90% que esos gráficos partidos en varias texturas se pinten bien en el formato de rotación de pantalla.
A ver si para hoy lo puede dejar acabado junto con el ajuste de la cantidad de humo y agua (pista mojada) que están desproporcionado.
La intención es sacar ya una versión de pruebas que le funcione a casi todo el mundo y podáis probarla a fondo, y una vez pasada la primera carrera de F1 y veamos el efecto de las nuevas normas (en especial el KERS) ajustarlas en MRO, junto con los fallos que hayáis encontrado y sacar la versión oficial del 10º aniversario.
Saludos