Skip to content

Help! It's the Unfinished Shadow Game

-migrated-

This discussion is linked to Help! It's the Unfinished Shadow Game. View game

7 posts

Help! It's the Unfinished Shadow Game

Posted Apr 11, 2010 4:03 pm

Link: http://www.kongregate.com/games/wmarsh/ ... hadow-game

Interesting Game, but some puzzles are a little daring (like moving a light box, which also activates the light-activated turrets, into a turret to get a star), which is unneeded. A sequel would be great to this game.

What's with these games with no .sol files?!

EDIT: Decided to make a YouTube video speed run of it, just for the hell of it:

http://www.youtube.com/watch?v=Y0NALpBDHeA

Re: Help! It's the Unfinished Shadow Game

Posted Apr 11, 2010 5:33 pm

Wow, took forever to find the .swf for this. Yeah yeah, it's incredibly easy and short, but still, I wanted to find AoBs.

Don't die:
66 e8 04 60 19 b3 12 30 00 00
24 02 24 02 AB 02 11 30 00 00

If that doesn't work, hopefully this will:
d0 26 68 b6 01
02 02 02 02 02

5d c7 04 4a c7 04 00 80 13 d7
02 02 02 02 02 02 02 02 02 02

Also took forever to find the function. Action -> Game -> GameSection

Code: [Select]

      private function removed(event:PhysicsEvent) : void
        {
            var _loc_2:DisplayObject = null;
            var _loc_3:Sprite = null;
            if (!event.obj.removed)
            {
                event.obj.removed = true;
                if (event.obj is ICustomDraw)
                {
                    this._toDraw.splice(this._toDraw.indexOf(event.obj), 1);
                }
                if (event.obj is IOcclude)
                {
                    this._lighting.removeOccluder(IOcclude(event.obj), IOcclude(event.obj).layer);
                }
                if (!(event.obj is Shot) && !(event.obj is Star))
                {
                    _loc_2 = this._holder.addChild(new event.obj is Player ? (EXPLODE_PLAYER) : (EXPLODE));
                    _loc_2.x = event.obj.x;
                    _loc_2.y = event.obj.y;
                    _loc_2.transform.colorTransform = event.obj.transform.colorTransform;
                }
                else if (event.obj is Star)
                {
                    _loc_2 = this._holder.addChild(new StarParticle());
                    _loc_2.x = event.obj.x;
                    _loc_2.y = event.obj.y;
                    _loc_2.scaleX = Star(event.obj).rotDir > 0 ? (1) : (-1);
                    _loc_2.rotation = event.obj.gfxSrc.rotation;
                    _loc_2.filters = event.obj.filters;
                }
                if (event.obj is Player)
                {
                    this._died = true;
                    this._shakeAmount = 5;
                    _loc_3 = new DIE_SCREEN();
                    this._holder.addChild(_loc_3);
                    _loc_3.addEventListener(MouseEvent.CLICK, this.onButtonClick, false, 0, true);
                }
                if (event.obj.parent)
                {
                    event.obj.parent.removeChild(event.obj);
                }
            }
            return;
        }// end function

