eglaysher / rlvm

RealLive clone for Linux and OSX
http://rlvm.net
GNU General Public License v3.0
152 stars 26 forks source link

Shaking Botan sprite doesn't stop shaking #16

Closed Polarem closed 13 years ago

Polarem commented 13 years ago

In Clannad, on Apr 22, Botan doesn't stop shaking when the the screen goes "zing!" and the colours get inverted. It does so in RealLive.

Polarem commented 13 years ago

The relevant opcodes MIGHT be

op<1:073:03103, 0> (81, 12) op<1:073:00004, 0> (81) op<1:073:00000, 0> (81)

Polarem commented 13 years ago

This is from SEEN3422, where the relevant section is

farcall (9078, 9) bgmStop wavPlay ('PIKIN') grpInvert (0) farcall (9072, 0)

I believe farcall(9078, 9) (which consists of only the 3 opcodes above) stops the sprite shake. It is also called from a number of Kyou SEENs (SEEN3419, SEEN3501, SEEN3503), but I haven't followed them in-game yet.

eglaysher commented 13 years ago

Testing with RealLive.exe:

op<1:073:03103, 0> (obj, set) appears to stop playing the current gan animation set and play set instead. It is non-blocking. Perhaps another synonym for ganPlay().

I don't see op<1:073:00004, 0> (81) having any effect on any visible values in the RealLive object debugger.

op<1:073:00000, 0> (81) seems to be some form of objStop(). It stops the animation immediately and doesn't block.

Polarem commented 13 years ago

Testing modified versions of SEEN9078, by commenting out various lines:

Eliminating any one opcode still allows shaking to stop.

Eliminating these two opcodes causes unending shakes: op<1:073:03103, 0> (81, 12) and op<1:073:00000, 0> (81). The other combinations still allow shaking to stop.

Eliminating all three opcodes causes unending shakes.

These results are consistent with your tests, suggesting that both op<1:073:03103, 0> (obj, set) and op<1:073:00000, 0> (obj) stop the "obj" animation, while op<1:073:00004, 0> (obj) does not.

(BTW, how do I put code tags in github?)

eglaysher commented 13 years ago

Implement experimental gan commands.

These should improve scenes with Botan in Clannad.

Closed by af1b97ec321b2c0fc347d4b052efc3e9677ae0c7