Increasing Metal Gear Solid 3D's Draw Distance [CTRPF/Gateway]

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by Kyim, Sep 19, 2019.

  1. Kyim
    OP

    Kyim Newbie

    Newcomer
    1
    Sep 18, 2019
    United Kingdom
    Hello all! New here.

    I'm working on a code to increase the draw/render distance for Metal Gear Solid 3D Snake Eater v 1.0 for use on Citra. I'm attempting to use IdaPro to disassemble the .3DS file and locate what I assume is a float responsible for said draw distance. To my understanding I should only have to change one value. But.
    I'm at a loss.

    IdaPro doesn't seem to play well with the .3DS format, or perhaps I am simply doing it wrong. No methods/functions are displayed, I can't find any indication of the renderer's processes, the the decomplied code that is pumped out is, to me, illegible. I've been modding games for over a decade but this method is very new to me.

    The end goal is to at the very least, increase the draw distance of grass to a more realistic degree, as PCs can most likely handle it.

    All of the documentation/tutorials I can find mostly address very basic value injection or go over the ol' "Search>Change Something>Search>Repeat" method for narrowing down values but, akin to what one might do with Cheat Engine. To my knowledge, the render distance is a static float, so I have no method to isolate it.

    I've chatted with Leo, the creator of Project Restoration for Majora's Mask 3D, which his what lead me here.

    If anyone has any tips, suggestion, input, or links to tutorials that you feel may be beneficial, I'd greatly appreciate it.
     
  2. Kyim
    OP

    Kyim Newbie

    Newcomer
    1
    Sep 18, 2019
    United Kingdom
    100+ views and no replies. Is this the wrong section for this topic? I will gladly move it if there is a more appropriate place to post about this.
     
  3. OkazakiTheOtaku

    OkazakiTheOtaku no thanks, I don't want a custom title

    Member
    9
    Jul 20, 2016
    Japan
    127.0.0.1
    Are you trying to disassemble the .3ds file directly? A .3ds file is just an archive, it isn't the executable itself. Extract the .3ds and try to disassemble the binary in the exefs
     
  4. idk the answer but i'd love this MGS3D is a great game (and ofc original)

    im wondering if n3ds clock could make it run 30fps?
     
  5. pachemapache

    pachemapache Member

    Newcomer
    1
    Nov 11, 2016
    Hey, I think that the problem is that the .3DS format (probably it is actually a cxi) isn't an executable, but a file containing all the game assets, the banner, manual etc.
    The actual executable is the code.bin, that is located inside the ExFS. I'll link a very good wiki where it explains it in beautiful detail and explains how to extract and decrypt everything: https://github.com/ihaveamac/3DS-rom-tools/wiki
     
  6. PabloMK7

    PabloMK7 Red Yoshi! ^ω^

    pip Developer
    10
    Feb 21, 2014
    Spain
    Yoshi's Island
    can you give an example (in the form of an screenshot) of the render distance issue?
     
  7. Kyim
    OP

    Kyim Newbie

    Newcomer
    1
    Sep 18, 2019
    United Kingdom
    That is exactly what I was doing. Butts, I feel thick. Thanks for pointing that out, Okazaki! :)

    Yes! Overclocking is possible, but will drain the battery like no other. Personally, I feel that emulation is a preferable method for higher FPS.

    That is exactly the problem! And this wiki looks quite helpful! I'll look into it right away. Thank you, Pachemapache!

    — Posts automatically merged - Please don't double post! —

    I don't think I have the user rights to post images yet, but the render distance for grass is roughly 3-4 meters from the player character in most areas barring the area wherein one fights The End. Therein the draw distance is roughly 10 meters.
     
    pachemapache and OkazakiTheOtaku like this.
  8. Vague Rant

    Vague Rant Deceptively cute

    Member
    7
    Aug 7, 2008
    Melbourne
    As far as I know, the game has a hardcoded 20 FPS cap, so no amount of overclocking will get you 30 FPS, it will just help with smoothing out some of the dips below 20 FPS.
     
    Kyim likes this.
  9. Kyim
    OP

    Kyim Newbie

    Newcomer
    1
    Sep 18, 2019
    United Kingdom
    Right, like the 15 FPS drops during cutscenes and such. I remember reading something about Luma3DS helping with this, but I could be wrong.
     
    Vague Rant likes this.
  10. is the fps locked?
     
  11. Subötaï

    Subötaï GBAtemp Regular

    Member
    5
    Jul 13, 2016
    20fps - gameplay; 60fps for cutscenes
     
  12. any way to unlock it?
     
  13. Subötaï

    Subötaï GBAtemp Regular

    Member
    5
    Jul 13, 2016
    disassemble the code
     
Quick Reply
Draft saved Draft deleted
Loading...