• Wheaties [she/her]@hexbear.net
    link
    fedilink
    English
    arrow-up
    15
    ·
    5 days ago

    They made some bad/odd decisions that made this decomp a lot faster then other projects

    I was gonna say, there are fun games they could have decompiled instead

  • Squigglez@lemm.ee
    link
    fedilink
    English
    arrow-up
    6
    ·
    5 days ago

    Can someone educate me on what decompiling a game means? Will this expand ease of emulation or modding?

    • BountifulEggnog [she/her]@hexbear.netOP
      link
      fedilink
      English
      arrow-up
      11
      ·
      edit-2
      5 days ago

      Sure. So most languages, like C, are compiled from human readable source code into machine readable instructions. Think an exe file on windows. Decompiling is taking that machine code and looking at what it does, and rewriting it as source code. This lets you understand how the game works better, and makes mods, ports, and other improvements a lot easier then trying to edit the machine code directly. It doesn’t really impact emulation afaik.

      At least as good as I can explain it, I definitely can’t explain interpreted vs compiled languages very well ohnoes

        • NephewAlphaBravo [he/him]@hexbear.net
          link
          fedilink
          English
          arrow-up
          10
          ·
          edit-2
          4 days ago

          Compilation is a very “lossy” process, all the information in the source code that exists purely for the benefit of humans (like variable names and intuitive instructions like “do this X times”) simply does not exist anymore in the machine code. It’s all replaced by a huge list of numbers and single-file instructions for the benefit of the computer, we have to rediscover their purpose from lots of experimentation and context clues, give them intuitive names and structure, etc.

          • sgtlion [any]@hexbear.net
            link
            fedilink
            English
            arrow-up
            13
            ·
            4 days ago

            This is true, but as someone who’s done basic decompiling, the biggest annoyance I had was compiler optimisations. Some loops will be expanded into 70 lines, functions will be severely limited in output/ input with types I don’t understand, and some basic procedural code gets split into 100 different 2 line functions.

            These are just all sensible changes for optimal processing, but the whole human readability of it is gone.

            It’s like someone went through an essay and replaced every word with the shortest synonym from a thesaurus. It still technically correct, technically makes sense, but it’s incredibly harder to parse with my human brain.