Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cooking changes (regardless if any are made) makes Sunchamber inaccessible to the player - (Metroid Prime 1) #36

Open
TheBillzar1640 opened this issue Mar 22, 2021 · 2 comments

Comments

@TheBillzar1640
Copy link

I am using Prime World Editor version 1.2.7 release (as I'm unsure how to build the latest version).

I will admit that I have slightly damaged Sunchamber to the point where enabling the 1st Pass Enemies layer crashes the game when trying to to load the room and have been attempting to fix this for a few days now. Dolphin's log brings up the following as soon as the crash occurs:

59:10:260 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x0000000c, PC = 0x8034fda8 
59:10:260 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f920 
59:10:260 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000008, PC = 0x8034f9f8 
59:10:260 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000000, PC = 0x8034faac 
59:10:260 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034fac4 
59:10:260 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: DVDReadAsync(): specified area is out of the file   in "dvdfs.c" on line 742.
59:10:260 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 
59:10:260 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: Address:      Back Chain    LR Save
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bfb58:   0x805bfbe8    0x8037fae8
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bfbe8:   0x805bfc20    0x803719e4
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bfc20:   0x805bfc40    0x8034fadc
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bfc40:   0x805bfc60    0x8033bbd8
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bfc60:   0x805bfcd0    0x80339f0c
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bfcd0:   0x805bfce0    0x8033fe04
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bfce0:   0x805bfcf0    0x80340dac
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bfcf0:   0x805bfd30    0x801adc18
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bfd30:   0x805bfd50    0x801b3604
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bfd50:   0x805bfd90    0x8004ad08
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bfd90:   0x805bfdd0    0x8004a90c
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bfdd0:   0x805bfe90    0x80024858
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bfe90:   0x805bfee0    0x80052214
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bfee0:   0x805bff10    0x800524ac
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bff10:   0x805bff50    0x80006f50
59:10:261 Core\HW\EXI\EXI_DeviceIPL.cpp:306 N[OSREPORT]: 0x805bff50:   0x805c00a0    0x800052d0

All the layers are correct, contain everything they did originally and I have been extensively using an unmodified version of the room to make sure everything is working correctly. If the 2nd Pass Enemies, Flaahgra Defeated and Artifact layers are enabled (usually enabled when the player goes through Sun Tower Access) the Chozo ghost fight works as normal and the Artifact cutscene plays correctly and is able to be collected and returned to the Tallon Overworld Artifact Temple - which is much better than nothing working at all at least!

However, no matter what I try - the 1st Pass Enemies layer is still broken and I want to attempt to fix it first before overriding the metroid2.pak file with the clean one. After many hours, I might have found the culprit:
PWEexternallink

2 memory relays that control the vines on the door leading from Sunchamber to Sunchamber Access (Vines on and Vines off) have a link that goes to an External: 001F0032 which cannot be accessed at all and can't be found anywhere within the editor (in the editing window or in the list of objects you can place)- it also cannot be copy/pasted from the clean version to the broken one either, so I've exhausted all possible options that I know.

As long as I can get Sunchamber working correctly again, preferably without replacing the whole metroid2.pak, that would be amazing! Thank you in advance.

@TheBillzar1640
Copy link
Author

At the time of writing this, I tested out entering Sunchamber from Sun Tower Access side in the clean version - which gave me a message saying that I had Uncooked Changes (despite the fact that I just opened up the project and loaded into area).

I cooked everything and now Sunchamber crashes in that version as well unless the background music is playing - in which I can load the room from that side, but not Sunchamber Access? I'm very confused now.

@TheBillzar1640 TheBillzar1640 changed the title External: 001F0032 link found in Sunchamber memory relays Sunchamber crashes regardless if modified or not Mar 22, 2021
@TheBillzar1640 TheBillzar1640 changed the title Sunchamber crashes regardless if modified or not Cooking changes (regardless if any are made) makes Sunchamber inaccessible to the player - (Metroid Prime 1) Aug 20, 2021
@TheBillzar1640
Copy link
Author

TheBillzar1640 commented Aug 20, 2021

I have complete confidence now on what causes Sunchamber to crash after any modification to the project file!

Regardless if ANY changes are made to the room or not (or even the entire project if it's just been made into a project file from the .iso or .gcm), if the user presses on quickplay - they will be prompted that they have uncooked changes and is asked if they want to cook:
CookChanges
If the user presses "NO" then the game will boot up and spawn where they were in the editor (if they have boot into room and spawn where camera is enabled) without any crashing whatsoever.
If the user presses "YES" then the editor will cook all the metroid.pak files before the process above, but when the "Chozo Ruins" screen comes up it takes some time for it to fade out (with a noticeable frame drop when it starts doing so). Afterwards, Dolphin will simply display a black screen with the error(s) in the log window that I've posted above.

After doing some more testing - I can also confirm that it is ONLY the "1st Pass Enemies" layer that causes this crash as well, as I've done the following:

  • Turned off every layer (including default) so this was the only layer active - still crashes even with a clean version with background music playing from the great tree room before Sunchamber lobby
  • Gone as far as going down Suntower access, into the elevator room to trigger the music, and came back to the room - no crashing
  • tried approaching the door connecting to the room from either side, crashes when I stay close to it (no BG music Suntower side)

The dolphin log window is now showing these errors (on the clean version with the music):

33:12:247 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x0000000c, PC = 0x8034fda8 
33:12:247 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f920 
33:12:247 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000008, PC = 0x8034f9f8 
33:12:247 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000000, PC = 0x8034faac 
33:12:247 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034fac4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8d4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f8e0 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000014, PC = 0x8034f8e4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8e8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x0000000c, PC = 0x8034fda8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f920 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000008, PC = 0x8034f9f8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000000, PC = 0x8034faac 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034fac4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8d4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f8e0 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000014, PC = 0x8034f8e4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8e8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x0000000c, PC = 0x8034fda8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f920 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000008, PC = 0x8034f9f8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000000, PC = 0x8034faac 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034fac4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8d4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f8e0 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000014, PC = 0x8034f8e4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8e8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x0000000c, PC = 0x8034fda8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f920 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000008, PC = 0x8034f9f8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000000, PC = 0x8034faac 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034fac4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8d4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f8e0 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000014, PC = 0x8034f8e4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8e8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x0000000c, PC = 0x8034fda8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f920 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000008, PC = 0x8034f9f8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000000, PC = 0x8034faac 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034fac4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8d4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f8e0 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000014, PC = 0x8034f8e4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8e8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x0000000c, PC = 0x8034fda8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f920 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000008, PC = 0x8034f9f8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000000, PC = 0x8034faac 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034fac4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8d4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f8e0 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000014, PC = 0x8034f8e4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8e8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x0000000c, PC = 0x8034fda8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f920 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000008, PC = 0x8034f9f8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000000, PC = 0x8034faac 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034fac4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8d4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f8e0 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000014, PC = 0x8034f8e4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8e8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x0000000c, PC = 0x8034fda8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f920 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000008, PC = 0x8034f9f8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000000, PC = 0x8034faac 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034fac4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8d4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f8e0 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000014, PC = 0x8034f8e4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8e8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x0000000c, PC = 0x8034fda8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f920 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000008, PC = 0x8034f9f8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000000, PC = 0x8034faac 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034fac4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8d4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f8e0 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000014, PC = 0x8034f8e4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8e8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x0000000c, PC = 0x8034fda8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f920 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000008, PC = 0x8034f9f8 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000000, PC = 0x8034faac 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034fac4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8d4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid write to 0x00000010, PC = 0x8034f8e0 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000014, PC = 0x8034f8e4 
33:12:248 Common\MsgHandler.cpp:115 E[MASTER]: Question: Invalid read from 0x00000010, PC = 0x8034f8e8 
33:12:413 Common\MsgHandler.cpp:115 E[MASTER]: Question: The disc could not be read (at 0xaaaaff7c - 0xaaab0000).
33:12:421 Common\MsgHandler.cpp:115 E[MASTER]: Question: The disc could not be read (at 0xaaab0000 - 0xaaab001c).
33:12:552 Common\MsgHandler.cpp:115 E[MASTER]: Question: The disc could not be read (at 0xff778200 - 0xff7782a0).
33:12:641 Common\MsgHandler.cpp:115 E[MASTER]: Question: The disc could not be read (at 0xe8fafaa8 - 0xe8fafb48).
33:12:806 Common\MsgHandler.cpp:115 E[MASTER]: Question: The disc could not be read (at 0x5555ffa8 - 0x55560000).
33:12:816 Common\MsgHandler.cpp:115 E[MASTER]: Question: The disc could not be read (at 0x55560000 - 0x55560048).
33:12:948 Common\MsgHandler.cpp:115 E[MASTER]: Question: The disc could not be read (at 0xafbfaa00 - 0xafbfaaa0).
33:13:033 Common\MsgHandler.cpp:115 E[MASTER]: Question: The disc could not be read (at 0xaaaaaaac - 0xaaaaab4c).
33:13:141 Common\MsgHandler.cpp:115 E[MASTER]: Question: The disc could not be read (at 0xe0a0affc - 0xe0a0b09c).
33:13:269 Common\MsgHandler.cpp:115 E[MASTER]: Question: The disc could not be read (at 0xa0aa5f54 - 0xa0aa5ff4).
33:13:417 Common\MsgHandler.cpp:115 E[MASTER]: Question: The disc could not be read (at 0xfafffe5c - 0xfafffefc).

My only guess is that Sunchamber is exceeding the game's memory limit - especially since on regular playthroughs on the unmodified .iso it runs at about half the framerate as all the other rooms in the game (30-35 compared to 60) with the 1st pass enemies active. Hopefully a fix can be found for this, thanks in advance!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant