From c3a209d1368e07e2622522211dfa5d63977b02dd Mon Sep 17 00:00:00 2001 From: Proddy Date: Sun, 26 Oct 2025 18:31:48 +0000 Subject: [PATCH 1/4] feat/Pause during cutscene loading --- Release/LiveSplit.TheSimpsonsHitAndRun.asl | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Release/LiveSplit.TheSimpsonsHitAndRun.asl b/Release/LiveSplit.TheSimpsonsHitAndRun.asl index 7ab0b00..fe791d5 100644 --- a/Release/LiveSplit.TheSimpsonsHitAndRun.asl +++ b/Release/LiveSplit.TheSimpsonsHitAndRun.asl @@ -9,7 +9,7 @@ state("Simpsons") { // Credits Lucas Cardellini - uint verCheck : 0x193FFF; + uint verCheck : 0x593FFF; } state("Simpsons", "ReleaseEnglish") @@ -31,6 +31,7 @@ state("Simpsons", "ReleaseEnglish") int loadingRequestHead : 0x2C8FF4, 0x73A4; // Loading Manager -> mRequestHead. Credit EnAppelsin#6509. int loadingRequestTail : 0x2C8FF4, 0x73A8; // Loading Manager -> mRequestTail. Credit EnAppelsin#6509. int isLoading : 0x2C8FF4, 0x73AC; // Loading Manager -> mLoading. Credit EnAppelsin#6509. + int waitingOnFade : 0x2C8980, 0x84; // Presentation Manager -> mWaitingOnFade. Credit Proddy. } state("Simpsons", "ReleaseInternational") @@ -52,6 +53,7 @@ state("Simpsons", "ReleaseInternational") int loadingRequestHead : 0x2C8FB4, 0x73A4; // Loading Manager -> mRequestHead. Credit EnAppelsin#6509. int loadingRequestTail : 0x2C8FB4, 0x73A8; // Loading Manager -> mRequestTail. Credit EnAppelsin#6509. int isLoading : 0x2C8FB4, 0x73AC; // Loading Manager -> mLoading. Credit EnAppelsin#6509. + int waitingOnFade : 0x2C8940, 0x84; // Presentation Manager -> mWaitingOnFade. Credit Proddy. } state("Simpsons", "BestSellersSeries") @@ -73,6 +75,7 @@ state("Simpsons", "BestSellersSeries") int loadingRequestHead : 0x2C8FEC, 0x73A4; // Loading Manager -> mRequestHead. Credit EnAppelsin#6509. int loadingRequestTail : 0x2C8FEC, 0x73A8; // Loading Manager -> mRequestTail. Credit EnAppelsin#6509. int isLoading : 0x2C8FEC, 0x73AC; // Loading Manager -> mLoading. Credit EnAppelsin#6509. + int waitingOnFade : 0x2C8978, 0x84; // Presentation Manager -> mWaitingOnFade. Credit Proddy. } startup @@ -387,13 +390,15 @@ init // Version checking. Credits Lucas Cardellini uint ver = current.verCheck; - if (ver == 0xFAE804C5 || ver == 0xC985ED33) // Demo or Release International - version = "ReleaseInternational"; - else if (ver == 0x4B8B2274) // Release English + if (ver == 0x4B8B2274) // Release English version = "ReleaseEnglish"; - else if (ver == 0xFC468D05) // Best Sellers Series + else if (ver == 0xC985ED33) // Release International + version = "ReleaseInternational"; + else if (ver == 0xFC468D05) // Best Sellers Series version = "BestSellersSeries"; - else // Unknown version + else if (ver == 0xFAE804C5) // Demo + print("Unsupported version: Demo"); + else // Unknown version print("Unknown version: " + ver); // If the 100% final split is enabled or we need to calculate percentage, all the pointers @@ -666,5 +671,6 @@ isLoading return current.gameState == 8 || (current.gameState == 10 && current.notLoading == 0 && current.paused == 0 && current.boothScreens == 0) || (current.gameState == 2 && current.mainMenu == 0) - || ((current.interiorState == 1 || current.interiorState == 2) && (current.isLoading == 1 || current.loadingRequestHead != current.loadingRequestTail)); + || ((current.interiorState == 1 || current.interiorState == 2) && (current.isLoading == 1 || current.loadingRequestHead != current.loadingRequestTail)) + || (current.waitingOnFade != 0); } From 01afde70e6bd0dcf992b5afd6f4f62c992871f5f Mon Sep 17 00:00:00 2001 From: Proddy Date: Sun, 26 Oct 2025 18:33:05 +0000 Subject: [PATCH 2/4] fix/Fixed incorrect version address --- Release/LiveSplit.TheSimpsonsHitAndRun.asl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Release/LiveSplit.TheSimpsonsHitAndRun.asl b/Release/LiveSplit.TheSimpsonsHitAndRun.asl index fe791d5..c0d5a9d 100644 --- a/Release/LiveSplit.TheSimpsonsHitAndRun.asl +++ b/Release/LiveSplit.TheSimpsonsHitAndRun.asl @@ -9,7 +9,7 @@ state("Simpsons") { // Credits Lucas Cardellini - uint verCheck : 0x593FFF; + uint verCheck : 0x193FFF; } state("Simpsons", "ReleaseEnglish") From 374d1b0a445d49ca697d0f8a6dafec2ec0efdedd Mon Sep 17 00:00:00 2001 From: Proddy Date: Sun, 26 Oct 2025 21:27:23 +0000 Subject: [PATCH 3/4] fix/Fixing `waitingOnFade` bit offset --- Release/LiveSplit.TheSimpsonsHitAndRun.asl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Release/LiveSplit.TheSimpsonsHitAndRun.asl b/Release/LiveSplit.TheSimpsonsHitAndRun.asl index c0d5a9d..cccbd34 100644 --- a/Release/LiveSplit.TheSimpsonsHitAndRun.asl +++ b/Release/LiveSplit.TheSimpsonsHitAndRun.asl @@ -672,5 +672,5 @@ isLoading || (current.gameState == 10 && current.notLoading == 0 && current.paused == 0 && current.boothScreens == 0) || (current.gameState == 2 && current.mainMenu == 0) || ((current.interiorState == 1 || current.interiorState == 2) && (current.isLoading == 1 || current.loadingRequestHead != current.loadingRequestTail)) - || (current.waitingOnFade != 0); + || ((current.waitingOnFade & 2) != 0); } From 3a3d76dbf6e9ed8c674b0ef869ee88a245c456ba Mon Sep 17 00:00:00 2001 From: Proddy Date: Thu, 13 Nov 2025 20:07:01 +0000 Subject: [PATCH 4/4] Update LiveSplit.TheSimpsonsHitAndRun.asl --- LiveSplit.TheSimpsonsHitAndRun.asl | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/LiveSplit.TheSimpsonsHitAndRun.asl b/LiveSplit.TheSimpsonsHitAndRun.asl index 7ab0b00..cccbd34 100644 --- a/LiveSplit.TheSimpsonsHitAndRun.asl +++ b/LiveSplit.TheSimpsonsHitAndRun.asl @@ -31,6 +31,7 @@ state("Simpsons", "ReleaseEnglish") int loadingRequestHead : 0x2C8FF4, 0x73A4; // Loading Manager -> mRequestHead. Credit EnAppelsin#6509. int loadingRequestTail : 0x2C8FF4, 0x73A8; // Loading Manager -> mRequestTail. Credit EnAppelsin#6509. int isLoading : 0x2C8FF4, 0x73AC; // Loading Manager -> mLoading. Credit EnAppelsin#6509. + int waitingOnFade : 0x2C8980, 0x84; // Presentation Manager -> mWaitingOnFade. Credit Proddy. } state("Simpsons", "ReleaseInternational") @@ -52,6 +53,7 @@ state("Simpsons", "ReleaseInternational") int loadingRequestHead : 0x2C8FB4, 0x73A4; // Loading Manager -> mRequestHead. Credit EnAppelsin#6509. int loadingRequestTail : 0x2C8FB4, 0x73A8; // Loading Manager -> mRequestTail. Credit EnAppelsin#6509. int isLoading : 0x2C8FB4, 0x73AC; // Loading Manager -> mLoading. Credit EnAppelsin#6509. + int waitingOnFade : 0x2C8940, 0x84; // Presentation Manager -> mWaitingOnFade. Credit Proddy. } state("Simpsons", "BestSellersSeries") @@ -73,6 +75,7 @@ state("Simpsons", "BestSellersSeries") int loadingRequestHead : 0x2C8FEC, 0x73A4; // Loading Manager -> mRequestHead. Credit EnAppelsin#6509. int loadingRequestTail : 0x2C8FEC, 0x73A8; // Loading Manager -> mRequestTail. Credit EnAppelsin#6509. int isLoading : 0x2C8FEC, 0x73AC; // Loading Manager -> mLoading. Credit EnAppelsin#6509. + int waitingOnFade : 0x2C8978, 0x84; // Presentation Manager -> mWaitingOnFade. Credit Proddy. } startup @@ -387,13 +390,15 @@ init // Version checking. Credits Lucas Cardellini uint ver = current.verCheck; - if (ver == 0xFAE804C5 || ver == 0xC985ED33) // Demo or Release International - version = "ReleaseInternational"; - else if (ver == 0x4B8B2274) // Release English + if (ver == 0x4B8B2274) // Release English version = "ReleaseEnglish"; - else if (ver == 0xFC468D05) // Best Sellers Series + else if (ver == 0xC985ED33) // Release International + version = "ReleaseInternational"; + else if (ver == 0xFC468D05) // Best Sellers Series version = "BestSellersSeries"; - else // Unknown version + else if (ver == 0xFAE804C5) // Demo + print("Unsupported version: Demo"); + else // Unknown version print("Unknown version: " + ver); // If the 100% final split is enabled or we need to calculate percentage, all the pointers @@ -666,5 +671,6 @@ isLoading return current.gameState == 8 || (current.gameState == 10 && current.notLoading == 0 && current.paused == 0 && current.boothScreens == 0) || (current.gameState == 2 && current.mainMenu == 0) - || ((current.interiorState == 1 || current.interiorState == 2) && (current.isLoading == 1 || current.loadingRequestHead != current.loadingRequestTail)); + || ((current.interiorState == 1 || current.interiorState == 2) && (current.isLoading == 1 || current.loadingRequestHead != current.loadingRequestTail)) + || ((current.waitingOnFade & 2) != 0); }