Raw Danger! 60 FPS project

Discussion in 'Sony Programming and Development' started by Souzooka, Feb 24, 2019.

  1. Souzooka

    Souzooka Newly Registered

    Joined:
    Jan 8, 2017
    Messages:
    4
    Likes Received:
    5
    Overview
    Hello AssemblerGames forums, I'm happy to share with you my first release iteration of a 60 frames per second modification for the PlayStation 2 game, Raw Danger!

    There has never been an official 30FPS English release of Raw Danger!, instead the NTSCU version is 20fps and while the France/Italian version of Raw Danger targets 30FPS, it runs at 25FPS. With any sort of PC release or remaster of the game, especially for Western audiences, being incredibly unlikely, I decided to take the next best alternative into my own hands.

    While there are still a variety of minor issues and tweaks which need to be made, all major issues have been resolved and thus I'd like to share this first release version of the modification with the world.

    Keep in mind that the game was intended to be played at 30fps, and not 20fps -- therefore you may see some differences from 20fps gameplay which are intentional. For example, clinging and moving along rails is slightly slower; player movement speed affects clinging movement twice as much as it should, so the player moves 2x normal speed at 20fps. Another example is some level scripts. Raw Danger uses its own coroutine system, and script sleep calls are appropriately adjusted for the target framerate. For example, if a script calls sleep(30) at 30fps, it'll sleep for a second. This is the same in the English build. However, if there is a script which calls sleep(1) in a loop this causes an issue -- if sleep(1) is called 30 times, it will take NTSCJ one second to complete, and two seconds for NTSCU to complete. This difference is very obvious in the tutorial grading, as your movements and actions have to be incredibly tight to get the best time grade in the Japanese version of the game, where the US version is incredibly lax in that regard.

    That all said I do encourage you all to check out the included video and patch and leave feedback.

    Example Video


    Installation Instructions
    I've included an archive with this post which includes a patch file which can be installed with Lunar IPS, which can be obtained at https://fusoya.eludevisibility.org/lips/

    Simply extract your US Raw Danger disc image, apply the .ips patch to SLUS_215.01, and rebundle the .iso image with the software of your choice.

    PCSX2 Notes
    If playing on PCSX2 (and where else would be playing this modification on anyways?), make sure that you have a recent development build of PCSX2 installed rather than the stable build on the PCSX2 website. You can nab a development build from https://buildbot.orphis.net/pcsx2/ but I recommend compiling your own version (see the optional instructions below).

    In order to get the best speed, open Config->Emulation Settings->Speedhacks and set EE Cyclerate to +3. This game also supports MTVU, so make sure to tick that to get a free speedboost.

    I've also included a Cheat Engine table with PCSX2 which provides a means of skipping a certain graphical effects which causes massive slowdowns. Simply set and freeze the value in the table to 0.

    Optional:
    Download the PCSX2 repository from https://github.com/PCSX2/pcsx2/ -- open up the solution pcsx2_suite in VS, and under the file pcsx2/x86/ix86-32/iR5900-32.cpp replace the line scale_cycles = s_nBlockCycles >> (2 + cyclerate); in the scaleblockcycles_calculation function with scale_cycles = 1;. This will allow the emulated CPU to run at the maximum speed needed rather than being limited at 300% when that option is selected.

    Special Thanks
    IREM and the original developers both for making the game, and having the forward-thinking to have a compile-time variable representing the target framerate.
    Agetec for having the ineptitude to release the game at 20fps and reveal all of the applications of this variable.

    Edit (03/02/2019) ---
    I've included a new archive which has a new patch to the game's executable. This patch doesn't do much; the patch fixes the timing of voicelines on the intro cutscene and another cutscene, and some other miscellaneous tweaks. I did want to include a new archive because I have however gone through a lot of the menus in the game, which have their own code in code overlays not included in the main executable, and tweaked various things such as control speed, fadeins/outs, etc.

    An example of the Atlas at 60 frames per second:
    https://gfycat.com/enormousfastafricanaugurbuzzard

    In order to apply changes to particular menus, the ROOT.DAT file must be opened, the relevant files in ROOT.DAT/OVERLAY/DISC must be patched, and then ROOT.DAT must be rebuilt. I've included a tool which can do this quickly in the archive, Raw Data. Simply do a normal extract of ROOT.DAT, then rebuild a large .DAT with the tool (you can also see or build the source at https://github.com/Souzooka/Raw-Data). Alternatively, there is an Xpert plugin which can do the same thing.
     

    Attached Files:

    Last edited: Mar 2, 2019
    Jolek, gwald and pool7 like this.
  2. Souzooka

    Souzooka Newly Registered

    Joined:
    Jan 8, 2017
    Messages:
    4
    Likes Received:
    5
    Little small bump just to alert anyone interested that I've uploaded changes for game menus, as with everything it's still a WIP of course. The Item Menu most of all needs the most work, but the others are pretty good in 60fps.
     
    gwald likes this.
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page