Others [Moon Rhapsody mod] New animations + cheats

nrlnb

Newbie
Jun 17, 2022
61
40
143
I think through this, there is a start and most likely there is a stop somewhere.
 

JoeTermin

Member
Dec 24, 2017
319
1,527
359
I think through this, there is a start and most likely there is a stop somewhere.
Not sure about that, since there is no normal situation in the game where you can play after an Hscene, apart from the Incufly and the Basilisk capture scene, both of which I suspect have their own custom code to handle it. Imo, you should probably investigate the Incufly and try to figure out why this one lets you play again (it might be that it's just hardcoded to the Hscene of the Incufly).
 

nrlnb

Newbie
Jun 17, 2022
61
40
143
Not sure about that, since there is no normal situation in the game where you can play after an Hscene, apart from the Incufly and the Basilisk capture scene, both of which I suspect have their own custom code to handle it. Imo, you should probably investigate the Incufly and try to figure out why this one lets you play again (it might be that it's just hardcoded to the Hscene of the Incufly).
I don't know if this will do anything, I checked what changes the value in raped, because when a regular enemy, not Incufly, goes, his raped goes from 0 to 1 and doesn't change to 0 until the game over and loading the save, but for Incufly it changes if there is enough health, from 0 to 1 and then to 0.
This is what changes after the HP is removed after the scene with Incufly

Moon Rhapsody.exe+7A045C:
00C70450 - E8 EB8E8FFF - call "Moon Rhapsody.exe"+99340
00C70455 - C7 47 0C 00000000 - mov [edi+0C],00000000
00C7045C - C7 47 04 00000000 - mov [edi+04],00000000 <<
00C70463 - C7 07 00000000 - mov [edi],00000000
00C70469 - C7 84 24 10010000 1B000000 - mov [esp+00000110], 0000001B
EAX=00FFFFFF
EBX=00FFFFFF
ECX=0000013E
EDX=294D7A6A
ESI=004BEEB0
EDI=606969B0
EBP=004BEFB8
ESP=004BEE70
EIP=00C70463

and second

Moon Rhapsody.exe+7A0463:
00C70455 - C7 47 0C 00000000 - mov [edi+0C],00000000
00C7045C - C7 47 04 00000000 - mov [edi+04],00000000
00C70463 - C7 07 00000000 - mov [edi],00000000 <<
00C70469 - C7 84 24 10010000 1B000000 - mov [esp+00000110],0000001B
00C70474 - 8B 84 24 94000000 - mov eax,[esp+00000094]
EAX=00FFFFFF
EBX=00FFFFFF
ECX=0000013E
EDX=294D7A6A
ESI=004BEEB0
EDI=606969B0
EBP=004BEFB8
ESP=004BEE70
EIP=00C70469

in the value in memory view they both have 0, after the scene is played the scene does not change or I just did not see it, but it is used. Perhaps something from this after checking whether there is health to continue the game removes 1 and puts 0 and removes the scene
 

JoeTermin

Member
Dec 24, 2017
319
1,527
359
I don't know if this will do anything, I checked what changes the value in raped, because when a regular enemy, not Incufly, goes, his raped goes from 0 to 1 and doesn't change to 0 until the game over and loading the save, but for Incufly it changes if there is enough health, from 0 to 1 and then to 0.
This is what changes after the HP is removed after the scene with Incufly

Moon Rhapsody.exe+7A045C:
00C70450 - E8 EB8E8FFF - call "Moon Rhapsody.exe"+99340
00C70455 - C7 47 0C 00000000 - mov [edi+0C],00000000
00C7045C - C7 47 04 00000000 - mov [edi+04],00000000 <<
00C70463 - C7 07 00000000 - mov [edi],00000000
00C70469 - C7 84 24 10010000 1B000000 - mov [esp+00000110], 0000001B
EAX=00FFFFFF
EBX=00FFFFFF
ECX=0000013E
EDX=294D7A6A
ESI=004BEEB0
EDI=606969B0
EBP=004BEFB8
ESP=004BEE70
EIP=00C70463

and second

Moon Rhapsody.exe+7A0463:
00C70455 - C7 47 0C 00000000 - mov [edi+0C],00000000
00C7045C - C7 47 04 00000000 - mov [edi+04],00000000
00C70463 - C7 07 00000000 - mov [edi],00000000 <<
00C70469 - C7 84 24 10010000 1B000000 - mov [esp+00000110],0000001B
00C70474 - 8B 84 24 94000000 - mov eax,[esp+00000094]
EAX=00FFFFFF
EBX=00FFFFFF
ECX=0000013E
EDX=294D7A6A
ESI=004BEEB0
EDI=606969B0
EBP=004BEFB8
ESP=004BEE70
EIP=00C70469

in the value in memory view they both have 0, after the scene is played the scene does not change or I just did not see it, but it is used. Perhaps something from this after checking whether there is health to continue the game removes 1 and puts 0 and removes the scene
The problem is we know we can't just set raped to 0 so we have to find what other things this function does. The function you found is called gml_Object_obj_Incufly_Alarm_6, btw. (found using the function list I shared as attachment here) and it's of size roughly 5000 bytes so it seems to do quite a lot of stuff. My guess is that it also calls instance_delete on obj_Hscene or something.