Conectarse
Los posteadores más activos del mes
Quincho96 | ||||
FlairDreamer | ||||
Sirillium64 | ||||
UFHDE | ||||
El Destructor de Especies | ||||
Coldfusion | ||||
Davitroon | ||||
Endy | ||||
SartekChaos | ||||
Max |
Creación Aleatoria
Hora Mundial
Mi derrota ante el código de Spore; LevelWater_Fix
Sporepedia 2 :: Spore World :: Más Spore
Página 1 de 1. • Comparte
Mi derrota ante el código de Spore; LevelWater_Fix
AGRADECIMIENTO:
Antes de nada quiero dar gracias a @ElAloch, porque sin el nunca pude haber descubierto lo que descubrí y voy a explanarlo en este tema por si alguien se interesa o me ofrece ayuda, comencemos:
HISTORIA:
Hace unos cuantos días me propuse una tarea bastante sencilla (en mi opinión) hacer que el agua de la trasformación planetaria no se revertiera a un yermo desértico. Al principio iba mal encaminado pues pensaba que tendría que ver con terraforming tuning (Lógico al fin y al cabo pero no era el caso).
Pero gracias a ElAloch pude descubrir que era idéntico al 100%, por lo que me dije de algún sitio debe venir digo yo: Encontré el script: TerrainLegacyScript True que se encontraba en todos los script sobre terreno y planeta del juego, al ponerlo en false funcionó momentáneamente e incluso cabe destacar que me ocurrió varias veces, pero de repente dejó de funcionar, sí alguien sabe el porque que me lo diga.
Así que tras esa victoria que se convirtió en fracaso seguí buscando y buscando y al fin en un mar de códigos de Spore, se me ocurrió buscar Surface (Superficie), en vez de insistir con: Terrain, planet, water, terraforming and toolspace (pensé que podrían ser las herramientas de terraformación incluso). Al final de todos los intentos casi a punto de rendirme, encuentro el código que buscaba, este se encontraba en:
materials_shader_fragments~ ---> 0x00000003.smt.unpacked ----> 079(TerrainSetup).vertex_fragment
En este archivo de arriba pone lo siguiente:
- Captura triste del código :
EXPLICACION:
Ese código es lo que provoca el bug horrible de que el agua desaparezca, traduciré el texto en verde (notas del programador)
para que sepáis exactamente lo que dice:
- Traducción:
Actualmente tanto la tierra como el agua se establecen en la altura VB, que es máxima (altura del agua, altura de la tierra)
esto es para evitar los problemas cambiantes de la costa y poder mirar debajo de la orilla del agua, debido a que el agua se mueve hacia afuera.
Esto puede cambiar porque tiene sus propios problemas, es decir, que la profundidad del agua no está disponible en el sombreador de vértices y el mapa de refracción no es correcto.
Sin embargo, hacer esta sujeción en el sombreador causa problemas de z-fight debido a que las faldas se sujetan y se arrastran por el borde del agua, porque solo se sujeta la altura final transformada, no las alturas de origen y destino.
FINAL O INICIO?
En resumidas cuentas esta es la solución cutre para ese bug, el cual yo nunca recuerdo haber presenciado y tal vez fuera prácticamente imperceptible. El problema gente viene con lo que voy a decir a continuación, los códigos originales fueron totalmente aniquilados e incluso hay notas que dicen de añadir o corregirlos en futuros parches que nunca llegaron, por lo que sin los códigos originales es imposible corregirlo al menos que pruebe a lo loco (cosa que me niego a hacer).
Dejaré el código entero quitando las notas por si alguno lo quiere ojear y me dice que ese no es el sitio correcto para buscar arreglar lo del agua, en ese caso que me diga el porque y si estoy de acuerdo o tiene sentido seguiré buscando el fallo. En caso de que todos estén de acuerdo que ese es el código y quieran ayudar para modificarlo, bienvenido sea.
Pero este proyecto actualmente está muerto, no por no encontrar el fallo (Estoy al 99% que ese código es el fallo) sino porque no sabemos los valores originales, así pues gracias por leerse este tochaco y os dejo el código:
- Código:
vertexFragment TerrainSetup
input color position
declareCode
extern uniform struct
{
float4 vSunDir;
float4 waterColor;
float4 innerParms;
float4 vCamPos;
float4 sphereParms;
float4 camParms;
float4 illumParms;
float4 fogParms;
float4 nightLightTint;
float4 nightLightColor;
float4 duskLightColor;
float4 dayLightColor;
float4 nightShadowColor;
float4 duskShadowColor;
float4 dayShadowColor;
float4 duskDawnStartEnd;
float4x4 viewTransform;
} terrainState;
extern uniform struct
{
float4x4 worldViewProjection;
float4 QuadFaceUVXform;
float4 QuadMorphValue;
float4 QuadFaceElemMap;
float4 QuadFaceSignMap;
float4 QuadFaceXForm[3];
} terrainTransform;
endCode
code
const float c0 = 255.0f * 2.0f / 65536.0f;
const float c1 = 256.0f * c0;
float parentHeight = dot( In.position.ar, float2( c1, c0 ) ) - 1;
float height = dot( In.position.gb, float2( c1, c0 ) ) - 1;
height = parentHeight + (height - parentHeight) * terrainTransform.QuadMorphValue.x;
float height1 = dot( In.color.gb, float2( c1, c0 ) ) - 1;
float seabedHeight = height1 * terrainState.sphereParms.y + terrainState.sphereParms.x;
float landHeight = height * terrainState.sphereParms.y + terrainState.sphereParms.x;
float waterHeight = terrainState.innerParms.w + terrainState.sphereParms.x;
float2 uv = saturate( terrainTransform.QuadFaceUVXform.xy + In.texcoord0.xy * terrainTransform.QuadFaceUVXform.z);
float4 normal4 = float4( uv.xy, 1, 1 );
float3 normal = float3(
dot( normal4, terrainTransform.QuadFaceXForm[0] ),
dot( normal4, terrainTransform.QuadFaceXForm[1] ),
dot( normal4, terrainTransform.QuadFaceXForm[2] ) );
normal = normalize( normal );
float4 landPosition = float4(normal.xyz * landHeight, 1);
float4 waterPosition = float4(normal.xyz * waterHeight, 1)
float4 seabedPosition = float4(normal.xyz * seabedHeight, 1);
endCode
end
ALBÚM EN DESARROLLO
TENGO:
- Nada puede superar la curiosidad humana:
Josgrox- Caballero Aprendiz
- Puntos de Capitán : 45
Actividad de Arquetipos : Ver
Barra de Respeto : Mensajes : 1561
Sexo :
Edad : 25
Fecha de nacimiento : 31/12/1998
Localización : Málaga, España
¿Algo que decir? : Ad astra abyssosque
Fecha de inscripción : 07/07/2011
Premios :
Re: Mi derrota ante el código de Spore; LevelWater_Fix
Yo probaría cambiar la linea que está desactivada como comentario del código y reemplazarla por la que comienza igual con waterPosition. Quedaría así:
Esto supuestamente cambiaría la posición del agua a su propia altura en lugar de ser igual a la altura de la tierra, que talvez sea lo que provoca el bug de un planeta desértico con nivel de atmósfera alto como mencionas.
- Código:
float4 waterPosition = float4(normal.xyz * waterHeight, 1);
// float4 waterPosition = landPosition;
Esto supuestamente cambiaría la posición del agua a su propia altura en lugar de ser igual a la altura de la tierra, que talvez sea lo que provoca el bug de un planeta desértico con nivel de atmósfera alto como mencionas.
Mx3brainpower- Científico Teórico
- Puntos de Capitán : 783
Actividad de Arquetipos : Ver
Barra de Respeto : Mensajes : 5401
Sexo :
Edad : 33
Fecha de nacimiento : 09/02/1991
Localización : Runaterra
¿Algo que decir? : Mi conexión ya no es tan mala
Fecha de inscripción : 26/06/2012
Premios :
Re: Mi derrota ante el código de Spore; LevelWater_Fix
He probado el código que dijiste y sigue igual, lo que significa que o falta código o el bug no nace de ahí, cosa que si es así no entiendo de donde puede salir, porque según tengo entendido lo que vemos en Spore originalmente antes de ser terraformado es falso, es decir, solo al usar las herramientas de terraformación vemos el verdadero modelo, de ahí que piense que es materials_shader_fragments~. También miré SpaceTools las pero no encontré nada raro y fuera de lo normal al igual que mire todos los Scrips de planetas del juego a ver que había en común con todos ellos y nada raro.
Sí no es eso no tengo ni idea, probé poniendo el TerrainLegacyScript en false, al principio dio efecto (o fueron bugs simultáneos) y saliendo de los planetas y entrando varias veces en los planetas terraformados, no volvían a su estado yermo desértico y solo cambiaba al guardar y salir por lo que estaba buscando la solución a ese problema.
El problema vino cuando el TerrainLegacyScript de repente ya no iba (lo que me hace pensar fueron bugs y tuve mala suerte y pensé que fue por el mod). Lo dicho este proyecto lo dejo abierto y me meteré de vez en cuando a mirarlo y diseñarlo, pero por ahora voy a descansar al menos que averigüe la raíz del problema literalmente.
Lo único que se me ocurre es que sea el cache y este no guarde la característica del terreno, pero eso sería raro porque se acuerda de la totalidad de la terraformación e incluso el color o materials_shader_fragments~ algo que no he visto o algo en los scripts de planetas y terrenos que pasé por alto (cosa que dudo por que los revisé bastante, aunque puede ser que no me diera cuenta de algo)
Sí no es eso no tengo ni idea, probé poniendo el TerrainLegacyScript en false, al principio dio efecto (o fueron bugs simultáneos) y saliendo de los planetas y entrando varias veces en los planetas terraformados, no volvían a su estado yermo desértico y solo cambiaba al guardar y salir por lo que estaba buscando la solución a ese problema.
El problema vino cuando el TerrainLegacyScript de repente ya no iba (lo que me hace pensar fueron bugs y tuve mala suerte y pensé que fue por el mod). Lo dicho este proyecto lo dejo abierto y me meteré de vez en cuando a mirarlo y diseñarlo, pero por ahora voy a descansar al menos que averigüe la raíz del problema literalmente.
Lo único que se me ocurre es que sea el cache y este no guarde la característica del terreno, pero eso sería raro porque se acuerda de la totalidad de la terraformación e incluso el color o materials_shader_fragments~ algo que no he visto o algo en los scripts de planetas y terrenos que pasé por alto (cosa que dudo por que los revisé bastante, aunque puede ser que no me diera cuenta de algo)
ALBÚM EN DESARROLLO
TENGO:
- Nada puede superar la curiosidad humana:
Josgrox- Caballero Aprendiz
- Puntos de Capitán : 45
Actividad de Arquetipos : Ver
Barra de Respeto : Mensajes : 1561
Sexo :
Edad : 25
Fecha de nacimiento : 31/12/1998
Localización : Málaga, España
¿Algo que decir? : Ad astra abyssosque
Fecha de inscripción : 07/07/2011
Premios :
Re: Mi derrota ante el código de Spore; LevelWater_Fix
Pues wow, que pena. Esta es solo otra prueba de que Spore estaba demasiado crudo al salir en 2008. Pero sorprendentemente, hicieron un juegazo. Mucha suerte y espero que logres salir de este enredo.
Jesus-Sole- Espacio
- Barra de Respeto : Mensajes : 50
Sexo :
Edad : 22
Fecha de nacimiento : 30/10/2002
Localización : En algún lugar en el espacio profundo, ¿Kryoland quizas?
¿Algo que decir? : Si una raza alienigena apareciera hoy, seria posiblemente el fin de nuestra especie... La vida real no es como Spore, nosotros somos ese planeta tribal que destruyes sin más remordimiento...
Fecha de inscripción : 24/01/2017
Premios :
Re: Mi derrota ante el código de Spore; LevelWater_Fix
Dato curioso que me ha ayudado también en el intento de desarrollo, sea lo que afecte a la altura del agua, en sí no afecta solo al agua, también al terreno, por que he llegado a esta conclusión:
Pues se debe a que he probado sí al hacer otra cosa que modifique el mundo (terraformar u editar el terreno con las herramientas de crear montañas u mares, el terreno se revierte y el agua a la par se revierten y las montañas, colinas, playas creadas desaparecen o disminuyen mucho su tamaño, al saber esto se sabe que ahora el problema viene con el renderizado del planeta como tal, tierra y agua por ambos lados, maldito EA por no arreglar estos bugs antes de abandonarlo.
Pues se debe a que he probado sí al hacer otra cosa que modifique el mundo (terraformar u editar el terreno con las herramientas de crear montañas u mares, el terreno se revierte y el agua a la par se revierten y las montañas, colinas, playas creadas desaparecen o disminuyen mucho su tamaño, al saber esto se sabe que ahora el problema viene con el renderizado del planeta como tal, tierra y agua por ambos lados, maldito EA por no arreglar estos bugs antes de abandonarlo.
Josgrox- Caballero Aprendiz
- Puntos de Capitán : 45
Actividad de Arquetipos : Ver
Barra de Respeto : Mensajes : 1561
Sexo :
Edad : 25
Fecha de nacimiento : 31/12/1998
Localización : Málaga, España
¿Algo que decir? : Ad astra abyssosque
Fecha de inscripción : 07/07/2011
Premios :
Re: Mi derrota ante el código de Spore; LevelWater_Fix
Hay algo que me parece raro y es que:
float seabedHeight = height1 * terrainState.sphereParms.y + terrainState.sphereParms.x;
float landHeight = height * terrainState.sphereParms.y + terrainState.sphereParms.x;
Utilice ese código en vez de:
float seabedHeight = height1 *( terrainState.sphereParms.y + terrainState.sphereParms.x);
float landHeight = height * (terrainState.sphereParms.y + terrainState.sphereParms.x);
¿A lo mejor eso lo arregla?
float seabedHeight = height1 * terrainState.sphereParms.y + terrainState.sphereParms.x;
float landHeight = height * terrainState.sphereParms.y + terrainState.sphereParms.x;
Utilice ese código en vez de:
float seabedHeight = height1 *( terrainState.sphereParms.y + terrainState.sphereParms.x);
float landHeight = height * (terrainState.sphereParms.y + terrainState.sphereParms.x);
¿A lo mejor eso lo arregla?
CharaToLoki- Capitán
- Barra de Respeto : Mensajes : 209
Sexo :
Localización : Earth's biosphere, the Solar System, the Milky Way, the Local Group, Virgo Supercluster
¿Algo que decir? : Mi cuenta actual en mi Sporepedia es "User", pero mis anteriores eran "andro" (mi antiguo Windows 10) y "Kinga" (en mi Windows XP).
Fecha de inscripción : 15/02/2021
Re: Mi derrota ante el código de Spore; LevelWater_Fix
Che me gustaria entender a fondo esto, a ver si mi experiencia en programacion ayuda, no entiendo bien que es lo que queres hacer josgrox
Sane- Caballero Escudero
- Puntos de Capitán : 60
Actividad de Arquetipos : Ver
Barra de Respeto : Mensajes : 2836
Sexo :
Edad : 30
Fecha de nacimiento : 19/03/1994
Localización : asdadsads
¿Algo que decir? : Chupame el Cho....
Fecha de inscripción : 01/01/2012
Premios :
Re: Mi derrota ante el código de Spore; LevelWater_Fix
Sane escribió:Che me gustaria entender a fondo esto, a ver si mi experiencia en programacion ayuda, no entiendo bien que es lo que queres hacer josgrox
Por ahora lo dejé aparcado, pero no tengo ningún problema en explicarlo:
Cuando tú terraformabas un planeta en Spore, el nivel del agua sube debido a la terraformación hasta ahí todos damos esto por sabido. Alguna gente en teoría veían un bug en el nivel del agua en Spore Vanilla (Sin parches), cuyo bug yo nunca vi en el Spore Vanilla en su tiempo.
El problema es el siguiente: EA dio un arreglo cutre a la solución del nivel del agua, provocada por el parche 1.01 al usar una herramienta de terraformación. EA pensó: No habrá bug si el nivel del agua se restablece como si el planeta no fuera terraformado y es cierto. Pero esto provoca que hoy día en Spore, al terraformar y salir del planeta se resetee a su estado original y de ser un paraíso se vuelva un yermo con árboles. Hay un problema con esto y debes entender esto: El planeta tipo (Yermo sin agua) que solemos ver antes de terraformarlo es como una ilusión y en sí no es el modelo real del planeta, el modelo real del planeta es al ser terraformado, por lo que si queremos verlo así totalmente hay que utilizar una herramienta de terraformación de atmósfera/temperatura y se volverá a calcular el modelo, restableciendo el modelo REAL.
Pero al salir se reseteará al modelo que solemos ver antes de la terraformación para evitar el bug del agua. Yo busqué dicho código y no encontré nada que tuviera que ver con ello y créeme que lo intenté bastante
Aquí el problema:
Fase de espacio: Se ha corregido un problema gráfico con los niveles de agua que no se actualizan correctamente con herramientas de terraformidad para que *los niveles visibles de agua y atmósfera ahora se correspondan en el monitor Atmósfera.
Fuente: https://spore.fandom.com/wiki/Patch_1.02
ALBÚM EN DESARROLLO
TENGO:
- Nada puede superar la curiosidad humana:
Josgrox- Caballero Aprendiz
- Puntos de Capitán : 45
Actividad de Arquetipos : Ver
Barra de Respeto : Mensajes : 1561
Sexo :
Edad : 25
Fecha de nacimiento : 31/12/1998
Localización : Málaga, España
¿Algo que decir? : Ad astra abyssosque
Fecha de inscripción : 07/07/2011
Premios :
Re: Mi derrota ante el código de Spore; LevelWater_Fix
Podrias mostrarme un ejemplo, esto es algo que nunca he oido o visto sobre spore
Sane- Caballero Escudero
- Puntos de Capitán : 60
Actividad de Arquetipos : Ver
Barra de Respeto : Mensajes : 2836
Sexo :
Edad : 30
Fecha de nacimiento : 19/03/1994
Localización : asdadsads
¿Algo que decir? : Chupame el Cho....
Fecha de inscripción : 01/01/2012
Premios :
Re: Mi derrota ante el código de Spore; LevelWater_Fix
Sane escribió:Podrias mostrarme un ejemplo, esto es algo que nunca he oido o visto sobre spore
@Sane este es el bug en un vídeo que he encontrado:
Así lo describe el mismo usuario del vídeo:
Lo que pasa, es que el nivel de agua en el 90% de los planetas en el juego está totalmente equivocado. El uso de cualquier herramienta de terraformación durante una fracción de segundo lo corregirá.. mientras esté en el planeta y durante 5 o diez minutos después. Estoy recibiendo mundos que deben ser ICE y LAVA y NO ATMOSPHERE totalmente cubierto en AGUA LIQUID. Tengo planetas que deberían tener océanos no tienen nada más que una masa terrestre GIGANTE. No hay planetas con hielo o lava en ninguna parte a menos que los 'corrija' parpadeando una herramienta de terraformación.
Posdata: El bug, también quita los planetas helados o de lava, al menos que tu incidas con cualquier herramienta de terraformación, no sé porque a nadie le molesta a excepción de a mí XDDD
ALBÚM EN DESARROLLO
TENGO:
- Nada puede superar la curiosidad humana:
Josgrox- Caballero Aprendiz
- Puntos de Capitán : 45
Actividad de Arquetipos : Ver
Barra de Respeto : Mensajes : 1561
Sexo :
Edad : 25
Fecha de nacimiento : 31/12/1998
Localización : Málaga, España
¿Algo que decir? : Ad astra abyssosque
Fecha de inscripción : 07/07/2011
Premios :
Re: Mi derrota ante el código de Spore; LevelWater_Fix
Lol sera porque no a mucha gente le pasa, te digo la verdad las 50 veces que instale el juego y llegue a espacio nunca me paso, joder esto es nuevo para mi y encima a este punto de la poca popularidad que le queda al juego, habria que arreglarlo y ya para que por lo menos el juego caiga con digindad
Sane- Caballero Escudero
- Puntos de Capitán : 60
Actividad de Arquetipos : Ver
Barra de Respeto : Mensajes : 2836
Sexo :
Edad : 30
Fecha de nacimiento : 19/03/1994
Localización : asdadsads
¿Algo que decir? : Chupame el Cho....
Fecha de inscripción : 01/01/2012
Premios :
Re: Mi derrota ante el código de Spore; LevelWater_Fix
Sane escribió:Lol sera porque no a mucha gente le pasa, te digo la verdad las 50 veces que instale el juego y llegue a espacio nunca me paso, joder esto es nuevo para mi y encima a este punto de la poca popularidad que le queda al juego, habria que arreglarlo y ya para que por lo menos el juego caiga con digindad
Al contrario, le pasa a todos pero simplemente hacen caso omiso y yo me he levantado para arreglarlo XDDD, pero por ahora no encuentro nada.
ALBÚM EN DESARROLLO
TENGO:
- Nada puede superar la curiosidad humana:
Josgrox- Caballero Aprendiz
- Puntos de Capitán : 45
Actividad de Arquetipos : Ver
Barra de Respeto : Mensajes : 1561
Sexo :
Edad : 25
Fecha de nacimiento : 31/12/1998
Localización : Málaga, España
¿Algo que decir? : Ad astra abyssosque
Fecha de inscripción : 07/07/2011
Premios :
Temas similares
» Spore codigo
» Problema al Registar Codigo en spore
» Problema con Codigo de registo [SPORE]
» donde puedo conseguir el codigo original de spore que ande
» Derrota del temible Gragh [O5]
» Problema al Registar Codigo en spore
» Problema con Codigo de registo [SPORE]
» donde puedo conseguir el codigo original de spore que ande
» Derrota del temible Gragh [O5]
Sporepedia 2 :: Spore World :: Más Spore
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
Ayer a las 21:20 por Mathaloz
» Experimento Grifo Fantasmal [SINDROME DEL 23]
Ayer a las 18:10 por Quincho96
» Presentacion y Preguntas
Ayer a las 11:28 por Quincho96
» TEMA FLOOD
Ayer a las 11:03 por Quincho96
» BlueXYZ
Dom 17 Nov 2024, 00:47 por Max
» Rise of Cults 2 Bot (Beta abierta)
Dom 17 Nov 2024, 00:18 por XleandroX
» Hola
Sáb 16 Nov 2024, 23:35 por FlairDreamer
» Los experimentos del Dr. Breincrox, parte 2
Sáb 16 Nov 2024, 23:23 por FlairDreamer
» Aldeano Mini Carro [O5] [T] [♫]
Vie 15 Nov 2024, 18:38 por Quincho96
» [set]: Criaturas de Maenard
Vie 15 Nov 2024, 18:35 por Quincho96
» R3-XP10R3 [AI3] [♫]
Vie 15 Nov 2024, 16:17 por Quincho96
» Experimento Scarver-T [Virus-T]
Jue 14 Nov 2024, 14:27 por Quincho96
» Caballo [3lite vs. Xhaps] [2]
Jue 14 Nov 2024, 11:50 por Sirillium64
» Esidisi's Tower [O4] [E]
Jue 14 Nov 2024, 11:47 por Sirillium64
» ¿Que música están escuchando?
Jue 14 Nov 2024, 11:44 por FlairDreamer
» Problema con los pies de DI y otros mods
Miér 13 Nov 2024, 20:10 por FlairDreamer
» Las partes robóticas en mi spore no funcionan bien
Miér 13 Nov 2024, 20:08 por FlairDreamer
» ¿Cómo recuperar una criatura borrada?
Miér 13 Nov 2024, 19:22 por FlairDreamer
» Una decada despues!
Mar 12 Nov 2024, 22:31 por Endy
» Prototipo Zangief [O3]
Mar 12 Nov 2024, 19:09 por Quincho96
» El traveler barato de Owari [TA] [Mx3]
Mar 12 Nov 2024, 16:12 por Quincho96
» Golem Guardian [DoT][21] (Golem)
Lun 11 Nov 2024, 16:14 por Quincho96
» Nueva Ciudad Sporepedia 2024 (Historia por partes)
Sáb 09 Nov 2024, 19:48 por Sirillium64