Results 1 to 10 of 10

Thread: Fixing Omelette Defender - An Update

  1. #1
    Serpent Rider's Avatar
    Joined
    May 2017
    Posts
    119
    Userbars
    7
    Thanks
    42
    Thanked
    68/29
    DL/UL
    89/0
    Mentioned
    5 times
    Time Online
    3d 7h 42m
    Avg. Time Online
    1m

    Cool Fixing Omelette Defender - An Update

    Hi all! A couple months ago I made a thread (the last thread made in this section, in fact) called "Reverse Engineering Hotlink-Resistant .swf Games" where I asked for advice on how to rewire old flash games so they can work offline. I'm proud to say I've made excellent progress! - or, at least, I'm somewhat closer to my goal. I thought I'd post said progress here, as not to gravedig.

    From what I've found so far in my research, what I initially theorised as hotlink resistance may just simply be rusty AS code. This is my theory so far as I am yet to find a subroutine in my example game, Omelette Defender (a fan favourite for many), that controls the functionality of the game based on some authentication factor.

    For example with Omelette Defender, when playing the game it would automatically cycle through every level in a span of 10 frames (less than a second) and end with a game over screen with the restart button not working. I was able to load the first level successfully by changing the increment counter in the "next level" subroutine to 0 to bypass any cycling, and commenting off any lines that threw errors in the CASE tool (the free decompiler I'm using which I'll upgrade soon) - this includes lines that draw your weapon to the screen. You can run around, enemies spawn as normal, but you can't shoot them, nor do any weapons drop. The omelette integrity counter runs down to 30 before ending the game (possible error), and the restart game button still doesn't work. I'd refer to game footage to view proper functionality, but I doubt it's out there.

    TL;DR - managed to partly fix old Neopets game, but it still needs work, including getting a new CASE tool.

    I'll update with more info as it comes!

  2. The Following 5 Users Say Thank You to Serpent Rider For This Useful Post:

    Bowsette (07-06-2018),j03 (07-04-2018),jellyworlddoesntexist (06-25-2018),Synth Salazzle (06-28-2018),txtsd (07-12-2018)

  3. #2
    Saiyan Race
    j03's Avatar
    Joined
    Dec 2011
    Posts
    13,722
    Userbars
    166
    Thanks
    5,906
    Thanked
    33,077/6,608
    DL/UL
    23/36
    Mentioned
    3,867 times
    Time Online
    563d 5h 25m
    Avg. Time Online
    3h 13m
    This is interesting. Why does TNT break their games like this though? They also did not update some page code/settings for loading Macromedia Shockwave games, and I suspect 3D-Life as well, so these games don't even load properly unless the user uses a browser that targets outdated software/code.

    Looking forward to seeing this in action. Maybe it would be wise to download all of the game files and create a free public portable game player. This can be done with .NET or any programming language where you can utilize the flash player API to show a game window. Game file sizes are pretty small too!
    (you need an account to see links)
    (you need an account to see links)(you need an account to see links)

    ------------------------
    [02/24/2013] Stealth CORE is made into the first standalone Neopets auto-player.
    ------------------------


  4. The Following User Says Thank You to j03 For This Useful Post:

    Serpent Rider (07-06-2018)

  5. #3
    Serpent Rider's Avatar
    Joined
    May 2017
    Posts
    119
    Userbars
    7
    Thanks
    42
    Thanked
    68/29
    DL/UL
    89/0
    Mentioned
    5 times
    Time Online
    3d 7h 42m
    Avg. Time Online
    1m
    Quote Originally Posted by Infamous Joe View Post
    This is interesting. Why does TNT break their games like this though? They also did not update some page code/settings for loading Macromedia Shockwave games, and I suspect 3D-Life as well, so these games don't even load properly unless the user uses a browser that targets outdated software/code.

    Looking forward to seeing this in action. Maybe it would be wise to download all of the game files and create a free public portable game player. This can be done with .NET or any programming language where you can utilize the flash player API to show a game window. Game file sizes are pretty small too!
    I'm not entirely sure if they do it on purpose, but the fact the restart button didn't even have a function assigned to it is suspect. As well as this, a lot of the games that have poor or non-functionality all require for me to manually press play through the right-click menu. I'm not sure what to think, whether its an AS3 player trying to execute AS2 script or what (maybe I'll test this theory on my brother's old XP computer). If only I had archived copies of Neopets game pages I could work through to see if there are any differences between what's played and the resources it draws from, you never know what they might do to the code as they bring it to your computer.

    What's also interesting to note is the stark difference in functionality between these broken games and their Game Graveyard counterparts. After all AS3 was released in 2006, yes? Perhaps TNT chose the easiest to fix along with what was the most popular in finding what to release to GG. I've found proof that TNT was attempting AS3 conversions with other games as well, so that strengthens the theory that these games have just broken down over time.

    I'm banking on the aforementioned being true, so in the meantime I'll continue to experiment. I would love to make a standalone player a reality, since there's documented interest in playing these games again. But first I've got to get a new CASE tool, hopefully one that's more helpful than JPEXS since I only really know VB. Any you would recommend, Joe?

  6. #4
    Saiyan Race
    j03's Avatar
    Joined
    Dec 2011
    Posts
    13,722
    Userbars
    166
    Thanks
    5,906
    Thanked
    33,077/6,608
    DL/UL
    23/36
    Mentioned
    3,867 times
    Time Online
    563d 5h 25m
    Avg. Time Online
    3h 13m
    Quote Originally Posted by bigboy View Post
    I'm not entirely sure if they do it on purpose, but the fact the restart button didn't even have a function assigned to it is suspect. As well as this, a lot of the games that have poor or non-functionality all require for me to manually press play through the right-click menu. I'm not sure what to think, whether its an AS3 player trying to execute AS2 script or what (maybe I'll test this theory on my brother's old XP computer). If only I had archived copies of Neopets game pages I could work through to see if there are any differences between what's played and the resources it draws from, you never know what they might do to the code as they bring it to your computer.

    What's also interesting to note is the stark difference in functionality between these broken games and their Game Graveyard counterparts. After all AS3 was released in 2006, yes? Perhaps TNT chose the easiest to fix along with what was the most popular in finding what to release to GG. I've found proof that TNT was attempting AS3 conversions with other games as well, so that strengthens the theory that these games have just broken down over time.

    I'm banking on the aforementioned being true, so in the meantime I'll continue to experiment. I would love to make a standalone player a reality, since there's documented interest in playing these games again. But first I've got to get a new CASE tool, hopefully one that's more helpful than JPEXS since I only really know VB. Any you would recommend, Joe?
    I'd recommend doing all work in VB.NET at this point.


    Sent from my iPhone using Tapatalk
    (you need an account to see links)
    (you need an account to see links)(you need an account to see links)

    ------------------------
    [02/24/2013] Stealth CORE is made into the first standalone Neopets auto-player.
    ------------------------


  7. #5
    Serpent Rider's Avatar
    Joined
    May 2017
    Posts
    119
    Userbars
    7
    Thanks
    42
    Thanked
    68/29
    DL/UL
    89/0
    Mentioned
    5 times
    Time Online
    3d 7h 42m
    Avg. Time Online
    1m
    Quote Originally Posted by Infamous Joe View Post
    I'd recommend doing all work in VB.NET at this point.
    Oh no I didn't mean for VB.NET, I've already got a program for that! I meant with the ActionScript.

  8. #6
    Saiyan Race
    j03's Avatar
    Joined
    Dec 2011
    Posts
    13,722
    Userbars
    166
    Thanks
    5,906
    Thanked
    33,077/6,608
    DL/UL
    23/36
    Mentioned
    3,867 times
    Time Online
    563d 5h 25m
    Avg. Time Online
    3h 13m
    Quote Originally Posted by bigboy View Post
    Oh no I didn't mean for VB.NET, I've already got a program for that! I meant with the ActionScript.
    For data mining I have only worked with SoThink


    Sent from my iPhone using Tapatalk
    (you need an account to see links)
    (you need an account to see links)(you need an account to see links)

    ------------------------
    [02/24/2013] Stealth CORE is made into the first standalone Neopets auto-player.
    ------------------------


  9. #7
    Serpent Rider's Avatar
    Joined
    May 2017
    Posts
    119
    Userbars
    7
    Thanks
    42
    Thanked
    68/29
    DL/UL
    89/0
    Mentioned
    5 times
    Time Online
    3d 7h 42m
    Avg. Time Online
    1m
    Quote Originally Posted by Infamous Joe View Post
    For data mining I have only worked with SoThink
    Fair enough! I'll crawl around the web some more to see if there are any other programs, especially ones with concise error handling since even a semicolon seems to throw off things off course (like why I had to delete the weapon subroutine ).

  10. #8
    Serpent Rider's Avatar
    Joined
    May 2017
    Posts
    119
    Userbars
    7
    Thanks
    42
    Thanked
    68/29
    DL/UL
    89/0
    Mentioned
    5 times
    Time Online
    3d 7h 42m
    Avg. Time Online
    1m
    Major update everyone, looks like my original theory of hotlink resistance (or should I say, "DRM") may just be correct.

    My internet is out at the moment, and in a truly millennial moment of scrambling for something to do in the meantime I decide to replay some of the flash games I've downloaded - one of which being the original Usuki Frenzy which I've been using to analyse the potential coding differences between it and Omelette Defender that may be causing the NeoBIOS movie to not load. Lo and behold I find the same problems plaguing the broken games I've reviewed occur within offline Usuki Frenzy - timer function disabled, instant skipthrough to game over, no buttons working. The difference between this and OD is that I can replicate ideal runtime alongside the offline version, meaning comparative AoB analysis is more than possible. I'm going to see if there's a Cheat Engine-style application that can compare multiple processes, and go from there. Thought everyone would just like to hear this

  11. #9
    Serpent Rider's Avatar
    Joined
    May 2017
    Posts
    119
    Userbars
    7
    Thanks
    42
    Thanked
    68/29
    DL/UL
    89/0
    Mentioned
    5 times
    Time Online
    3d 7h 42m
    Avg. Time Online
    1m
    Final update: I've started to delve very deeply into the research, and I don't want any information I may divulge to interfere with it. I'm not going to post anymore about the topic for the time being.

  12. #10
    Sarada's Avatar
    Joined
    Aug 2017
    Posts
    371
    Userbars
    11
    Thanks
    103
    Thanked
    193/117
    DL/UL
    9/0
    Mentioned
    23 times
    Time Online
    26d 15h 18m
    Avg. Time Online
    15m
    Could something similar to this help with fixing the second meridell war comic? The majority of the comic is entirely broken.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •