Para que el proceso de conversión del Maim Street sea menos tedioso decidí postear algunas de los elementos más interesantes del mismo. También me vá a servir como ayuda memoria o documento por si otra persona decide editar el TDR.
MAIM STREET - SKYBOX
Para no perderse entre tanto archivo lo primordial es ir al origen que en este caso es e MAIMSTREET.txt ubicado en la carpeta de nombre homónimo. Este archivo es el Level descriptor y si miramos un poco las primeras lineas nos vamos a topar con:
Este archivo .hie contiene toda la info del modelo, textura, atributos y demás. Entonces lo que vamos a hacer es crear uno nuevo o editar uno preexistente. Yo en mi caso quiero crear un skybox que contenga la textura del cielo del primer mapa del Carmageddon 1 y a eso agregarle la luna del mapa HiRise, osea quiero un .hie con dos modelos. Crearlo no es dificil en 3dsMax 3.1, tan solo exportamos un .pak que contenga dos modelos con dos texturas diferentes. Una vez que tenemos el .hie vamos a incorporar el primer modelo que en este caso va a ser la pseudo esfera del skybox, el tema es que para adicionar diferentes modelos en el .hie es necesario que los mismos están en formato .msh sin importar en cual de las variantes. Yo hice un skybox en 3dsMax y como el mismo contiene un solo modelo con cambiar .mshs en .msh es suficiente. Ahora vamos al .hie a cambiar los datos:
// Number of textures
2
// Texture name list
"MAIMSTREETSKY" <---------- textura del cielo. "" <------------textura del segundo modelo, por ahora lo dejamos en blanco.
Es muy importante respetar el orden, ya establecimos que el modelo de skybox vá a estar en primer lugar. Ahora vamos más abajo a ver los materiales:
// Number of materials
2
// Material name list
0.500000 0.500000 0.500000 1.000000 0 <-----------material del cielo. ????????? ???????? ??????? ??????? ? <-----------material de la luna, en este momento es una incógnita.
Muy bien, ahora vamos a ver la luna del HIRISE que está en Assets\Tracks\HiRise\Sky Sphere, del HiRiseSkySphereHiRiseSkySphere_1.pak vamos a extraer el .mshs y el .hie, con este úlitmo archivo nos enteramos que el cielo del HIRISE tiene 2 modelos:
// Number of meshes
2
// Mesh name list
"HiRiseSkySphereHiRiseSkySphere_1.mshs"
Y con las texturas deducimos que la luna es el segundo modelo:
// Number of textures
2
// Texture name list
"HiRiseSky" "Moon"
Ahora vamos a abrir el HiRiseSkySphereHiRiseSkySphere_1.mshs con algún editor de hex, como la luna es obviamente un modelo simple nos vamos a ir al fondo del archivo:
Lo que seleccioné es el modelo de la luna, el primer valor es el número de caras (1 cara), el segundo es el número de vertices (en total 4) por ende deducimos que es un quad, lo que sigue es el grosor, anchura y altura del vértice central que es el que sigue a continuación.
00 00 80 b6 <---------límites en x 00 00 00 37 <---------límites en y 0c ef 27 b6 <---------límites en z de 6b 8d 42 <---------vértice central
Esos valores son muy importantes porque delimitan el área de visibilidad del modelo, si el modelo está afuera de esos límites empieza a desaparecer a cierta distancia o en ciertos ángulos de visión. El resto de la info del .msh/.mshs está en la primera página de este topic. Lo que vamos a hacer es eliminar lo que no está seleccionado en la imagen y vamos a salvar como MOON.msh para sumar este modelo al del MAIM STREET.
Volvamos a MAIMSTREETSKY.hie para completar lo que falta:
// Number of textures
2
// Texture name list
"MAIMSTREETSKY" "Moon"
Esta info la fui sacando del HiRiseSkySphereHiRiseSkySphere_1.hie
PD: el kong por la pista en tu video, como diste con eso? Me impresionó!
Existe una entidad en el TDR que se llama Path Follower que es una especie más simple de Drone. Este asset tiene una característica única: podés crear una secuencia de modelos .msh para generar una animación:
Lo podemos comparar con el stop motion: vás creando modelos de cada una de las posturas del mono hasta que al alternarse dán la ilusión de movimiento. Y luego resta sumarle un camino, en este caso el "GorillaPathnull261.hie". Para el video de youtube yo usé el Opponent Path.
Survivalist Ed wants to rid the world of Commies. But to him, everyone’s a pinko. His armoured station wagon’s a moving roadblock. Del Carmageddon Funsize para el Carmageddon TDR 2000. El modelo y texturas me las pasó Bearded.
¿Se podría llamar atajo? la verdad que no estoy seguro.
En el juego original no pude acceder a esa zona ya que hay dos flechas bloqueando el paso. ¿Se desbloqueará ese desvío en otra versión del nivel? ¿Será inaccesible?
¿O pegas la cadena "Hollowood_Race1" en la de otra carrera?
Yo remplazo en races.txt (esto es para la nueva versión del mapa):
RACE TRACK "Hollowood_Race1" NAME "Hollowood_Race1" TYPE 31 // Type of race TIMER 150.0 120.0 70.0 // Seconds LAPS 4 CHECKPOINT_BONUS 12 12 12 BONUS_LAPS 20000 10000 5000 BONUS_PEDS 20000 10000 5000 BONUS_CARS 20000 10000 5000 NUM_OPPONENTS 6 OPPONENT_NASTINESS 6 // Valid Range ? MAX_OPPONENT_VALUE 350 // suggested max value of AI's that can appear in this race, in thousands OPPONENT_PATHS "FilmStudioRace1.hie" POWERUPS "Hollowood_Race1.pup" POWERUPS_SAVENAME "assets\tracks\Hollowood_Race1\Hollowood_Race1.pup" DRONE_PATHS "FilmStudioTraffic_Paths_1.hie" NUM_CHECKPOINTS 5 RACE_ID 1 RACE_DEPENDENCY 0 END
por
RACE TRACK "SNAKE1" NAME "SNAKE1" TYPE 31 // Type of race TIMER 200.0 160.0 140.0 // Seconds LAPS 4 CHECKPOINT_BONUS 50 40 30 BONUS_LAPS 20000 10000 5000 BONUS_PEDS 20000 10000 5000 BONUS_CARS 20000 10000 5000 NUM_OPPONENTS 6 OPPONENT_NASTINESS 6 // Valid Range ? MAX_OPPONENT_VALUE 160 // suggested max value of AI's that can appear in this race, in thousands OPPONENT_PATHS "SNAKE_Race1_AI.hie" POWERUPS "SNAKE_Race1.pup" POWERUPS_SAVENAME "assets\tracks\SNAKE1\SNAKE_Race1.pup" NUM_CHECKPOINTS 4 RACE_ID 2 RACE_DEPENDENCY 0 MO_PALETTE_SECTION "MO_Palette.txt" ADDON 1 UI_BACKGROUND "SNAKEsplash" WORLD "Beetle Mania" DISPLAY_NAME "Snake Alley" DESCRIPTION "We ended with a toast over snake venom and Bam! I was officially welcomed into the Carmageddon community!" END