Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Difference between revisions of "Sonic the Hedgehog (Mobile Decompilation)"

From PCGamingWiki, the wiki about fixing PC games
 
(40 intermediate revisions by 14 users not shown)
Line 1: Line 1:
{{stub}}
+
{{disambig|the decompiled port of the 2013 mobile port|the 2010 emulated release|[[Sonic the Hedgehog]]}}
 
{{Infobox game
 
{{Infobox game
 
|cover        = Sonic the Hedgehog 1 mobile cover.png
 
|cover        = Sonic the Hedgehog 1 mobile cover.png
 
|developers  =  
 
|developers  =  
 
{{Infobox game/row/developer|Sonic Team|Original}}
 
{{Infobox game/row/developer|Sonic Team|Original}}
 +
{{Infobox game/row/developer|Christian Whitehead|Remaster}}
 +
{{Infobox game/row/developer|Headcannon|Remaster}}
 +
{{Infobox game/row/porter|Rubberduckycooly|Windows}}
 +
{{Infobox game/row/porter|Sappharad|OS X}}
 
|publishers  =  
 
|publishers  =  
 
{{Infobox game/row/publisher|Sega|Original}}
 
{{Infobox game/row/publisher|Sega|Original}}
 
{{Infobox game/row/publisher|Rubberduckycooly}}
 
{{Infobox game/row/publisher|Rubberduckycooly}}
 
|engines      =  
 
|engines      =  
 +
{{Infobox game/row/engine|Retro Engine}}
 
|release dates=  
 
|release dates=  
 
{{Infobox game/row/date|Windows|January 17, 2021}}
 
{{Infobox game/row/date|Windows|January 17, 2021}}
{{Infobox game/row/date|OS X|TBA}}
+
{{Infobox game/row/date|OS X|January 17, 2021|ref=<ref>{{Refurl|url=https://github.com/Sappharad/Sonic-1-2-2013-Decompilation/releases/tag/1.0.0mac|title=1.0.0 Mac Build - Sappharad/Sonic-1-2-2013-Decompilation|date=2022-05-31}}</ref>}}
 
{{Infobox game/row/date|Linux|TBA}}
 
{{Infobox game/row/date|Linux|TBA}}
 
|reception    =  
 
|reception    =  
Line 17: Line 22:
 
{{Infobox game/row/reception|IGDB|link|rating}}
 
{{Infobox game/row/reception|IGDB|link|rating}}
 
|taxonomy    =
 
|taxonomy    =
{{Infobox game/row/taxonomy/monetization      | }}
+
{{Infobox game/row/taxonomy/monetization      | Free-to-play }}
 
{{Infobox game/row/taxonomy/microtransactions | }}
 
{{Infobox game/row/taxonomy/microtransactions | }}
 
{{Infobox game/row/taxonomy/modes            | Singleplayer }}
 
{{Infobox game/row/taxonomy/modes            | Singleplayer }}
{{Infobox game/row/taxonomy/pacing            | }}
+
{{Infobox game/row/taxonomy/pacing            | Real-time }}
{{Infobox game/row/taxonomy/perspectives      | }}
+
{{Infobox game/row/taxonomy/perspectives      | Scrolling, Side view }}
{{Infobox game/row/taxonomy/controls          | }}
+
{{Infobox game/row/taxonomy/controls          | Direct control }}
{{Infobox game/row/taxonomy/genres            | }}
+
{{Infobox game/row/taxonomy/genres            | Platform }}
 
{{Infobox game/row/taxonomy/sports            | }}
 
{{Infobox game/row/taxonomy/sports            | }}
 
{{Infobox game/row/taxonomy/vehicles          | }}
 
{{Infobox game/row/taxonomy/vehicles          | }}
{{Infobox game/row/taxonomy/art styles        | Cartoon }}
+
{{Infobox game/row/taxonomy/art styles        | Cartoon, Pixel art }}
 
{{Infobox game/row/taxonomy/themes            | }}
 
{{Infobox game/row/taxonomy/themes            | }}
 
{{Infobox game/row/taxonomy/series            | Sonic the Hedgehog }}
 
{{Infobox game/row/taxonomy/series            | Sonic the Hedgehog }}
Line 39: Line 44:
 
|wikipedia    = Sonic the Hedgehog (1991 video game)
 
|wikipedia    = Sonic the Hedgehog (1991 video game)
 
|winehq      =  
 
|winehq      =  
|license      = commercial <!--idk what to put here-->
+
|license      = free-to-play
 
}}
 
}}
  
 
{{Introduction
 
{{Introduction
|introduction      =  
+
|introduction      = '''''Sonic the Hedgehog (Mobile Decompilation)''''' is a {{Glossary:Cartoon}} {{Glossary:Side view}} {{Glossary:Platform}} game in the ''[[Series:Sonic the Hedgehog|Sonic the Hedgehog]]'' series. It is an open-source decompilation of the 2013 [[Engine:Retro Engine|Retro Engine]] remaster of ''[[Sonic the Hedgehog]]'' originally developed by [[Company:Christian Whitehead|Christian Whitehead]] and [[Company:Headcannon|Headcannon]] and published by [[Company:Sega|Sega]] for Android and iOS devices. It has been ported to various platforms by Rubberduckycooly and other contributors.
  
|release history  =  
+
|release history  = The 2013 Retro Engine remasters of ''Sonic the Hedgehog'' and ''[[Sonic the Hedgehog 2 (Mobile Decompilation)|Sonic the Hedgehog 2]]'' were initially developed for Android and iOS devices. They became {{Glossary:Ad-supported}} and {{Glossary:Free-to-play}} in 2017 with other Sega Forever branded apps, but unlike the 2012 Retro Engine remaster of ''[[Sonic CD (2012)|Sonic CD]]'', it remained exclusive to mobile platforms for many years. Rubberduckycool, along with assistance from RMGRich, have developed this open-source decompilation port to allow the game to be played natively on other platforms but requires the Data.rsdk file extracted from the mobile version's APK to run. The initial Windows release of the decompilation port was released on January 17, 2021 and a fork for macOS was also released by Sappharad. The decompilation port initially only featured a basic developer interface to navigate through the game's menus and settings and it also introduced various issues not seen in previous releases of the game such as the bumpers in Spring Yard Zone causing players to get stuck in certain places, crashes during the credits, or the game freezing when attempting to access the developer menu. Many of these issues has been addressed in later updates of the decompilation port.
  
|current state    =
+
|current state    = The decompilation port currently features the ability to toggle screen filters, configurable settings through its configuration file similarly to ''[[Sonic Mania]]'', and features a built-in mod loader. An official port of the 2013 Retro Engine remaster is featured in ''[[Sonic Origins]]''.
 
}}
 
}}
'''Key points'''
+
 
{{ii}} An open-source decompilation of Sonic 1 (2013). Requires the {{file|Data.rsdk}} file extracted from the mobile version's APK to run.
+
'''General information'''
{{++}} Allows the game to be displayed with {{Term|nearest-neighbor}} and {{Term|pixel-perfect}} scaling, remappable keyboard and controller mapping editing via its settings.ini, native modding support, and full support of the updated scripts from the mobile version, allowing for features the official PC version never received.
+
{{mm}} [https://www.sonicretro.org/ Sonic Retro] - A huge fan site for everything Sonic the Hedgehog. Mods for all the series can also be found here.
  
 
==Availability==
 
==Availability==
 
{{Availability|
 
{{Availability|
{{Availability/row| Developer | https://github.com/Rubberduckycooly/Sonic-1-2-2013-Decompilation/releases | DRM-free | | | Windows }}
+
{{Availability/row| Developer | https://github.com/Rubberduckycooly/Sonic-1-2-2013-Decompilation/releases | DRM-free | [https://github.com/Sappharad/Sonic-1-2-2013-Decompilation/releases macOS fork] by Sappharad. | | Windows, OS X }}
 
}}
 
}}
{{ii}} Non-Windows support requires building from source.
+
{{ii}} Linux version requires building from the source code.
 +
{{--}} As of v1.3.2, pre-compiled builds only support the mobile data files; partial support for [[Sonic Origins]] data files (and enabling Plus content) requires compiling from source code, as well as extracting the data files its {{file|Sonic1u.rsdk}}, hex editing its {{file|GameData.bin}} found in the extracted {{folder|Data\Game}} folder, and extracting audio files from the mobile version's {{file|Data.rsdk}} or from Sonic Origins Plus. Instructions for compiling the decompilation port can be found [https://gamebanana.com/tuts/16684 here], extracting the audio files from Sonic Origins Plus can be found [https://gamebanana.com/tuts/16834 here], and how to use the Sonic Origins data files can be found [https://gamebanana.com/tuts/16686 here] from GameBanana.
  
 
==Game data==
 
==Game data==
 
===Configuration file(s) location===
 
===Configuration file(s) location===
 
{{Game data|
 
{{Game data|
{{Game data/config|Windows|{{p|game}}\settings.ini}}
+
{{Game data/config|Windows|{{p|game}}\settings.ini|{{p|game}}\mods\modconfig.ini}}
 +
{{Game data/config|Linux|{{p|xdgconfighome}}/RSDKv4/settings.ini}}
 
}}
 
}}
  
 
===Save game data location===
 
===Save game data location===
 
{{Game data|
 
{{Game data|
{{Game data/saves|Windows|{{p|game}}\SData.bin}}
+
{{Game data/saves|Windows|{{p|game}}\SData.bin|{{p|game}}\UData.bin}}
}}
+
{{Game data/saves|Linux|{{p|xdgconfighome}}/RSDKv4/SData.bin|{{p|xdgconfighome}}/RSDKv4/UData.bin}}
 
 
===[[Glossary:Save game cloud syncing|Save game cloud syncing]]===
 
{{Save game cloud syncing
 
|discord                  =
 
|discord notes            =
 
|epic games launcher      =
 
|epic games launcher notes =
 
|gog galaxy                =
 
|gog galaxy notes          =
 
|origin                    =
 
|origin notes              =
 
|steam cloud              =
 
|steam cloud notes        =
 
|ubisoft connect          =
 
|ubisoft connect notes    =
 
|xbox cloud                =
 
|xbox cloud notes          =
 
 
}}
 
}}
  
 
==Video==
 
==Video==
 +
{{Image|Sonic 1 (2013) Decompilation - General settings.png|General settings.}}
 
{{Video
 
{{Video
 
|wsgf link                  =  
 
|wsgf link                  =  
Line 96: Line 87:
 
|4k ultra hd wsgf award    =  
 
|4k ultra hd wsgf award    =  
 
|widescreen resolution      = true
 
|widescreen resolution      = true
|widescreen resolution notes= 424x240; see [[#Widescreen resolution|Widescreen resolution]].
+
|widescreen resolution notes= Scaled from 424x240; see [[#Widescreen resolution|Widescreen resolution]].
 
|multimonitor              = false
 
|multimonitor              = false
|multimonitor notes        = Various script issues.<ref name="uw">[https://github.com/Rubberduckycooly/Sonic-1-2-2013-Decompilation/issues/164 1.1.0 - Various issues with ultrawide resolutions. · Issue #164 · Rubberduckycooly/Sonic-1-2-2013-Decompilation]</ref>
+
|multimonitor notes        = Impossible due to various script issues.<ref name="Ultra Widescreen">[https://github.com/Rubberduckycooly/Sonic-1-2-2013-Decompilation/issues/164 1.1.0 - Various issues with ultrawide resolutions. · Issue #164 · Rubberduckycooly/Sonic-1-2-2013-Decompilation]</ref>
 
|ultrawidescreen            = false
 
|ultrawidescreen            = false
|ultrawidescreen notes      = Various script issues.<ref name="uw"/>
+
|ultrawidescreen notes      = Impossible due to various script issues.<ref name="Ultra Widescreen"/>
|4k ultra hd                = unknown
+
|4k ultra hd                = true
|4k ultra hd notes          =  
+
|4k ultra hd notes          = Scaled from 424x240 to desktop resolution in Fullscreen mode. Menus scale with screen width.<ref name="4K Ultra HD">{{Refcheck|user=AmethystViper|date=2022-05-31|comment=}}</ref>
 
|fov                        = n/a
 
|fov                        = n/a
 
|fov notes                  =  
 
|fov notes                  =  
 
|windowed                  = hackable
 
|windowed                  = hackable
|windowed notes            = By default. See [[#Windowed|Windowed]].
+
|windowed notes            = Displayed in Windowed mode by default. Can be toggled by pressing {{key|F4}}. See [[#Windowed|Windowed]] to enable Fullscreen mode when launching the game.
 
|borderless windowed        = false
 
|borderless windowed        = false
|borderless windowed notes  =  
+
|borderless windowed notes  = Only window borders can be disabled.
 
|anisotropic                = n/a
 
|anisotropic                = n/a
 
|anisotropic notes          =  
 
|anisotropic notes          =  
 
|antialiasing              = n/a
 
|antialiasing              = n/a
|antialiasing notes        = Screen rotation is not antialiased.
+
|antialiasing notes        = Screen rotation is not anti-aliased.
 
|vsync                      = hackable
 
|vsync                      = hackable
|vsync notes                = See [[#Vertical sync (Vsync)|Vertical sync (Vsync)]].
+
|vsync notes                = Disabled by default. See [[#Vertical sync (Vsync)|Vertical sync (Vsync)]].
 
|60 fps                    = true
 
|60 fps                    = true
 
|60 fps notes              =  
 
|60 fps notes              =  
Line 121: Line 112:
 
|hdr                        = false
 
|hdr                        = false
 
|hdr notes                  =  
 
|hdr notes                  =  
|ray tracing                = unknown
+
|ray tracing                =  
 
|ray tracing notes          =  
 
|ray tracing notes          =  
|color blind                = unknown
+
|color blind                = false
 
|color blind notes          =  
 
|color blind notes          =  
 
}}
 
}}
  
 
===[[Glossary:Widescreen resolution|Widescreen resolution]]===
 
===[[Glossary:Widescreen resolution|Widescreen resolution]]===
{{Fixbox|description=Custom screen width|ref=<ref name="Keith">{{Refcheck|user=Keith|date=2022-02-12|comment=}}</ref>|fix=
+
{{ii}} This decompilation port is designed for a definition of 424x240, however, unlike [[Sonic Mania]], only the screen width can be adjusted.
 +
{{Fixbox|description=Set custom screen width in settings.ini|ref=<ref name="Keith">{{Refcheck|user=Keith|date=2022-02-12|comment=}}</ref>|fix=
 
# Open {{file|{{p|game}}\settings.ini}}.
 
# Open {{file|{{p|game}}\settings.ini}}.
 
# Adjust <code>ScreenWidth=</code> as needed.
 
# Adjust <code>ScreenWidth=</code> as needed.
Line 135: Line 127:
 
===[[Glossary:Windowed|Windowed]]===
 
===[[Glossary:Windowed|Windowed]]===
 
{{ii}} Fullscreen may not work properly on integrated graphics.
 
{{ii}} Fullscreen may not work properly on integrated graphics.
 
+
{{Fixbox|description=Set fullscreen on launch in settings.ini|ref=<ref name="Keith"/>|fix=
{{Fixbox|description=Toggle fullscreen|ref=<ref name="Keith"/>|fix=
 
 
# Open {{file|{{p|game}}\settings.ini}}.
 
# Open {{file|{{p|game}}\settings.ini}}.
 
# Change <code>FullScreen=false</code> to <code>FullScreen=true</code>.
 
# Change <code>FullScreen=false</code> to <code>FullScreen=true</code>.
#* If set to <code>false</code>, window size can be multiplied with <code>WindowScale=1</code>. You can also remove the window decorations and desktop using [https://tanalin.com/en/projects/integer-scaler/ IntegerScaler].
+
#* If set to {{code|false}}, the window size can be multiplied with <code>WindowScale=</code>. The window decorations and desktop can be hidden by using [https://tanalin.com/en/projects/integer-scaler/ IntegerScaler].
 
}}
 
}}
  
 
===[[Glossary:Vertical sync (Vsync)|Vertical sync (Vsync)]]===
 
===[[Glossary:Vertical sync (Vsync)|Vertical sync (Vsync)]]===
{{Fixbox|description=Toggle Vsync|ref=<ref name="Keith"/>|fix=
+
{{Fixbox|description=Enabling Vsync in settings.ini|ref=<ref name="Keith"/>|fix=
 
# Open {{file|{{p|game}}\settings.ini}}.
 
# Open {{file|{{p|game}}\settings.ini}}.
 
# Change <code>VSync=false</code> to <code>VSync=true</code>.
 
# Change <code>VSync=false</code> to <code>VSync=true</code>.
Line 149: Line 140:
  
 
==Input==
 
==Input==
 +
{{Image|Sonic 1 (2013) Decompilation - Gamepad layout.png|Controller layout.}}
 
{{Input
 
{{Input
|key remap                = unknown
+
|key remap                = true
|key remap notes          =  
+
|key remap notes          = Key bindings must be configured manually by editing {{file|settings.ini}}. Keycode bindings are based on [https://github.com/libsdl-org/sdlwiki/blob/main/SDLScancodeLookup.mediawiki SDL Scancode Lookup] codes. Developer functions such as accessing the developer menu or visualizing touchscreen elements cannot be rebound.
|acceleration option      = unknown
+
|acceleration option      = n/a
|acceleration option notes =  
+
|acceleration option notes = Mouse is not used in-game
|mouse sensitivity        = unknown
+
|mouse sensitivity        = n/a
 
|mouse sensitivity notes  =  
 
|mouse sensitivity notes  =  
|mouse menu                = unknown
+
|mouse menu                = limited
|mouse menu notes          =  
+
|mouse menu notes          = Only main menu and some parts of the game can be interacted with the mouse.<ref name="Mouse in Menu">{{Refcheck|user=AmethystViper|date=2022-05-31|comment=}}</ref>
|invert mouse y-axis      = unknown
+
|invert mouse y-axis      = n/a
 
|invert mouse y-axis notes =  
 
|invert mouse y-axis notes =  
 
|touchscreen              = unknown
 
|touchscreen              = unknown
Line 164: Line 156:
 
|controller support        = true
 
|controller support        = true
 
|controller support notes  =  
 
|controller support notes  =  
|full controller          = unknown
+
|full controller          = true
 
|full controller notes    =  
 
|full controller notes    =  
|controller remap          = unknown
+
|controller remap          = true
|controller remap notes    =  
+
|controller remap notes    = Controller mapping must be configured manually by editing {{file|settings.ini}}. Controller inputs are based on [https://github.com/libsdl-org/sdlwiki/blob/main/SDL_GameControllerButton.mediawiki SDL Game Controller Button] codes.
|controller sensitivity    = unknown
+
|controller sensitivity    = n/a
|controller sensitivity notes=  
+
|controller sensitivity notes= Digital movement.
|invert controller y-axis  = unknown
+
|invert controller y-axis  = n/a
 
|invert controller y-axis notes=  
 
|invert controller y-axis notes=  
|xinput controllers        = unknown
+
|xinput controllers        = true
 
|xinput controllers notes  =  
 
|xinput controllers notes  =  
|xbox prompts              = unknown
+
|xbox prompts              = false
 
|xbox prompts notes        =  
 
|xbox prompts notes        =  
|impulse triggers          = unknown
+
|impulse triggers          = false
 
|impulse triggers notes    =  
 
|impulse triggers notes    =  
|dualshock 4              = unknown
+
|dualshock 4              = true
 
|dualshock 4 notes        =  
 
|dualshock 4 notes        =  
|dualshock prompts        = unknown
+
|dualshock prompts        = false
 
|dualshock prompts notes  =  
 
|dualshock prompts notes  =  
|light bar support        = unknown
+
|light bar support        = false
 
|light bar support notes  =  
 
|light bar support notes  =  
|dualshock 4 modes        = unknown
+
|dualshock 4 modes        = USB, Bluetooth, V1
|dualshock 4 modes notes  =  
+
|dualshock 4 modes notes  = <ref name="DualShock 4">{{Refcheck|user=AmethystViper|date=2022-05-31|comment=Tested with a V1 controller,}}</ref>
|tracked motion controllers= unknown
+
|tracked motion controllers= false
 
|tracked motion controllers notes =  
 
|tracked motion controllers notes =  
|tracked motion prompts    = unknown
+
|tracked motion prompts    = false
 
|tracked motion prompts notes =  
 
|tracked motion prompts notes =  
|other controllers        = unknown
+
|other controllers        = true
|other controllers notes  =  
+
|other controllers notes  = <ref name="Other controllers">{{Refcheck|user=AmethystViper|date=2022-05-31|comment=Tested with a Logitech F310 in DirectInput mode.}}</ref>
|other button prompts      = unknown
+
|other button prompts      = false
 
|other button prompts notes=  
 
|other button prompts notes=  
|controller hotplug        = unknown
+
|controller hotplug        = true
 
|controller hotplug notes  =  
 
|controller hotplug notes  =  
|haptic feedback          = unknown
+
|haptic feedback          = false
 
|haptic feedback notes    =  
 
|haptic feedback notes    =  
|simultaneous input        = unknown
+
|simultaneous input        = true
 
|simultaneous input notes  =  
 
|simultaneous input notes  =  
 
|steam input api          = unknown
 
|steam input api          = unknown
Line 215: Line 207:
 
{{Audio
 
{{Audio
 
|separate volume          = true
 
|separate volume          = true
|separate volume notes    =  
+
|separate volume notes    = Music, Sound FX.
 
|surround sound            = false
 
|surround sound            = false
 
|surround sound notes      =  
 
|surround sound notes      =  
Line 234: Line 226:
 
===Mute on focus lost===
 
===Mute on focus lost===
 
{{ii}} If set to true, disables the game pausing when focus is lost.
 
{{ii}} If set to true, disables the game pausing when focus is lost.
 
 
{{Fixbox|description=Toggle focus pause|ref=<ref name="Keith"/>|fix=
 
{{Fixbox|description=Toggle focus pause|ref=<ref name="Keith"/>|fix=
 
# Open {{file|{{p|game}}\settings.ini}}.
 
# Open {{file|{{p|game}}\settings.ini}}.
Line 246: Line 237:
 
  |audio    = n/a
 
  |audio    = n/a
 
  |subtitles = n/a
 
  |subtitles = n/a
  |notes    =  
+
  |notes    = Set <code>Language=</code> to {{code|0}} in {{file|settings.ini}}.
 +
|fan      =
 +
}}
 +
{{L10n/switch
 +
|language  = Simplified Chinese
 +
|interface = true
 +
|audio    = n/a
 +
|subtitles = n/a
 +
|notes    = Set <code>Language=</code> to {{code|9}} in {{file|settings.ini}}.
 +
|fan      =
 +
}}
 +
{{L10n/switch
 +
|language  = Traditional Chinese
 +
|interface = true
 +
|audio    = n/a
 +
|subtitles = n/a
 +
|notes    = Set <code>Language=</code> to {{code|10}} in {{file|settings.ini}}.
 
  |fan      =  
 
  |fan      =  
 
}}
 
}}
Line 254: Line 261:
 
  |audio    = n/a
 
  |audio    = n/a
 
  |subtitles = n/a
 
  |subtitles = n/a
  |notes    =  
+
  |notes    = Set <code>Language=</code> to {{code|1}} in {{file|settings.ini}}.
 +
|fan      =
 +
}}
 +
{{L10n/switch
 +
|language  = German
 +
|interface = true
 +
|audio    = n/a
 +
|subtitles = n/a
 +
|notes    = Set <code>Language=</code> to {{code|3}} in {{file|settings.ini}}.
 
  |fan      =  
 
  |fan      =  
 
}}
 
}}
Line 262: Line 277:
 
  |audio    = n/a
 
  |audio    = n/a
 
  |subtitles = n/a
 
  |subtitles = n/a
  |notes    =  
+
  |notes    = Set <code>Language=</code> to {{code|2}} in {{file|settings.ini}}.
 
  |fan      =  
 
  |fan      =  
 
}}
 
}}
Line 270: Line 285:
 
  |audio    = n/a
 
  |audio    = n/a
 
  |subtitles = n/a
 
  |subtitles = n/a
  |notes    =  
+
  |notes    = Set <code>Language=</code> to {{code|5}} in {{file|settings.ini}}.
 +
|fan      =
 +
}}
 +
{{L10n/switch
 +
|language  = Korean
 +
|interface = true
 +
|audio    = n/a
 +
|subtitles = n/a
 +
|notes    = Set <code>Language=</code> to {{code|8}} in {{file|settings.ini}}.
 +
|fan      =
 +
}}
 +
{{L10n/switch
 +
|language  = Portuguese
 +
|interface = true
 +
|audio    = n/a
 +
|subtitles = n/a
 +
|notes    = Set <code>Language=</code> to {{code|6}} in {{file|settings.ini}}.
 
  |fan      =  
 
  |fan      =  
 
}}
 
}}
Line 278: Line 309:
 
  |audio    = n/a
 
  |audio    = n/a
 
  |subtitles = n/a
 
  |subtitles = n/a
  |notes    =  
+
  |notes    = Set <code>Language=</code> to {{code|7}} in {{file|settings.ini}}.
 
  |fan      =  
 
  |fan      =  
 
}}
 
}}
 
{{L10n/switch
 
{{L10n/switch
  |language  = Korean
+
  |language  = Spanish
 
  |interface = true
 
  |interface = true
 
  |audio    = n/a
 
  |audio    = n/a
 
  |subtitles = n/a
 
  |subtitles = n/a
  |notes    =  
+
  |notes    = Set <code>Language=</code> to {{code|4}} in {{file|settings.ini}}.
 
  |fan      =  
 
  |fan      =  
 
}}
 
}}
 +
}}
 +
 +
==Issues fixed==
 +
===B button input opens the pause menu===
 +
{{--}} This issue was introduced when the Sega Forever team attempted to remove the debug mode and level select feature in newer updates of the game.<ref>{{Refurl|url=https://github.com/Rubberduckycooly/Sonic-1-2-2013-Decompilation/issues/8|title=S1,2&CD: Pressing B while in-game makes Sonic jump and pauses the game - Rubberduckycooly/Sonic-1-2-2013-Decompilation|date=2022-05-31}}</ref>
 +
{{Fixbox|description=Install and enable Script Decompilation|ref=<ref>{{Refurl|url=https://github.com/Rubberduckycooly/Sonic-1-2-2013-Decompilation/issues/8#issuecomment-1142881424|title=S1,2&CD: Pressing B while in-game makes Sonic jump and pauses the game, reply from MegAmi24 - Rubberduckycooly/Sonic-1-2-2013-Decompilation|date=2022-06-01}}</ref><ref>{{Refcheck|user=AmethystViper|date=2022-06-01|comment=Tested without any mods installed.}}</ref>|fix=
 +
# Download the [https://github.com/Rubberduckycooly/Sonic-1-Sonic-2-2013-Script-Decompilation Sonic 1/2 2013 Script Decompilation].
 +
# Extract its contents to its own folder in a convenient location on the computer.
 +
# Go into the {{file|Sonic 1}} folder, then copy the {{file|Scripts}} folder and paste it into <code>{{p|game}}</code>.
 +
# Open {{file|settings.ini}} with a text editor, then change the value of <code>TxtScripts=</code> to {{code|true}}, and save the changes.
 
}}
 
}}
  
Line 316: Line 357:
 
|shader model versions  =  
 
|shader model versions  =  
 
|shader model notes    =  
 
|shader model notes    =  
|windows 32-bit exe    = true
+
|windows 32-bit exe    = hackable
|windows 64-bit exe    = true
+
|windows 64-bit exe    = hackable
|windows arm app        = unknown
+
|windows arm app        = hackable
|windows exe notes      =  
+
|windows exe notes      = The main project's files are 32- and 64-bit. The GitHub page's UWP build guide seem to result in an architecture-neutral (with ARM) app.<ref>{{Refurl|url=https://github.com/Rubberduckycooly/Sonic-1-2-2013-Decompilation/blob/34bb2137bcf63bb9994f49524ea2a1a4dbf7433a/RSDKv4.UWP.sln|title=RSDKv4.UWP.sln|date=21 July 2022}}</ref>
 
|mac os x powerpc app  =  
 
|mac os x powerpc app  =  
 
|macos intel 32-bit app = unknown
 
|macos intel 32-bit app = unknown
|macos intel 64-bit app = unknown
+
|macos intel 64-bit app = hackable
 
|macos arm app          = unknown
 
|macos arm app          = unknown
|macos app notes        =  
+
|macos app notes        = The macOS release pages mention it was "Tested on both Intel and Apple Silicon Macs", without elaborating further on if it supports ARM.<ref>{{Refurl|url=https://github.com/Sappharad/Sonic-1-2-2013-Decompilation/releases|title=Releases • Sappharad/Sonic-1-2-2013-Decompilation|date=21 July 2022}}</ref>
 
|linux powerpc app      =  
 
|linux powerpc app      =  
 
|linux 32-bit executable= unknown
 
|linux 32-bit executable= unknown
|linux 64-bit executable= unknown
+
|linux 64-bit executable= hackable
 
|linux arm app          = unknown
 
|linux arm app          = unknown
|linux executable notes =  
+
|linux executable notes = <ref>{{Refurl|url=https://aur.archlinux.org/packages/sonic-1|title=Package Details: sonic-1 1.1.2.1-1|date=21 July 2022}}</ref>
 
}}
 
}}
  
Line 340: Line 381:
 
|interface        =  
 
|interface        =  
 
|interface notes  =  
 
|interface notes  =  
|input            =  
+
|input            = SDL2
|input notes      =  
+
|input notes      = 2.0.14.
 
|cutscenes        =  
 
|cutscenes        =  
 
|cutscenes notes  =  
 
|cutscenes notes  =  
Line 349: Line 390:
 
|anticheat notes  =  
 
|anticheat notes  =  
 
}}
 
}}
 +
 +
===Modifications===
 +
{{mm}} As of v1.1.2, the mobile decompilation features a built-in mod loader, however, toggling activation and rearranging the load order of each mod either requires enabling developer mode in {{file|settings.ini}} or manually editing <code>{{p|game}}\modconfig.ini</code> (see [https://gamebanana.com/tuts/14066 this tutorial] for more details). Some mods may not have been updated to newer versions of the mobile decompilation or its scripts, while many older mods may lack the necessary files and folder structure to use the mobile decompilation's mod loader feature. Other mods may not be compatible with each other unless stated otherwise. The mobile decompilation port's load order priority is bottom to top.
 +
{{++}} [https://gamebanana.com/tools/10457 RSDK Mod Loader] eases the installation and management of mods without replacing core data files. Decompilation ports of [[Sonic CD (2012)|Sonic CD]] (RSDKv3), [[Sonic the Hedgehog 2 (Mobile Decompilation)|Sonic the Hedgehog 2]] (RSDKv4), and [[Sonic Mania]] (RSDKv5/U) are also supported.
 +
 +
====Featured mods====
 +
'''Bugfixes/improvements'''
 +
* [https://gamebanana.com/mods/38 Press Start Fix] - Fixes the "Press Button" text on each character's title screen leftover from the mobile version by replacing the game's title screen graphics.
 +
* [https://gamebanana.com/mods/36 Fixed "Press Start Button" Text] - A mod that is similar to the above but it fixes the "Press Button" text through script editing instead.
 +
 +
'''Audio/visual enhancements'''
 +
* [https://gamebanana.com/mods/288730 Hardware Accurate Colors] - Restores the original color palette of the Sega Genesis version based on the video output from the BlastEm emulator.
 +
* [https://gamebanana.com/sounds/51343 Original Genesis Music] - Replaces the remastered soundtrack with the original music from the Sega Genesis version.
 +
 +
====[https://teamforeveronline.wixsite.com/home/sonic-1-forever Sonic the Hedgehog Forever]====
 +
Sonic the Hedgehog Forever is a modified port of the mobile decompilation that uses a new menu system, adds options for abilities from Sonic CD and Sonic Mania, features visual and sound enhancements, a built-in Achievements system, restores elements from the Sega Genesis version, and other quality-of-life improvements. Due to the changes made to this port, mods and save data for the original mobile decompilation are not compatible with Sonic the Hedgehog Forever. It is available as a standalone port or a mod for the original mobile decompilation.
  
 
==System requirements==
 
==System requirements==

Latest revision as of 00:03, 17 November 2023

This page is for the decompiled port of the 2013 mobile port. For the 2010 emulated release, see Sonic the Hedgehog.

Sonic the Hedgehog (Mobile Decompilation)
Sonic the Hedgehog (Mobile Decompilation) cover
Developers
Original Sonic Team
Remaster Christian Whitehead
Remaster Headcannon
Windows Rubberduckycooly
macOS (OS X) Sappharad
Publishers
Original Sega
Rubberduckycooly
Engines
Retro Engine
Release dates
Windows January 17, 2021
macOS (OS X) January 17, 2021[1]
Linux TBA
Taxonomy
Monetization Free-to-play
Modes Singleplayer
Pacing Real-time
Perspectives Scrolling, Side view
Controls Direct control
Genres Platform
Art styles Cartoon, Pixel art
Series Sonic the Hedgehog
Sonic the Hedgehog (Mobile Decompilation) on HowLongToBeat
Sonic the Hedgehog (Mobile Decompilation) guide on StrategyWiki
Sonic the Hedgehog (Mobile Decompilation) on MobyGames
Sonic the Hedgehog (Mobile Decompilation) on Wikipedia
Sonic the Hedgehog fangames (series)
Sonic CD 1995
Sonic's Schoolhouse 1996
Sonic 3D Blast (series)
Sonic & Knuckles Collection 1997
Sonic R (series)
Sonic Adventure (series)
Sonic Heroes 2004
Sonic Mega Collection Plus 2006
Sonic Riders 2006
Sonic Racing (series)
Sonic the Hedgehog 2010
Dr. Robotnik's Mean Bean Machine 2010
Sonic Spinball 2010
Sonic the Hedgehog 2 2011
Sonic 3 & Knuckles 2011
Sonic Generations 2011
Sonic CD (2012) 2012
Sonic the Hedgehog 4: Episode I 2012
Sonic the Hedgehog 4: Episode II 2012
Sonic Dash 2014
Sonic Lost World 2015
Sonic Mania 2017
Sonic Forces 2017
Sonic the Hedgehog (Mobile Decompilation) 2021
Sonic the Hedgehog 2 (Mobile Decompilation) 2021
Sonic Colors: Ultimate 2021
Sonic Origins 2022
Sonic Frontiers 2022
The Murder of Sonic the Hedgehog 2023
Sonic Superstars 2023
Sonic Dream Team 2023
Sonic X Shadow Generations 2024

Sonic the Hedgehog (Mobile Decompilation) is a cartoon side view platform game in the Sonic the Hedgehog series. It is an open-source decompilation of the 2013 Retro Engine remaster of Sonic the Hedgehog originally developed by Christian Whitehead and Headcannon and published by Sega for Android and iOS devices. It has been ported to various platforms by Rubberduckycooly and other contributors.

The 2013 Retro Engine remasters of Sonic the Hedgehog and Sonic the Hedgehog 2 were initially developed for Android and iOS devices. They became ad-supported and free-to-play in 2017 with other Sega Forever branded apps, but unlike the 2012 Retro Engine remaster of Sonic CD, it remained exclusive to mobile platforms for many years. Rubberduckycool, along with assistance from RMGRich, have developed this open-source decompilation port to allow the game to be played natively on other platforms but requires the Data.rsdk file extracted from the mobile version's APK to run. The initial Windows release of the decompilation port was released on January 17, 2021 and a fork for macOS was also released by Sappharad. The decompilation port initially only featured a basic developer interface to navigate through the game's menus and settings and it also introduced various issues not seen in previous releases of the game such as the bumpers in Spring Yard Zone causing players to get stuck in certain places, crashes during the credits, or the game freezing when attempting to access the developer menu. Many of these issues has been addressed in later updates of the decompilation port.

The decompilation port currently features the ability to toggle screen filters, configurable settings through its configuration file similarly to Sonic Mania, and features a built-in mod loader. An official port of the 2013 Retro Engine remaster is featured in Sonic Origins.

General information

Sonic Retro - A huge fan site for everything Sonic the Hedgehog. Mods for all the series can also be found here.

Availability

Source DRM Notes Keys OS
Developer website
DRM-free
macOS fork by Sappharad.
Windows
macOS (OS X)
Linux version requires building from the source code.
As of v1.3.2, pre-compiled builds only support the mobile data files; partial support for Sonic Origins data files (and enabling Plus content) requires compiling from source code, as well as extracting the data files its Sonic1u.rsdk, hex editing its GameData.bin found in the extracted Data\Game folder, and extracting audio files from the mobile version's Data.rsdk or from Sonic Origins Plus. Instructions for compiling the decompilation port can be found here, extracting the audio files from Sonic Origins Plus can be found here, and how to use the Sonic Origins data files can be found here from GameBanana.

Game data

Configuration file(s) location

System Location
Windows <path-to-game>\settings.ini[Note 1]
<path-to-game>\mods\modconfig.ini[Note 1]
Linux $XDG_CONFIG_HOME/RSDKv4/settings.ini

Save game data location

System Location
Windows <path-to-game>\SData.bin[Note 1]
<path-to-game>\UData.bin[Note 1]
Linux $XDG_CONFIG_HOME/RSDKv4/SData.bin
$XDG_CONFIG_HOME/RSDKv4/UData.bin

Video

General settings.
General settings.

Graphics feature State Notes
Widescreen resolution
Scaled from 424x240; see Widescreen resolution.
Multi-monitor
Impossible due to various script issues.[2]
Ultra-widescreen
Impossible due to various script issues.[2]
4K Ultra HD
Scaled from 424x240 to desktop resolution in Fullscreen mode. Menus scale with screen width.[3]
Field of view (FOV)
Windowed
Displayed in Windowed mode by default. Can be toggled by pressing F4. See Windowed to enable Fullscreen mode when launching the game.
Borderless fullscreen windowed
Only window borders can be disabled.
Anisotropic filtering (AF)
Anti-aliasing (AA)
Screen rotation is not anti-aliased.
Vertical sync (Vsync)
Disabled by default. See Vertical sync (Vsync).
60 FPS
120+ FPS
Game speed is tied to frame rate. Run at 60 FPS only.
High dynamic range display (HDR)

Widescreen resolution

This decompilation port is designed for a definition of 424x240, however, unlike Sonic Mania, only the screen width can be adjusted.
Set custom screen width in settings.ini[4]
  1. Open <path-to-game>\settings.ini.
  2. Adjust ScreenWidth= as needed.

Windowed

Fullscreen may not work properly on integrated graphics.
Set fullscreen on launch in settings.ini[4]
  1. Open <path-to-game>\settings.ini.
  2. Change FullScreen=false to FullScreen=true.
    • If set to false, the window size can be multiplied with WindowScale=. The window decorations and desktop can be hidden by using IntegerScaler.

Vertical sync (Vsync)

Enabling Vsync in settings.ini[4]
  1. Open <path-to-game>\settings.ini.
  2. Change VSync=false to VSync=true.

Input

Controller layout.
Controller layout.

Keyboard and mouse State Notes
Remapping
Key bindings must be configured manually by editing settings.ini. Keycode bindings are based on SDL Scancode Lookup codes. Developer functions such as accessing the developer menu or visualizing touchscreen elements cannot be rebound.
Mouse acceleration
Mouse is not used in-game
Mouse sensitivity
Mouse input in menus
Only main menu and some parts of the game can be interacted with the mouse.[5]
Mouse Y-axis inversion
Controller
Controller support
Full controller support
Controller remapping
Controller mapping must be configured manually by editing settings.ini. Controller inputs are based on SDL Game Controller Button codes.
Controller sensitivity
Digital movement.
Controller Y-axis inversion
Controller types
XInput-compatible controllers
Xbox button prompts
Impulse Trigger vibration
PlayStation controllers
PlayStation button prompts
Light bar support
Adaptive trigger support
DualSense haptic feedback support
Connection modes Wired, Wireless (Bluetooth),

[6]
Generic/other controllers
[7]
Button prompts
Additional information
Controller hotplugging
Haptic feedback
Digital movement supported
Simultaneous controller+KB/M

Audio

Audio feature State Notes
Separate volume controls
Music, Sound FX.
Surround sound
Subtitles
Closed captions
Mute on focus lost
See Mute on focus lost.

Mute on focus lost

If set to true, disables the game pausing when focus is lost.
Toggle focus pause[4]
  1. Open <path-to-game>\settings.ini.
  2. Change DisableFocusPause=false to DisableFocusPause=true

Localizations

Language UI Audio Sub Notes
English
Set Language= to 0 in settings.ini.
Simplified Chinese
Set Language= to 9 in settings.ini.
Traditional Chinese
Set Language= to 10 in settings.ini.
French
Set Language= to 1 in settings.ini.
German
Set Language= to 3 in settings.ini.
Italian
Set Language= to 2 in settings.ini.
Japanese
Set Language= to 5 in settings.ini.
Korean
Set Language= to 8 in settings.ini.
Portuguese
Set Language= to 6 in settings.ini.
Russian
Set Language= to 7 in settings.ini.
Spanish
Set Language= to 4 in settings.ini.

Issues fixed

B button input opens the pause menu

This issue was introduced when the Sega Forever team attempted to remove the debug mode and level select feature in newer updates of the game.[8]
Install and enable Script Decompilation[9][10]
  1. Download the Sonic 1/2 2013 Script Decompilation.
  2. Extract its contents to its own folder in a convenient location on the computer.
  3. Go into the Sonic 1 folder, then copy the Scripts folder and paste it into <path-to-game>.
  4. Open settings.ini with a text editor, then change the value of TxtScripts= to true, and save the changes.

Other information

API

Executable 32-bit 64-bitARM Notes
Windows
The main project's files are 32- and 64-bit. The GitHub page's UWP build guide seem to result in an architecture-neutral (with ARM) app.[11]
macOS (OS X)
The macOS release pages mention it was "Tested on both Intel and Apple Silicon Macs", without elaborating further on if it supports ARM.[12]
Linux
[13]

Middleware

Middleware Notes
Input SDL2 2.0.14.

Modifications

As of v1.1.2, the mobile decompilation features a built-in mod loader, however, toggling activation and rearranging the load order of each mod either requires enabling developer mode in settings.ini or manually editing <path-to-game>\modconfig.ini (see this tutorial for more details). Some mods may not have been updated to newer versions of the mobile decompilation or its scripts, while many older mods may lack the necessary files and folder structure to use the mobile decompilation's mod loader feature. Other mods may not be compatible with each other unless stated otherwise. The mobile decompilation port's load order priority is bottom to top.
RSDK Mod Loader eases the installation and management of mods without replacing core data files. Decompilation ports of Sonic CD (RSDKv3), Sonic the Hedgehog 2 (RSDKv4), and Sonic Mania (RSDKv5/U) are also supported.

Featured mods

Bugfixes/improvements

  • Press Start Fix - Fixes the "Press Button" text on each character's title screen leftover from the mobile version by replacing the game's title screen graphics.
  • Fixed "Press Start Button" Text - A mod that is similar to the above but it fixes the "Press Button" text through script editing instead.

Audio/visual enhancements

  • Hardware Accurate Colors - Restores the original color palette of the Sega Genesis version based on the video output from the BlastEm emulator.
  • Original Genesis Music - Replaces the remastered soundtrack with the original music from the Sega Genesis version.

Sonic the Hedgehog Forever

Sonic the Hedgehog Forever is a modified port of the mobile decompilation that uses a new menu system, adds options for abilities from Sonic CD and Sonic Mania, features visual and sound enhancements, a built-in Achievements system, restores elements from the Sega Genesis version, and other quality-of-life improvements. Due to the changes made to this port, mods and save data for the original mobile decompilation are not compatible with Sonic the Hedgehog Forever. It is available as a standalone port or a mod for the original mobile decompilation.

System requirements

Windows
Minimum
Operating system (OS)
Processor (CPU)
System memory (RAM)
Hard disk drive (HDD)


Notes

  1. 1.0 1.1 1.2 1.3 When running this game without elevated privileges (Run as administrator option), write operations against a location below %PROGRAMFILES%, %PROGRAMDATA%, or %WINDIR% might be redirected to %LOCALAPPDATA%\VirtualStore on Windows Vista and later (more details).

References

  1. 1.0.0 Mac Build - Sappharad/Sonic-1-2-2013-Decompilation - last accessed on 2022-05-31
  2. 2.0 2.1 1.1.0 - Various issues with ultrawide resolutions. · Issue #164 · Rubberduckycooly/Sonic-1-2-2013-Decompilation
  3. Verified by User:AmethystViper on 2022-05-31
  4. 4.0 4.1 4.2 4.3 Verified by User:Keith on 2022-02-12
  5. Verified by User:AmethystViper on 2022-05-31
  6. Verified by User:AmethystViper on 2022-05-31
    Tested with a V1 controller,
  7. Verified by User:AmethystViper on 2022-05-31
    Tested with a Logitech F310 in DirectInput mode.
  8. S1,2&CD: Pressing B while in-game makes Sonic jump and pauses the game - Rubberduckycooly/Sonic-1-2-2013-Decompilation - last accessed on 2022-05-31
  9. S1,2&CD: Pressing B while in-game makes Sonic jump and pauses the game, reply from MegAmi24 - Rubberduckycooly/Sonic-1-2-2013-Decompilation - last accessed on 2022-06-01
  10. Verified by User:AmethystViper on 2022-06-01
    Tested without any mods installed.
  11. RSDKv4.UWP.sln - last accessed on 21 July 2022
  12. Releases • Sappharad/Sonic-1-2-2013-Decompilation - last accessed on 21 July 2022
  13. Package Details: sonic-1 1.1.2.1-1 - last accessed on 21 July 2022