wipEout Rewrite Enhanced Fantômas Edition AmigaOS 4.1

    Current version: 
    1.0.3
    User rate: 
    Average: 4 (7 votes)

    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 -----
    |
    |
    In memory of our friend Jacques "Creols" Vanhove who left us last July 2024, R.I.P !
    # wipEout Rewrite Enhanced Fantômas Edition AmigaOS 4.1
    This is a re-implementation of the 1995 PSX game wipEout.
    Play it here: https://phoboslab.org/wipegame/
    More info at phoboslab blog: https://phoboslab.org/log/2023/08/rewriting-wipeout
    More info about the name 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 belongs to this package and not use on other games/projects/systems or GUI------
    |                     ALL ADDITIONALS DATAS ARE 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)
    Requirements for A1222+ cards (TABOR) :
    - MiniGL Library "spe_ppc_compatible"
    get it 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 existed if he had not insisted :-)
    This port uses :
    - glewMGL port and code for MiniGL by HunoPPC 2024; get it here:
    http://hunoppc.amiga-projects.net/content/opengl-extension-wrangler-libr...
    - SDL2 port by Capehill; get it here:
    http://os4depot.net/?function=showfile&file=library/misc/sdl2.lha
    - Library EGL_Wrap by HunoPPC; get it here:
    http://hunoppc.amiga-projects.net/content/library-eglwrapper-opengles-20/
    - clib4 by Afxgroup
    get it here : https://github.com/AmigaLabs/clib4
    IMPORTANT!! If you use hack GUI please check your DEVS/MONITOR/"driver" for adding all new resolutions, thanks.
    For A1222+ users, please launch A1222+ Mixer before starting the game (the sounds effects crackle), thanks
    To get additional speed, it is recommended to install NovaBridge with Warp3D NOVA from A-EON
    http://www.a-eon.com/
    #Hardware NG
    *Tested on Sam440, X1000, X5000/20, X5000/40, A1222+ 
    *Not tested on Sam460
    ***********************************************************
    ORIGINAL VERSION is FREEWARE
    ***********************************************************
    ENHANCED VERSION is DONATIONWARE :
    For serial, please contact me with these informations:
    PayPal Email of Donation : xxxx@xxx.xxx
    Unique identifier of WipeOut Rewrite Enhanced Fantômas Edition : XXXXXXXX
    Your Machine : xxxxxxxxx
    And please send it to hunoppc(AT)gmail.com
    Thanks
    FOR ENHANCED DATAS, you will get a link to the archive hosted on GoogleDrive
    (therefore you will need to have access to a GD compatible Web Browser)
    PS : IMPORTANT!! if you have an old save_MiniGL.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
    * Fixed load .wav on sfx reverse loop
    * Fixed limited volume on effects sounds (new Audio core)
    * Added Shaker on impacts weapons and collisions of ship (2 effects, one hardest and one slow)
    * Fixed resizing screen after shakers effects
    * Added option on GUI Shadows on Ships, disable or enable all shadows on game (default is ENABLED)
    * Added option Cockpit (Hack) for view cockpit of your ship on game, cool option for the fun on AmigaOS4 (default is DISABLED)  
    * Added 3 new musics of SEGA SATURN (encoded by me)
    -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 W.I.P
    * Added Vsync option for limit game at 60-70 FPS
    * Fixed timing Vsync on SPE machine
    * Fixed Shaker timing on SPE machine
    * Added PSX buttons "SELECT" and "BACK" for the Fun :-)
    * Added timer for change a 8 differents Wings on menu start for the fun ;-)
    * 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
    - 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
    * Added 3D anim CD for Game Config menu
    * Added new option parameter on my internal Shake render for prefs collision mode
    * Now!! new options on game config
    * Added new logo for quit, msdos as deleted
    * Added new name of QUIT -> QUIT TO AMIGADOS
    * Added anim wings on graphics prefs
    * Added anim on sound prefs with anim on up and down key pushed (original bar of playstation GUI)
    * Added effect shake and colllision on reel time for your perfect choice
    * Added anim on target locked (similar to WipeOut2097)
    * Added all new textures HD:
    - 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)
    * Now camera of ship on race init  is external of cockpit by default
    * Fixed Back and select buttons on UI SCALE to 1X, now is ok on screen
    * Added 4 new sounds effects on SELECT TOUR TEAM:
    -AGSYSTEMS.WAV
    -AURICOM.WAV
    -FEISAR.WAV
    -QIREX.WAV
    * Added new menu and new option on GAME CONFIG
    - 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
    * Added Vsync on GRAPHIC menu now!!
    * Added 11 new musics of W2097 (encoded by me)
    - We Have Explosive 5:53 The Future Sound of London
    - Landmass 4:30 The Future Sound of London
    - Atom Bomb (Atomix 1) Fluke
    - V Six 5:22 Fluke
    - Dust Up Beats 6:07 The Chemical Brothers
    - Loops of Fury 4:41 The Chemical Brothers
    - The Third Sequence 4:51 Photek
    - Tin There (Underworld edit) 6:08 Underworld
    - Firestarter (instrumental) 4:41 The Prodigy
    * Fixed menu music for all music (centered)
    * Added all levels of WipeOut 2097 (thanks TITO for tips and extract of levels), level01 and level03 crash!!! for the moment
    * Added new all objects W2097 for menus
    * Added new menu for select core original or core W2097
    * Added Unique identifier and register Key on GUI for unlock a new enhanced version
    * Added object logo of Fantômas on Version Enhanced
    * Added anim on menu "Start Game" Version Enhanced (on title)
    * Added WipEout_Manual_DOS_EN.pdf on DIR of game (thanks George)
    * Added a CITROEN DS french car animted on menu screen
    * Fixed loading prefs file on GUI
    * Level1 and Level3 of WipeOut2097 working now with small bugs on graphics (W.I.P)
    * Fixed UBOOT and OpenFirmware version for register (thanks Lio)
    * 2 configs files , save_minigl.dat  and save_egl.dat
    * Fixed loading configs files
    * Fixed wrapper of textures

    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

    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`).
     
    ## 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
    - game-end animations, formerly `Spline.cpp` (the end messages are just shown over the attract mode cameras)
    - viewing highscores in options menu
    - 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
    All my Gold/Silver and Hardware supporters (Thank you very much for your big support and big Donations) :
    * AmicaIT
    * Cloverskull
    * George Sakianos
    * Kikems
    * Maijestro
    * IamSONIC
    * Gardian Of The Blind
    Thanks go to:
    My children "Matthis" and "Sorhenn" for allowing me some time to develop
    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 and SDK clib4 package
    Afxgroup for clib4 
    Marek for SPE clib4
    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