Closed Computerdude77 closed 1 year ago
Canterlot Siege 3 and 4 now progress past the title screen, but there are a few issues that I will document here. I also did not realize before I closed the issue for the 2nd game that some of these issues also occur there, but I will just go ahead and document it here, as the issues occur similarly in all 3 games. As a result, I will not spilt them into different issues and just list them all in this comment. These were all tested on the 2023-03-07 Windows x86_64 nightly, on Windows 10 21H2.
Issue 1 (2-4):
There is an issue where the characters get stuck in their attack animation when placed, and only break out of it when attacking an enemy for the first time. This does not cause any errors in the console. The error occurs in both Canterlot Siege 3 and 4 for all characters, but I will just show a video of the error occurring in the 3rd game, as the issue is the exact same regardless of game. It also occurs in the 2nd game, but only for the characters Octavia and Vinyl Scratch (the 4th and 5th characters in the "Ponies" tab).
Video of the issue in Ruffle:
Game being played in native Flash, showing what is supposed to happen:
Issue 2 (2-4):
This is another issue that occurs where the characters are sometimes unable to fire when being placed, and spam error messages in the console. The error seems to happen when the first enemy attacked is not at full health. Just like the issue above, it occurs in 3 and 4, and the issue in 2 only affects the 2 characters listed above.
Here are the errors that are occurring in the console (I replaced some addresses with [random address] and [different on each playthrough], as they are inconsistent, unlike the initial error that occurred when this issue was first made):
AVM2 error: Object(ErrorObject(ErrorObject { class: TypeError, ptr: 0x[random address] }))
TypeError: Error #1009: Cannot access a property or method of a null object reference. (accessing field: gotoAndPlay)
Error dispatching event EventObject(EventObject { type: "enterFrame", class: flash.events::Event, ptr: 0x[random address] }) to handler FunctionObject(FunctionObject { ptr: 0x[different on each playthough] }) : AvmError(Object(ErrorObject(ErrorObject { class: TypeError, ptr: 0x[random address] })))
Additionally, this error only occurs on 4 ({name of character} is self-explanatory}:
Error: spriteMC in [class {name of character}] in frame 2 not set!
Here is a video of the issue in Ruffle, along with the log so you can see the errors:
This video recorded on native Flash shows what should normally happen in this situation:
Issue 3 (4):
This is the last issue I could find, and it only occurs in Canterlot Siege 4. Mistress Mare-Velous (third character in the "Towers" tab) is unable to attack any enemies at all, and causes a similar issue as above where errors are spammed in the console, but the error is slightly different and occurs every time she attempts to attack.
Here are the errors that occur in the console. I did the same thing to the random addresses as the above issue:
AVM2 error: Object(ErrorObject(ErrorObject { class: TypeError, ptr: 0x[random address] }))
TypeError: Error #1009: Cannot access a property or method of a null object reference. (accessing field: name)
Error dispatching event EventObject(EventObject { type: "enterFrame", class: flash.events::Event, ptr: 0x[random] }) to handler FunctionObject(FunctionObject { ptr: 0x1d3b2dd0 }) : AvmError(Object(ErrorObject(ErrorObject { class: TypeError, ptr: 0x[random] })))
Here is the issue occurring in Ruffle, along with the console:
This is what her attack is supposed to look like, recorded on native Flash:
I have an update about the above issues. As of the 2023-03-18 nightly, the first 2 issues have been fixed across all three games. The problems no longer occur and no errors are logged in the console. The last issue does still occur in the 4th game like it does in the video, but without the idle issue described in the previous issues. However, I have also caught 2 more issues that affect specific games, which I will now list below, and continue numbering where I left off above, to make it less confusing to reference later.
Issue 4 (2):
This issue only seems to affect the 2nd game, and is an issue with the projectiles some characters fire. The projectiles seem to be getting stuck in place at random times and are never cleared out, and it does not trigger an error in the console. I am noticing that it commonly seems to occur when many enemies are on the screen, so that is something to keep in mind while testing. Here is a video showing the issue off:
Issue 5 (4):
This is an issue that affects the 4th game, and has to do with the boss on the 10th wave on Map 1 (Horseshoe Bay). The boss is supposed to take a specific path, and then when getting to the end of the screen, they will wrap back around to the beginning of the stage and the player will lose 3 lives. On Ruffle, the boss does something odd during the "wrap-around" where they will turn around and completely go off the path of the level, before teleporting to the beginning and going back to normal behavior and removing 3 lives. This does not trigger any sort of errors in the console as far as I can tell. I am also not sure if it occurs on later bosses or in different maps, but it at least occurs on this one, and would likely all involve the same fix should there be a related issue in other places. Here are some videos that will show this issue starting from around where the screen wrap should occur.
Here is the bug in Ruffle:
Here is what should be happening, recorded in native Flash:
If any of these issues are fixed, or I find another issue, I will make another comment with updates about what got fixed/comments on the new issues.
As of the 2023-04-27 nightly, the issue where Mistress Mare-Velous could not attack (Issue 3) has been fixed! The attack works perfectly fine and gives no errors. The other 2 issues are still present, however, I have some new info to add about one of them. I did not realize this at the time, but the boss wrap-around issue (Issue 5) occurs with the standard enemies too, not just the bosses. I also tested it on the 3 other maps that are available by default and noticed that the issue doesn't work 100% like I thought it does. It seems like the enemies have specific places on the path that they go on, and they end up going out of order, skipping these locations, stuff like that. Hopefully that makes sense, and this new info might help in getting the issue solved. I also found another issue that I will document below
Issue 6 (2-4):
The code system seems to be broken. If you type an incorrect code, it does correctly tell you that the code is wrong. However, typing a correct code will let you go into the game, but it is still stock and as if the code was never typed. To help with testing so that you don't need to hunt them down like I did, I will give a valid code for each game. It also seems like this affects other futzi01 games that use codes, such as Spike Toss and Twilight Wing.
Canterlot Siege 2: jc/XbOplTMbYWeykW8maAw== Canterlot Siege 3: FLmFKC2aui1XXNcjCrFzFQ== Canterlot Siege 4: tJjx9BHaSF20mPH0EdpIXX48cArejio82T4PMmDzt013L2MYAGGI5SDJyJXAwrRESdjUs0w63OZqKKKRmO86VqsaMhdanULL5X7HMGQeRAHlfscwZB5EAQ3NfStD5LviUu6RdEo0yHWtDHzvT2unYZDF+gqoRXPexkF2MGqbITRDcYBo0yCzFsu8LlxSAYra9ky12/7Dsegy6aNs5V2g3PdgCUKfIeuUyeXdsZIgHSd6/vaJEqcvcRardJsF5OtbQfJgg6XEwF/kZY3QIaO06Zu7rdSBuwl93UBXlJvxqDsgaq+DWc1o1zfob2ZJg56p
As of the 2023-05-29 nightly, the projectile getting stuck issue (Issue 4) has been fixed. The rest of the issues are still present in the current nightly build.
As of the 2023-07-23 nightly, the wrap-around / path issue (Issue 5) has now been fixed! The only remaining issue is the code entry not working.
As of the 2023-07-25 nightly, the save issue (Issue 6) has been fixed on all 3 games! I also went ahead and tested the issue on Spike Toss and Twilight Wing, and the issues are fixed there too! I can't find any more issues in any of the Canterlot Siege games, so I will now finally close this issue.
Describe the bug
In the game Canterlot Siege 3, it hangs after the loading screen, but before the title screen. This is similar to the issue with Canterlot Siege 2, but throws a different error message:
Error dispatching event EventObject(EventObject { type: "progress", class: flash.events::ProgressEvent, ptr: 0x11484680 }) to handler FunctionObject(FunctionObject(GcCell(Gc { ptr: 0x750ce4 }))) : RustError("Cannot access property ::addEventListener of null or undefined"),
which is why I split it into a different issue. Canterlot Siege 4 also as an identical issue with an also similar error in the consoleError dispatching event EventObject(EventObject { type: "progress", class: flash.events::ProgressEvent, ptr: 0x16af8d80 }) to handler FunctionObject(FunctionObject(GcCell(Gc { ptr: 0x4b99c4 }))) : RustError("Cannot access property ::addEventListener of null or undefined")
, which is why I combined the 2 games into 1 issue. If they have different issues after this one is fixed, I will split them into individual issues.Expected behavior
The games should load the title screen and allow the player to choose a few options before starting the game.
Affected platform
Online demo
Operating system
Windows 10 21H2
Browser
Google Chrome 107
Additional information
No response