wipEout Rewrite Enhanced Fantômas Edition AmigaOS 4.1

    Current version: 
    1.0.2
    User rate: 
    No votes yet

    IMPORTANT -----IMPORTANT ----- IMPORTANT ----- IMPORTANT -----IMPORTANT ----- IMPORTANT -----

    WipeOut-Rewrite Enhanced Fantômas Edition will be released on October 27, 2024
    Be ready to welcome this new game and warm up your AmigaNG and this 3D graphics card
     
    IMPORTANT -----IMPORTANT ----- IMPORTANT ----- IMPORTANT -----IMPORTANT ----- IMPORTANT -----
    |
    |
    # wipEout Rewrite Enhanced Fantômas Edition AmigaOS 4.1
    This is a re-implementation of the 1995 PSX game wipEout.
    Play here: https://phoboslab.org/wipegame/
    More info in phoboslab blog: https://phoboslab.org/log/2023/08/rewriting-wipeout
    More info of Fantômas: https://en.wikipedia.org/wiki/Fant%C3%B4mas_(1964_film)
    Wipeout Intro HD - remastered
    By  VGSuite
    https://www.youtube.com/watch?v=a3SuvJgzrjU&t=7s
    WipEout Intro Cinematic Remake
    By Benjamin Brosdau
    https://www.youtube.com/watch?v=dq1GbE4f5yw&t=2s
    ----All images,icons,musics,objects of this GAME is the part of this package and not use on other games/projects/systems or GUI------
    |                THIS ALL ADDITIONALS DATAS IS FOR NON-COMMERCIAL PERSONAL USE ONLY                   |
    |                AND RESERVED JUST FOR AMIGAOS4 USERS ONLY. IT IS NOT ALLOWED                                 |
    |                TO COPY, DISTRIBUTE, PUBLISH, MODIFY, CREATE DERIVATIVE WORKS, SELL OR                  |
    |                OFFER IT FOR SALE (EITHER PREINSTALLED, INCLUDED OR ANY OTHER FORM OF               |
    |                DISTRIBUTION) OR IN ANY WAY EXPLOIT THIS ALL ADDITIONALS DATAS WITHOUT             |
    |                WRITTEN PERMISSION BY THE AUTHOR.                                                                                 |
    ---------------------------------------------------------------------------------------------------------------------------

    ## AmigaOS4
    AmigaOS 4.1 Port and bonus by HunoPPC with the Amiga French Team 2024
    Important: OpenGL renderer with MiniGL Library (no software)
    A1222 cards (TABOR) please install MiniGL Library "spe_ppc_compatible" here:
    https://www.hyperion-entertainment.com/svn/MiniGL/branches/updates-kc/pr...
    A big thank you to Samo79 because this port for minigl would never have been made if he had not insisted :-)
    Use glewMGL port and code for minigl by HunoPPC 2024 here:
    http://hunoppc.amiga-projects.net/content/opengl-extension-wrangler-libr...
    Use SDL2 port by Capehill here:
    http://os4depot.net/?function=showfile&file=library/misc/sdl2.lha
    Library EGL_Wrap by HunoPPC here:
    http://hunoppc.amiga-projects.net/content/library-eglwrapper-opengles-20/
    IMPORTANT!! If you use hack GUI please check your DEVS/MONITOR/"driver" for add all new resolutions, thanks.
    For A1222+ users, please launch A1222+ Mixer before starting the game (the sounds effects crackle), thanks
    More than 300 hours of work to improve, design and optimize this game for our AmigaOS4 platform
    ************************************************************
    ORIGINAL VERSION is FREEWARE
    ************************************************************
    ENHANCED VERSION is DONATIONWARE
    For serial, please contact me with this informations:
    PayPal Email of Donation : xxxx@xxx.xxx
    Unique identifier of WipeOut Rewrite Enhanced Fantômas Edition : XXXXXXXX
    Your Machine : xxxxxxxxx
    And please send me this to hunoppc(AT)gmail.com
    Thanks
    PS:IMPORTANT!! if you have an old save_mingl.dat and save_egl.dat, please delete this before register code
    ***********************************************************

    Release 1.0.3 AmigaOS4 Fantômas Edition
    * Added new audio core SFX for speedup engine of wipeout (HunoPPC)
    * Added new DIR named "hunoppcSFX" with all effects sounds for new core SFX (HunoPPC)
    * Added 2 news selectors on GUI (HunoPPC)
    - Core Audio engine -> Core enhanced (SFX by Datatype with threads) and core SDL2 (native audio of WipeOut-rewrite)
    - Music core for enable or disable musics
    * Fixed SPE internal prefs (HunoPPC)
    * Fixed resident Mutex (HunoPPC)
    * Fixed selector SPE on GUI (HunoPPC)
    * Added icon for EGL engine created by me (HunoPPC)
    * Fixed load .wav on sfx reverse loop (HunoPPC)
    * Fixed limited volume on effects sounds (new Audio core) (HunoPPC)
    * Added Shaker on impacts weapons and collisions of ship (2 effects, one hardest and one slow) (HunoPPC)
    * Fixed resizing screen after shakers effects (HunoPPC)
    * Added option on GUI Shadows on Ships, disable or enable all shadows on game (default is ENABLED) (HunoPPC)
    * Added option Cockpit (Hack) for view cockpit of your ship on game, cool option for the fun on AmigaOS4 (default is DISABLED) (HunoPPC)  
    * Added 3 new musics of SEGA SATURN (encoded by HunoPPC)
    -Brickbat - Rod Lord & Mark Bandola 06:00 DIR: "wipeout/music/saturn/track12.qoa"
        -Planet 9 - Rod Lord & Mark Bandola 04:44 DIR: "wipeout/music/saturn/track13.qoa"
        -Poison   - Rod Lord & Mark Bandola 05:21 DIR: "wipeout/music/saturn/track14.qoa"
    * Introduce a new code for Analogics Joypads (HunoPPC)
    * Added Vsync option for limit game at 60-70 FPS (for X1000 and X5000 machines) (HunoPPC)
    * Fixed Shaker timing on SPE machine (HunoPPC)
    * Added PSX buttons "SELECT" and "BACK" for the Fun :-) (HunoPPC)
    * Added timer for change a 8 differents Wings on menu start for the fun ;-)  (HunoPPC)
    * Added new DIR named "hunoppcGFX" for patch HD W.I.P (HunoPPC)
    * Added first HD .tim with a new logo of WipeOut with Radeon Graphics + boingball created by me (HunoPPC)
    * Added anim of ships on the main_menu with timer, the number change after animation, the same of PSX1 (HunoPPC)
    * Added HD logos of Weapons now on HUD with patch HD activated (HunoPPC)
    - ECMhunoppc_HD.tim
    - ELEChunoppc_HD.tim
    - FLARhunoppc_HD.tim
    - MINEhunoppc_HD.tim
    - MISShunoppc_HD.tim
    - NEGhunoppc_HD.tim
    - ROCKhunoppc_HD.tim
    - SHLDhunoppc_HD.tim
    - TURBhunoppc_HD.tim  
    * Added new menu Options->Game Config with collision Mode = classic, modern, legacy and screen shake = off, low, normal, high (HunoPPC)
    * Added 3D anim CD for Game Config menu (HunoPPC)
    * Added new option parameter on my internal Shake render for prefs collision mode (HunoPPC)
    * Now!! new options on game config (HunoPPC)
    * Added new logo for quit, msdos as deleted (HunoPPC)
    * Added new name of QUIT -> QUIT TO AMIGADOS  (HunoPPC)
    * Added anim wings on graphics prefs (HunoPPC)
    * Added anim on sound prefs with anim on up and down key pushed (original bar of playstation GUI) (HunoPPC)
    * Added effect shake and colllision on reel time for your perfect choice (HunoPPC)
    * Added anim on target locked (similar to WipeOut2097) (HunoPPC)
    * Added all new textures HD: (HunoPPC)
    - alopt.cmp.4hunoppc_HD.tim 
    - alopt.cmp.5hunoppc_HD.tim
    - CD_PSXhunoppc_HD.tim
    - circleHunoPPC_HD.tim
    - CIRCLEREARhunoppc_HD.tim
    - mine.cmp.0hunoppc_HD.tim
    - mine.cmp.1hunoppc_HD.tim
    - rescu.cmp.2hunoppc_HD.tim
    - rescu.cmp.3hunoppc_HD.tim
    - rescu.cmp.6hunoppc_HD.tim
    - SAVE_EGLhunoppc_HD.tim
    - SAVE_MINIGLhunoppc_HD.tim
    - speedohunoppc_HD.tim
    - target1hunoppc_HD.tim
    - target2hunoppc_HD.tim
    - target3hunoppc_HD.tim
    - target4hunoppc_HD.tim
    - target5hunoppc_HD.tim
    - target6hunoppc_HD.tim 
    - track.cmp.0hunoppc_HD.tim
    - track.cmp.1hunoppc_HD.tim
    - track.cmp.2hunoppc_HD.tim
    - track.cmp.3hunoppc_HD.tim
    - track.cmp.4hunoppc_HD.tim
    - track.cmp.5hunoppc_HD.tim
    - track.cmp.6hunoppc_HD.tim
        - pad1.cmp.6hunoppc_HD.tim
    * Added sounds with echoes in, tunnels (just on Core enhanced)  (HunoPPC)
    * Now camera of ship on race init  is external of cockpit by default (HunoPPC)
    * Fixed Back and select buttons on UI SCALE to 1X, now is ok on screen (HunoPPC)
    * Added 4 new sounds effects on SELECT TOUR TEAM: (HunoPPC)
    -AGSYSTEMS.WAV
    -AURICOM.WAV
    -FEISAR.WAV
    -QIREX.WAV
    * Added new menu and new option on GAME CONFIG (HunoPPC)
    - RENDER OF DISTANCE with 3 choices (High, Medium, Low).
    This option limit distance of render for low machines.
    * Added New logo by HunoPPC Enhanced Core (HunoPPC)
    * Added Vsync on GRAPHIC menu now!! (HunoPPC)
    * Added 11 new musics of W2097 (encoded by HunoPPC)
    - We Have Explosive The Future Sound of London 05:53 DIR: "wipeout/music/w2097/track01.qoa"
    - Landmass The Future Sound of London 04:30 DIR: "wipeout/music/w2097/track02.qoa"
    - Atom Bomb (Atomix 1) Fluke DIR: "wipeout/music/w2097/track03.qoa"
    - V Six Fluke 05:22 DIR: "wipeout/music/w2097/track04.qoa"
    - Dust Up Beats The Chemical Brothers 06:07 DIR: "wipeout/music/w2097/track05.qoa"
    - Loops of Fury The Chemical Brothers 04:41 DIR: "wipeout/music/w2097/track06.qoa"
    - The Third Sequence Photek 04:51 DIR: "wipeout/music/w2097/track07.qoa"
    - Tin There (Underworld edit) Underworld 06:08 DIR: "wipeout/music/w2097/track08.qoa"
    - Firestarter (instrumental) The Prodigy 04:41 DIR: "wipeout/music/w2097/track09.qoa"
    - Canada CoLD SToRAGE 06:14 DIR: "wipeout/music/w2097/track10.qoa"
    - Body In Motion CoLD SToRAGE 05:14 DIR: "wipeout/music/w2097/track11.qoa"
    * Fixed menu music for all music (centered) (HunoPPC)
    * Added all levels of WipeOut 2097 (thanks TITO for tips and extract of levels), level01 and level03 crash!!! for the moment (HunoPPC)
    * Added new all objects W2097 for menus (HunoPPC)
    * Added new menu for select core original or core W2097 (HunoPPC)
    * Added Unique identifier and register Key on GUI for unlock a new enhanced version  (HunoPPC)
    * Added object logo of Fantômas on Version Enhanced (HunoPPC)
    * Added anim on menu "Start Game" Version Enhanced (on title) (HunoPPC)
    * Added WipEout_Manual_DOS_EN.pdf on DIR of game (thanks George)
    * Added a CITROEN DS french car animated on menu screen (HunoPPC)
    * Fixed loading prefs file on GUI (HunoPPC)
    * Fixed Level1 and Level3 of WipeOut2097 working now with small bugs on graphics (W.I.P)
    * Fixed UBOOT and OpenFirmware version for register (thanks Lio) (HunoPPC)
    * 2 configs files , save_minigl.dat  and save_egl.dat
    * Fixed loading configs files (HunoPPC)
    * Fixed wrapper of textures (HunoPPC)
    * Fixed new installers (Thanks lio and Maijestro) (HunoPPC)
    * Disable VSYNC on A1222 TABOR and SAM440 (HunoPPC)

    Release 1.0.2 AmigaOS4
    * Added new code for integrate a new videos intro's (HunoPPC)
    * Added 3 videos intro's on GUI (HunoPPC)
    - Original intro (original version)
    - Remastered intro (encoded by HunoPPC)
    - HD Remake intro (encoded by HunoPPC)
    * Fixed renderer on X5000, now maximum speed on minigl (HunoPPC)
    * Activated a W.I.P shaker screen for explosions and colisions of weapons and ships (HunoPPC)

    Release 1.0.1 AmigaOS4
    * WipeOut speedup now!!! on minigl renderer
    * Added 3 news selectors on GUI
    - Hack Performance = normal mode and hardcore mode (15% of speed)
    - Core Audio engine = Activated or Disabled
    - CPU PowerPC SPE = Disabled or Enabled
    * Fixed Hide CURSOR on fullscreen
    * Fixed crash intro after loading a menu
    * Now audio engine is Native PPC and SPE
    * Checking a type of CPU on GUI and activate SPE engine for A1222 cards (TABOR)

    First release 1.0.0 AmigaOS4
    * Added GUI for start a new prefs on live (important !! it's an hack)
    * Added Icon created by me
    * Fixed loading texture with glewMGL
    * Fixed fullscreen mode on glewMGL
    * Added KPH counter on screen (thanks Samo79)

    ## Running
    This repository does not contain the assets (textures, 3d models etc.) required to run the game. This code mostly assumes to have the PSX NTSC data, but some menu models from the PC version are required as well. Both of these can be easily found on archive.org and similar sites. The music (optional) needs to be provided in [QOA format](https://github.com/phoboslab/qoa). The intro video as MPEG1.
    Download the datas here : https://phoboslab.org/files/wipeout-data-v01.zip
    The directory structure is assumed to be as follows
    ```
    PROGDIR: # the executable
    wipeout/textures/
    wipeout/music/track01.qoa
    wipeout/music/track02.qoa
    wipeout/music/saturn/track01.qoa
    wipeout/music/saturn/track02.qoa
    ...
    wipeout/music/w2097/track01.qoa
    wipeout/music/w2097/track02.qoa
    ...
    wipeout/Levels-WipeOut2097/JULIE.PRM
    wipeout/Levels-WipeOut2097/JUNE.PRM
    wipeout/Levels-WipeOut2097/GAREDEUROPA
    wipeout/Levels-WipeOut2097/ODESSAKEYS
    wipeout/Levels-WipeOut2097/PHENITIAPARK
    wipeout/Levels-WipeOut2097/SAGARMATHA
    wipeout/Levels-WipeOut2097/SPILSKINANKE
    wipeout/Levels-WipeOut2097/TALONSREACH
    wipeout/Levels-WipeOut2097/VALPARAISO
    wipeout/Levels-WipeOut2097/VOSTOKISLAND
    wipeout/hunoppcSFX/...
    wipeout/hunoppcSFXECHO/...
    wipeout/hunoppcGFX/...
    wipeout/intro.mpeg
    wipeout/intro_remake.mpeg
    wipeout/intro_remastered.mpeg
    ...
    ```
    Note that the blog post announcing this project may or may not provide a link to a ZIP containing all files needed. Who knows!
    Optionally, if you want to use a game controller that may not be supported by SDL directly, you can place the [gamecontrollerdb.txt](https://github.com/gabomdq/SDL_GameControllerDB) in the root directory of this project (along the compiled `wipegame`).

    ## In Future OS4 Version
    - Game-end animations, the end messages are just shown over the attract mode cameras
    - Viewing highscores in options menu
    - Dynamic lighting on ships
    - Increase FOV when going over a boost
    ## Ideas for improvements
    PRs Welcome.
    ### Not yet implemented on original game
    Some things from the ORIGINAL GAME are not yet implemented in this rewrite. This includes
    - screen shake effect
    - game-end animations, formerly `Spline.cpp` (the end messages are just shown over the attract mode cameras)
    - viewing highscores in options menu
    - reverb for sfx and music when there's more than 4 track faces (tunnels and such)
    - some more? grep the source for `TODO` and `FIXME`
    ### Gameplay, Visuals
    - less punishing physics for ship vs. ship collisions
    - less punishing physics for sideways ship vs. track collisions (i.e. wall grinding like in newer wipEouts)
    - somehow resolve the issue of inevitably running into an enemy that you just shot
    - add option to lessen the roll in the internal view
    - add additional external view that behaves more like in modern racing games
    - dynamic lighting on ships
    - the scene geometry could use some touch-ups to make an infinite draw distance option less awkward
    - increase FOV when going over a boost
    - better menu models for game exit and video options
    - gamepad analog input feels like balancing an egg
    - fix collision issues on junctions (also present in the original)
    ### Technical
    - implement frustum culling for scene geometry, the track and ships. Currently everything within the fadeout radius is drawn.
    - put all static geometry into a GPU-side buffer. Currently all triangles are constructed at draw time. Uploading geometry is complicated a bit by the fact that some scene animations and the ship's exhaust need to update geometry for each frame.
    - the menu system is... not great. It's better than the 5000 lines of spaghetti that it was before, but the different layouts need a lot of `if`s
    - the save data is just dumping the whole struct on disk. A textual format would be preferable.
    - since this whole thing is relying on some custom assembled assets anyway, maybe all SFX should be in QOA format too (like the music). Or switch everything to Vorbis.
    - a lot of functions assume that there's just one player. This needs to be fixed for a potential splitscreen mode.

    ## License
    There is none. This code may or may not be based on the source code of the PC (ATI-Rage) version that was leaked in 2022. If it were, it would probably violate copyright law, but it may also fall under fair use ¯\\\_(ツ)\_/¯
    Working with this source code is probably fine, considering that this game was originally released 28 years ago (in 1995), that the current copyright holders historically didn't care about any wipEout related files or code being available on the net and that the game is currently not purchasable in any shape or form.
    In any case, you may NOT use this source code in a commercial release. A commercial release includes hosting it on a website that shows any forms of advertising.
    PS.: Hey Sony! If you're reading this, I would love to work on a proper, officially sanctioned remaster. Please get in touch <3
    My all Gold/Silver and Hardware supporters (Thank you very much for your big support and big Donations) :
    * AmicaIT
    * Cloverskull
    * George Sakianos
    * Kikems
    * Maijestro
    * IamSONIC
    Thanks go to:
    My children "Matthis" and "Sorhenn" for allowing me some time to develop
    My friend Lionel for his moral support and all his help/ideas for testing my projects
    Hyperion Entertainment For the development of Amiga OS 4.0 and 4.1
    A-EON for all new 3D drivers (Hans for NOVA and Daniel for Ogles2) 
    Relec for my X1000 NEMO and AMEDIA (AAA) for my X5000/40 my A1222 Plus (TABOR)
    George Sakianos for my new cool web site 
    Tito for level extraction and a better understanding of WipeOut
    All my betatesters
    And of course the whole AMIGA community and my generous donators.
    Bugreports for AmigaOS 4x at
    NOUVEL (HunoPPC) Hugues (your humble servant)
    hunoppc(AT)gmail.com
    http://hunoppc.amiga-projects.net/
    Site Dev AmigaOS4: http://hunoppc.a1k.org
    My ko-fi site: https://ko-fi.com/hunoppc
    "Don't forget to make a small gesture, make a donation for the hours and work done if you still want to have free ports, thank you in advance and have fun."
    Donate to hunoppc(AT)gmail.com or if you want to treat me to a beer or parts for my MAZDA RX8 /_\ (rotary experience) :-)
    Amiga French Team 2024