ruffle-rs / ruffle

A Flash Player emulator written in Rust
https://ruffle.rs
Other
15.62k stars 807 forks source link

sub hunter not supported #2521

Open gargle99 opened 3 years ago

gargle99 commented 3 years ago

https://www.flashgamesplayer.com/free/sub-hunter/play.html

n0samu commented 2 years ago

Same problem as #8129 - this game uses MochiCrypt, and not all methods for it are implemented yet.

Also, this site is obnoxiously difficult to download files from. Here is the SWF file: sub-hunter.zip

Lord-McSweeney commented 1 year ago

Still not working as of latest nightly. Needs TextField.insertXMLText and also errors with TypeError: Error #1034: Type Coercion failed: cannot convert String("") to XMLList..

Lord-McSweeney commented 1 year ago

With the latest PRs, the errors are no longer thrown. However the game doesn't start due to a different issue. In spark.primitives.supportClasses::GraphicElement/commitProperties():

      protected function commitProperties() : void
      {
         var _loc2_:mx.geom.Transform = null;
         var _loc1_:Boolean = false;
         if(this.displayObjectSharingMode != DisplayObjectSharingMode.USES_SHARED_OBJECT && Boolean(this.displayObject))
         {
            if(this.colorTransformChanged || this.displayObjectChanged)
            {
               this.colorTransformChanged = false;
               if(this._colorTransform)
               {
                  this.displayObject.transform.colorTransform = this._colorTransform;
               }
            }
            if(this.alphaChanged || this.displayObjectChanged)
            {
               this.alphaChanged = false;
               _loc2_ = this._transform as mx.geom.Transform; // mx.geom.Transform is undefined at this point, which throws an error.
Aaron1011 commented 1 year ago

With https://github.com/ruffle-rs/ruffle/pull/11494, https://github.com/ruffle-rs/ruffle/pull/11495, and https://github.com/ruffle-rs/ruffle/pull/11496, the level starts - but pressing Spacebar restarts the level immediately, instead of dropping a depth charge. There aren't any errors logged to the console when that happens.

Lord-McSweeney commented 1 year ago

I think this also needs ShaderFilter.