gitextract_3ry7zdqc/ ├── .editorconfig ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── dev_report.yml │ └── workflows/ │ ├── validate-external.yml │ ├── validate-internal.yml │ └── validate.yml ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── CMakePresets.json ├── COPYING ├── MarathonRecomp/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── api/ │ │ ├── Chao/ │ │ │ └── CSD/ │ │ │ ├── Core/ │ │ │ │ ├── csdBase.h │ │ │ │ ├── csdRCObject.h │ │ │ │ ├── csdRCObjectImp.h │ │ │ │ ├── csdRCPtr.h │ │ │ │ ├── csdRCPtrAbs.h │ │ │ │ └── csdTexList.h │ │ │ └── Manager/ │ │ │ ├── csdmMotionPattern.h │ │ │ ├── csdmNode.h │ │ │ ├── csdmNodeObserver.h │ │ │ ├── csdmObserverBase.h │ │ │ ├── csdmProject.h │ │ │ ├── csdmResourceBase.h │ │ │ ├── csdmScene.h │ │ │ ├── csdmSceneObserver.h │ │ │ └── csdmSubjectBase.h │ │ ├── Marathon.h │ │ ├── Marathon.inl │ │ ├── README.md │ │ ├── Sonicteam/ │ │ │ ├── Actor.h │ │ │ ├── ActorManager.h │ │ │ ├── AlertWindowTask.h │ │ │ ├── AppMarathon.h │ │ │ ├── AppMarathon.inl │ │ │ ├── AudioEngineXenon.h │ │ │ ├── ButtonWindowTask.h │ │ │ ├── CObjBalloonIconDrawable.h │ │ │ ├── Camera/ │ │ │ │ ├── CameraMode.h │ │ │ │ ├── CameraModeManager.h │ │ │ │ ├── Cameraman.h │ │ │ │ └── SonicCamera.h │ │ │ ├── CommonObjectHint.h │ │ │ ├── CsdLink.h │ │ │ ├── CsdManager.h │ │ │ ├── CsdObject.h │ │ │ ├── CsdResource.h │ │ │ ├── DocMarathonImp.h │ │ │ ├── DocMarathonState.h │ │ │ ├── Enemy/ │ │ │ │ ├── EnemyShot.h │ │ │ │ ├── EnemyShotNormal.h │ │ │ │ └── EnemyShotPoint.h │ │ │ ├── Fixture.h │ │ │ ├── Game.h │ │ │ ├── GameImp.h │ │ │ ├── GameMode.h │ │ │ ├── Globals.h │ │ │ ├── HUDButtonWindow.h │ │ │ ├── HUDCALLBACK.h │ │ │ ├── HUDGoldMedal.h │ │ │ ├── HUDLimitTime.h │ │ │ ├── HUDLoading.h │ │ │ ├── HUDMainDisplay.h │ │ │ ├── HUDMainMenu.h │ │ │ ├── HUDMessageWindow.h │ │ │ ├── HUDOption.h │ │ │ ├── HUDPopupScreen.h │ │ │ ├── HUDRaderMap.h │ │ │ ├── HUDStageTitle.h │ │ │ ├── HintWindowTask.h │ │ │ ├── HudTextParts.h │ │ │ ├── ImageFilter.h │ │ │ ├── MainDisplayTask.h │ │ │ ├── MainMenuExpositionTask.h │ │ │ ├── MainMenuTask.h │ │ │ ├── MainMode.h │ │ │ ├── Message/ │ │ │ │ ├── Camera/ │ │ │ │ │ └── Cameraman/ │ │ │ │ │ └── MsgChangeMode.h │ │ │ │ ├── HUDButtonWindow/ │ │ │ │ │ └── MsgChangeButtons.h │ │ │ │ ├── HUDGoldMedal/ │ │ │ │ │ └── MsgChangeState.h │ │ │ │ ├── HUDMainMenu/ │ │ │ │ │ ├── MsgChangeState.h │ │ │ │ │ ├── MsgSetCursor.h │ │ │ │ │ └── MsgTransition.h │ │ │ │ ├── Mission/ │ │ │ │ │ └── MsgGetGlobalFlag.h │ │ │ │ ├── ObjJump123/ │ │ │ │ │ └── MsgGetNextPoint.h │ │ │ │ ├── PauseAdapter/ │ │ │ │ │ └── MsgGetText.h │ │ │ │ └── Player/ │ │ │ │ └── MsgSuckPlayer.h │ │ │ ├── MessageWindowTask.h │ │ │ ├── Mission/ │ │ │ │ └── Core.h │ │ │ ├── MovieObject.h │ │ │ ├── MovieObjectWmv.h │ │ │ ├── MovieTask.h │ │ │ ├── MyCue.h │ │ │ ├── MyCueAdx.h │ │ │ ├── MyCueAttenuate.h │ │ │ ├── MyGraphicsDevice.h │ │ │ ├── MyPhantom.h │ │ │ ├── MyRenderProcess.h │ │ │ ├── MyTexture.h │ │ │ ├── MyTransforms.h │ │ │ ├── NamedActor.h │ │ │ ├── NamedTask.h │ │ │ ├── NoSyncThread.h │ │ │ ├── ObjectVehicle.h │ │ │ ├── ObjectVehicleBike.h │ │ │ ├── PauseAdapter.h │ │ │ ├── PauseTask.h │ │ │ ├── Player/ │ │ │ │ ├── GroundRayListener.h │ │ │ │ ├── ICollisionListener.h │ │ │ │ ├── ICollisionListenerTemplate.h │ │ │ │ ├── IDynamicLink.h │ │ │ │ ├── IEventerListener.h │ │ │ │ ├── IExportExternalFlag.h │ │ │ │ ├── IExportPostureRequestFlag.h │ │ │ │ ├── IExportWeaponRequestFlag.h │ │ │ │ ├── IFlagCommunicator.h │ │ │ │ ├── IGauge.h │ │ │ │ ├── INotification.h │ │ │ │ ├── IPlugIn.h │ │ │ │ ├── IPostureControl.h │ │ │ │ ├── IPosturePlugIn.h │ │ │ │ ├── IPostureSupportEdge.h │ │ │ │ ├── IPostureSupportInput.h │ │ │ │ ├── IPostureSupportOttoto.h │ │ │ │ ├── IPostureSupportRayTemplate.h │ │ │ │ ├── IPostureSupportSphere.h │ │ │ │ ├── IScore.h │ │ │ │ ├── IStepable.h │ │ │ │ ├── IVariable.h │ │ │ │ ├── IZock.h │ │ │ │ ├── Input/ │ │ │ │ │ ├── IListener.h │ │ │ │ │ ├── ListenerNormal.h │ │ │ │ │ └── TimedAction.h │ │ │ │ ├── Object.h │ │ │ │ ├── PostureControl.h │ │ │ │ ├── RootFrame.h │ │ │ │ ├── Score.h │ │ │ │ ├── SonicGauge.h │ │ │ │ ├── State/ │ │ │ │ │ ├── CommonContext.h │ │ │ │ │ ├── CommonFall.h │ │ │ │ │ ├── CommonObject.h │ │ │ │ │ ├── ContextSpeedAndJump.h │ │ │ │ │ ├── ICommonContext.h │ │ │ │ │ ├── ICommonContextIF.h │ │ │ │ │ ├── IContext.h │ │ │ │ │ ├── IMachine.h │ │ │ │ │ ├── Machine2.h │ │ │ │ │ ├── Object2.h │ │ │ │ │ ├── SonicContext.h │ │ │ │ │ ├── SonicObject.h │ │ │ │ │ ├── TailsContext.h │ │ │ │ │ └── TailsFlight.h │ │ │ │ ├── Unit/ │ │ │ │ │ └── ITestCase.h │ │ │ │ ├── Weapon/ │ │ │ │ │ └── SonicWeapons.h │ │ │ │ └── Zock.h │ │ │ ├── PropFixture.h │ │ │ ├── RaderMapManager.h │ │ │ ├── RenderAction/ │ │ │ │ ├── ApplyBloom.h │ │ │ │ ├── ApplyDevice.h │ │ │ │ ├── ApplySceneParams.h │ │ │ │ ├── AutoSetAspect.h │ │ │ │ ├── Capture.h │ │ │ │ ├── ClearRenderTarget.h │ │ │ │ ├── ColorFill.h │ │ │ │ ├── CopyTexture.h │ │ │ │ ├── LockBlendMode.h │ │ │ │ ├── LockCullMode.h │ │ │ │ ├── LockZMode.h │ │ │ │ ├── MakeBloom.h │ │ │ │ ├── Movie.h │ │ │ │ ├── PrepareCalculateCSM.h │ │ │ │ ├── Rasterize.h │ │ │ │ ├── RasterizeBurnoutBlur.h │ │ │ │ ├── ResetRenderStates.h │ │ │ │ ├── ResetScissorRect.h │ │ │ │ ├── ResetViewport.h │ │ │ │ ├── Resolve.h │ │ │ │ ├── RunCommandBuffer.h │ │ │ │ ├── SetAutoZPass.h │ │ │ │ ├── SetBackStencilOp.h │ │ │ │ ├── SetBlendMode.h │ │ │ │ ├── SetCSMTextures.h │ │ │ │ ├── SetClip.h │ │ │ │ ├── SetColorWriteEnable.h │ │ │ │ ├── SetConstantShader.h │ │ │ │ ├── SetCullMode.h │ │ │ │ ├── SetCurrentScreen.h │ │ │ │ ├── SetDepthTextures.h │ │ │ │ ├── SetFovY.h │ │ │ │ ├── SetFrameBufferObject.h │ │ │ │ ├── SetReflectionTextures.h │ │ │ │ ├── SetScissorRect.h │ │ │ │ ├── SetScissorTest.h │ │ │ │ ├── SetScreen.h │ │ │ │ ├── SetShaderGPRAllocation.h │ │ │ │ ├── SetStencilEnable.h │ │ │ │ ├── SetStencilFunc.h │ │ │ │ ├── SetStencilOp.h │ │ │ │ ├── SetStencilWriteMask.h │ │ │ │ ├── SetTexture.h │ │ │ │ ├── SetUserClipPlaneEnable.h │ │ │ │ ├── SetViewport.h │ │ │ │ └── SetZMode.h │ │ │ ├── RenderPostprocess.h │ │ │ ├── SaveDataTask.h │ │ │ ├── SaveDataTaskXENON.h │ │ │ ├── SelectWindowTask.h │ │ │ ├── SoX/ │ │ │ │ ├── AI/ │ │ │ │ │ └── StateMachine.h │ │ │ │ ├── ApplicationXenon.h │ │ │ │ ├── ApplicationXenon.inl │ │ │ │ ├── Audio/ │ │ │ │ │ ├── Cue.h │ │ │ │ │ ├── IAudioEngine.h │ │ │ │ │ ├── Player.h │ │ │ │ │ └── PlayerImpl.h │ │ │ │ ├── Component.h │ │ │ │ ├── Engine/ │ │ │ │ │ ├── Application.h │ │ │ │ │ ├── Doc.h │ │ │ │ │ ├── DocMode.h │ │ │ │ │ ├── RenderProcess.h │ │ │ │ │ └── Task.h │ │ │ │ ├── Graphics/ │ │ │ │ │ ├── Device.h │ │ │ │ │ ├── Frame.h │ │ │ │ │ ├── FrameGP.h │ │ │ │ │ ├── FrameObserver.h │ │ │ │ │ ├── Technique.h │ │ │ │ │ ├── TechniqueFXL.h │ │ │ │ │ ├── Texture.h │ │ │ │ │ ├── Transforms.h │ │ │ │ │ ├── Vertex.h │ │ │ │ │ └── Xenon/ │ │ │ │ │ ├── DeviceXenon.h │ │ │ │ │ └── TextureXenon.h │ │ │ │ ├── IResource.h │ │ │ │ ├── IResource2.h │ │ │ │ ├── IResourceMgr.h │ │ │ │ ├── Input/ │ │ │ │ │ ├── Manager.h │ │ │ │ │ └── Manager.inl │ │ │ │ ├── LinkNode.h │ │ │ │ ├── Math/ │ │ │ │ │ ├── Matrix.h │ │ │ │ │ ├── Quaternion.h │ │ │ │ │ └── Vector.h │ │ │ │ ├── Message.h │ │ │ │ ├── MessageReceiver.h │ │ │ │ ├── Object.h │ │ │ │ ├── Physics/ │ │ │ │ │ ├── Entity.h │ │ │ │ │ ├── Havok/ │ │ │ │ │ │ ├── EntityHavok.h │ │ │ │ │ │ ├── EntityHavokImp.h │ │ │ │ │ │ ├── PhantomHavok.h │ │ │ │ │ │ └── WorldHavok.h │ │ │ │ │ ├── IntersectEvent.h │ │ │ │ │ ├── IntersectListener.h │ │ │ │ │ ├── Phantom.h │ │ │ │ │ ├── PhantomListener.h │ │ │ │ │ ├── Shape.h │ │ │ │ │ ├── ShapeCastEvent.h │ │ │ │ │ ├── ShapeCastListener.h │ │ │ │ │ └── World.h │ │ │ │ ├── RefCountObject.h │ │ │ │ ├── RefSharedPointer.h │ │ │ │ ├── Scenery/ │ │ │ │ │ ├── Camera.h │ │ │ │ │ ├── CameraEventCallback.h │ │ │ │ │ ├── CameraImp.h │ │ │ │ │ └── Drawable.h │ │ │ │ └── Thread.h │ │ │ ├── StdImageFilters/ │ │ │ │ ├── BurnoutBlurFilter.h │ │ │ │ └── SingleTechniqueFilter.h │ │ │ ├── System/ │ │ │ │ ├── CreateStatic.h │ │ │ │ ├── Diagnostics/ │ │ │ │ │ └── Performance.h │ │ │ │ └── Singleton.h │ │ │ ├── TextBook.h │ │ │ ├── TextBookMgr.h │ │ │ ├── TextCard.h │ │ │ ├── TextEntity.h │ │ │ ├── TextFontPicture.h │ │ │ ├── TextFontPictureMgr.h │ │ │ ├── TitleTask.h │ │ │ ├── VehicleMissileCtrl.h │ │ │ ├── VehicleMissileCtrlAutomatic.h │ │ │ ├── VehicleMissileCtrlSingle.h │ │ │ ├── WorldRenderProcess.h │ │ │ └── sonicXmaPlayer.h │ │ ├── boost/ │ │ │ └── smart_ptr/ │ │ │ ├── make_shared_object.h │ │ │ └── shared_ptr.h │ │ ├── d3dxb.h │ │ ├── hk330/ │ │ │ ├── hkArray.h │ │ │ ├── hkReferencedObject.h │ │ │ ├── hkpBroadPhaseHandle.h │ │ │ ├── hkpCdBody.h │ │ │ ├── hkpCollidable.h │ │ │ ├── hkpCollidableCollidableFilter.h │ │ │ ├── hkpCollisionFilter.h │ │ │ ├── hkpEntity.h │ │ │ ├── hkpLinkedCollidable.h │ │ │ ├── hkpPhantom.h │ │ │ ├── hkpProperty.h │ │ │ ├── hkpRayCollidableFilter.h │ │ │ ├── hkpRayShapeCollectionFilter.h │ │ │ ├── hkpRigidBody.h │ │ │ ├── hkpShape.h │ │ │ ├── hkpShapeCollectionFilter.h │ │ │ ├── hkpTypedBroadPhaseHandle.h │ │ │ ├── hkpWorld.h │ │ │ └── hkpWorldObject.h │ │ └── stdx/ │ │ ├── string.h │ │ ├── vector.h │ │ └── wstring.h │ ├── app.cpp │ ├── app.h │ ├── apu/ │ │ ├── audio.cpp │ │ ├── audio.h │ │ ├── driver/ │ │ │ └── sdl2_driver.cpp │ │ ├── embedded_player.cpp │ │ ├── embedded_player.h │ │ ├── xma_decoder.cpp │ │ └── xma_decoder.h │ ├── cpu/ │ │ ├── guest_stack_var.h │ │ ├── guest_thread.cpp │ │ ├── guest_thread.h │ │ └── ppc_context.h │ ├── decompressor.h │ ├── exports.cpp │ ├── exports.h │ ├── framework.h │ ├── gpu/ │ │ ├── cache/ │ │ │ ├── pipeline_state_cache.h │ │ │ ├── vertex_declaration_cache.h │ │ │ └── vertex_element_cache.h │ │ ├── imgui/ │ │ │ ├── imgui_common.cpp │ │ │ ├── imgui_common.h │ │ │ ├── imgui_font_builder.cpp │ │ │ ├── imgui_font_builder.h │ │ │ ├── imgui_snapshot.cpp │ │ │ └── imgui_snapshot.h │ │ ├── shader/ │ │ │ ├── hlsl/ │ │ │ │ ├── .gitignore │ │ │ │ ├── blend_color_alpha_ps.hlsl │ │ │ │ ├── conditional_survey_ps.hlsl │ │ │ │ ├── copy_color_ps.hlsl │ │ │ │ ├── copy_common.hlsli │ │ │ │ ├── copy_depth_ps.hlsl │ │ │ │ ├── copy_vs.hlsl │ │ │ │ ├── csd_filter_ps.hlsl │ │ │ │ ├── csd_no_tex_vs.hlsl │ │ │ │ ├── csd_vs.hlsl │ │ │ │ ├── enhanced_burnout_blur_ps.hlsl │ │ │ │ ├── enhanced_burnout_blur_vs.hlsl │ │ │ │ ├── gamma_correction_ps.hlsl │ │ │ │ ├── gaussian_blur.hlsli │ │ │ │ ├── gaussian_blur_3x3.hlsl │ │ │ │ ├── gaussian_blur_5x5.hlsl │ │ │ │ ├── gaussian_blur_7x7.hlsl │ │ │ │ ├── gaussian_blur_9x9.hlsl │ │ │ │ ├── imgui_common.hlsli │ │ │ │ ├── imgui_ps.hlsl │ │ │ │ ├── imgui_vs.hlsl │ │ │ │ ├── resolve_msaa_color.hlsli │ │ │ │ ├── resolve_msaa_color_2x.hlsl │ │ │ │ ├── resolve_msaa_color_4x.hlsl │ │ │ │ ├── resolve_msaa_color_8x.hlsl │ │ │ │ ├── resolve_msaa_depth.hlsli │ │ │ │ ├── resolve_msaa_depth_2x.hlsl │ │ │ │ ├── resolve_msaa_depth_4x.hlsl │ │ │ │ └── resolve_msaa_depth_8x.hlsl │ │ │ └── msl/ │ │ │ ├── .gitignore │ │ │ ├── blend_color_alpha_ps.metal │ │ │ ├── conditional_survey_ps.metal │ │ │ ├── copy_color_ps.metal │ │ │ ├── copy_common.metali │ │ │ ├── copy_depth_ps.metal │ │ │ ├── copy_vs.metal │ │ │ ├── csd_filter_ps.metal │ │ │ ├── csd_no_tex_vs.metal │ │ │ ├── csd_vs.metal │ │ │ ├── enhanced_burnout_blur_ps.metal │ │ │ ├── enhanced_burnout_blur_vs.metal │ │ │ ├── gamma_correction_ps.metal │ │ │ ├── gaussian_blur.metali │ │ │ ├── gaussian_blur_3x3.metal │ │ │ ├── gaussian_blur_5x5.metal │ │ │ ├── gaussian_blur_7x7.metal │ │ │ ├── gaussian_blur_9x9.metal │ │ │ ├── imgui_common.metali │ │ │ ├── imgui_ps.metal │ │ │ ├── imgui_vs.metal │ │ │ ├── resolve_msaa_color.metali │ │ │ ├── resolve_msaa_color_2x.metal │ │ │ ├── resolve_msaa_color_4x.metal │ │ │ ├── resolve_msaa_color_8x.metal │ │ │ ├── resolve_msaa_depth.metali │ │ │ ├── resolve_msaa_depth_2x.metal │ │ │ ├── resolve_msaa_depth_4x.metal │ │ │ └── resolve_msaa_depth_8x.metal │ │ ├── video.cpp │ │ └── video.h │ ├── hid/ │ │ ├── driver/ │ │ │ └── sdl_hid.cpp │ │ ├── hid.cpp │ │ └── hid.h │ ├── install/ │ │ ├── directory_file_system.h │ │ ├── hashes/ │ │ │ ├── episode_amigo.cpp │ │ │ ├── episode_amigo.h │ │ │ ├── episode_shadow.cpp │ │ │ ├── episode_shadow.h │ │ │ ├── episode_silver.cpp │ │ │ ├── episode_silver.h │ │ │ ├── episode_sonic.cpp │ │ │ ├── episode_sonic.h │ │ │ ├── game.cpp │ │ │ ├── game.h │ │ │ ├── mission_shadow.cpp │ │ │ ├── mission_shadow.h │ │ │ ├── mission_silver.cpp │ │ │ ├── mission_silver.h │ │ │ ├── mission_sonic.cpp │ │ │ └── mission_sonic.h │ │ ├── installer.cpp │ │ ├── installer.h │ │ ├── iso_file_system.cpp │ │ ├── iso_file_system.h │ │ ├── update_checker.cpp │ │ ├── update_checker.h │ │ ├── virtual_file_system.h │ │ ├── xcontent_file_system.cpp │ │ └── xcontent_file_system.h │ ├── kernel/ │ │ ├── freelist.h │ │ ├── function.h │ │ ├── heap.cpp │ │ ├── heap.h │ │ ├── imports.cpp │ │ ├── io/ │ │ │ ├── file_system.cpp │ │ │ └── file_system.h │ │ ├── memory.cpp │ │ ├── memory.h │ │ ├── xam.cpp │ │ ├── xam.h │ │ ├── xdbf.h │ │ ├── xdm.cpp │ │ └── xdm.h │ ├── locale/ │ │ ├── achievement_locale.cpp │ │ ├── achievement_locale.h │ │ ├── config_locale.cpp │ │ ├── locale.cpp │ │ └── locale.h │ ├── main.cpp │ ├── misc_impl.cpp │ ├── mod/ │ │ ├── ini_file.h │ │ ├── ini_file.inl │ │ ├── mod_loader.cpp │ │ └── mod_loader.h │ ├── mutex.h │ ├── natvis.natvis │ ├── os/ │ │ ├── .gitignore │ │ ├── linux/ │ │ │ ├── logger_linux.cpp │ │ │ ├── media_linux.cpp │ │ │ ├── process_linux.cpp │ │ │ ├── registry_linux.inl │ │ │ ├── user_linux.cpp │ │ │ └── version_linux.cpp │ │ ├── logger.h │ │ ├── macos/ │ │ │ ├── logger_macos.cpp │ │ │ ├── media_macos.cpp │ │ │ ├── process_macos.cpp │ │ │ ├── registry_macos.inl │ │ │ ├── user_macos.cpp │ │ │ └── version_macos.cpp │ │ ├── media.h │ │ ├── process.h │ │ ├── registry.h │ │ ├── user.h │ │ ├── version.h │ │ └── win32/ │ │ ├── logger_win32.cpp │ │ ├── media_win32.cpp │ │ ├── process_win32.cpp │ │ ├── registry_win32.inl │ │ ├── user_win32.cpp │ │ └── version_win32.cpp │ ├── patches/ │ │ ├── MainMenuTask_patches.cpp │ │ ├── MainMenuTask_patches.h │ │ ├── SaveDataTask_patches.cpp │ │ ├── TitleTask_patches.cpp │ │ ├── aspect_ratio_patches.cpp │ │ ├── aspect_ratio_patches.h │ │ ├── audio_patches.cpp │ │ ├── audio_patches.h │ │ ├── camera_patches.cpp │ │ ├── camera_patches.h │ │ ├── fps_patches.cpp │ │ ├── frontend_listener.cpp │ │ ├── hook_event.h │ │ ├── input_patches.cpp │ │ ├── loading_patches.cpp │ │ ├── loading_patches.h │ │ ├── misc_patches.cpp │ │ ├── patches.h │ │ ├── pause_patches.cpp │ │ ├── player_patches.cpp │ │ ├── text_patches.cpp │ │ ├── text_patches.h │ │ └── video_patches.cpp │ ├── preload_executable.cpp │ ├── preload_executable.h │ ├── res/ │ │ ├── .gitignore │ │ ├── credits.h │ │ ├── macos/ │ │ │ ├── MacOSXBundleInfo.plist.in │ │ │ └── game_icon.icns │ │ ├── version.cpp.template │ │ ├── version.h.template │ │ ├── version.txt │ │ └── win32/ │ │ └── res.rc.template │ ├── sdl_events.h │ ├── sdl_listener.cpp │ ├── sdl_listener.h │ ├── stdafx.cpp │ ├── stdafx.h │ ├── ui/ │ │ ├── achievement_menu.cpp │ │ ├── achievement_menu.h │ │ ├── achievement_overlay.cpp │ │ ├── achievement_overlay.h │ │ ├── black_bar.cpp │ │ ├── black_bar.h │ │ ├── button_window.cpp │ │ ├── button_window.h │ │ ├── common_menu.cpp │ │ ├── common_menu.h │ │ ├── fader.cpp │ │ ├── fader.h │ │ ├── game_window.cpp │ │ ├── game_window.h │ │ ├── imgui_utils.cpp │ │ ├── imgui_utils.h │ │ ├── installer_wizard.cpp │ │ ├── installer_wizard.h │ │ ├── message_window.cpp │ │ ├── message_window.h │ │ ├── options_menu.cpp │ │ └── options_menu.h │ ├── user/ │ │ ├── achievement_data.cpp │ │ ├── achievement_data.h │ │ ├── achievement_manager.cpp │ │ ├── achievement_manager.h │ │ ├── config.cpp │ │ ├── config.h │ │ ├── config_def.h │ │ ├── paths.cpp │ │ ├── paths.h │ │ ├── registry.cpp │ │ └── registry.h │ ├── utils/ │ │ ├── bit_stream.cpp │ │ ├── bit_stream.h │ │ ├── ring_buffer.cpp │ │ └── ring_buffer.h │ ├── version.cmake │ └── xxHashMap.h ├── MarathonRecompLib/ │ ├── CMakeLists.txt │ ├── config/ │ │ ├── Marathon.toml │ │ └── switch_table.toml │ ├── ppc/ │ │ └── .gitignore │ ├── private/ │ │ └── .gitignore │ └── shader/ │ ├── .gitignore │ └── shader_cache.h ├── README.md ├── docs/ │ ├── BUILDING.md │ └── DUMPING-en.md ├── flatpak/ │ ├── README.md │ ├── io.github.sonicnext_dev.marathonrecomp.desktop │ ├── io.github.sonicnext_dev.marathonrecomp.json │ └── io.github.sonicnext_dev.marathonrecomp.metainfo.xml ├── thirdparty/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── MoltenVK/ │ │ └── CMakeLists.txt │ └── o1heap/ │ ├── CMakeLists.txt │ ├── o1heap.c │ └── o1heap.h ├── toolchains/ │ └── linux-clang.cmake ├── tools/ │ ├── CMakeLists.txt │ ├── bc_diff/ │ │ ├── CMakeLists.txt │ │ ├── bc_diff.cpp │ │ └── bc_diff.h │ ├── file_to_c/ │ │ ├── CMakeLists.txt │ │ └── file_to_c.cpp │ ├── fshasher/ │ │ ├── CMakeLists.txt │ │ ├── fshasher.cpp │ │ └── plainargs.h │ ├── u8extract/ │ │ ├── CMakeLists.txt │ │ └── u8extract.cpp │ └── x_decompress/ │ ├── CMakeLists.txt │ └── x_decompress.cpp ├── update_submodules.bat └── vcpkg.json