RELEASE SwitchTime - Manipulate Time-based Events in Games

Discussion in 'Switch - Emulation, Homebrew & Software Projects' started by MegaMagikarp, Nov 18, 2019.

  1. MegaMagikarp
    OP

    MegaMagikarp Advanced Member

    Newcomer
    4
    Mar 25, 2015
    China
    Galar
    I was trying to get more Sweets in Pokemon Sword, which the game limits to once per day. Did some google search and didn't find an existing tool to change the system clock, only found a network time setter: NX-ntpc by thedax. So I forked it and now I present to you: SwitchTime.
    It's kinda like RTChanger on the 3DS, with an additional "automatic time sync" feature.

    ## Current functionalities:
    - Change time by day/hour
    - Contact a time server at ntp.org to set the time back to normal

    ## Disclaimer:
    This program changes NetworkSystemClock, which may cause a desync between console and servers. Use it at your own risk! It is recommended that you only use the changed clock while offline, and change it back as soon as you are connected (either manually or using ntp.org server.)

    ## Link:
    https://github.com/3096/switch-time/releases

    Screenshot
     
  2. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    19
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Mar 17, 2010
    Norway
    Alola
    You get sweets every time you do a raid battle.
     
  3. MegaMagikarp
    OP

    MegaMagikarp Advanced Member

    Newcomer
    4
    Mar 25, 2015
    China
    Galar
    I was referring to the sweets to evolve different colored Alcremies. Only way I know to get it was to battle at the cafe thing. Idk, I wasn't very far into the game

    But anyways with this tool you can also quickly cycle through wild area weathers and skip Poké Jobs waits, etc
     
    Last edited by MegaMagikarp, Nov 18, 2019
    tiliarou and The Real Jdbye like this.
  4. Jonhy

    Jonhy GBAtemp Regular

    Member
    5
    May 22, 2016
    United States
    Aye that's awesome. For some reason my mind defaulted to that freemium Kirby game, but I guess this would be great for Pokemon players as well.

    Nice job!
     
  5. RAWRzilla22

    RAWRzilla22 Advanced Member

    Newcomer
    4
    Oct 30, 2012
    United States
    This seems like a complicated way to do something PkHex would allow you to accomplish in all of 4 minutes.
     
  6. osaka35

    osaka35 Instructional Designer

    Moderator
    12
    GBAtemp Patron
    osaka35 is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Nov 20, 2009
    United States
    Silent Hill
    Nice! What benefits does this have vs changing the time in console settings?
     
    Last edited by osaka35, Nov 19, 2019
  7. MegaMagikarp
    OP

    MegaMagikarp Advanced Member

    Newcomer
    4
    Mar 25, 2015
    China
    Galar
    Well...
    1. Some of us would rather play the game instead of cheating things in, just not to be time-gated.
    2. It can be used for other games as well, like Jonhy said in #4

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

    The Console Settings changes UserSystemClock, but the internal NetworkSystemClock or LocalSystemClock doesn't change. The game will be like "hey that doesn't match up" and punish you by resetting your daily events to wait for another day, and other time-based events will get reset to the hours you started with as well.

    So this changes NetworkSystemClock directly and the game doesn't fuss about it. It'll just think that amount of time has actually passed.
     
    osaka35 likes this.
  8. cucholix

    cucholix Banners guy

    Member
    9
    Jan 17, 2017
    Chile
    Would it work to change date back to a Tetris 99 event if you missed themes?
     
  9. Jonhy

    Jonhy GBAtemp Regular

    Member
    5
    May 22, 2016
    United States
    I'm pretty sure those themes are for competing in online, not sure if you'll be able to connect with a time that was that much offset.
     
  10. eskinner3742

    eskinner3742 GBAtemp Professional Lurker

    Member
    5
    Feb 21, 2016
    United States
    This will be of great use come time for animal crossing
     
    nantalos and Asia81 like this.
  11. OkazakiTheOtaku

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

    Member
    9
    Jul 20, 2016
    Japan
    127.0.0.1
    So wait, the game doesn't detect a mismatch at all?
    Say it's 9PM on both my NetworkSystemClock and UserSystemClock, and I change the clock with this tool to be a day ahead (therefore out of sync), get the daily sweet, and then change it back to be in sync again. The game doesn't know?
     
  12. MegaMagikarp
    OP

    MegaMagikarp Advanced Member

    Newcomer
    4
    Mar 25, 2015
    China
    Galar
    Try it. I don't know if it detects dialing the time backwards yet.
     
  13. OkazakiTheOtaku

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

    Member
    9
    Jul 20, 2016
    Japan
    127.0.0.1
    I don't know how the game punishes you if it detects a time skip.
     
  14. MegaMagikarp
    OP

    MegaMagikarp Advanced Member

    Newcomer
    4
    Mar 25, 2015
    China
    Galar
    Oh yeah I guess there isn't a good way to tell without passing 12 am to the next day and see if the daily events refreshed.

    I do remember last I checked, the game actually increases hours for Poke Jobs when I dialed the time backwards, so maybe that's a sign that didn't detect it, cuz otherwise it'll just reset the hours.
     
  15. Vandes

    Vandes Member

    Newcomer
    1
    Jul 12, 2014
    Italy
    FYI, some users could have a problem using this tool the first time.

    If I read that correctly, you pull the existing NetworkSystemClock with this line before user input; if NetworkSystemClock is not set at all (in my case because I removed the battery once and never connected to the Internet since) the immediate output is "timeGetCurrentTime failed with cc74" and there's no way to set time.
    To resolve I had to compile a temporary build changing "NetworkSystemClock" with "UserSystemClock" on that same line, so I could start the app pulling my user time and then setting it to NetworkSystemClock, and now your build works correctly.


    Incidently, is there any way to manipulate RTC? Like the one you see in Hekate for example... since my battery removal that's been way off and I haven't found any way to change it.
     
  16. Storm21

    Storm21 Member

    Newcomer
    4
    Dec 6, 2018
    Switzerland
    With Ubuntu you can do that, my RTC time and date is now current... In Hekate ok and in my Emunandswitcher ok. But you have to change the Switch time and date after that.
     
  17. Vandes

    Vandes Member

    Newcomer
    1
    Jul 12, 2014
    Italy
    Nice. Is there anything less invasive than a whole OS? Seems faster to just plug the battery in at exactly midnight :P
     
  18. Storm21

    Storm21 Member

    Newcomer
    4
    Dec 6, 2018
    Switzerland
    Jepp, but then only the time is correctly... ;)
     
  19. MegaMagikarp
    OP

    MegaMagikarp Advanced Member

    Newcomer
    4
    Mar 25, 2015
    China
    Galar
    Interesting. I didn't think of the scenario of NetworkSystemClock being not set. I mean I don't see why that line can't just be UserSystemClock instead actually, so I suppose I change it to that.
     
Quick Reply
Draft saved Draft deleted
Loading...