michael-fadely / sadx-dc-lighting

Sonic Adventure 1 palette lighting for SADX PC.
MIT License
39 stars 3 forks source link

Egg Viper explosion effect #26

Closed PiKeyAr closed 7 years ago

PiKeyAr commented 7 years ago

In SA1, when Egg Viper shoots an explosive beam, the walls fade to red as the explosion happens, and fade back to normal once it's over. red After Egg Viper is defeated and the vessel starts spinning around, the walls fade between a slight red tint and a full red tint continuously. When Egg Viper explodes at the end, the fade stops at a full red tint. red2 There are some weird colors in PL_M0B.BIN's Base 4 and Specular 4 (0-based) that could be related to this. Interestingly the walls in the Egg Viper landtable are set to ignore specular.

PiKeyAr commented 7 years ago

Looks like SADX has some leftover (?) code for this effect. There is a 4-byte value at 3C6E1EC that becomes 1 for the duration of the effect. sub_581960 calculates some values for it and sub_57E590 changes diffuse color and light direction. And of course it's not working in SADX for whatever reason. If this functionality is too difficult to restore, perhaps it could be implemented in a way similar to the fire in Past cutscenes, though this time instead of having a separate palette it will be a red overlay with a different opacity over the existing palette.

The effect works like this:

PiKeyAr commented 7 years ago

I've recorded a video of the Egg Viper effect with test palettes. There seems to be a lot of stuff going on that I don't really understand.

michael-fadely commented 7 years ago

That's really interesting. The interpolation infrastructure can probably facilitate that, but it's a matter of implementing the backend code.

PiKeyAr commented 7 years ago

I'm going to do this thing using the API so I'm closing this for now.