Results 1 to 9 of 9

Thread: Reverse engineering of Wipeout XL for modding !?

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Apr 2015
    Location
    France, Paris
    Timezone
    GMT + 1
    Posts
    310

    Exclamation Reverse engineering of Wipeout XL for modding !?

    This thread is dedicated to the eventual reverse-engineering of Wipeout XL, for educational purpose and fun.

    @bigsnake suggested whether it'd be possible to mod the game, so I decided to start this thread to act as a 'hub' for posting and tracking progress of this project.


    Current progress:

    • it seems that simple file swapping for track does not crash the game, which would mean that track-specific logic is not in game code as I've suggested earlier, this opens the door to eventually replacing tracks


    Current thoughts:


    (from what I know from the work I did on the game, this will be inaccurate partly or entirely, i.e. lots of unverified/speculative comments)

    (I will not refer to any particular platform, currently the preferred one is the PC since it's the easiest to try things on)

    Requirements for track modding

    Topic Difficulty Comments
    design a cool track for the mod hard will have to fit in memory, playable and so on, see below
    design track 3d model medium constraints in the numbers of polygons and so on
    textures easy/medium will have to fit platform constraints, for PSX can be tough since they should all fit in VRAM, i.e. TimTool
    wipeout-specific formats: ordering tables, TRS, VEW for the hardest parts hard/very hard/inhuman PC code is based on PSX code, where the logic employs ordering tables for the rendering, as well as view lists defined as pointers to know what to be rendered according player POV; one must exactly understand what's up and how it works, game will crash if it's wrong or slow down if it's partly right.

    this was a time where every CPU cycle was expensive and therefore required some magic to keep a consistent frame rate, therefore the use of 'pre-baked' stuff that was used at run-time.

    this IMO will be the hardest part of the project, because it will require to dig in game code disassembly, first to understand how it works, then to replicate it as will
    packing assets relatively easy formats are well understood, shouldn't be too difficult to export 21st century assets to it, there might be tricky parts though, i.e. will require beta-testers to spot things out

    Dilemma:

    • ideal platform would be PSX but the lack of tools and the complexity for modifying does not make it a good candidate
    • PC is the preferred one (IDA can produce pseudo C code to read and understand) but it does not run well on modern systems
    • MAC version has lots of debugging information but no pseudo C code can be generated to understand and it's PowerPC assembly
    • Amiga: requires a Frankenstein platform with 3D graphics, I don't have it + what applies to the Mac w/out function names
    • PC DOS: not as easy as a Windows EXE and it's Wipeout 1
    • PC ATI: is a Windows EXE but Wipeout 1



    TODO:
    • describe the virtual workspace required to get started, e.g. VirtualBox, game version, environment configuration etc ...
    • private repository for contributors
    • find a simpler way to edit this post
    • TBD


    That's it for now, personally I started deciphering the assembly in IDA, renaming and commenting things, I'm also here for trying to reply to any questions related to game formats.

    Release date:

    Not tomorrow, obviously
    Last edited by aybe; 3rd April 2017 at 08:57 PM.

Posting Permissions

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