Code: [Select]

       private function removed(event:PhysicsEvent) : void
        {
//d0
_as3_getlocal <0>
//30
_as3_pushscope
//20
_as3_pushnull
//80 09
_as3_coerce flash.display::DisplayObject
//d6
_as3_setlocal <2>
//20
_as3_pushnull
//80 13
_as3_coerce flash.display::Sprite
//d7
_as3_setlocal <3>
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//66 e9 01
_as3_getproperty removed
//11 7f 01 00
_as3_iftrue offset: 383
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//26
_as3_pushtrue
//61 e9 01
_as3_setproperty removed
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//60 a9 01
_as3_getlex Game.PhysicsObjects::ICustomDraw
//b3
_as3_istypelate
//12 16 00 00
_as3_iffalse offset: 22
//d0
_as3_getlocal <0>
//66 a8 01
_as3_getproperty _toDraw
//d0
_as3_getlocal <0>
//66 a8 01
_as3_getproperty _toDraw
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//46 ce 0c 01
_as3_callproperty http://adobe.com/AS3/2006/builtin::indexOf(param count:1)
//24 01
_as3_pushbyte 1
//4f d0 0c 02
_as3_callpropvoid http://adobe.com/AS3/2006/builtin::splice(param count:2)
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//60 2b
_as3_getlex Game.Lighting::IOcclude
//b3
_as3_istypelate
//12 1d 00 00
_as3_iffalse offset: 29
//d0
_as3_getlocal <0>
//66 a7 01
_as3_getproperty _lighting
//5d 2b
_as3_findpropstrict Game.Lighting::IOcclude
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//46 2b 01
_as3_callproperty Game.Lighting::IOcclude(param count:1)
//5d 2b
_as3_findpropstrict Game.Lighting::IOcclude
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//46 2b 01
_as3_callproperty Game.Lighting::IOcclude(param count:1)
//66 85 02
_as3_getproperty Game.Lighting:IOcclude::layer
//4f e6 03 02
_as3_callpropvoid removeOccluder(param count:2)
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//60 34
_as3_getlex Game.PhysicsObjects::Shot
//b3
_as3_istypelate
//96
_as3_not
//2a
_as3_dup
//12 0a 00 00
_as3_iffalse offset: 10
//29
_as3_pop
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//60 b6 03
_as3_getlex Game.PhysicsObjects::Star
//b3
_as3_istypelate
//96
_as3_not
//12 4d 00 00
_as3_iffalse offset: 77
//d0
_as3_getlocal <0>
//66 9c 01
_as3_getproperty _holder
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//60 19
_as3_getlex Game.PhysicsObjects::Player
//b3
_as3_istypelate
//12 07 00 00
_as3_iffalse offset: 7
//60 95 02
_as3_getlex EXPLODE_PLAYER
//10 03 00 00
_as3_jump offset: 3
//60 ea 04
_as3_getlex EXPLODE
//42 00
_as3_construct (param count:0)
//46 c0 0c 01
_as3_callproperty addChild(param count:1)
//80 09
_as3_coerce flash.display::DisplayObject
//d6
_as3_setlocal <2>
//d2
_as3_getlocal <2>
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//66 8f 06
_as3_getproperty x
//61 8f 06
_as3_setproperty x
//d2
_as3_getlocal <2>
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//66 90 06
_as3_getproperty y
//61 90 06
_as3_setproperty y
//d2
_as3_getlocal <2>
//66 93 06
_as3_getproperty transform
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//66 93 06
_as3_getproperty transform
//66 84 0d
_as3_getproperty colorTransform
//61 84 0d
_as3_setproperty colorTransform
//10 70 00 00
_as3_jump offset: 112
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//60 b6 03
_as3_getlex Game.PhysicsObjects::Star
//b3
_as3_istypelate
//12 64 00 00
_as3_iffalse offset: 100
//d0
_as3_getlocal <0>
//66 9c 01
_as3_getproperty _holder
//5d dc 04
_as3_findpropstrict StarParticle
//4a dc 04 00
_as3_constructprop StarParticle(param count:0)
//46 c0 0c 01
_as3_callproperty addChild(param count:1)
//80 09
_as3_coerce flash.display::DisplayObject
//d6
_as3_setlocal <2>
//d2
_as3_getlocal <2>
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//66 8f 06
_as3_getproperty x
//61 8f 06
_as3_setproperty x
//d2
_as3_getlocal <2>
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//66 90 06
_as3_getproperty y
//61 90 06
_as3_setproperty y
//d2
_as3_getlocal <2>
//5d b6 03
_as3_findpropstrict Game.PhysicsObjects::Star
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//46 b6 03 01
_as3_callproperty Game.PhysicsObjects::Star(param count:1)
//66 bc 03
_as3_getproperty rotDir
//24 00
_as3_pushbyte 0
//af
_as3_greaterthan
//12 07 00 00
_as3_iffalse offset: 7
//24 01
_as3_pushbyte 1
//75
_as3_convert_d
//10 03 00 00
_as3_jump offset: 3
//24 ff
_as3_pushbyte -1
//75
_as3_convert_d
//61 87 0d
_as3_setproperty scaleX
//d2
_as3_getlocal <2>
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//66 f0 01
_as3_getproperty gfxSrc
//66 88 0d
_as3_getproperty rotation
//61 88 0d
_as3_setproperty rotation
//d2
_as3_getlocal <2>
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//66 89 0d
_as3_getproperty filters
//61 89 0d
_as3_setproperty filters
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//60 19
_as3_getlex Game.PhysicsObjects::Player
//b3
_as3_istypelate
//12 30 00 00
_as3_iffalse offset: 48
//d0
_as3_getlocal <0>
//26
_as3_pushtrue
//68 b6 01
_as3_initproperty _died
//d0
_as3_getlocal <0>
//24 05
_as3_pushbyte 5
//68 b3 01
_as3_initproperty _shakeAmount
//5d c7 04
_as3_findpropstrict DIE_SCREEN
//4a c7 04 00
_as3_constructprop DIE_SCREEN(param count:0)
//80 13
_as3_coerce flash.display::Sprite
//d7
_as3_setlocal <3>
//d0
_as3_getlocal <0>
//66 9c 01
_as3_getproperty _holder
//d3
_as3_getlocal <3>
//4f c0 0c 01
_as3_callpropvoid addChild(param count:1)
//d3
_as3_getlocal <3>
//60 0a
_as3_getlex flash.events::MouseEvent
//66 d7 0c
_as3_getproperty CLICK
//d0
_as3_getlocal <0>
//66 c1 01
_as3_getproperty onButtonClick
//27
_as3_pushfalse
//24 00
_as3_pushbyte 0
//26
_as3_pushtrue
//4f b5 0c 05
_as3_callpropvoid addEventListener(param count:5)
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//66 f1 0c
_as3_getproperty parent
//12 0f 00 00
_as3_iffalse offset: 15
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//66 f1 0c
_as3_getproperty parent
//d1
_as3_getlocal <1>
//66 e8 04
_as3_getproperty obj
//4f c2 0c 01
_as3_callpropvoid removeChild(param count:1)
//47
_as3_returnvoid
        }// end function

