re4_tweaks
re4_tweaks copied to clipboard
Saddler Treasure appears before the cutscene ends
Validation
- [X] Game has been updated to the latest RE4HD release (v1.1: https://www.re4hd.com/?p=9552)
- [X] Data has been validated with SFV (a guide to using QuickSFV is available at that link, use that with this 1.1 SFV: BIO4-HDProject1.1-SFV.zip)
Describe your issue here (drag+drop ZIP to attach it)
This is a bug the UHD game has since it was released. I tried to edit absolutely all stage data, but it remains there.
Saddler treasure/money should appear once the cutscene is over:
https://youtu.be/t9XsFR3dvWM?t=9961

But in the UHD (and later ports) it appears just when the cutscene starts, and you can see the blue halo it during several camera angles (one of them it covers the entire screen!!)
https://youtu.be/7J_kjTYKRmg?t=26846

In the HD project, I made the halo smaller, but it's not a good idea because all the other bosses treasure halos are huge...
Do you know which room number that map happens on?
Yep, r332 :)
Had a quick look at this, seems EmSetDropItem is being ran twice for some reason: first it gets called just after Saddler's death animation (causing the item pickup to appear during cutscene), but then it also gets called again after the cutscene ends too.
It being ran twice like this is probably unintended, since it looks like it only allows 1 item to drop from an Em anyway, so there wouldn't be any point in calling it twice.
Tried patching the call out before death anim, and restoring it while cutscene played (so that only the second call would have any effect), with that the item pickup was gone during cutscene & showed up fine afterward, so pretty sure this double-call is what causes it.
Guessing issue must be the first call right after death anim, unfortunately also looks like it's the same piece of code calling EmSetDropItem both times (at 0x4EE9A3), so not really something that can be easily patched out.
It runs that code whenever pEm->r_no_2_FE state is set to 4, guess we need to find out why it's going into that state twice, maybe another issue caused by some framerate "fix" they added...
E: seems r_no_2_FE gets set to 4 by two different ways, state 3 will increment to state 4 if MotionMove returns true, and cEm31::setDieCancel can also force it to 4 as well, that func seems to get called by R332RocketShootEnd which is something to do with the end cutscene.
Patching out the state 3 -> state 4 increment actually seems to help it, item pickup doesn't show in cutscene now, but still spawns fine afterward - haven't tested this that much yet though so no idea if it might break something...
If anyone wants to try it, search EXE for
FE 86 FE 00 00 00 5B 5F 5E 5D C3 DD
and change to
90 90 90 90 90 90 5B 5F 5E 5D C3 DD
(just changing first 6 bytes to 90)
E: seems GC still does the 3 -> 4 increment itself though, need to look into whether that also runs it twice, and check what moment it decides to call it...
if (_cutscene.SetActive == true) { item.GetComponent<MeshRenderer>().enabled = false; Oh.and.also.aura.enabled = false.btw; } Easy! hahaha
Ok! gonna try that exe patch now! Thanks!!
Ok! I've tried a couple of locations plenty of ganados and also all game's bosses and all of them drop their items as they should. And Saddler's one is fixed! it only appears after the cutscene :DD