[REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

Page 2 of 3 FirstFirst 123 LastLast
Results 16 to 30 of 39
  1. #16
    Check http://arcturus.pw The General is offline
    DeveloperRank
    Aug 2011 Join Date
    7,608Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    Quote Originally Posted by Sylas View Post
    I also realized if you change the "Habbo Hotel" corner_element in ps or other photo editor and replace it the loader just gives you the grey error box.
    Perhaps wrong image format / bitdepth?

  2. #17
    Member Sylas is offline
    MemberRank
    Jan 2012 Join Date
    80Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    Quote Originally Posted by The General View Post
    Perhaps wrong image format / bitdepth?
    I doubt that. I just copy the cast member directly to PS and edit it just like the hotel view (which works like normal) but not with the corner_element. But well, I will try to figure it out. :)

    Update: Just erased both corner_element and corner_elemet_shadow in Director with the eraser so they're white but in the loader, both corner_element and corner_element_shadow are completely transparent now. Not what I really wanted but hey it looks clean at least.
    Last edited by Sylas; 31-03-19 at 02:40 AM.

  3. #18
    ส็็็็็็็ Bloodraven is offline
    MemberRank
    Sep 2009 Join Date
    AntarcticaLocation
    2,414Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    Fuck, back in the day we'd have killed for this.

  4. #19
    Developer Quackster is offline
    DeveloperRank
    Dec 2010 Join Date
    AustraliaLocation
    3,476Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    Quote Originally Posted by Bloodraven View Post
    Fuck, back in the day we'd have killed for this.
    Also in the present day too, Shockwave Habbo is still awesome. And contains features that never came back into flash Habbo, that's why I released this. I also didn't have the knowledge to decompile CCT's until early last year.
    Last edited by Quackster; 04-04-19 at 05:00 AM.

  5. #20
    Valued Member treebeard is offline
    MemberRank
    Jun 2018 Join Date
    Middle EarthLocation
    102Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    Quote Originally Posted by Bloodraven View Post
    Fuck, back in the day we'd have killed for this.
    User counts aren't the best but Shockwave servers have never been better! Content that was once thought impossible has been put out, features never implemented are actively being worked on, old rooms and furni are being restored that were once lost.

    Download PaleMoon and check it out [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo



    Sent from my Pixel 3 using Tapatalk

  6. #21
    Don't mind me, i'm nobody Jambokill is offline
    MemberRank
    Dec 2010 Join Date
    PhilippinesLocation
    264Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    Thanks, going to mirror this files.

  7. #22
    Developer Quackster is offline
    DeveloperRank
    Dec 2010 Join Date
    AustraliaLocation
    3,476Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    I've been improving my decompiler in several ways, now global properties are automatically added to the top. The decompiler now can distinguish between dictionary and list initializations, and it now reads 4 byte integers and floats, which the bytecode was unsupported before. And also more code that was omitted due to an error encountered is now dumped inside the script so there's less information lost, but still may encounter errors

    For example pool_a Class.ls the array was completely hidden:

    Spoiler:

    Code:
      repeat while me <= undefined
    And now it's:

    Code:
      repeat while ["pool_clickarea", "floor", "hiliter", "vesi1", "portaat0"] <= undefined
    Which, while still code that cannot be compiled, you now know what the loop is with the correct information and it can be rewritten to successfully turn back into a .cct for the Habbo client.

    For example:

    Code:
      repeat while me <= undefined
        tid = getAt(undefined, undefined)
        tSpr = getThread(#room).getInterface().getRoomVisualizer().getSprById(tid)
        registerProcedure(tSpr, #poolTeleport, me.getID(), #mouseDown)
      end repeat
    Turns into:

    Code:
      tSprList = ["pool_clickarea", "floor", "hiliter", "vesi1", "portaat0"]
      i = 1
      repeat while i <= count(tSprList)
        tid = tSprList.getAt(i)
        tSpr = getThread(#room).getInterface().getRoomVisualizer().getSprById(tid)
        registerProcedure(tSpr, #poolTeleport, me.getID(), #mouseDown)
    	i = i + 1
      end repeat


    All of the improved decompiled source with the updates I've mentioned are now on GitHub: https://github.com/Quackster/habbo_src/

    Here's a few before/after for a few methods that have been fixed with the updates:

    checkCS in Photo Component Class.ls/hh_photo.cct:

    Spoiler:

    Before:

    Code:
    on countCS(me, tImg)
      tL = [3, 2, 73, 28, 83, 21, 43, 90, 92, 91, 37, 4, 3, 84, 12, 102, 103, 108, 97, 43, 44, 89, 109, 65, 61, -4, 76]
      tA = 0
      tW = tImg.width
      tH = tImg.height
      i = 1
      repeat while i <= 100
        tA = ERROR mod ERROR mod tA + tImg.getPixel(i mod tW, i * i mod tH).paletteIndex * tL.getAt(i mod tL.count + 1).undefined
        i = 1 + i
      end repeat
      return(tA)
      exit
    end
    After:

    Code:
    on countCS me, tImg 
      tL = [3, 2, 73, 28, 83, 21, 43, 90, 92, 91, 37, 4, 3, 84, 12, 102, 103, 108, 97, 43, 44, 89, 109, 65, 61, -4, 76]
      tA = 0
      tW = tImg.width
      tH = tImg.height
      i = 1
      repeat while i <= 100
        tA = tA + tImg.getPixel(i mod tW, i * i mod tH).paletteIndex * tL.getAt(i mod tL.count + 1) mod 85000
        i = 1 + i
      end repeat
      return(tA)
    end


    NotKeyDown from Jumping Pelle Class.ls/hh_room_pool.cct

    Spoiler:

    Before:

    Code:
    on NotKeyDown(me)
      -- UNK_C8 331925
      -- UNK_6A 138
      exit
      -- UNK_AB 35330
      if ERROR > ERROR or ERROR then
        pStatus = #Run
        jumpAction = "run"
        pSpeed = 2
      end if
      if not voidp(pJumpData) then
        if pJumpData.getProp(#char, length(pJumpData)) = "a" then
          presskey = "d"
        else
          presskey = "a"
        end if
        me.MykeyDown(presskey, void(), 1)
      else
        pJumpData = pJumpData & "a"
      end if
      pJumpData = pJumpData & "0"
      pJumpMode = #inactive
      me.JumpingExitFrame()
      exit
    end
    After:

    Code:
    on NotKeyDown me 
      if the milliSeconds > pRemoveJumperTime + 45000 then
        if pMyLoc.locH > pjumpBoardEnd then
          pStatus = #Run
          jumpAction = "run"
          pSpeed = 2
        end if
        if not voidp(pJumpData) then
          if pJumpData.getProp(#char, length(pJumpData)) = "a" then
            presskey = "d"
          else
            presskey = "a"
          end if
          me.MykeyDown(presskey, void(), 1)
        else
          pJumpData = pJumpData & "a"
        end if
      else
        pJumpData = pJumpData & "0"
        pJumpMode = #inactive
        me.JumpingExitFrame()
      end if
    end
    Last edited by Quackster; 08-05-19 at 03:07 AM.

  8. #23
    Member Sylas is offline
    MemberRank
    Jan 2012 Join Date
    80Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    Great release as always Alex. :)

  9. #24
    Alpha Member Emily is offline
    MemberRank
    Oct 2012 Join Date
    The NetherlandsLocation
    2,408Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    Still improving greatly I see. Good job!

  10. #25
    Account Upgraded | Title Enabled! Chapo is offline
    MemberRank
    Jul 2010 Join Date
    United StatesLocation
    944Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    Wow, you are the best! Love Quackquack

  11. #26
    Member killerheath is offline
    MemberRank
    Mar 2008 Join Date
    66Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    This is great! Got hh_interface decrypted and fixed up all the lingo errors and syntax issues, now we can edit the dialogue windows without breaking the purse & help button among other things.

    Everything seems to work, here's the link if anyone wants it: (V14 I think)
    https://mega.nz/#!EAIUgIYT!kYy53UWJv...dhYeLMQK-ZbOaY

    Here's an example (not very pretty, am not an artist lol, just changed the shading a bit and made it gold)






    Also, when I try to open the CST files uploaded to this thread, it says they are for a newer version? (I believe adobe director 11.5 or something worked, but couldn't get the client working after publishing the CCT files) Not really an issue though, just decrypted the supplied CCT files.

  12. #27
    Developer Quackster is offline
    DeveloperRank
    Dec 2010 Join Date
    AustraliaLocation
    3,476Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    Quote Originally Posted by killerheath View Post
    This is great! Got hh_interface decrypted and fixed up all the lingo errors and syntax issues, now we can edit the dialogue windows without breaking the purse & help button among other things.

    Everything seems to work, here's the link if anyone wants it: (V14 I think)
    https://mega.nz/#!EAIUgIYT!kYy53UWJv...dhYeLMQK-ZbOaY

    Here's an example (not very pretty, am not an artist lol, just changed the shading a bit and made it gold)






    Also, when I try to open the CST files uploaded to this thread, it says they are for a newer version? (I believe adobe director 11.5 or something worked, but couldn't get the client working after publishing the CCT files) Not really an issue though, just decrypted the supplied CCT files.
    The .cst files uploaded are just my unprotected ones with the bytecode still in them, they shouldn't be opened with Director because they're too recent to be created back into .cct files that the Habbo client will support.

    It's best to just use recover-cct, unprotect them yourself and paste back in the scripts and fix them.

    Also remember to use the Lingo from here: https://github.com/Quackster/habbo_src

  13. #28
    Member killerheath is offline
    MemberRank
    Mar 2008 Join Date
    66Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    Yep I did, made it much easier. No more issues with comparing "me" with stuff. But still some undefined things, and also it doesn't seem to like if statements with "or", so was missing a load of them.

    for example, it was like:

    if something <> somethingelse then
    if something <> somethingelse then
    if something = somethingelse then

    when it should have been like:

    if something = somethingelse or something = somethingelse or something = somethingelse then

  14. #29
    Proficient Member office.boy is offline
    MemberRank
    Feb 2007 Join Date
    156Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    Finally someone achieved this! Very interesting seeing some of the techniques Sulake used to use to block us debugging crypto / client functions....
    Code:
    if _player.traceScript then
    return(0)
    end if
    end if

  15. #30
    Developer Quackster is offline
    DeveloperRank
    Dec 2010 Join Date
    AustraliaLocation
    3,476Posts

    Re: [REL] [v5-v39] Decompiled Lingo from Shockwave Habbo

    Quote Originally Posted by office.boy View Post
    Finally someone achieved this! Very interesting seeing some of the techniques Sulake used to use to block us debugging crypto / client functions....
    Code:
    if _player.traceScript then
    return(0)
    end if
    end if
    Yup! I knew you had something sort of working but I didn't hear anything more? Anyways, I'm glad I finally did it but the issue is that it's kind of late into Shockwave's lifespan, after all it's declared as end of life now - it doesn't mean it's totally useless though.



Page 2 of 3 FirstFirst 123 LastLast

Advertisement