Re: Help! It's the Unfinished Shadow Game

Posted Apr 14, 2010 11:59 am
Quote from: "pythag12"
Wow, took forever to find the .swf for this. Yeah yeah, it's incredibly easy and short, but still, I wanted to find AoBs.

Don't die:
66 e8 04 60 19 b3 12 30 00 00
24 02 24 02 AB 02 11 30 00 00

If that doesn't work, hopefully this will:
d0 26 68 b6 01
02 02 02 02 02

5d c7 04 4a c7 04 00 80 13 d7
02 02 02 02 02 02 02 02 02 02


Updated (broken image removed)

Re: Help! It's the Unfinished Shadow Game

Posted Apr 14, 2010 1:29 pm

66 dd 04 60 19 b3 12 07 00 00
??

d0 26 68 ab 01
02 02 02 02 02

5d bc 04 4a bc 04 00 80 13 d7
02 02 02 02 02 02 02 02 02 02

I tried, i failed (broken image removed).
Found the AoBs but I have no idea how to change the first. They don't work either

Flash .sol locations
Chrome: \AppData\Local\Google\Chrome\User Data\Default\Pepper Data\Shockwave Flash\WritableRoot\#SharedObjects\
Normal: \AppData\Roaming\Macromedia\Flash Player\#SharedObjects

Re: Help! It's the Unfinished Shadow Game

Posted Apr 14, 2010 8:09 pm
Quote from: "blahblahman"
66 dd 04 60 19 b3 12 07 00 00
??

d0 26 68 ab 01
02 02 02 02 02

5d bc 04 4a bc 04 00 80 13 d7
02 02 02 02 02 02 02 02 02 02

I tried, i failed (broken image removed).
Found the AoBs but I have no idea how to change the first. They don't work either

Try 02'ing any of them and see which has the best result. You may need to 02 more than one, but usually just one function.

Re: Help! It's the Unfinished Shadow Game

Posted Apr 14, 2010 10:26 pm

Did the first one actually work?

If so, then just change it the same way:
66 dd 04 60 19 b3 12 07 00 00
24 02 24 02 AB 02 11 30 00 00

All I'm doing is pushing the byte 02 twice and asking if it's equal. If true, then it skips the code for dying.

Re: Help! It's the Unfinished Shadow Game

Posted Apr 14, 2010 11:04 pm

I swear I finished most of this before and it erased my progress.. anyway..

If you just want the badge
d1 66 cc 01
24 22 02 02

This post was imported from an account that no longer exists!
Previous Name: Anonymous