Git Product home page Git Product logo

sonic-4-launcher's Introduction

This is a C++ rewrite of the Sonic 4 (Episode 1) game launcher for Windows. The original launcher was written in Java but the game itself uses no Java. I made this to avoid a pointless Java runtime dependency and to make it easier to run Sonic 4 on Linux using Proton. This version should also work better when you rebind keys with a non-US keyboard layout.

The original Java launcher can be extracted and examined with the following Unix shell command: tail -c+178689 SonicLauncher.exe > SonicLauncher.jar

How to build

Checkout the submodule with git submodule init && git submodule update. Then open SonicLauncher.sln in Visual Studio 2019 or use the msbuild command from the Visual Studio developer command prompt or use the Makefile if you want to build with MinGW/GCC.

License

Most of the stuff I've written is MIT licensed, check the source file headers for details. This project is using the FLTK library which is LGPLv2 licensed but with certain exceptions, see fltk/COPYING for details. The image files are copyrighted and not under a free license.

sonic-4-launcher's People

Contributors

darealshinji avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

sonic-4-launcher's Issues

Latest version is detected as malware by multiple antiviruses

The latest release (r3) is detected by several antiviruses including Windows Defender which automatically removes it: https://www.virustotal.com/gui/file/706703d1f4d8f35376886d988511658e7369a41183a4609138f6514550a0987d/detection

Is there any specific reason for this happening, I know you changed the code to add 'memset' but what exactly is the point of adding that if it just gets flagged as malware? I wanted to add this launcher to PCGamingWiki as an alternative to installing Java, but I can't do it unless this issue is addressed/explained.

Add support for resolutions higher than 1920x1080

So I did an examination on the original Java launcher for Sonic 4 - Episode 1 and it turns out the resolution options are NOT hard-coded, which means it is possible to play it at higher resolutions like 1440p or 4K. However, looking at the code, it seems you chose to hard-code the resolution options to a maximum of 1080p:
https://github.com/darealshinji/sonic-4-launcher/blob/master/src/configuration.cpp

My question is whether or not it would be possible for you to code in a way for your launcher to detect all available 16:9 resolutions based on the current monitor being used. I know this might be something difficult to implement, and sadly I don't have that much experience in coding, so I don't know how exactly I could implement this. If you or anyone else would be willing to implement this though that would be great since it is definitely possible to play Sonic 4 at 4K natively using a fixed executable (despite it saying it only upscales it to 1080p, it does indeed work for higher resolutions): https://community.pcgamingwiki.com/files/file/584-sonic-the-hedgehog-4-episode-i-1080p-fix/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.