Copy disabled (too large)
Download .txt
Showing preview only (10,879K chars total). Download the full file to get everything.
Repository: Cai1Hsu/re3
Branch: miami
Commit: e19f40616349
Files: 623
Total size: 10.3 MB
Directory structure:
gitextract_6lszgg_8/
├── .clang-format
├── .gitattributes
├── .github/
│ ├── pull_request_template.md
│ └── workflows/
│ ├── build-cmake-conan.yml
│ ├── msbuildvc.yml
│ ├── msbuildvcAyml
│ ├── reLCS_msvc_amd64.yml
│ ├── reLCS_msvc_x86.yml
│ ├── reVC_msvc_amd64.yml
│ └── reVC_msvc_x86.yml
├── .gitignore
├── .gitmodules
├── .vscode/
│ ├── c_cpp_properties.json
│ ├── launch.json
│ ├── settings.json
│ └── tasks.json
├── CMakeLists.txt
├── CODING_STYLE.md
├── README.md
├── cmake/
│ ├── FindMilesSDK.cmake
│ ├── FindSndFile.cmake
│ ├── Findmpg123.cmake
│ ├── Findopusfile.cmake
│ ├── GetGitRevisionDescription.cmake
│ └── GetGitRevisionDescription.cmake.in
├── codewarrior/
│ └── reVC.mcp
├── conanfile.py
├── gamefiles/
│ ├── TEXT/
│ │ ├── american.gxt
│ │ ├── french.gxt
│ │ ├── german.gxt
│ │ ├── italian.gxt
│ │ ├── russian.gxt
│ │ └── spanish.gxt
│ ├── data/
│ │ └── freeroam_miami.scm
│ ├── gamecontrollerdb.txt
│ ├── models/
│ │ ├── fonts_r.txd
│ │ ├── frontend_ds2.txd
│ │ ├── frontend_ds3.txd
│ │ ├── frontend_ds4.txd
│ │ ├── frontend_x360.txd
│ │ ├── frontend_xone.txd
│ │ ├── generic.txd
│ │ ├── particle.txd
│ │ ├── ps3btns.txd
│ │ └── x360btns.txd
│ └── neo/
│ └── neo.txd
├── premake-vs2015.cmd
├── premake-vs2017.cmd
├── premake-vs2019.cmd
├── premake5.lua
├── premake5Linux
├── printHash.bat
├── printHash.sh
├── src/
│ ├── CMakeLists.txt
│ ├── animation/
│ │ ├── AnimBlendAssocGroup.cpp
│ │ ├── AnimBlendAssocGroup.h
│ │ ├── AnimBlendAssociation.cpp
│ │ ├── AnimBlendAssociation.h
│ │ ├── AnimBlendClumpData.cpp
│ │ ├── AnimBlendClumpData.h
│ │ ├── AnimBlendHierarchy.cpp
│ │ ├── AnimBlendHierarchy.h
│ │ ├── AnimBlendList.h
│ │ ├── AnimBlendNode.cpp
│ │ ├── AnimBlendNode.h
│ │ ├── AnimBlendSequence.cpp
│ │ ├── AnimBlendSequence.h
│ │ ├── AnimManager.cpp
│ │ ├── AnimManager.h
│ │ ├── AnimationId.h
│ │ ├── Bones.cpp
│ │ ├── Bones.h
│ │ ├── CutsceneMgr.cpp
│ │ ├── CutsceneMgr.h
│ │ ├── FrameUpdate.cpp
│ │ ├── RpAnimBlend.cpp
│ │ └── RpAnimBlend.h
│ ├── audio/
│ │ ├── AudioCollision.cpp
│ │ ├── AudioCollision.h
│ │ ├── AudioLogic.cpp
│ │ ├── AudioManager.cpp
│ │ ├── AudioManager.h
│ │ ├── AudioSamples.h
│ │ ├── AudioScriptObject.cpp
│ │ ├── AudioScriptObject.h
│ │ ├── DMAudio.cpp
│ │ ├── DMAudio.h
│ │ ├── MusicManager.cpp
│ │ ├── MusicManager.h
│ │ ├── PoliceRadio.cpp
│ │ ├── PoliceRadio.h
│ │ ├── audio_enums.h
│ │ ├── eax/
│ │ │ ├── eax-util.cpp
│ │ │ ├── eax-util.h
│ │ │ └── eax.h
│ │ ├── oal/
│ │ │ ├── aldlist.cpp
│ │ │ ├── aldlist.h
│ │ │ ├── channel.cpp
│ │ │ ├── channel.h
│ │ │ ├── oal_utils.cpp
│ │ │ ├── oal_utils.h
│ │ │ ├── stream.cpp
│ │ │ └── stream.h
│ │ ├── sampman.h
│ │ ├── sampman_miles.cpp
│ │ ├── sampman_null.cpp
│ │ ├── sampman_oal.cpp
│ │ └── soundlist.h
│ ├── buildings/
│ │ ├── Building.cpp
│ │ ├── Building.h
│ │ ├── Solid.h
│ │ ├── Treadable.cpp
│ │ └── Treadable.h
│ ├── collision/
│ │ ├── ColBox.cpp
│ │ ├── ColBox.h
│ │ ├── ColLine.cpp
│ │ ├── ColLine.h
│ │ ├── ColModel.cpp
│ │ ├── ColModel.h
│ │ ├── ColPoint.cpp
│ │ ├── ColPoint.h
│ │ ├── ColSphere.cpp
│ │ ├── ColSphere.h
│ │ ├── ColStore.cpp
│ │ ├── ColStore.h
│ │ ├── ColTriangle.cpp
│ │ ├── ColTriangle.h
│ │ ├── Collision.cpp
│ │ ├── Collision.h
│ │ ├── CompressedVector.h
│ │ ├── TempColModels.cpp
│ │ ├── TempColModels.h
│ │ ├── VuCollision.cpp
│ │ ├── VuCollision.h
│ │ ├── vu0Collision.dsm
│ │ ├── vu0Collision_1.s
│ │ └── vu0Collision_2.s
│ ├── control/
│ │ ├── AutoPilot.cpp
│ │ ├── AutoPilot.h
│ │ ├── Bridge.cpp
│ │ ├── Bridge.h
│ │ ├── CarAI.cpp
│ │ ├── CarAI.h
│ │ ├── CarCtrl.cpp
│ │ ├── CarCtrl.h
│ │ ├── Curves.cpp
│ │ ├── Curves.h
│ │ ├── Darkel.cpp
│ │ ├── Darkel.h
│ │ ├── GameLogic.cpp
│ │ ├── GameLogic.h
│ │ ├── Garages.cpp
│ │ ├── Garages.h
│ │ ├── NameGrid.cpp
│ │ ├── NameGrid.h
│ │ ├── OnscreenTimer.cpp
│ │ ├── OnscreenTimer.h
│ │ ├── PathFind.cpp
│ │ ├── PathFind.h
│ │ ├── Phones.cpp
│ │ ├── Phones.h
│ │ ├── Pickups.cpp
│ │ ├── Pickups.h
│ │ ├── PowerPoints.cpp
│ │ ├── PowerPoints.h
│ │ ├── Record.cpp
│ │ ├── Record.h
│ │ ├── Remote.cpp
│ │ ├── Remote.h
│ │ ├── Replay.cpp
│ │ ├── Replay.h
│ │ ├── Restart.cpp
│ │ ├── Restart.h
│ │ ├── RoadBlocks.cpp
│ │ ├── RoadBlocks.h
│ │ ├── SceneEdit.cpp
│ │ ├── SceneEdit.h
│ │ ├── Script.cpp
│ │ ├── Script.h
│ │ ├── Script2.cpp
│ │ ├── Script3.cpp
│ │ ├── Script4.cpp
│ │ ├── Script5.cpp
│ │ ├── Script6.cpp
│ │ ├── Script7.cpp
│ │ ├── Script8.cpp
│ │ ├── ScriptCommands.h
│ │ ├── SetPieces.cpp
│ │ ├── SetPieces.h
│ │ ├── TrafficLights.cpp
│ │ └── TrafficLights.h
│ ├── core/
│ │ ├── Accident.cpp
│ │ ├── Accident.h
│ │ ├── AnimViewer.cpp
│ │ ├── AnimViewer.h
│ │ ├── Cam.cpp
│ │ ├── Camera.cpp
│ │ ├── Camera.h
│ │ ├── CdStream.cpp
│ │ ├── CdStream.h
│ │ ├── CdStreamPosix.cpp
│ │ ├── Clock.cpp
│ │ ├── Clock.h
│ │ ├── ControllerConfig.cpp
│ │ ├── ControllerConfig.h
│ │ ├── Crime.h
│ │ ├── Debug.cpp
│ │ ├── Debug.h
│ │ ├── Directory.cpp
│ │ ├── Directory.h
│ │ ├── EventList.cpp
│ │ ├── EventList.h
│ │ ├── FileLoader.cpp
│ │ ├── FileLoader.h
│ │ ├── FileMgr.cpp
│ │ ├── FileMgr.h
│ │ ├── Fire.cpp
│ │ ├── Fire.h
│ │ ├── FrontEndControls.cpp
│ │ ├── FrontEndControls.h
│ │ ├── Frontend.cpp
│ │ ├── Frontend.h
│ │ ├── FrontendTriggers.h
│ │ ├── Frontend_PS2.cpp
│ │ ├── Frontend_PS2.h
│ │ ├── Game.cpp
│ │ ├── Game.h
│ │ ├── General.h
│ │ ├── IniFile.cpp
│ │ ├── IniFile.h
│ │ ├── Lists.cpp
│ │ ├── Lists.h
│ │ ├── MenuScreens.cpp
│ │ ├── MenuScreensCustom.cpp
│ │ ├── Pad.cpp
│ │ ├── Pad.h
│ │ ├── Placeable.cpp
│ │ ├── Placeable.h
│ │ ├── PlayerInfo.cpp
│ │ ├── PlayerInfo.h
│ │ ├── Pools.cpp
│ │ ├── Pools.h
│ │ ├── Profile.cpp
│ │ ├── Profile.h
│ │ ├── Radar.cpp
│ │ ├── Radar.h
│ │ ├── Range2D.cpp
│ │ ├── Range2D.h
│ │ ├── Range3D.cpp
│ │ ├── Range3D.h
│ │ ├── References.cpp
│ │ ├── References.h
│ │ ├── Ropes.cpp
│ │ ├── Ropes.h
│ │ ├── Stats.cpp
│ │ ├── Stats.h
│ │ ├── Streaming.cpp
│ │ ├── Streaming.h
│ │ ├── SurfaceTable.cpp
│ │ ├── SurfaceTable.h
│ │ ├── TimeStep.cpp
│ │ ├── TimeStep.h
│ │ ├── Timer.cpp
│ │ ├── Timer.h
│ │ ├── User.cpp
│ │ ├── User.h
│ │ ├── Wanted.cpp
│ │ ├── Wanted.h
│ │ ├── World.cpp
│ │ ├── World.h
│ │ ├── ZoneCull.cpp
│ │ ├── ZoneCull.h
│ │ ├── Zones.cpp
│ │ ├── Zones.h
│ │ ├── common.h
│ │ ├── config.h
│ │ ├── main.cpp
│ │ ├── main.h
│ │ ├── obrstr.cpp
│ │ ├── obrstr.h
│ │ ├── re3.cpp
│ │ ├── templates.h
│ │ ├── timebars.cpp
│ │ └── timebars.h
│ ├── entities/
│ │ ├── Dummy.cpp
│ │ ├── Dummy.h
│ │ ├── Entity.cpp
│ │ ├── Entity.h
│ │ ├── Physical.cpp
│ │ └── Physical.h
│ ├── extras/
│ │ ├── GitSHA1.cpp.in
│ │ ├── GitSHA1.h
│ │ ├── arrow.inc
│ │ ├── cursor.inc
│ │ ├── custompipes.cpp
│ │ ├── custompipes.h
│ │ ├── custompipes_d3d9.cpp
│ │ ├── custompipes_gl.cpp
│ │ ├── debugmenu.cpp
│ │ ├── debugmenu.h
│ │ ├── frontendoption.cpp
│ │ ├── frontendoption.h
│ │ ├── ini_parser.hpp
│ │ ├── postfx.cpp
│ │ ├── postfx.h
│ │ ├── re3_inttypes.h
│ │ ├── screendroplets.cpp
│ │ ├── screendroplets.h
│ │ └── shaders/
│ │ ├── colourfilterVC.frag
│ │ ├── colourfilterVC_PS.hlsl
│ │ ├── contrast.frag
│ │ ├── contrastPS.hlsl
│ │ ├── default_UV2.vert
│ │ ├── default_UV2_VS.hlsl
│ │ ├── im2d.vert
│ │ ├── im2d_UV2.vert
│ │ ├── lighting.h
│ │ ├── make_glsl.sh
│ │ ├── make_hlsl.cmd
│ │ ├── makeinc_glsl.sh
│ │ ├── makeinc_hlsl.sh
│ │ ├── neoGloss.frag
│ │ ├── neoGloss.vert
│ │ ├── neoGloss_PS.hlsl
│ │ ├── neoGloss_VS.hlsl
│ │ ├── neoRim.vert
│ │ ├── neoRimSkin.vert
│ │ ├── neoRimSkin_VS.hlsl
│ │ ├── neoRim_VS.hlsl
│ │ ├── neoVehicle.frag
│ │ ├── neoVehicle.vert
│ │ ├── neoVehicle_PS.hlsl
│ │ ├── neoVehicle_VS.hlsl
│ │ ├── neoWorldVC.frag
│ │ ├── neoWorldVC_PS.hlsl
│ │ ├── screenDroplet.frag
│ │ ├── screenDroplet_PS.hlsl
│ │ ├── simple.frag
│ │ └── standardConstants.h
│ ├── fakerw/
│ │ ├── fake.cpp
│ │ ├── rpanisot.h
│ │ ├── rphanim.h
│ │ ├── rpmatfx.h
│ │ ├── rpskin.h
│ │ ├── rpworld.h
│ │ ├── rtbmp.h
│ │ ├── rtcharse.h
│ │ ├── rtpng.h
│ │ ├── rtquat.h
│ │ ├── rwcore.h
│ │ └── rwplcore.h
│ ├── math/
│ │ ├── Matrix.cpp
│ │ ├── Matrix.h
│ │ ├── Quaternion.cpp
│ │ ├── Quaternion.h
│ │ ├── Rect.cpp
│ │ ├── Rect.h
│ │ ├── Vector.cpp
│ │ ├── Vector.h
│ │ ├── Vector2D.h
│ │ ├── VuVector.h
│ │ ├── math.cpp
│ │ └── maths.h
│ ├── modelinfo/
│ │ ├── BaseModelInfo.cpp
│ │ ├── BaseModelInfo.h
│ │ ├── ClumpModelInfo.cpp
│ │ ├── ClumpModelInfo.h
│ │ ├── ModelIndices.cpp
│ │ ├── ModelIndices.h
│ │ ├── ModelInfo.cpp
│ │ ├── ModelInfo.h
│ │ ├── PedModelInfo.cpp
│ │ ├── PedModelInfo.h
│ │ ├── SimpleModelInfo.cpp
│ │ ├── SimpleModelInfo.h
│ │ ├── TimeModelInfo.cpp
│ │ ├── TimeModelInfo.h
│ │ ├── VehicleModelInfo.cpp
│ │ ├── VehicleModelInfo.h
│ │ ├── WeaponModelInfo.cpp
│ │ └── WeaponModelInfo.h
│ ├── objects/
│ │ ├── CutsceneObject.cpp
│ │ ├── CutsceneObject.h
│ │ ├── DummyObject.cpp
│ │ ├── DummyObject.h
│ │ ├── Object.cpp
│ │ ├── Object.h
│ │ ├── ObjectData.cpp
│ │ ├── ObjectData.h
│ │ ├── ParticleObject.cpp
│ │ ├── ParticleObject.h
│ │ ├── Projectile.cpp
│ │ ├── Projectile.h
│ │ ├── Stinger.cpp
│ │ └── Stinger.h
│ ├── peds/
│ │ ├── CivilianPed.cpp
│ │ ├── CivilianPed.h
│ │ ├── CopPed.cpp
│ │ ├── CopPed.h
│ │ ├── DummyPed.h
│ │ ├── EmergencyPed.cpp
│ │ ├── EmergencyPed.h
│ │ ├── Gangs.cpp
│ │ ├── Gangs.h
│ │ ├── Ped.cpp
│ │ ├── Ped.h
│ │ ├── PedAI.cpp
│ │ ├── PedAttractor.cpp
│ │ ├── PedAttractor.h
│ │ ├── PedChat.cpp
│ │ ├── PedDebug.cpp
│ │ ├── PedFight.cpp
│ │ ├── PedIK.cpp
│ │ ├── PedIK.h
│ │ ├── PedPlacement.cpp
│ │ ├── PedPlacement.h
│ │ ├── PedRoutes.cpp
│ │ ├── PedRoutes.h
│ │ ├── PedType.cpp
│ │ ├── PedType.h
│ │ ├── PlayerPed.cpp
│ │ ├── PlayerPed.h
│ │ ├── Population.cpp
│ │ └── Population.h
│ ├── render/
│ │ ├── 2dEffect.h
│ │ ├── Antennas.cpp
│ │ ├── Antennas.h
│ │ ├── Clouds.cpp
│ │ ├── Clouds.h
│ │ ├── Console.cpp
│ │ ├── Console.h
│ │ ├── Coronas.cpp
│ │ ├── Coronas.h
│ │ ├── Credits.cpp
│ │ ├── Credits.h
│ │ ├── CutsceneShadow.cpp
│ │ ├── CutsceneShadow.h
│ │ ├── Draw.cpp
│ │ ├── Draw.h
│ │ ├── Fluff.cpp
│ │ ├── Fluff.h
│ │ ├── Font.cpp
│ │ ├── Font.h
│ │ ├── Glass.cpp
│ │ ├── Glass.h
│ │ ├── Hud.cpp
│ │ ├── Hud.h
│ │ ├── Instance.cpp
│ │ ├── Instance.h
│ │ ├── Lines.cpp
│ │ ├── Lines.h
│ │ ├── MBlur.cpp
│ │ ├── MBlur.h
│ │ ├── Occlusion.cpp
│ │ ├── Occlusion.h
│ │ ├── Particle.cpp
│ │ ├── Particle.h
│ │ ├── ParticleMgr.cpp
│ │ ├── ParticleMgr.h
│ │ ├── ParticleType.h
│ │ ├── PlayerSkin.cpp
│ │ ├── PlayerSkin.h
│ │ ├── PointLights.cpp
│ │ ├── PointLights.h
│ │ ├── RenderBuffer.cpp
│ │ ├── RenderBuffer.h
│ │ ├── Renderer.cpp
│ │ ├── Renderer.h
│ │ ├── Rubbish.cpp
│ │ ├── Rubbish.h
│ │ ├── ShadowCamera.cpp
│ │ ├── ShadowCamera.h
│ │ ├── Shadows.cpp
│ │ ├── Shadows.h
│ │ ├── Skidmarks.cpp
│ │ ├── Skidmarks.h
│ │ ├── SpecialFX.cpp
│ │ ├── SpecialFX.h
│ │ ├── Sprite.cpp
│ │ ├── Sprite.h
│ │ ├── Sprite2d.cpp
│ │ ├── Sprite2d.h
│ │ ├── TexList.cpp
│ │ ├── TexList.h
│ │ ├── Timecycle.cpp
│ │ ├── Timecycle.h
│ │ ├── VarConsole.cpp
│ │ ├── VarConsole.h
│ │ ├── WaterCannon.cpp
│ │ ├── WaterCannon.h
│ │ ├── WaterCreatures.cpp
│ │ ├── WaterCreatures.h
│ │ ├── WaterLevel.cpp
│ │ ├── WaterLevel.h
│ │ ├── Weather.cpp
│ │ ├── Weather.h
│ │ ├── WindModifiers.cpp
│ │ └── WindModifiers.h
│ ├── rw/
│ │ ├── ClumpRead.cpp
│ │ ├── Lights.cpp
│ │ ├── Lights.h
│ │ ├── MemoryHeap.cpp
│ │ ├── MemoryHeap.h
│ │ ├── MemoryMgr.cpp
│ │ ├── MemoryMgr.h
│ │ ├── NodeName.cpp
│ │ ├── NodeName.h
│ │ ├── RwHelper.cpp
│ │ ├── RwHelper.h
│ │ ├── RwMatFX.cpp
│ │ ├── RwPS2AlphaTest.cpp
│ │ ├── TexRead.cpp
│ │ ├── TexturePools.cpp
│ │ ├── TexturePools.h
│ │ ├── TxdStore.cpp
│ │ ├── TxdStore.h
│ │ ├── VisibilityPlugins.cpp
│ │ └── VisibilityPlugins.h
│ ├── save/
│ │ ├── Date.cpp
│ │ ├── Date.h
│ │ ├── GenericGameStorage.cpp
│ │ ├── GenericGameStorage.h
│ │ ├── MemoryCard.cpp
│ │ ├── MemoryCard.h
│ │ ├── PCSave.cpp
│ │ └── PCSave.h
│ ├── skel/
│ │ ├── crossplatform.cpp
│ │ ├── crossplatform.h
│ │ ├── events.cpp
│ │ ├── events.h
│ │ ├── glfw/
│ │ │ └── glfw.cpp
│ │ ├── platform.h
│ │ ├── skeleton.cpp
│ │ ├── skeleton.h
│ │ └── win/
│ │ ├── resource.h
│ │ ├── win.cpp
│ │ ├── win.h
│ │ └── win.rc
│ ├── text/
│ │ ├── Messages.cpp
│ │ ├── Messages.h
│ │ ├── Pager.cpp
│ │ ├── Pager.h
│ │ ├── Text.cpp
│ │ └── Text.h
│ ├── vehicles/
│ │ ├── Automobile.cpp
│ │ ├── Automobile.h
│ │ ├── Bike.cpp
│ │ ├── Bike.h
│ │ ├── Boat.cpp
│ │ ├── Boat.h
│ │ ├── CarGen.cpp
│ │ ├── CarGen.h
│ │ ├── Cranes.cpp
│ │ ├── Cranes.h
│ │ ├── DamageManager.cpp
│ │ ├── DamageManager.h
│ │ ├── Door.cpp
│ │ ├── Door.h
│ │ ├── Floater.cpp
│ │ ├── Floater.h
│ │ ├── HandlingMgr.cpp
│ │ ├── HandlingMgr.h
│ │ ├── Heli.cpp
│ │ ├── Heli.h
│ │ ├── Plane.cpp
│ │ ├── Plane.h
│ │ ├── Train.cpp
│ │ ├── Train.h
│ │ ├── Transmission.cpp
│ │ ├── Transmission.h
│ │ ├── Vehicle.cpp
│ │ └── Vehicle.h
│ └── weapons/
│ ├── BulletInfo.cpp
│ ├── BulletInfo.h
│ ├── Explosion.cpp
│ ├── Explosion.h
│ ├── ProjectileInfo.cpp
│ ├── ProjectileInfo.h
│ ├── ShotInfo.cpp
│ ├── ShotInfo.h
│ ├── Weapon.cpp
│ ├── Weapon.h
│ ├── WeaponEffects.cpp
│ ├── WeaponEffects.h
│ ├── WeaponInfo.cpp
│ ├── WeaponInfo.h
│ └── WeaponType.h
├── utils/
│ └── gxt/
│ ├── american.txt
│ ├── build.bat
│ ├── french.txt
│ ├── german.txt
│ ├── italian.txt
│ └── spanish.txt
└── vendor/
├── libsndfile/
│ ├── ChangeLog
│ ├── NEWS
│ ├── include/
│ │ ├── sndfile.h
│ │ └── sndfile.hh
│ └── lib/
│ ├── Win32/
│ │ ├── libsndfile-1.def
│ │ ├── libsndfile-1.lib
│ │ └── pkgconfig/
│ │ └── sndfile.pc
│ └── Win64/
│ ├── libsndfile-1.def
│ ├── libsndfile-1.lib
│ └── pkgconfig/
│ └── sndfile.pc
├── milessdk/
│ ├── include/
│ │ └── mss.h
│ └── lib/
│ └── mss32.lib
├── mpg123/
│ ├── include/
│ │ ├── fmt123.h
│ │ └── mpg123.h
│ └── lib/
│ ├── Win32/
│ │ └── libmpg123-0.lib
│ └── Win64/
│ └── libmpg123-0.lib
└── openal-soft/
├── COPYING
├── include/
│ └── AL/
│ ├── al.h
│ ├── alc.h
│ ├── alext.h
│ ├── efx-creative.h
│ ├── efx-presets.h
│ └── efx.h
├── libs/
│ ├── Win32/
│ │ ├── OpenAL32.def
│ │ ├── OpenAL32.lib
│ │ └── libOpenAL32.dll.a
│ └── Win64/
│ ├── OpenAL32.def
│ ├── OpenAL32.lib
│ └── libOpenAL32.dll.a
└── readme.txt
================================================
FILE CONTENTS
================================================
================================================
FILE: .clang-format
================================================
---
AllowShortBlocksOnASingleLine: 'true'
AllowShortCaseLabelsOnASingleLine: 'true'
AllowShortIfStatementsOnASingleLine: 'true'
AllowShortLoopsOnASingleLine: 'true'
AlwaysBreakAfterReturnType: TopLevel
AccessModifierOffset: -8
BreakBeforeBraces: Linux
ColumnLimit: 160
IndentCaseLabels: 'false'
IndentWidth: '8'
Language: Cpp
PointerAlignment: Right
SpaceAfterCStyleCast: 'false'
SpaceBeforeAssignmentOperators: 'true'
SpaceBeforeCtorInitializerColon: 'true'
SpaceBeforeInheritanceColon: 'true'
SpaceBeforeParens: Never
SpaceInEmptyParentheses: 'false'
SpacesInAngles: 'false'
SpacesInCStyleCastParentheses: 'false'
SpacesInContainerLiterals: 'false'
SpacesInParentheses: 'false'
SpacesInSquareBrackets: 'false'
TabWidth: '8'
UseTab: ForIndentation
...
================================================
FILE: .gitattributes
================================================
sdk/* linguist-vendored
vendor/* linguist-vendored
================================================
FILE: .github/pull_request_template.md
================================================
As long as it's not linux/cross-platform skeleton/compatibility layer, all of the code on the repo that's not behind a preprocessor condition(like FIX_BUGS) are **completely** reversed code from original binaries.
We **don't** accept custom codes, as long as it's not wrapped via preprocessor conditions, or it's linux/cross-platform skeleton/compatibility layer.
We accept only these kinds of PRs;
- A new feature that exists in at least one of the GTAs (if it wasn't in III/VC then it doesn't have to be decompilation)
- Game, UI or UX bug fixes (if it's a fix to R* code, it should be behind FIX_BUGS)
- Platform-specific and/or unused code that's not been reversed yet
- Makes reversed code more understandable/accurate, as in "which code would produce this assembly".
- A new cross-platform skeleton/compatibility layer, or improvements to them
- Translation fixes, for languages R* supported/outsourced
- Code that increase maintainability
================================================
FILE: .github/workflows/build-cmake-conan.yml
================================================
name: reLCS conan+cmake
on:
pull_request:
push:
release:
types: published
jobs:
build-cmake:
strategy:
matrix:
include:
- os: 'windows-latest'
platform: 'gl3'
gl3_gfxlib: 'glfw'
audio: 'openal'
# - os: 'windows-latest'
# platform: 'gl3'
# gl3_gfxlib: 'sdl2'
# audio: 'openal'
- os: 'windows-latest'
platform: 'd3d9'
audio: 'openal'
# - os: 'windows-latest'
# platform: 'd3d9'
# audio: 'miles'
- os: 'ubuntu-latest'
platform: 'gl3'
gl3_gfxlib: 'glfw'
audio: 'openal'
# - os: 'ubuntu-latest'
# platform: 'gl3'
# gl3_gfxlib: 'sdl2'
# audio: 'openal'
- os: 'macos-latest'
platform: 'gl3'
gl3_gfxlib: 'glfw'
audio: 'openal'
# - os: 'macos-latest'
# platform: 'gl3'
# gl3_gfxlib: 'sdl2'
# audio: 'openal'
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.platform == 'ps2' || matrix.gl3_gfxlib == 'sdl2' || matrix.audio == 'miles' }}
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: "Checkout Miles SDK Import Library project"
uses: actions/checkout@v2
if: ${{ matrix.audio == 'miles' }}
with:
repository: 'withmorten/re3mss'
path: 're3mss'
- uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: "Use XCode 11 as default (conan-center-index does not provide XCode 12 binaries at the moment)"
if: startsWith(matrix.os, 'macos')
run: |
sudo xcode-select --switch /Applications/Xcode_11.7.app
- name: "Setup conan"
run: |
python -m pip install conan
conan config init
conan config set log.print_run_commands=True
conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan
conan remote add madebr_ps2dev https://api.bintray.com/conan/madebr/ps2dev
- name: "Add os=playstation2 + gcc.version=3.2 to .conan/settings.yml"
shell: python
run: |
import os, yaml
settings_path = os.path.expanduser("~/.conan/settings.yml")
yml = yaml.safe_load(open(settings_path))
yml["os"]["playstation2"] = None
yml["compiler"]["gcc"]["version"].append("3.2")
yml["compiler"]["gcc"]["version"].sort()
yaml.safe_dump(yml, open(settings_path, "w"))
- name: "Create host profile"
shell: bash
run: |
if test "${{ matrix.platform }}" = "ps2"; then
cp vendor/librw/conan/playstation2 host_profile
else
cp ~/.conan/profiles/default host_profile
fi
- name: "Export Playstation 2 CMake toolchain conan recipe"
run: |
conan export vendor/librw/cmake/ps2toolchain ps2dev-cmaketoolchain/master@
- name: "Export librw conan recipe"
run: |
conan export vendor/librw librw/master@
- name: "Export Miles SDK conan recipe"
if: ${{ matrix.audio == 'miles' }}
run: |
conan export re3mss miles-sdk/master@
- name: "Download/build dependencies (conan install)"
run: |
conan install ${{ github.workspace }} reLCS/master@ -if build -o reLCS:audio=${{ matrix.audio }} -o librw:platform=${{ matrix.platform }} -o librw:gl3_gfxlib=${{ matrix.gl3_gfxlib || 'glfw' }} --build missing -pr:h ./host_profile -pr:b default -s reLCS:build_type=RelWithDebInfo -s librw:build_type=RelWithDebInfo
env:
CONAN_SYSREQUIRES_MODE: enabled
- name: "Build reLCS (conan build)"
run: |
conan build ${{ github.workspace }} -if build -bf build -pf package
- name: "Package reLCS (conan package)"
run: |
conan package ${{ github.workspace }} -if build -bf build -pf package
- name: "Create binary package (cpack)"
working-directory: ./build
run: |
cpack -C RelWithDebInfo
- name: "Archive binary package (github artifacts)"
uses: actions/upload-artifact@v2
with:
name: "${{ matrix.os }}-${{ matrix.platform }}"
path: build/*.tar.xz
if-no-files-found: error
================================================
FILE: .github/workflows/msbuildvc.yml
================================================
name: MSBuild_vc
on: [push]
env:
# Path to the solution file relative to the root of the project.
SOLUTION_FILE_PATH: .
# Configuration type to build.
# You can convert this to a build matrix if you need coverage of multiple configuration types.
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
BUILD_CONFIGURATION: Release
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1
- name: Build
working-directory: ${{env.SOLUTION_FILE_PATH}}
# Add additional options to the MSBuild command line here (like platform or verbosity level).
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
run: |
git submodule update --init --recursive
.\premake-vs2019.cmd
msbuild /m /p:Configuration=Release build/reVC.sln
================================================
FILE: .github/workflows/msbuildvcAyml
================================================
name: MSBuild_vc
on: [push]
env:
# Path to the solution file relative to the root of the project.
SOLUTION_FILE_PATH: .
# Configuration type to build.
# You can convert this to a build matrix if you need coverage of multiple configuration types.
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
BUILD_CONFIGURATION: Release
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1
- name: Build
working-directory: ${{env.SOLUTION_FILE_PATH}}
# Add additional options to the MSBuild command line here (like platform or verbosity level).
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
run: |
.\premake-vs2019.cmd
msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} .\build\reVC.sln
================================================
FILE: .github/workflows/reLCS_msvc_amd64.yml
================================================
name: reLCS premake amd64
on:
pull_request:
push:
release:
types: published
env:
GLFW_VER: "3.3.2"
GLFW_BASE: "glfw-3.3.2.bin.WIN64"
GLFW_FILE: "glfw-3.3.2.bin.WIN64.zip"
GLFW_URL: "https://github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.bin.WIN64.zip"
jobs:
build:
runs-on: windows-2019
strategy:
matrix:
platform: [win-amd64-librw_d3d9-oal, win-amd64-librw_gl3_glfw-oal]
buildtype: [Debug, Release]
steps:
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
- uses: actions/checkout@v2
with:
submodules: 'true'
- if: ${{ matrix.platform }} == "win-amd64-librw_gl3_glfw-mss"
name: Download glfw
uses: carlosperate/download-file-action@v1.0.3
with:
file-url: ${{env.GLFW_URL}}
- if: ${{ matrix.platform }} == "win-amd64-librw_gl3_glfw-mss"
name: Unpack archives
run: |
7z x ${{env.GLFW_FILE}}
- name: Configure build
run: |
./premake5 vs2019 --with-librw --glfwdir64=${{env.GLFW_BASE}}
- name: Build
run: |
msbuild -m build/reLCS.sln /property:Configuration=${{matrix.buildtype}} /property:Platform=${{matrix.platform}}
# - name: Pack artifacts
# run: |
# 7z a reLCS_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/*
- name: Move binaries to gamefiles
run: |
mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/reLCS.exe ./gamefiles/
mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/reLCS.pdb ./gamefiles/
- name: Move dynamic dependencies to gamefiles
run: |
mv ./vendor/mpg123/dist/Win64/libmpg123-0.dll ./gamefiles/
mv ./vendor/openal-soft/dist/Win64/OpenAL32.dll ./gamefiles/
- name: Upload artifact to actions
uses: actions/upload-artifact@v2
with:
name: reLCS_${{matrix.buildtype}}_${{matrix.platform}}
path: ./gamefiles/*
# - name: Upload artifact to Bintray
# uses: hpcsc/upload-bintray-docker-action@v1
# with:
# repository: reLCS
# package: ${{matrix.buildtype}}_${{matrix.platform}}
# version: 1.0-$(echo ${GITHUB_SHA}
# sourcePath: ./bin/${{matrix.platform}}/${{matrix.buildtype}}
# username: gtamodding
# apiKey: ${{secrets.BINTRAY_API_KEY}}
================================================
FILE: .github/workflows/reLCS_msvc_x86.yml
================================================
name: reLCS premake x86
on:
pull_request:
push:
release:
types: published
env:
GLFW_VER: "3.3.2"
GLFW_BASE: "glfw-3.3.2.bin.WIN32"
GLFW_FILE: "glfw-3.3.2.bin.WIN32.zip"
GLFW_URL: "https://github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.bin.WIN32.zip"
jobs:
build:
runs-on: windows-2019
strategy:
matrix:
platform: [win-x86-librw_d3d9-mss, win-x86-librw_gl3_glfw-mss, win-x86-librw_d3d9-oal, win-x86-librw_gl3_glfw-oal]
buildtype: [Debug, Release]
steps:
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
- uses: actions/checkout@v2
with:
submodules: 'true'
- if: ${{ matrix.platform }} == "win-x86-librw_gl3_glfw-mss"
name: Download glfw
uses: carlosperate/download-file-action@v1.0.3
with:
file-url: ${{env.GLFW_URL}}
- if: ${{ matrix.platform }} == "win-x86-librw_gl3_glfw-mss"
name: Unpack archives
run: |
7z x ${{env.GLFW_FILE}}
- name: Configure build
run: |
./premake5 vs2019 --with-librw --glfwdir32=${{env.GLFW_BASE}}
- name: Build
run: |
msbuild -m build/reLCS.sln /property:Configuration=${{matrix.buildtype}} /property:Platform=${{matrix.platform}}
# - name: Pack artifacts
# run: |
# 7z a reLCS_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/*
- name: Move binaries to gamefiles
run: |
mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/reLCS.exe ./gamefiles/
mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/reLCS.pdb ./gamefiles/
- if: contains(matrix.platform, 'oal')
name: Move dynamic dependencies to gamefiles
run: |
mv ./vendor/mpg123/dist/Win32/libmpg123-0.dll ./gamefiles/
mv ./vendor/openal-soft/dist/Win32/OpenAL32.dll ./gamefiles/
- name: Upload artifact to actions
uses: actions/upload-artifact@v2
with:
name: reLCS_${{matrix.buildtype}}_${{matrix.platform}}
path: ./gamefiles/*
# - name: Upload artifact to Bintray
# uses: hpcsc/upload-bintray-docker-action@v1
# with:
# repository: reLCS
# package: ${{matrix.buildtype}}_${{matrix.platform}}
# version: 1.0-$(echo ${GITHUB_SHA}
# sourcePath: ./bin/${{matrix.platform}}/${{matrix.buildtype}}
# username: gtamodding
# apiKey: ${{secrets.BINTRAY_API_KEY}}
================================================
FILE: .github/workflows/reVC_msvc_amd64.yml
================================================
name: reVC premake amd64
on:
pull_request:
push:
release:
types: published
env:
GLFW_VER: "3.3.2"
GLFW_BASE: "glfw-3.3.2.bin.WIN64"
GLFW_FILE: "glfw-3.3.2.bin.WIN64.zip"
GLFW_URL: "https://github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.bin.WIN64.zip"
jobs:
build:
runs-on: windows-2019
strategy:
matrix:
platform: [win-amd64-librw_d3d9-oal, win-amd64-librw_gl3_glfw-oal]
buildtype: [Debug, Release, Vanilla]
steps:
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
- uses: actions/checkout@v2
with:
submodules: 'true'
- if: ${{ matrix.platform }} == "win-amd64-librw_gl3_glfw-mss"
name: Download glfw
uses: carlosperate/download-file-action@v1.0.3
with:
file-url: ${{env.GLFW_URL}}
- if: ${{ matrix.platform }} == "win-amd64-librw_gl3_glfw-mss"
name: Unpack archives
run: |
7z x ${{env.GLFW_FILE}}
- name: Configure build
run: |
./premake5 vs2019 --with-librw --glfwdir64=${{env.GLFW_BASE}}
- name: Build
run: |
msbuild -m build/reVC.sln /property:Configuration=${{matrix.buildtype}} /property:Platform=${{matrix.platform}}
# - name: Pack artifacts
# run: |
# 7z a reVC_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/*
- name: Move binaries to gamefiles
run: |
mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/reVC.exe ./gamefiles/
mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/reVC.pdb ./gamefiles/
- name: Move dynamic dependencies to gamefiles
run: |
mv ./vendor/mpg123/dist/Win64/libmpg123-0.dll ./gamefiles/
mv ./vendor/openal-soft/dist/Win64/OpenAL32.dll ./gamefiles/
- name: Upload artifact to actions
uses: actions/upload-artifact@v2
with:
name: reVC_${{matrix.buildtype}}_${{matrix.platform}}
path: ./gamefiles/*
# - name: Upload artifact to Bintray
# uses: hpcsc/upload-bintray-docker-action@v1
# with:
# repository: reVC
# package: ${{matrix.buildtype}}_${{matrix.platform}}
# version: 1.0-$(echo ${GITHUB_SHA}
# sourcePath: ./bin/${{matrix.platform}}/${{matrix.buildtype}}
# username: gtamodding
# apiKey: ${{secrets.BINTRAY_API_KEY}}
================================================
FILE: .github/workflows/reVC_msvc_x86.yml
================================================
name: reVC premake x86
on:
pull_request:
push:
release:
types: published
env:
GLFW_VER: "3.3.2"
GLFW_BASE: "glfw-3.3.2.bin.WIN32"
GLFW_FILE: "glfw-3.3.2.bin.WIN32.zip"
GLFW_URL: "https://github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.bin.WIN32.zip"
jobs:
build:
runs-on: windows-2019
strategy:
matrix:
platform: [win-x86-librw_d3d9-mss, win-x86-librw_gl3_glfw-mss, win-x86-librw_d3d9-oal, win-x86-librw_gl3_glfw-oal]
buildtype: [Debug, Release, Vanilla]
steps:
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
- uses: actions/checkout@v2
with:
submodules: 'true'
- if: ${{ matrix.platform }} == "win-x86-librw_gl3_glfw-mss"
name: Download glfw
uses: carlosperate/download-file-action@v1.0.3
with:
file-url: ${{env.GLFW_URL}}
- if: ${{ matrix.platform }} == "win-x86-librw_gl3_glfw-mss"
name: Unpack archives
run: |
7z x ${{env.GLFW_FILE}}
- name: Configure build
run: |
./premake5 vs2019 --with-librw --glfwdir32=${{env.GLFW_BASE}}
- name: Build
run: |
msbuild -m build/reVC.sln /property:Configuration=${{matrix.buildtype}} /property:Platform=${{matrix.platform}}
# - name: Pack artifacts
# run: |
# 7z a reVC_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/*
- name: Move binaries to gamefiles
run: |
mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/reVC.exe ./gamefiles/
mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/reVC.pdb ./gamefiles/
- if: contains(matrix.platform, 'oal')
name: Move dynamic dependencies to gamefiles
run: |
mv ./vendor/mpg123/dist/Win32/libmpg123-0.dll ./gamefiles/
mv ./vendor/openal-soft/dist/Win32/OpenAL32.dll ./gamefiles/
- name: Upload artifact to actions
uses: actions/upload-artifact@v2
with:
name: reVC_${{matrix.buildtype}}_${{matrix.platform}}
path: ./gamefiles/*
# - name: Upload artifact to Bintray
# uses: hpcsc/upload-bintray-docker-action@v1
# with:
# repository: reVC
# package: ${{matrix.buildtype}}_${{matrix.platform}}
# version: 1.0-$(echo ${GITHUB_SHA}
# sourcePath: ./bin/${{matrix.platform}}/${{matrix.buildtype}}
# username: gtamodding
# apiKey: ${{secrets.BINTRAY_API_KEY}}
================================================
FILE: .gitignore
================================================
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Bb]uild/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
vendor/glew-2.1.0/
vendor/glfw-3.3.2.bin.WIN32/
vendor/glfw-3.3.2.bin.WIN64/
sdk/
codewarrior/reVC_Data/
codewarrior/Release/
codewarrior/Debug/
src/extras/GitSHA1.cpp
================================================
FILE: .gitmodules
================================================
[submodule "vendor/ogg"]
path = vendor/ogg
url = https://github.com/xiph/ogg.git
branch = master
[submodule "vendor/opus"]
path = vendor/opus
url = https://github.com/xiph/opus.git
branch = master
[submodule "vendor/opusfile"]
path = vendor/opusfile
url = https://github.com/xiph/opusfile.git
branch = master
[submodule "vendor/librw"]
path = vendor/librw
url = https://github.com/aap/librw.git
branch = master
================================================
FILE: .vscode/c_cpp_properties.json
================================================
{
"configurations": [
{
"name": "Mac",
"includePath": ["${default}"],
"defines": [],
"macFrameworkPath": [
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks"
],
"compilerPath": "/opt/local/bin/clang",
"compilerArgs": ["-g"],
"cStandard": "gnu11",
"cppStandard": "gnu++14",
"browse": {
"path": [
"/opt/local/include",
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include"
]
}
},
{
"name": "Linux",
"includePath": ["${default}"],
"defines": ["XDG_ROOT"],
"compilerPath": "/usr/bin/gcc",
"compilerArgs": ["-ggdb"],
"cStandard": "gnu11",
"cppStandard": "gnu++14"
}
],
"version": 4
}
================================================
FILE: .vscode/launch.json
================================================
{
"configurations": [
{
"MIMode": "gdb",
"args": [],
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"name": "(gdb) Launch (Linux Debug)",
"preLaunchTask": "Compile (Debug Linux x64)",
"program": "${workspaceFolder}/bin/linux-amd64-librw_gl3_glfw-oal/Debug/re3",
"request": "launch",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"ignoreFailures": true,
"text": "-enable-pretty-printing"
}
],
"stopAtEntry": false,
"targetArchitecture": "x64",
"type": "cppdbg"
},
{
"MIMode": "gdb",
"args": [],
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"name": "(gdb) Launch (Linux Release)",
"preLaunchTask": "Compile (Release Linux x64)",
"program": "${workspaceFolder}/bin/linux-amd64-librw_gl3_glfw-oal/Release/re3",
"request": "launch",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"ignoreFailures": true,
"text": "-enable-pretty-printing"
}
],
"stopAtEntry": false,
"targetArchitecture": "x64",
"type": "cppdbg"
},
{
"MIMode": "lldb",
"args": [],
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"name": "(lldb) Launch (macOS Debug)",
"preLaunchTask": "Compile (Debug macOS x64)",
"program": "${workspaceFolder}/bin/macosx-amd64-librw_gl3_glfw-oal/Debug/re3.app",
"request": "launch",
"setupCommands": [
{
"description": "Enable pretty-printing for lldb",
"ignoreFailures": true,
"text": "-enable-pretty-printing"
}
],
"stopAtEntry": false,
"targetArchitecture": "x64",
"type": "cppdbg"
},
{
"MIMode": "lldb",
"args": [],
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"name": "(lldb) Launch (macOS Release)",
"preLaunchTask": "Compile (Release macOS x64)",
"program": "${workspaceFolder}/bin/macosx-amd64-librw_gl3_glfw-oal/Release/re3.app",
"request": "launch",
"setupCommands": [
{
"description": "Enable pretty-printing for lldb",
"ignoreFailures": true,
"text": "-enable-pretty-printing"
}
],
"stopAtEntry": false,
"targetArchitecture": "x64",
"type": "cppdbg"
}
],
"version": "0.2.0"
}
================================================
FILE: .vscode/settings.json
================================================
{
"C_Cpp.default.cStandard": "gnu11",
"C_Cpp.default.cppStandard": "gnu++14",
"C_Cpp.default.includePath": [
"src/animation",
"src/audio",
"src/control",
"src/core",
"src/entities",
"src/extras",
"src/fakerw",
"src/math",
"src/modelinfo",
"src/objects",
"src/peds",
"src/render",
"src/rw",
"src/save",
"src/skel",
"src/text",
"src/vehicles",
"src/weapons",
"vendor/librw"
],
"C_Cpp.vcFormat.indent.gotoLabels": "leftmostColumn",
"C_Cpp.vcFormat.space.pointerReferenceAlignment": "right",
"cSpell.enabled": false,
"files.trimFinalNewlines": false,
"files.trimTrailingWhitespace": false
}
================================================
FILE: .vscode/tasks.json
================================================
{
"tasks": [
{
"args": ["--with-librw", "gmake2"],
"command": "./premake5Linux",
"label": "Premake (Linux)",
"problemMatcher": "$gcc",
"type": "shell"
},
{
"args": ["--with-librw", "gmake2"],
"command": "premake5",
"label": "Premake (macOS)",
"problemMatcher": "$gcc",
"type": "shell"
},
{
"args": [
"-j5",
"config=debug_linux-amd64-librw_gl3_glfw-oal",
"verbose=1"
],
"command": "make",
"dependsOn": "Premake (Linux)",
"group": {
"isDefault": true,
"kind": "build"
},
"label": "Compile (Debug Linux x64)",
"options": {
"cwd": "${workspaceFolder}/build"
},
"problemMatcher": "$gcc",
"type": "shell"
},
{
"args": [
"-j5",
"config=release_linux-amd64-librw_gl3_glfw-oal",
"verbose=1"
],
"command": "make",
"dependsOn": "Premake (Linux)",
"group": {
"isDefault": true,
"kind": "build"
},
"label": "Compile (Release Linux x64)",
"options": {
"cwd": "${workspaceFolder}/build"
},
"problemMatcher": "$gcc",
"type": "shell"
},
{
"args": [
"-j5",
"config=debug_macosx-amd64-librw_gl3_glfw-oal",
"verbose=1"
],
"command": "make",
"dependsOn": "Premake (macOS)",
"group": {
"isDefault": true,
"kind": "build"
},
"label": "Compile (Debug macOS x64)",
"options": {
"cwd": "${workspaceFolder}/build"
},
"problemMatcher": "$gcc",
"type": "shell"
},
{
"args": [
"-j5",
"config=release_macosx-amd64-librw_gl3_glfw-oal",
"verbose=1"
],
"command": "make",
"dependsOn": "Premake (macOS)",
"group": {
"isDefault": true,
"kind": "build"
},
"label": "Compile (Release macOS x64)",
"options": {
"cwd": "${workspaceFolder}/build"
},
"problemMatcher": "$gcc",
"type": "shell"
}
],
"version": "2.0.0"
}
================================================
FILE: CMakeLists.txt
================================================
cmake_minimum_required(VERSION 3.8)
set(EXECUTABLE reVC)
set(PROJECT REVC)
project(${EXECUTABLE} C CXX)
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
include(GetGitRevisionDescription)
get_git_head_revision(GIT_REFSPEC GIT_SHA1 "ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR")
message(STATUS "Building ${CMAKE_PROJECT_NAME} GIT SHA1: ${GIT_SHA1}")
if(WIN32)
set(${PROJECT}_AUDIOS "OAL" "MSS")
else()
set(${PROJECT}_AUDIOS "OAL")
endif()
set(${PROJECT}_AUDIO "OAL" CACHE STRING "Audio")
option(${PROJECT}_WITH_OPUS "Build ${EXECUTABLE} with opus support" OFF)
option(${PROJECT}_WITH_LIBSNDFILE "Build ${EXECUTABLE} with libsndfile (instead of internal decoder)" OFF)
set_property(CACHE ${PROJECT}_AUDIO PROPERTY STRINGS ${${PROJECT}_AUDIOS})
message(STATUS "${PROJECT}_AUDIO = ${${PROJECT}_AUDIO} (choices=${${PROJECT}_AUDIOS})")
set("${PROJECT}_AUDIO_${${PROJECT}_AUDIO}" ON)
if(NOT ${PROJECT}_AUDIO IN_LIST ${PROJECT}_AUDIOS)
message(FATAL_ERROR "Illegal ${PROJECT}_AUDIO=${${PROJECT}_AUDIO}")
endif()
option(${PROJECT}_VENDORED_LIBRW "Use vendored librw" ON)
if(${PROJECT}_VENDORED_LIBRW)
add_subdirectory(vendor/librw)
else()
find_package(librw REQUIRED)
endif()
add_subdirectory(src)
if(${PROJECT}_INSTALL)
install(DIRECTORY gamefiles/ DESTINATION ".")
if(LIBRW_PLATFORM_NULL)
set(platform "-null")
elseif(LIBRW_PLATFORM_PS2)
set(platform "-ps2")
elseif(LIBRW_PLATFORM_GL3)
if(LIBRW_GL3_GFXLIB STREQUAL "GLFW")
set(platform "-gl3-glfw")
else()
set(platform "-gl3-sdl2")
endif()
elseif(LIBRW_PLATFORM_D3D9)
set(platform "-d3d9")
endif()
if(${PROJECT}_AUDIO_OAL)
set(audio "-oal")
elseif(${PROJECT}_AUDIO_MSS)
set(audio "-mss")
endif()
if(${PROJECT}_WITH_OPUS)
set(audio "${audio}-opus")
endif()
if(NOT LIBRW_PLATFORM_PS2)
if(WIN32)
set(os "-win")
elseif(APPLE)
set(os "-apple")
elseif(UNIX)
set(os "-linux")
else()
set(compiler "-UNK")
message(WARNING "Unknown os. Created cpack package will be wrong. (override using cpack -P)")
endif()
endif()
set(CPACK_PACKAGE_NAME "${PROJECT_NAME}${platform}${audio}${os}${compiler}")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "GTA III reversed")
set(CPACK_PACKAGE_VENDOR "GTAModding")
# FIXME: missing license (https://github.com/GTAmodding/re3/issues/794)
# set(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/LICENSE")
# set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}")
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}")
set(CPACK_GENERATOR "TXZ")
include(CPack)
endif()
================================================
FILE: CODING_STYLE.md
================================================
# Coding style
I started writing in [Plan 9 style](http://man.cat-v.org/plan_9/6/style),
but realize that this is not the most popular style, so I'm willing to compromise.
Try not to deviate too much so the code will look similar across the whole project.
To give examples, these two styles (or anything in between) are fine:
```
type
functionname(args)
{
if(a == b){
s1;
s2;
}else{
s3;
s4;
}
if(x != y)
s5;
}
type functionname(args)
{
if (a == b) {
s1;
s2;
} else {
s3;
s4;
}
if (x != y)
s5;
}
```
This one (or anything more extreme) is heavily discouraged:
```
type functionname ( args )
{
if ( a == b )
{
s1;
s2;
}
else
{
s3;
s4;
}
if ( x != y )
{
s5;
}
}
```
i.e.
* Put the brace on the same line as control statements
* Put the brace on the next line after function definitions and structs/classes
* Put an `else` on the same line with the braces
* Don't put braces around single statements
* Put the function return type on a separate line
* Indent with TABS
As for the less cosmetic choices, here are some guidelines how the code should look:
* Don't use magic numbers where the original source code would have had an enum or similar.
Even if you don't know the exact meaning it's better to call something `FOOBAR_TYPE_4` than just `4`,
since `4` will be used in other places and you can't easily see where else the enum value is used.
* Don't just copy paste code from IDA, make it look nice
* Use the right types. In particular:
* don't use types like `__int16`, we have `int16` for that
* don't use `unsigned`, we have typedefs for that
* don't use `char` for anything but actual characters, use `int8`, `uint8` or `bool`
* don't even think about using win32 types (`BYTE`, `WORD`, &c.) unless you're writing win32 specific code
* declare pointers like `int *ptr;`, not `int* ptr;`
* As for variable names, the original gta source code was not written in a uniform style,
but here are some observations:
* many variables employ a form of hungarian notation, i.e.:
* `m_` may be used for class member variables (mostly those that are considered private)
* `ms_` for (mostly private) static members
* `f` is a float, `i` or `n` is an integer, `b` is a boolean, `a` is an array
* do *not* use `dw` for `DWORD` or so, we're not programming win32
* Generally, try to make the code look as if R* could have written it
================================================
FILE: README.md
================================================
# Take Two, all of their employees, and anyone who supports them can go fuck themselves :). Sincerely, Starman.
<img src="https://github.com/GTAmodding/re3/blob/miami/logo.png?raw=true" alt="reVC logo" width="200">
[](https://actions-badge.atrox.dev/GTAmodding/re3/goto?ref=miami)
<a href="https://discord.gg/ERYg58ttcE"><img src="https://img.shields.io/badge/discord-join-7289DA.svg?logo=discord&longCache=true&style=flat" /></a>
## Intro
In this repository you'll find the fully reversed source code for GTA III ([master](https://github.com/GTAmodding/re3/tree/master/) branch) and GTA VC ([miami](https://github.com/GTAmodding/re3/tree/miami/) branch).
It has been tested and works on Windows, Linux and FreeBSD, on x86, amd64, arm and arm64.\
Rendering is handled either by original RenderWare (D3D8)
or the reimplementation [librw](https://github.com/aap/librw) (D3D9, OpenGL 2.1 or above, OpenGL ES 2.0 or above).\
Audio is done with MSS (using dlls from original GTA) or OpenAL.
We cannot build for PS2 or Xbox yet. If you're interested in doing so, get in touch with us.
## How can I try it?
- reVC requires game assets to work, so you **must** own [a copy of GTA Vice City](https://store.steampowered.com/app/12110/Grand_Theft_Auto_Vice_City/).
- Build reVC or download the latest build:
- [Windows D3D9 MSS 32bit](https://nightly.link/GTAmodding/re3/workflows/reVC_msvc_x86/miami/reVC_Release_win-x86-librw_d3d9-mss.zip)
- [Windows D3D9 64bit](https://nightly.link/GTAmodding/re3/workflows/reVC_msvc_amd64/miami/reVC_Release_win-amd64-librw_d3d9-oal.zip)
- [Windows OpenGL 64bit](https://nightly.link/GTAmodding/re3/workflows/reVC_msvc_amd64/miami/reVC_Release_win-amd64-librw_gl3_glfw-oal.zip)
- [Linux 64bit](https://nightly.link/GTAmodding/re3/workflows/build-cmake-conan/miami/ubuntu-latest-gl3.zip)
- [MacOS 64bit](https://nightly.link/GTAmodding/re3/workflows/build-cmake-conan/miami/macos-latest-gl3.zip)
- Extract the downloaded zip over your GTA VC directory and run reVC. The zip includes the gamefiles and in case of OpenAL the required dlls.
## Screenshots




## Improvements
We have implemented a number of changes and improvements to the original game.
They can be configured in `core/config.h`.
Some of them can be toggled at runtime, some cannot.
* Fixed a lot of smaller and bigger bugs
* User files (saves and settings) stored in GTA root directory
* Settings stored in reVC.ini file instead of gta_vc.set
* Debug menu to do and change various things (Ctrl-M to open)
* Debug camera (Ctrl-B to toggle)
* Rotatable camera
* XInput controller support (Windows)
* No loading screens between islands ("map memory usage" in menu)
* Rendering
* Widescreen support (properly scaled HUD, Menu and FOV)
* PS2 MatFX (vehicle reflections)
* PS2 alpha test (better rendering of transparency)
* Xbox vehicle rendering
* Xbox world lightmap rendering (needs Xbox map)
* Xbox ped rim light
* Xbox screen rain droplets
* More customizable colourfilter
* Menu
* More options
* Controller configuration menu
* ...
* Can load DFFs and TXDs from other platforms, possibly with a performance penalty
* ...
## To-Do
The following things would be nice to have/do:
* Fix physics for high FPS
* Improve performance on lower end devices, especially the OpenGL layer on the Raspberry Pi (if you have experience with this, please get in touch)
* [PS2 port](https://github.com/GTAmodding/re3/wiki/PS2-port)
* Xbox port (not quite as important)
* reverse remaining unused/debug functions
* compare CodeWarrior build with original binary for more accurate code (very tedious)
## Modding
Asset modifications (models, texture, handling, script, ...) should work the same way as with original GTA for the most part.
Mods that make changes to the code (dll/asi, CLEO, limit adjusters) will *not* work.
Some things these mods do are already implemented in re3 (much of SkyGFX, GInput, SilentPatch, Widescreen fix),
others can easily be achieved (increasing limis, see `config.h`),
others will simply have to be rewritten and integrated into the code directly.
Sorry for the inconvenience.
## Building from Source
When using premake, you may want to point GTA_VC_RE_DIR environment variable to GTA Vice City root folder if you want the executable to be moved there via post-build script.
Clone the repository with `git clone --recursive -b miami https://github.com/GTAmodding/re3.git reVC`. Then `cd reVC` into the cloned repository.
<details><summary>Linux Premake</summary>
For Linux using premake, proceed: [Building on Linux](https://github.com/GTAmodding/re3/wiki/Building-on-Linux)
</details>
<details><summary>Linux Conan</summary>
Install python and conan, and then run build.
```
conan export vendor/librw librw/master@
mkdir build
cd build
conan install .. reVC/master@ -if build -o reVC:audio=openal -o librw:platform=gl3 -o librw:gl3_gfxlib=glfw --build missing -s reVC:build_type=RelWithDebInfo -s librw:build_type=RelWithDebInfo
conan build .. -if build -bf build -pf package
```
</details>
<details><summary>FreeBSD</summary>
For FreeBSD using premake, proceed: [Building on FreeBSD](https://github.com/GTAmodding/re3/wiki/Building-on-FreeBSD)
</details>
<details><summary>Windows</summary>
Assuming you have Visual Studio 2015/2017/2019:
- Run one of the `premake-vsXXXX.cmd` variants on root folder.
- Open build/reVC.sln with Visual Studio and compile the solution.
Microsoft recently discontinued its downloads of the DX9 SDK. You can download an archived version here: https://archive.org/details/dxsdk_jun10
**If you choose OpenAL on Windows** You must read [Running OpenAL build on Windows](https://github.com/GTAmodding/re3/wiki/Running-OpenAL-build-on-Windows).
</details>
> :information_source: premake has an `--lto` option if you want the project to be compiled with Link Time Optimization.
> :information_source: There are various settings in [config.h](https://github.com/GTAmodding/re3/tree/miami/src/core/config.h), you may want to take a look there.
> :information_source: reVC uses completely homebrew RenderWare-replacement rendering engine; [librw](https://github.com/aap/librw/). librw comes as submodule of re3, but you also can use LIBRW enviorenment variable to specify path to your own librw.
If you feel the need, you can also use CodeWarrior 7 to compile reVC using the supplied codewarrior/reVC.mcp project - this requires the original RW34 libraries, and the DX8 SDK. The build is unstable compared to the MSVC builds though, and is mostly meant to serve as a reference.
## Contributing
As long as it's not linux/cross-platform skeleton/compatibility layer, all of the code on the repo that's not behind a preprocessor condition(like FIX_BUGS) are **completely** reversed code from original binaries.
We **don't** accept custom codes, as long as it's not wrapped via preprocessor conditions, or it's linux/cross-platform skeleton/compatibility layer.
We accept only these kinds of PRs;
- A new feature that exists in at least one of the GTAs (if it wasn't in III/VC then it doesn't have to be decompilation)
- Game, UI or UX bug fixes (if it's a fix to original code, it should be behind FIX_BUGS)
- Platform-specific and/or unused code that's not been reversed yet
- Makes reversed code more understandable/accurate, as in "which code would produce this assembly".
- A new cross-platform skeleton/compatibility layer, or improvements to them
- Translation fixes, for languages original game supported
- Code that increase maintainability
We have a [Coding Style](https://github.com/GTAmodding/re3/blob/master/CODING_STYLE.md) document that isn't followed or enforced very well.
Do not use features from C++11 or later.
## History
re3 was started sometime in the spring of 2018,
initially as a way to test reversed collision and physics code
inside the game.
This was done by replacing single functions of the game
with their reversed counterparts using a dll.
After a bit of work the project lay dormant for about a year
and was picked up again and pushed to github in May 2019.
At the time I (aap) had reversed around 10k lines of code and estimated
the final game to have around 200-250k.
Others quickly joined the effort (Fire_Head, shfil, erorcun and Nick007J
in time order, and Serge a bit later) and we made very quick progress
throughout the summer of 2019
after which the pace slowed down a bit.
Due to everyone staying home during the start of the Corona pandemic
everybody had a lot of time to work on re3 again and
we finally got a standalone exe in April 2020 (around 180k lines by then).
After the initial excitement and fixing and polishing the code further,
reVC was started in early May 2020 by starting from re3 code,
not by starting from scratch replacing functions with a dll.
After a few months of mostly steady progress we considered reVC
finished in December.
Since then we have started reLCS, which is currently work in progress.
## License
We don't feel like we're in a position to give this code a license.\
The code should only be used for educational, documentation and modding purposes.\
We do not encourage piracy or commercial use.\
Please keep derivate work open source and give proper credit.
================================================
FILE: cmake/FindMilesSDK.cmake
================================================
# - Find Miles SDK
# Find the Miles SDK header + import library
#
# MilesSDK_INCLUDE_DIR - Where to find mss.h
# MilesSDK_LIBRARIES - List of libraries when using MilesSDK.
# MilesSDK_FOUND - True if Miles SDK found.
# MilesSDK::MilesSDK - Imported library of Miles SDK
find_path(MilesSDK_INCLUDE_DIR mss.h
PATHS "${MilesSDK_DIR}"
PATH_SUFFIXES include
)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(_miles_sdk_libname mss64)
else()
set(_miles_sdk_libname mss32)
endif()
find_library(MilesSDK_LIBRARIES NAMES ${_miles_sdk_libname}
PATHS "${MilesSDK_DIR}"
PATH_SUFFIXES lib
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(MilesSDK DEFAULT_MSG MilesSDK_LIBRARIES MilesSDK_INCLUDE_DIR)
if(NOT TARGET MilesSDK::MilesSDK)
add_library(MilesSDK::MilesSDK UNKNOWN IMPORTED)
set_target_properties(MilesSDK::MilesSDK PROPERTIES
IMPORTED_LOCATION "${MilesSDK_LIBRARIES}
INTERFACE_INCLUDE_DIRECTORIES "${MilesSDK_INCLUDE_DIR}"
)
endif()
================================================
FILE: cmake/FindSndFile.cmake
================================================
# Found on http://hg.kvats.net
#
# - Try to find libsndfile
#
# Once done this will define
#
# SNDFILE_FOUND - system has libsndfile
# SNDFILE_INCLUDE_DIRS - the libsndfile include directory
# SNDFILE_LIBRARIES - Link these to use libsndfile
# SNDFILE_CFLAGS - Compile options to use libsndfile
# SndFile::SndFile - Imported library of libsndfile
#
# Copyright (C) 2006 Wengo
#
# Redistribution and use is allowed according to the terms of the New
# BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#
find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
pkg_search_module(PKG_SNDFILE "sndfile")
endif()
find_path(SNDFILE_INCLUDE_DIR
NAMES
sndfile.h
HINTS
${PKG_SNDFILE_INCLUDE_DIRS}
PATHS
/usr/include
/usr/local/include
/opt/local/include
/sw/include
)
find_library(SNDFILE_LIBRARY
NAMES
sndfile
HINTS
${PKG_SNDFILE_LIBRARIES}
PATHS
/usr/lib
/usr/local/lib
/opt/local/lib
/sw/lib
)
set(SNDFILE_CFLAGS "${PKG_SNDFILE_CFLAGS_OTHER}" CACHE STRING "CFLAGS of libsndfile")
set(SNDFILE_INCLUDE_DIRS "${SNDFILE_INCLUDE_DIR}")
set(SNDFILE_LIBRARIES "${SNDFILE_LIBRARY}")
if(SNDFILE_INCLUDE_DIRS AND SNDFILE_LIBRARIES)
set(SNDFILE_FOUND TRUE)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SndFile DEFAULT_MSG SNDFILE_INCLUDE_DIRS SNDFILE_LIBRARIES)
if(NOT TARGET SndFile::SndFile)
add_library(__SndFile INTERFACE)
target_compile_options(__SndFile INTERFACE ${SNDFILE_CFLAGS})
target_include_directories(__SndFile INTERFACE ${SNDFILE_INCLUDE_DIRS})
target_link_libraries(__SndFile INTERFACE ${SNDFILE_LIBRARIES})
add_library(SndFile::SndFile ALIAS __SndFile)
endif()
================================================
FILE: cmake/Findmpg123.cmake
================================================
# - Find mpg123
# Find the native mpg123 includes and library
#
# mpg123_INCLUDE_DIR - Where to find mpg123.h
# mpg123_LIBRARIES - List of libraries when using mpg123.
# mpg123_CFLAGS - Compile options to use mpg123
# mpg123_FOUND - True if mpg123 found.
# MPG123::libmpg123 - Imported library of libmpg123
find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
pkg_search_module(PKG_MPG123 mpg123)
endif()
find_path(mpg123_INCLUDE_DIR mpg123.h
HINTS ${PKG_MPG123_INCLUDE_DIRS}
PATHS "${mpg123_DIR}"
PATH_SUFFIXES include
)
find_library(mpg123_LIBRARIES NAMES mpg123 mpg123-0
HINTS ${PKG_MPG123_LIBRARIES}
PATHS "${mpg123_DIR}"
PATH_SUFFIXES lib
)
set(mpg123_CFLAGS "${PKG_MPG123_CFLAGS_OTHER}" CACHE STRING "CFLAGS of mpg123")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(mpg123 DEFAULT_MSG mpg123_LIBRARIES mpg123_INCLUDE_DIR)
if(NOT TARGET MPG123::libmpg123)
add_library(__libmpg123 INTERFACE)
target_compile_options(__libmpg123 INTERFACE ${mpg123_CFLAGS})
target_include_directories(__libmpg123 INTERFACE ${mpg123_INCLUDE_DIR})
target_link_libraries(__libmpg123 INTERFACE ${mpg123_LIBRARIES})
add_library(MPG123::libmpg123 ALIAS __libmpg123)
endif()
================================================
FILE: cmake/Findopusfile.cmake
================================================
# - Try to find opusfile
#
# Once done this will define
#
# OPUSFILE_FOUND - system has opusfile
# OPUSFILE_INCLUDE_DIRS - the opusfile include directories
# OPUSFILE_LIBRARIES - Link these to use opusfile
# OPUSFILE_CFLAGS - Compile options to use opusfile
# opusfile::opusfile - Imported library of opusfile
#
# FIXME: opusfile does not ship an official opusfile cmake script,
# rename this file/variables/target when/if it has.
find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
pkg_search_module(PKG_OPUSFILE "opusfile")
endif()
find_path(OPUSFILE_INCLUDE_DIR
NAMES
opusfile.h
PATH_SUFFIXES
opusfile
HINTS
${PKG_OPUSFILE_INCLUDE_DIRS}
PATHS
/usr/include
/usr/local/include
/opt/local/include
/sw/include
)
find_library(OPUSFILE_LIBRARY
NAMES
opusfile
HINTS
${PKG_OPUSFILE_LIBRARIES}
PATHS
/usr/lib
/usr/local/lib
/opt/local/lib
/sw/lib
)
set(OPUSFILE_CFLAGS "${PKG_OPUSFILE_CFLAGS_OTHER}" CACHE STRING "CFLAGS of opusfile")
set(OPUSFILE_INCLUDE_DIRS "${OPUSFILE_INCLUDE_DIR}")
set(OPUSFILE_LIBRARIES "${OPUSFILE_LIBRARY}")
if (OPUSFILE_INCLUDE_DIRS AND OPUSFILE_LIBRARIES)
set(OPUSFILE_FOUND TRUE)
endif (OPUSFILE_INCLUDE_DIRS AND OPUSFILE_LIBRARIES)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(opusfile DEFAULT_MSG OPUSFILE_INCLUDE_DIRS OPUSFILE_LIBRARIES)
if(NOT TARGET opusfile::opusfile)
add_library(__opusfile INTERFACE)
target_compile_options(__opusfile INTERFACE ${OPUSFILE_CFLAGS})
target_include_directories(__opusfile INTERFACE ${OPUSFILE_INCLUDE_DIRS})
target_link_libraries(__opusfile INTERFACE ${OPUSFILE_LIBRARIES})
add_library(opusfile::opusfile ALIAS __opusfile)
endif()
================================================
FILE: cmake/GetGitRevisionDescription.cmake
================================================
# - Returns a version string from Git
#
# These functions force a re-configure on each git commit so that you can
# trust the values of the variables in your build system.
#
# get_git_head_revision(<refspecvar> <hashvar> [ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR])
#
# Returns the refspec and sha hash of the current head revision
#
# git_describe(<var> [<additional arguments to git describe> ...])
#
# Returns the results of git describe on the source tree, and adjusting
# the output so that it tests false if an error occurs.
#
# git_describe_working_tree(<var> [<additional arguments to git describe> ...])
#
# Returns the results of git describe on the working tree (--dirty option),
# and adjusting the output so that it tests false if an error occurs.
#
# git_get_exact_tag(<var> [<additional arguments to git describe> ...])
#
# Returns the results of git describe --exact-match on the source tree,
# and adjusting the output so that it tests false if there was no exact
# matching tag.
#
# git_local_changes(<var>)
#
# Returns either "CLEAN" or "DIRTY" with respect to uncommitted changes.
# Uses the return code of "git diff-index --quiet HEAD --".
# Does not regard untracked files.
#
# Requires CMake 2.6 or newer (uses the 'function' command)
#
# Original Author:
# 2009-2020 Ryan Pavlik <ryan.pavlik@gmail.com> <abiryan@ryand.net>
# http://academic.cleardefinition.com
#
# Copyright 2009-2013, Iowa State University.
# Copyright 2013-2020, Ryan Pavlik
# Copyright 2013-2020, Contributors
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
if(__get_git_revision_description)
return()
endif()
set(__get_git_revision_description YES)
# We must run the following at "include" time, not at function call time,
# to find the path to this module rather than the path to a calling list file
get_filename_component(_gitdescmoddir ${CMAKE_CURRENT_LIST_FILE} PATH)
# Function _git_find_closest_git_dir finds the next closest .git directory
# that is part of any directory in the path defined by _start_dir.
# The result is returned in the parent scope variable whose name is passed
# as variable _git_dir_var. If no .git directory can be found, the
# function returns an empty string via _git_dir_var.
#
# Example: Given a path C:/bla/foo/bar and assuming C:/bla/.git exists and
# neither foo nor bar contain a file/directory .git. This wil return
# C:/bla/.git
#
function(_git_find_closest_git_dir _start_dir _git_dir_var)
set(cur_dir "${_start_dir}")
set(git_dir "${_start_dir}/.git")
while(NOT EXISTS "${git_dir}")
# .git dir not found, search parent directories
set(git_previous_parent "${cur_dir}")
get_filename_component(cur_dir ${cur_dir} DIRECTORY)
if(cur_dir STREQUAL git_previous_parent)
# We have reached the root directory, we are not in git
set(${_git_dir_var}
""
PARENT_SCOPE)
return()
endif()
set(git_dir "${cur_dir}/.git")
endwhile()
set(${_git_dir_var}
"${git_dir}"
PARENT_SCOPE)
endfunction()
function(get_git_head_revision _refspecvar _hashvar)
_git_find_closest_git_dir("${CMAKE_CURRENT_SOURCE_DIR}" GIT_DIR)
if("${ARGN}" STREQUAL "ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR")
set(ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR TRUE)
else()
set(ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR FALSE)
endif()
if(NOT "${GIT_DIR}" STREQUAL "")
file(RELATIVE_PATH _relative_to_source_dir "${CMAKE_SOURCE_DIR}"
"${GIT_DIR}")
if("${_relative_to_source_dir}" MATCHES "[.][.]" AND NOT ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR)
# We've gone above the CMake root dir.
set(GIT_DIR "")
endif()
endif()
if("${GIT_DIR}" STREQUAL "")
set(${_refspecvar}
"GITDIR-NOTFOUND"
PARENT_SCOPE)
set(${_hashvar}
"GITDIR-NOTFOUND"
PARENT_SCOPE)
return()
endif()
# Check if the current source dir is a git submodule or a worktree.
# In both cases .git is a file instead of a directory.
#
if(NOT IS_DIRECTORY ${GIT_DIR})
# The following git command will return a non empty string that
# points to the super project working tree if the current
# source dir is inside a git submodule.
# Otherwise the command will return an empty string.
#
execute_process(
COMMAND "${GIT_EXECUTABLE}" rev-parse
--show-superproject-working-tree
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_VARIABLE out
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT "${out}" STREQUAL "")
# If out is empty, GIT_DIR/CMAKE_CURRENT_SOURCE_DIR is in a submodule
file(READ ${GIT_DIR} submodule)
string(REGEX REPLACE "gitdir: (.*)$" "\\1" GIT_DIR_RELATIVE
${submodule})
string(STRIP ${GIT_DIR_RELATIVE} GIT_DIR_RELATIVE)
get_filename_component(SUBMODULE_DIR ${GIT_DIR} PATH)
get_filename_component(GIT_DIR ${SUBMODULE_DIR}/${GIT_DIR_RELATIVE}
ABSOLUTE)
set(HEAD_SOURCE_FILE "${GIT_DIR}/HEAD")
else()
# GIT_DIR/CMAKE_CURRENT_SOURCE_DIR is in a worktree
file(READ ${GIT_DIR} worktree_ref)
# The .git directory contains a path to the worktree information directory
# inside the parent git repo of the worktree.
#
string(REGEX REPLACE "gitdir: (.*)$" "\\1" git_worktree_dir
${worktree_ref})
string(STRIP ${git_worktree_dir} git_worktree_dir)
_git_find_closest_git_dir("${git_worktree_dir}" GIT_DIR)
set(HEAD_SOURCE_FILE "${git_worktree_dir}/HEAD")
endif()
else()
set(HEAD_SOURCE_FILE "${GIT_DIR}/HEAD")
endif()
set(GIT_DATA "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/git-data")
if(NOT EXISTS "${GIT_DATA}")
file(MAKE_DIRECTORY "${GIT_DATA}")
endif()
if(NOT EXISTS "${HEAD_SOURCE_FILE}")
return()
endif()
set(HEAD_FILE "${GIT_DATA}/HEAD")
configure_file("${HEAD_SOURCE_FILE}" "${HEAD_FILE}" COPYONLY)
configure_file("${_gitdescmoddir}/GetGitRevisionDescription.cmake.in"
"${GIT_DATA}/grabRef.cmake" @ONLY)
include("${GIT_DATA}/grabRef.cmake")
set(${_refspecvar}
"${HEAD_REF}"
PARENT_SCOPE)
set(${_hashvar}
"${HEAD_HASH}"
PARENT_SCOPE)
endfunction()
function(git_describe _var)
if(NOT GIT_FOUND)
find_package(Git QUIET)
endif()
get_git_head_revision(refspec hash)
if(NOT GIT_FOUND)
set(${_var}
"GIT-NOTFOUND"
PARENT_SCOPE)
return()
endif()
if(NOT hash)
set(${_var}
"HEAD-HASH-NOTFOUND"
PARENT_SCOPE)
return()
endif()
# TODO sanitize
#if((${ARGN}" MATCHES "&&") OR
# (ARGN MATCHES "||") OR
# (ARGN MATCHES "\\;"))
# message("Please report the following error to the project!")
# message(FATAL_ERROR "Looks like someone's doing something nefarious with git_describe! Passed arguments ${ARGN}")
#endif()
#message(STATUS "Arguments to execute_process: ${ARGN}")
execute_process(
COMMAND "${GIT_EXECUTABLE}" describe --tags --always ${hash} ${ARGN}
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
RESULT_VARIABLE res
OUTPUT_VARIABLE out
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT res EQUAL 0)
set(out "${out}-${res}-NOTFOUND")
endif()
set(${_var}
"${out}"
PARENT_SCOPE)
endfunction()
function(git_describe_working_tree _var)
if(NOT GIT_FOUND)
find_package(Git QUIET)
endif()
if(NOT GIT_FOUND)
set(${_var}
"GIT-NOTFOUND"
PARENT_SCOPE)
return()
endif()
execute_process(
COMMAND "${GIT_EXECUTABLE}" describe --dirty ${ARGN}
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
RESULT_VARIABLE res
OUTPUT_VARIABLE out
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT res EQUAL 0)
set(out "${out}-${res}-NOTFOUND")
endif()
set(${_var}
"${out}"
PARENT_SCOPE)
endfunction()
function(git_get_exact_tag _var)
git_describe(out --exact-match ${ARGN})
set(${_var}
"${out}"
PARENT_SCOPE)
endfunction()
function(git_local_changes _var)
if(NOT GIT_FOUND)
find_package(Git QUIET)
endif()
get_git_head_revision(refspec hash)
if(NOT GIT_FOUND)
set(${_var}
"GIT-NOTFOUND"
PARENT_SCOPE)
return()
endif()
if(NOT hash)
set(${_var}
"HEAD-HASH-NOTFOUND"
PARENT_SCOPE)
return()
endif()
execute_process(
COMMAND "${GIT_EXECUTABLE}" diff-index --quiet HEAD --
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
RESULT_VARIABLE res
OUTPUT_VARIABLE out
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
if(res EQUAL 0)
set(${_var}
"CLEAN"
PARENT_SCOPE)
else()
set(${_var}
"DIRTY"
PARENT_SCOPE)
endif()
endfunction()
================================================
FILE: cmake/GetGitRevisionDescription.cmake.in
================================================
#
# Internal file for GetGitRevisionDescription.cmake
#
# Requires CMake 2.6 or newer (uses the 'function' command)
#
# Original Author:
# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
# http://academic.cleardefinition.com
# Iowa State University HCI Graduate Program/VRAC
#
# Copyright 2009-2012, Iowa State University
# Copyright 2011-2015, Contributors
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
# SPDX-License-Identifier: BSL-1.0
set(HEAD_HASH)
file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024)
string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS)
if(HEAD_CONTENTS MATCHES "ref")
# named branch
string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}")
if(EXISTS "@GIT_DIR@/${HEAD_REF}")
configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY)
else()
configure_file("@GIT_DIR@/packed-refs" "@GIT_DATA@/packed-refs" COPYONLY)
file(READ "@GIT_DATA@/packed-refs" PACKED_REFS)
if(${PACKED_REFS} MATCHES "([0-9a-z]*) ${HEAD_REF}")
set(HEAD_HASH "${CMAKE_MATCH_1}")
endif()
endif()
else()
# detached HEAD
configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY)
endif()
if(NOT HEAD_HASH)
file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024)
string(STRIP "${HEAD_HASH}" HEAD_HASH)
endif()
================================================
FILE: conanfile.py
================================================
from conans import ConanFile, CMake, tools
from conans.errors import ConanException, ConanInvalidConfiguration
import os
import shutil
import textwrap
class ReVCConan(ConanFile):
name = "reVC"
version = "master"
license = "???" # FIXME: https://github.com/GTAmodding/re3/issues/794
settings = "os", "arch", "compiler", "build_type"
generators = "cmake", "cmake_find_package"
options = {
"audio": ["openal", "miles"],
"with_libsndfile": [True, False],
"with_opus": [True, False],
}
default_options = {
"audio": "openal",
"with_libsndfile": False,
"with_opus": False,
# "libsndfile:with_external_libs": False,
# "mpg123:flexible_resampling": False,
# "mpg123:network": False,
# "mpg123:icy": False,
# "mpg123:id3v2": False,
# "mpg123:ieeefloat": False,
# "mpg123:layer1": False,
# "mpg123:layer2": False,
# "mpg123:layer3": False,
# "mpg123:moreinfo": False,
# "sdl2:vulkan": False,
# "sdl2:opengl": True,
# "sdl2:sdl2main": True,
}
no_copy_source = True
@property
def _os_is_playstation2(self):
try:
return self.settings.os == "Playstation2"
except ConanException:
return False
def configure(self):
if self.options.audio != "openal":
self.options.with_libsndfile = False
def requirements(self):
self.requires("librw/{}".format(self.version))
self.requires("mpg123/1.26.4")
if self.options.audio == "openal":
self.requires("openal/1.21.0")
elif self.options.audio == "miles":
self.requires("miles-sdk/{}".format(self.version))
if self.options.with_libsndfile:
self.requires("libsndfile/1.0.30")
if self.options.with_opus:
self.requires("opusfile/0.12")
def export_sources(self):
for d in ("cmake", "src"):
shutil.copytree(src=d, dst=os.path.join(self.export_sources_folder, d))
self.copy("CMakeLists.txt")
def validate(self):
if self.options["librw"].platform == "gl3" and self.options["librw"].gl3_gfxlib != "glfw":
raise ConanInvalidConfiguration("Only `glfw` is supported as gl3_gfxlib.")
#if not self.options.with_opus:
# if not self.options["libsndfile"].with_external_libs:
# raise ConanInvalidConfiguration("reVC with opus support requires a libsndfile built with external libs (=ogg/flac/opus/vorbis)")
@property
def _reVC_audio(self):
return {
"miles": "MSS",
"openal": "OAL",
}[str(self.options.audio)]
def build(self):
if self.source_folder == self.build_folder:
raise Exception("cannot build with source_folder == build_folder")
try:
os.unlink(os.path.join(self.install_folder, "Findlibrw.cmake"))
tools.save("FindOpenAL.cmake",
textwrap.dedent(
"""
set(OPENAL_FOUND ON)
set(OPENAL_INCLUDE_DIR ${OpenAL_INCLUDE_DIRS})
set(OPENAL_LIBRARY ${OpenAL_LIBRARIES})
set(OPENAL_DEFINITIONS ${OpenAL_DEFINITIONS})
"""), append=True)
if self.options["librw"].platform == "gl3" and self.options["librw"].gl3_gfxlib == "glfw":
tools.save("Findglfw3.cmake",
textwrap.dedent(
"""
if(NOT TARGET glfw)
message(STATUS "Creating glfw TARGET")
add_library(glfw INTERFACE IMPORTED)
set_target_properties(glfw PROPERTIES
INTERFACE_LINK_LIBRARIES CONAN_PKG::glfw)
endif()
"""), append=True)
tools.save("CMakeLists.txt",
textwrap.dedent(
"""
cmake_minimum_required(VERSION 3.0)
project(cmake_wrapper)
include("{}/conanbuildinfo.cmake")
conan_basic_setup(TARGETS NO_OUTPUT_DIRS)
add_subdirectory("{}" reVC)
""").format(self.install_folder.replace("\\", "/"),
self.source_folder.replace("\\", "/")))
except FileNotFoundError:
pass
cmake = CMake(self)
cmake.definitions["REVC_AUDIO"] = self._reVC_audio
cmake.definitions["REVC_WITH_OPUS"] = self.options.with_opus
cmake.definitions["REVC_INSTALL"] = True
cmake.definitions["REVC_VENDORED_LIBRW"] = False
env = {}
if self._os_is_playstation2:
cmake.definitions["CMAKE_TOOLCHAIN_FILE"] = self.deps_user_info["ps2dev-cmaketoolchain"].cmake_toolchain_file
env["PS2SDK"] = self.deps_cpp_info["ps2dev-ps2sdk"].rootpath
with tools.environment_append(env):
cmake.configure(source_folder=self.build_folder)
cmake.build()
def package(self):
cmake = CMake(self)
cmake.install()
================================================
FILE: gamefiles/gamecontrollerdb.txt
================================================
# Game Controller DB for SDL in 2.0.9 format
# Source: https://github.com/gabomdq/SDL_GameControllerDB
# Windows
03000000fa2d00000100000000000000,3DRUDDER,leftx:a0,lefty:a1,rightx:a5,righty:a2,platform:Windows,
03000000c82d00002038000000000000,8bitdo,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d000011ab000000000000,8BitDo F30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00001038000000000000,8BitDo F30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00000090000000000000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00000650000000000000,8BitDo M30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:a4,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4,platform:Windows,
03000000c82d00005106000000000000,8BitDo M30 Gamepad,a:b1,b:b0,back:b10,guide:b2,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00000310000000000000,8BitDo N30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows,
03000000c82d00002028000000000000,8BitDo N30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00008010000000000000,8BitDo N30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows,
03000000c82d00000190000000000000,8BitDo N30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00001590000000000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00006528000000000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00015900000000000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00065280000000000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows,
03000000022000000090000000000000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,
03000000203800000900000000000000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00000130000000000000,8BitDo SF30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00000060000000000000,8Bitdo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00000061000000000000,8Bitdo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d000021ab000000000000,8BitDo SFC30,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,
03000000102800000900000000000000,8Bitdo SFC30 GamePad,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00003028000000000000,8Bitdo SFC30 GamePad,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00000030000000000000,8BitDo SN30,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00000351000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00001290000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d000020ab000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00004028000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00006228000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00000160000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00000161000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00000260000000000000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00000261000000000000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00000031000000000000,8BitDo Wireless Adapter,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000c82d00001890000000000000,8BitDo Zero 2,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,
03000000c82d00003032000000000000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,
03000000a00500003232000000000000,8Bitdo Zero GamePad,a:b0,b:b1,back:b10,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows,
030000008f0e00001200000000000000,Acme GA-02,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Windows,
03000000fa190000f0ff000000000000,Acteck AGJ-3200,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
030000006f0e00001413000000000000,Afterglow,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000341a00003608000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006f0e00000263000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006f0e00001101000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006f0e00001401000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006f0e00001402000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006f0e00001901000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006f0e00001a01000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000d62000001d57000000000000,Airflo PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000869800002400000000007801,Astro C40 TR,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
03000000d6200000e557000000000000,Batarang,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000c01100001352000000000000,Battalife Joystick,a:b6,b:b7,back:b2,leftshoulder:b0,leftx:a0,lefty:a1,rightshoulder:b1,start:b3,x:b4,y:b5,platform:Windows,
030000006f0e00003201000000000000,Battlefield 4 PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000d62000002a79000000000000,BDA PS4 Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
03000000bc2000006012000000000000,Betop 2126F,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000bc2000000055000000000000,Betop BFM Gamepad,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000bc2000006312000000000000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000bc2000006321000000000000,BETOP CONTROLLER,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000bc2000006412000000000000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000c01100000555000000000000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000c01100000655000000000000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000790000000700000000000000,Betop Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows,
03000000808300000300000000000000,Betop Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows,
030000006b1400000055000000000000,Bigben PS3 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
030000006b1400000103000000000000,Bigben PS3 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Windows,
0300000066f700000500000000000000,BrutalLegendTest,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b3,platform:Windows,
03000000d81d00000b00000000000000,BUFFALO BSGP1601 Series ,a:b5,b:b3,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b13,x:b4,y:b2,platform:Windows,
03000000e82000006058000000000000,Cideko AK08b,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000457500000401000000000000,Cobra,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000005e0400008e02000000000000,Controller (XBOX 360 For Windows),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
030000005e040000a102000000000000,Controller (Xbox 360 Wireless Receiver for Windows),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
030000005e040000ff02000000000000,Controller (Xbox One For Windows) - Wired,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
030000005e040000ea02000000000000,Controller (Xbox One For Windows) - Wireless,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
03000000260900008888000000000000,Cyber Gadget GameCube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:a4,rightx:a2,righty:a3~,start:b7,x:b2,y:b3,platform:Windows,
03000000a306000022f6000000000000,Cyborg V.3 Rumble Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows,
03000000451300000830000000000000,Defender Game Racer X7,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
030000007d0400000840000000000000,Destroyer Tiltpad,+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b1,b:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,x:b0,y:b3,platform:Windows,
03000000791d00000103000000000000,Dual Box WII,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000bd12000002e0000000000000,Dual USB Vibration Joystick,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0,platform:Windows,
030000008f0e00000910000000000000,DualShock 2,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0,platform:Windows,
030000006f0e00003001000000000000,EA SPORTS PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000b80500000410000000000000,Elecom Gamepad,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Windows,
03000000b80500000610000000000000,Elecom Gamepad,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Windows,
03000000120c0000f61c000000000000,Elite,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000008f0e00000f31000000000000,EXEQ,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Windows,
03000000341a00000108000000000000,EXEQ RF USB Gamepad 8206,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
030000006f0e00008401000000000000,Faceoff Deluxe+ Audio Wired Controller for Nintendo Switch,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006f0e00008001000000000000,Faceoff Wired Pro Controller for Nintendo Switch,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000852100000201000000000000,FF-GP1,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00008500000000000000,Fighting Commander 2016 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00008400000000000000,Fighting Commander 5,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00008700000000000000,Fighting Stick mini 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00008800000000000000,Fighting Stick mini 4,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b8,x:b0,y:b3,platform:Windows,
030000000d0f00002700000000000000,FIGHTING STICK V3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,
78696e70757403000000000000000000,Fightstick TES,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,start:b7,x:b2,y:b3,platform:Windows,
03000000790000002201000000000000,Game Controller for PC,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
0300000066f700000100000000000000,Game VIB Joystick,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Windows,
03000000260900002625000000000000,Gamecube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,lefttrigger:a4,leftx:a0,lefty:a1,righttrigger:a5,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Windows,
03000000790000004618000000000000,GameCube Controller Adapter,a:b1,b:b2,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Windows,
030000008f0e00000d31000000000000,GAMEPAD 3 TURBO,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000280400000140000000000000,GamePad Pro USB,a:b1,b:b2,back:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,
03000000ac0500003d03000000000000,GameSir,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000ac0500004d04000000000000,GameSir,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000ffff00000000000000000000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
03000000c01100000140000000000000,GameStop PS4 Fun Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000006f0e00000102000000007801,GameStop Xbox 360 Wired Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
030000009b2800003200000000000000,GC/N64 to USB v3.4,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:+a5,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:+a2,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Windows,
030000009b2800006000000000000000,GC/N64 to USB v3.6,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:+a5,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:+a2,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Windows,
030000008305000009a0000000000000,Genius,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
030000008305000031b0000000000000,Genius Maxfire Blaze 3,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
03000000451300000010000000000000,Genius Maxfire Grandias 12,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
030000005c1a00003330000000000000,Genius MaxFire Grandias 12V,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Windows,
03000000300f00000b01000000000000,GGE909 Recoil Pad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,
03000000f0250000c283000000000000,Gioteck,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000f025000021c1000000000000,Gioteck PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000f0250000c383000000000000,Gioteck VX2 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000f0250000c483000000000000,Gioteck VX2 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
030000007d0400000540000000000000,Gravis Eliminator GamePad Pro,a:b1,b:b2,back:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,
03000000341a00000302000000000000,Hama Scorpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00004900000000000000,Hatsune Miku Sho Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000001008000001e1000000000000,Havit HV-G60,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b3,y:b0,platform:Windows,
03000000d81400000862000000000000,HitBox Edition Cthulhu+,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,lefttrigger:b4,rightshoulder:b7,righttrigger:b6,start:b9,x:b0,y:b3,platform:Windows,
03000000632500002605000000000000,HJD-X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
030000000d0f00002d00000000000000,Hori Fighting Commander 3 Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00005f00000000000000,Hori Fighting Commander 4 (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00005e00000000000000,Hori Fighting Commander 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00004000000000000000,Hori Fighting Stick Mini 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,lefttrigger:b4,rightshoulder:b7,righttrigger:b6,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00005400000000000000,Hori Pad 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00000900000000000000,Hori Pad 3 Turbo,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00004d00000000000000,Hori Pad A,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00009200000000000000,Hori Pokken Tournament DX Pro Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00001600000000007803,HORI Real Arcade Pro EX-SE (Xbox 360),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,start:b7,x:b2,y:b3,platform:Windows,
030000000d0f00009c00000000000000,Hori TAC Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f0000c100000000000000,Horipad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00006e00000000000000,HORIPAD 4 (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00006600000000000000,HORIPAD 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00005500000000000000,Horipad 4 FPS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f0000ee00000000000000,HORIPAD mini4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
03000000250900000017000000000000,HRAP2 on PS/SS/N64 Joypad to USB BOX,a:b2,b:b1,back:b9,leftshoulder:b5,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b6,start:b8,x:b3,y:b0,platform:Windows,
030000008f0e00001330000000000000,HuiJia SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b9,x:b3,y:b0,platform:Windows,
03000000d81d00000f00000000000000,iBUFFALO BSGP1204 Series,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000d81d00001000000000000000,iBUFFALO BSGP1204P Series,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000830500006020000000000000,iBuffalo SNES Controller,a:b1,b:b0,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b2,platform:Windows,
03000000b50700001403000000000000,Impact Black,a:b2,b:b3,back:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows,
030000006f0e00002401000000000000,INJUSTICE FightStick PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,
03000000ac0500002c02000000000000,IPEGA,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b13,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b14,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000491900000204000000000000,Ipega PG-9023,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000491900000304000000000000,Ipega PG-9087 - Bluetooth Gamepad,+righty:+a5,-righty:-a4,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,start:b11,x:b3,y:b4,platform:Windows,
030000006e0500000a20000000000000,JC-DUX60 ELECOM MMO Gamepad,a:b2,b:b3,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b14,lefttrigger:b12,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b15,righttrigger:b13,rightx:a3,righty:a4,start:b20,x:b0,y:b1,platform:Windows,
030000006e0500000520000000000000,JC-P301U,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Windows,
030000006e0500000320000000000000,JC-U3613M (DInput),a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Windows,
030000006e0500000720000000000000,JC-W01U,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Windows,
030000007e0500000620000000000000,Joy-Con (L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10,rightshoulder:b5,start:b8,x:b2,y:b3,platform:Windows,
030000007e0500000620000001000000,Joy-Con (L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10,rightshoulder:b5,start:b8,x:b2,y:b3,platform:Windows,
030000007e0500000720000000000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Windows,
030000007e0500000720000001000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Windows,
03000000bd12000003c0000000000000,JY-P70UR,a:b1,b:b0,back:b5,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b8,rightstick:b11,righttrigger:b9,rightx:a3,righty:a2,start:b4,x:b3,y:b2,platform:Windows,
03000000242f00002d00000000000000,JYS Wireless Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000242f00008a00000000000000,JYS Wireless Adapter,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows,
03000000790000000200000000000000,King PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows,
030000006d040000d1ca000000000000,Logitech ChillStream,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006d040000d2ca000000000000,Logitech Cordless Precision,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006d04000011c2000000000000,Logitech Cordless Wingman,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b5,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b2,righttrigger:b7,rightx:a3,righty:a4,x:b4,platform:Windows,
030000006d04000016c2000000000000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006d04000018c2000000000000,Logitech F510 Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006d04000019c2000000000000,Logitech F710 Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006d0400001ac2000000000000,Logitech Precision Gamepad,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,
030000006d0400000ac2000000000000,Logitech WingMan RumblePad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,rightx:a3,righty:a4,x:b3,y:b4,platform:Windows,
03000000380700006652000000000000,Mad Catz C.T.R.L.R,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows,
03000000380700005032000000000000,Mad Catz FightPad PRO (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000380700005082000000000000,Mad Catz FightPad PRO (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
03000000380700008433000000000000,Mad Catz FightStick TE S+ (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000380700008483000000000000,Mad Catz FightStick TE S+ (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
03000000380700008134000000000000,Mad Catz FightStick TE2+ PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b7,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b4,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000380700008184000000000000,Mad Catz FightStick TE2+ PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,leftstick:b10,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
03000000380700006252000000000000,Mad Catz Micro C.T.R.L.R,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows,
03000000380700008034000000000000,Mad Catz TE2 PS3 Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000380700008084000000000000,Mad Catz TE2 PS4 Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
03000000380700008532000000000000,Madcatz Arcade Fightstick TE S PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000380700003888000000000000,Madcatz Arcade Fightstick TE S+ PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000380700001888000000000000,MadCatz SFIV FightStick PS3,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b4,righttrigger:b6,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
03000000380700008081000000000000,MADCATZ SFV Arcade FightStick Alpha PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000002a0600001024000000000000,Matricom,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b2,y:b3,platform:Windows,
03000000250900000128000000000000,Mayflash Arcade Stick,a:b1,b:b2,back:b8,leftshoulder:b0,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b3,righttrigger:b7,start:b9,x:b5,y:b6,platform:Windows,
03000000790000004418000000000000,Mayflash GameCube Controller,a:b1,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Windows,
03000000790000004318000000000000,Mayflash GameCube Controller Adapter,a:b1,b:b2,back:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b0,leftshoulder:b4,leftstick:b0,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b0,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Windows,
03000000242f00007300000000000000,Mayflash Magic NS,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows,
0300000079000000d218000000000000,Mayflash Magic NS,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000d620000010a7000000000000,Mayflash Magic NS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000008f0e00001030000000000000,Mayflash USB Adapter for original Sega Saturn controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b5,rightshoulder:b2,righttrigger:b7,start:b9,x:b3,y:b4,platform:Windows,
0300000025090000e803000000000000,Mayflash Wii Classic Controller,a:b1,b:b0,back:b8,dpdown:b13,dpleft:b12,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Windows,
03000000790000000018000000000000,Mayflash WiiU Pro Game Controller Adapter (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000790000002418000000000000,Mega Drive,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,rightshoulder:b2,start:b9,x:b3,y:b4,platform:Windows,
03000000380700006382000000000000,MLG GamePad PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000c62400002a89000000000000,MOGA XP5-A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000c62400002b89000000000000,MOGA XP5-A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000c62400001a89000000000000,MOGA XP5-X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000c62400001b89000000000000,MOGA XP5-X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000efbe0000edfe000000000000,Monect Virtual Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b0,platform:Windows,
03000000250900006688000000000000,MP-8866 Super Dual Box,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,
030000006b140000010c000000000000,NACON GC-400ES,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
030000001008000001e5000000000000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b6,start:b9,x:b3,y:b0,platform:Windows,
03000000152000000182000000000000,NGDS,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b3,y:b0,platform:Windows,
03000000bd12000015d0000000000000,Nintendo Retrolink USB Super SNES Classic Controller,a:b2,b:b1,back:b8,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Windows,
030000007e0500000920000000000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
030000000d0500000308000000000000,Nostromo N45,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b12,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b10,x:b2,y:b3,platform:Windows,
03000000550900001472000000000000,NVIDIA Controller v01.04,a:b11,b:b10,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b7,leftstick:b5,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b4,righttrigger:a5,rightx:a3,righty:a6,start:b3,x:b9,y:b8,platform:Windows,
030000004b120000014d000000000000,NYKO AIRFLO,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:a3,leftstick:a0,lefttrigger:b6,rightshoulder:b5,rightstick:a2,righttrigger:b7,start:b9,x:b2,y:b3,platform:Windows,
03000000782300000a10000000000000,Onlive Wireless Controller,a:b15,b:b14,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b11,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b13,y:b12,platform:Windows,
03000000d62000006d57000000000000,OPP PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006b14000001a1000000000000,Orange Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Windows,
03000000362800000100000000000000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:b13,rightx:a3,righty:a4,x:b1,y:b2,platform:Windows,
03000000120c0000f60e000000000000,P4 Wired Gamepad,a:b1,b:b2,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b5,lefttrigger:b7,rightshoulder:b4,righttrigger:b6,start:b9,x:b0,y:b3,platform:Windows,
030000006f0e00000901000000000000,PDP Versus Fighting Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,
030000008f0e00000300000000000000,Piranha xtreme,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,
030000004c050000da0c000000000000,PlayStation Classic Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows,
03000000d62000006dca000000000000,PowerA Pro Ex,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000d62000009557000000000000,Pro Elite PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000d62000009f31000000000000,Pro Ex mini PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000d6200000c757000000000000,Pro Ex mini PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000632500002306000000000000,PS Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Windows,
03000000e30500009605000000000000,PS to USB convert cable,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,
03000000100800000100000000000000,PS1 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,
030000008f0e00007530000000000000,PS1 Controller,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b1,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000100800000300000000000000,PS2 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a4,righty:a2,start:b9,x:b3,y:b0,platform:Windows,
03000000250900008888000000000000,PS2 Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,
03000000666600006706000000000000,PS2 Controller,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a2,righty:a3,start:b11,x:b3,y:b0,platform:Windows,
030000006b1400000303000000000000,PS2 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
030000009d0d00001330000000000000,PS2 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
03000000250900000500000000000000,PS3 Controller,a:b2,b:b1,back:b9,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b0,y:b3,platform:Windows,
030000004c0500006802000000000000,PS3 Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b10,lefttrigger:a3~,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:a4~,rightx:a2,righty:a5,start:b8,x:b3,y:b0,platform:Windows,
03000000632500007505000000000000,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000888800000803000000000000,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b9,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows,
030000008f0e00001431000000000000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000003807000056a8000000000000,PS3 RF pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000100000008200000000000000,PS360+ v1.66,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:h0.4,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,
030000004c050000a00b000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000004c050000c405000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000004c050000cc09000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000004c050000e60c000000000000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
03000000300f00000011000000000000,QanBa Arcade JoyStick 1008,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b10,x:b0,y:b3,platform:Windows,
03000000300f00001611000000000000,QanBa Arcade JoyStick 4018,a:b1,b:b2,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b8,x:b0,y:b3,platform:Windows,
03000000222c00000020000000000000,QANBA DRONE ARCADE JOYSTICK,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,rightshoulder:b5,righttrigger:a4,start:b9,x:b0,y:b3,platform:Windows,
03000000300f00001210000000000000,QanBa Joystick Plus,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Windows,
03000000341a00000104000000000000,QanBa Joystick Q4RAF,a:b5,b:b6,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b0,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b3,righttrigger:b7,start:b9,x:b1,y:b2,platform:Windows,
03000000222c00000223000000000000,Qanba Obsidian Arcade Joystick PS3 Mode,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000222c00000023000000000000,Qanba Obsidian Arcade Joystick PS4 Mode,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
03000000321500000003000000000000,Razer Hydra,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
03000000321500000204000000000000,Razer Panthera (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000321500000104000000000000,Razer Panthera (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
03000000321500000507000000000000,Razer Raiju Mobile,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000321500000707000000000000,Razer Raiju Mobile,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000321500000011000000000000,Razer Raion Fightpad for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
03000000321500000009000000000000,Razer Serval,+lefty:+a2,-lefty:-a1,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,leftx:a0,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
030000000d0f00001100000000000000,REAL ARCADE PRO.3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00006a00000000000000,Real Arcade Pro.4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00006b00000000000000,Real Arcade Pro.4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00008a00000000000000,Real Arcade Pro.4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00008b00000000000000,Real Arcade Pro.4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00007000000000000000,REAL ARCADE PRO.4 VLX,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00002200000000000000,REAL ARCADE Pro.V3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00005b00000000000000,Real Arcade Pro.V4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000000d0f00005c00000000000000,Real Arcade Pro.V4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000790000001100000000000000,Retrolink SNES Controller,a:b2,b:b1,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Windows,
03000000bd12000013d0000000000000,Retrolink USB SEGA Saturn Classic,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b5,lefttrigger:b6,rightshoulder:b2,righttrigger:b7,start:b8,x:b3,y:b4,platform:Windows,
0300000000f000000300000000000000,RetroUSB.com RetroPad,a:b1,b:b5,back:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Windows,
0300000000f00000f100000000000000,RetroUSB.com Super RetroPort,a:b1,b:b5,back:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Windows,
030000006b140000010d000000000000,Revolution Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000006b140000020d000000000000,Revolution Pro Controller 2(1/2),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000006b140000130d000000000000,Revolution Pro Controller 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000006f0e00001e01000000000000,Rock Candy PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006f0e00002801000000000000,Rock Candy PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000006f0e00002f01000000000000,Rock Candy PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000004f04000003d0000000000000,run'n'drive,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b7,leftshoulder:a3,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:a4,rightstick:b11,righttrigger:b5,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
03000000a30600001af5000000000000,Saitek Cyborg,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows,
03000000a306000023f6000000000000,Saitek Cyborg V.1 Game pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows,
03000000300f00001201000000000000,Saitek Dual Analog Pad,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows,
03000000a30600000701000000000000,Saitek P220,a:b2,b:b3,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b4,righttrigger:b5,x:b0,y:b1,platform:Windows,
03000000a30600000cff000000000000,Saitek P2500 Force Rumble Pad,a:b2,b:b3,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b0,y:b1,platform:Windows,
03000000a30600000c04000000000000,Saitek P2900,a:b1,b:b2,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b3,platform:Windows,
03000000300f00001001000000000000,Saitek P480 Rumble Pad,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows,
03000000a30600000b04000000000000,Saitek P990,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b3,platform:Windows,
03000000a30600000b04000000010000,Saitek P990 Dual Analog Pad,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b8,x:b0,y:b3,platform:Windows,
03000000a30600002106000000000000,Saitek PS1000,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows,
03000000a306000020f6000000000000,Saitek PS2700,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows,
03000000300f00001101000000000000,Saitek Rumble Pad,a:b2,b:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows,
03000000730700000401000000000000,Sanwa PlayOnline Mobile,a:b0,b:b1,back:b2,leftx:a0,lefty:a1,start:b3,platform:Windows,
0300000000050000289b000000000000,Saturn_Adapter_2.0,a:b1,b:b2,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b0,y:b3,platform:Windows,
030000009b2800000500000000000000,Saturn_Adapter_2.0,a:b1,b:b2,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b0,y:b3,platform:Windows,
030000005e0400008e02000000007801,ShanWan PS3/PC Wired GamePad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
03000000341a00000208000000000000,SL-6555-SBK,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:-a4,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a4,rightx:a3,righty:a2,start:b7,x:b2,y:b3,platform:Windows,
03000000341a00000908000000000000,SL-6566,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
030000008f0e00000800000000000000,SpeedLink Strike FX,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000c01100000591000000000000,Speedlink Torid,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000d11800000094000000000000,Stadia Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:b12,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:b11,rightx:a3,righty:a4,start:b9,x:b2,y:b3,platform:Windows,
03000000110100001914000000000000,SteelSeries,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftstick:b13,lefttrigger:b6,leftx:a0,lefty:a1,rightstick:b14,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000381000001214000000000000,SteelSeries Free,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Windows,
03000000110100003114000000000000,SteelSeries Stratus Duo,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000381000001814000000000000,SteelSeries Stratus XL,a:b0,b:b1,back:b18,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,guide:b19,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b2,y:b3,platform:Windows,
03000000790000001c18000000000000,STK-7024X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000ff1100003133000000000000,SVEN X-PAD,a:b2,b:b3,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a4,start:b5,x:b0,y:b1,platform:Windows,
03000000d620000011a7000000000000,Switch,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000457500002211000000000000,SZMY-POWER PC Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000004f04000007d0000000000000,T Mini Wireless,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000004f0400000ab1000000000000,T.16000M,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b4,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b10,x:b2,y:b3,platform:Windows,
03000000fa1900000706000000000000,Team 5,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000b50700001203000000000000,Techmobility X6-38V,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows,
030000004f04000015b3000000000000,Thrustmaster Dual Analog 4,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows,
030000004f04000023b3000000000000,Thrustmaster Dual Trigger 3-in-1,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000004f0400000ed0000000000000,ThrustMaster eSwap PRO Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
030000004f04000000b3000000000000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b11,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b1,y:b3,platform:Windows,
030000004f04000004b3000000000000,Thrustmaster Firestorm Dual Power 3,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows,
03000000666600000488000000000000,TigerGame PS/PS2 Game Controller Adapter,a:b2,b:b1,back:b9,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,
03000000d62000006000000000000000,Tournament PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
030000005f140000c501000000000000,Trust Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000b80500000210000000000000,Trust Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
030000004f04000087b6000000000000,TWCS Throttle,dpdown:b8,dpleft:b9,dpright:b7,dpup:b6,leftstick:b5,lefttrigger:-a5,leftx:a0,lefty:a1,righttrigger:+a5,platform:Windows,
03000000d90400000200000000000000,TwinShock PS2,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,
030000006e0500001320000000000000,U4113,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000101c0000171c000000000000,uRage Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000300f00000701000000000000,USB 4-Axis 12-Button Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,
03000000341a00002308000000000000,USB gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
030000005509000000b4000000000000,USB gamepad,a:b10,b:b11,back:b5,dpdown:b1,dpleft:b2,dpright:b3,dpup:b0,guide:b14,leftshoulder:b8,leftstick:b6,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b7,righttrigger:a5,rightx:a2,righty:a3,start:b4,x:b12,y:b13,platform:Windows,
030000006b1400000203000000000000,USB gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
03000000790000000a00000000000000,USB gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows,
03000000f0250000c183000000000000,USB gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000ff1100004133000000000000,USB gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a4,righty:a2,start:b9,x:b3,y:b0,platform:Windows,
03000000632500002305000000000000,USB Vibration Joystick (BM),a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000790000001a18000000000000,Venom,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
03000000790000001b18000000000000,Venom Arcade Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,
030000006f0e00000302000000000000,Victrix Pro Fight Stick for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,
030000006f0e00000702000000000000,Victrix Pro Fight Stick for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,
0300000034120000adbe000000000000,vJoy Device,a:b0,b:b1,back:b15,dpdown:b6,dpleft:b7,dpright:b8,dpup:b5,guide:b16,leftshoulder:b9,leftstick:b13,lefttrigger:b11,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b14,righttrigger:b12,rightx:+a3,righty:+a4,start:b4,x:b2,y:b3,platform:Windows,
030000005e0400000a0b000000000000,Xbox Adaptive Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
030000005e040000ff02000000007801,Xbox One Elite Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
030000005e040000130b000000000000,Xbox Series Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
03000000341a00000608000000000000,Xeox,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
03000000450c00002043000000000000,XEOX Gamepad SL-6556-BK,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
03000000ac0500005b05000000000000,Xiaoji Gamesir-G3w,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,
03000000172700004431000000000000,XiaoMi Game Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b20,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a7,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,
03000000786901006e70000000000000,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
03000000790000004f18000000000000,ZD-T Android,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,
03000000120c0000101e000000000000,ZEROPLUS P4 Wired Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
# Mac OS X
030000008f0e00000300000009010000,2In1 USB Joystick,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,
03000000c82d00000090000001000000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000c82d00001038000000010000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000c82d00000650000001000000,8BitDo M30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4,platform:Mac OS X,
03000000c82d00005106000000010000,8BitDo M30 Gamepad,a:b1,b:b0,back:b10,guide:b2,leftshoulder:b6,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000c82d00001590000001000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000c82d00006528000000010000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,
030000003512000012ab000001000000,8BitDo NES30 Gamepad,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000022000000090000001000000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000203800000900000000010000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000c82d00000190000001000000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000102800000900000000000000,8Bitdo SFC30 GamePad Joystick,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000c82d00001290000001000000,8BitDo SN30 Gamepad,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000c82d00000160000001000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000c82d00000161000000010000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000c82d00000260000001000000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000c82d00000261000000010000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000c82d00000031000001000000,8BitDo Wireless Adapter,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,
03000000c82d00001890000001000000,8BitDo Zero 2,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000c82d00003032000000010000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a31,start:b11,x:b4,y:b3,platform:Mac OS X,
03000000a00500003232000008010000,8Bitdo Zero GamePad,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Mac OS X,
03000000a00500003232000009010000,8Bitdo Zero GamePad,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Mac OS X,
03000000050b00000045000031000000,ASUS Gamepad,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,
03000000c62400001a89000000010000,BDA MOGA XP5-X Plus,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b14,leftshoulder:b6,leftstick:b15,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b16,righttrigger:a4,rightx:a2,righty:a3,start:b13,x:b3,y:b4,platform:Mac OS X,
03000000c62400001b89000000010000,BDA MOGA XP5-X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,
03000000d62000002a79000000010000,BDA PS4 Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
030000008305000031b0000000000000,Cideko AK08b,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000260900008888000088020000,Cyber Gadget GameCube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:a5,rightx:a2,righty:a3~,start:b7,x:b2,y:b3,platform:Mac OS X,
03000000a306000022f6000001030000,Cyborg V.3 Rumble Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000ad1b000001f9000000000000,Gamestop BB-070 X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,
03000000c01100000140000000010000,GameStop PS4 Fun Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
030000006f0e00000102000000000000,GameStop Xbox 360 Wired Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
030000007d0400000540000001010000,Gravis Eliminator GamePad Pro,a:b1,b:b2,back:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,
030000000d0f00002d00000000100000,Hori Fighting Commander 3 Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000000d0f00005f00000000010000,Hori Fighting Commander 4 (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000000d0f00005e00000000010000,Hori Fighting Commander 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
030000000d0f00005f00000000000000,HORI Fighting Commander 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000000d0f00005e00000000000000,HORI Fighting Commander 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000000d0f00004d00000000000000,HORI Gem Pad 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000000d0f00009200000000010000,Hori Pokken Tournament DX Pro Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,
030000000d0f00006e00000000010000,HORIPAD 4 (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000000d0f00006600000000010000,HORIPAD 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
030000000d0f00006600000000000000,HORIPAD FPS PLUS 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
030000000d0f0000ee00000000010000,HORIPAD mini4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
030000008f0e00001330000011010000,HuiJia SNES Controller,a:b4,b:b2,back:b16,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,leftshoulder:b12,rightshoulder:b14,start:b18,x:b6,y:b0,platform:Mac OS X,
03000000830500006020000000010000,iBuffalo SNES Controller,a:b1,b:b0,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b2,platform:Mac OS X,
03000000830500006020000000000000,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,back:b6,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b3,y:b2,platform:Mac OS X,
030000007e0500000620000001000000,Joy-Con (L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10,rightshoulder:b5,start:b8,x:b2,y:b3,platform:Mac OS X,
030000007e0500000720000001000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Mac OS X,
03000000242f00002d00000007010000,JYS Wireless Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,
030000006d04000016c2000000020000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000006d04000016c2000000030000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000006d04000016c2000014040000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000006d04000016c2000000000000,Logitech F310 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000006d04000018c2000000000000,Logitech F510 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000006d04000019c2000005030000,Logitech F710,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000006d0400001fc2000000000000,Logitech F710 Gamepad (XInput),a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
030000006d04000018c2000000010000,Logitech RumblePad 2 USB,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3~,start:b9,x:b0,y:b3,platform:Mac OS X,
030000006d04000019c2000000000000,Logitech Wireless Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000380700005032000000010000,Mad Catz FightPad PRO (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000380700005082000000010000,Mad Catz FightPad PRO (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000380700008433000000010000,Mad Catz FightStick TE S+ (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000380700008483000000010000,Mad Catz FightStick TE S+ (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000790000004418000000010000,Mayflash GameCube Controller,a:b1,b:b2,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000242f00007300000000020000,Mayflash Magic NS,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b0,y:b3,platform:Mac OS X,
0300000079000000d218000026010000,Mayflash Magic NS,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,
03000000d620000010a7000003010000,Mayflash Magic NS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
0300000025090000e803000000000000,Mayflash Wii Classic Controller,a:b1,b:b0,back:b8,dpdown:b13,dpleft:b12,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Mac OS X,
03000000790000000018000000000000,Mayflash WiiU Pro Game Controller Adapter (DInput),a:b4,b:b8,back:b32,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b16,leftstick:b40,lefttrigger:b24,leftx:a0,lefty:a4,rightshoulder:b20,rightstick:b44,righttrigger:b28,rightx:a8,righty:a12,start:b36,x:b0,y:b12,platform:Mac OS X,
03000000d8140000cecf000000000000,MC Cthulhu,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,
030000005e0400002700000001010000,Microsoft SideWinder Plug & Play Game Pad,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,lefttrigger:b4,leftx:a0,lefty:a1,righttrigger:b5,x:b2,y:b3,platform:Mac OS X,
03000000d62000007162000001000000,Moga Pro 2 HID,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Mac OS X,
03000000c62400002a89000000010000,MOGA XP5-A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b21,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,
03000000c62400002b89000000010000,MOGA XP5-A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,
03000000632500007505000000020000,NEOGEO mini PAD Controller,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,x:b2,y:b3,platform:Mac OS X,
030000001008000001e5000006010000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b6,start:b9,x:b3,y:b0,platform:Mac OS X,
03000000d620000011a7000000020000,Nintendo Switch Core (Plus) Wired Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000007e0500000920000000000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,
030000007e0500000920000001000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,
03000000550900001472000025050000,NVIDIA Controller v01.04,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b4,leftstick:b7,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a5,start:b6,x:b2,y:b3,platform:Mac OS X,
030000006f0e00000901000002010000,PDP Versus Fighting Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,
030000008f0e00000300000000000000,Piranha xtreme,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Mac OS X,
030000004c050000da0c000000010000,Playstation Classic Controller,a:b2,b:b1,back:b8,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Mac OS X,
03000000d62000006dca000000010000,PowerA Pro Ex,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000004c0500006802000000000000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Mac OS X,
030000004c0500006802000000010000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Mac OS X,
030000004c050000a00b000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
030000004c050000c405000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
030000004c050000c405000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
030000004c050000cc09000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
050000004c050000e60c000000010000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
030000008916000000fd000000000000,Razer Onza TE,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
03000000321500000204000000010000,Razer Panthera (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000321500000104000000010000,Razer Panthera (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000321500000010000000010000,Razer RAIJU,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000321500000507000001010000,Razer Raiju Mobile,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b21,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,
03000000321500000011000000010000,Razer Raion Fightpad for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000321500000009000000020000,Razer Serval,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Mac OS X,
030000003215000000090000163a0000,Razer Serval,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Mac OS X,
0300000032150000030a000000000000,Razer Wildcat,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
03000000790000001100000000000000,Retrolink Classic Controller,a:b2,b:b1,back:b8,leftshoulder:b4,leftx:a3,lefty:a4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Mac OS X,
03000000790000001100000006010000,Retrolink SNES Controller,a:b2,b:b1,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Mac OS X,
030000006b140000010d000000010000,Revolution Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
030000006b140000130d000000010000,Revolution Pro Controller 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000c6240000fefa000000000000,Rock Candy Gamepad for PS3,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
03000000730700000401000000010000,Sanwa PlayOnline Mobile,a:b0,b:b1,back:b2,leftx:a0,lefty:a1,start:b3,platform:Mac OS X,
03000000811700007e05000000000000,Sega Saturn,a:b2,b:b4,dpdown:b16,dpleft:b15,dpright:b14,dpup:b17,leftshoulder:b8,lefttrigger:a5,leftx:a0,lefty:a2,rightshoulder:b9,righttrigger:a4,start:b13,x:b0,y:b6,platform:Mac OS X,
03000000b40400000a01000000000000,Sega Saturn USB Gamepad,a:b0,b:b1,back:b5,guide:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b8,x:b3,y:b4,platform:Mac OS X,
030000003512000021ab000000000000,SFC30 Joystick,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,
0300000000f00000f100000000000000,SNES RetroPort,a:b2,b:b3,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b5,rightshoulder:b7,start:b6,x:b0,y:b1,platform:Mac OS X,
030000004c050000e60c000000010000,Sony DualSense,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000004c050000cc09000000000000,Sony DualShock 4 V2,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
030000004c050000a00b000000000000,Sony DualShock 4 Wireless Adaptor,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000d11800000094000000010000,Stadia Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Mac OS X,
030000005e0400008e02000001000000,Steam Virtual Gamepad,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
03000000110100002014000000000000,SteelSeries Nimbus,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b12,x:b2,y:b3,platform:Mac OS X,
03000000110100002014000001000000,SteelSeries Nimbus,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,x:b2,y:b3,platform:Mac OS X,
03000000381000002014000001000000,SteelSeries Nimbus,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,x:b2,y:b3,platform:Mac OS X,
03000000110100001714000000000000,SteelSeries Stratus XL,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,start:b12,x:b2,y:b3,platform:Mac OS X,
03000000110100001714000020010000,SteelSeries Stratus XL,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,start:b12,x:b2,y:b3,platform:Mac OS X,
03000000457500002211000000010000,SZMY-POWER PC Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
030000004f04000015b3000000000000,Thrustmaster Dual Analog 3.2,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Mac OS X,
030000004f0400000ed0000000020000,ThrustMaster eSwap PRO Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
030000004f04000000b3000000000000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b11,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b1,y:b3,platform:Mac OS X,
03000000bd12000015d0000000000000,Tomee SNES USB Controller,a:b2,b:b1,back:b8,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Mac OS X,
03000000bd12000015d0000000010000,Tomee SNES USB Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Mac OS X,
03000000100800000100000000000000,Twin USB Joystick,a:b4,b:b2,back:b16,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b12,leftstick:b20,lefttrigger:b8,leftx:a0,lefty:a2,rightshoulder:b14,rightstick:b22,righttrigger:b10,rightx:a6,righty:a4,start:b18,x:b6,y:b0,platform:Mac OS X,
030000006f0e00000302000025040000,Victrix Pro Fight Stick for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,
030000006f0e00000702000003060000,Victrix Pro Fight Stick for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000791d00000103000009010000,Wii Classic Controller,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,
050000005769696d6f74652028303000,Wii Remote,a:b4,b:b5,back:b7,dpdown:b3,dpleft:b0,dpright:b1,dpup:b2,guide:b8,leftshoulder:b11,lefttrigger:b12,l
gitextract_6lszgg_8/
├── .clang-format
├── .gitattributes
├── .github/
│ ├── pull_request_template.md
│ └── workflows/
│ ├── build-cmake-conan.yml
│ ├── msbuildvc.yml
│ ├── msbuildvcAyml
│ ├── reLCS_msvc_amd64.yml
│ ├── reLCS_msvc_x86.yml
│ ├── reVC_msvc_amd64.yml
│ └── reVC_msvc_x86.yml
├── .gitignore
├── .gitmodules
├── .vscode/
│ ├── c_cpp_properties.json
│ ├── launch.json
│ ├── settings.json
│ └── tasks.json
├── CMakeLists.txt
├── CODING_STYLE.md
├── README.md
├── cmake/
│ ├── FindMilesSDK.cmake
│ ├── FindSndFile.cmake
│ ├── Findmpg123.cmake
│ ├── Findopusfile.cmake
│ ├── GetGitRevisionDescription.cmake
│ └── GetGitRevisionDescription.cmake.in
├── codewarrior/
│ └── reVC.mcp
├── conanfile.py
├── gamefiles/
│ ├── TEXT/
│ │ ├── american.gxt
│ │ ├── french.gxt
│ │ ├── german.gxt
│ │ ├── italian.gxt
│ │ ├── russian.gxt
│ │ └── spanish.gxt
│ ├── data/
│ │ └── freeroam_miami.scm
│ ├── gamecontrollerdb.txt
│ ├── models/
│ │ ├── fonts_r.txd
│ │ ├── frontend_ds2.txd
│ │ ├── frontend_ds3.txd
│ │ ├── frontend_ds4.txd
│ │ ├── frontend_x360.txd
│ │ ├── frontend_xone.txd
│ │ ├── generic.txd
│ │ ├── particle.txd
│ │ ├── ps3btns.txd
│ │ └── x360btns.txd
│ └── neo/
│ └── neo.txd
├── premake-vs2015.cmd
├── premake-vs2017.cmd
├── premake-vs2019.cmd
├── premake5.lua
├── premake5Linux
├── printHash.bat
├── printHash.sh
├── src/
│ ├── CMakeLists.txt
│ ├── animation/
│ │ ├── AnimBlendAssocGroup.cpp
│ │ ├── AnimBlendAssocGroup.h
│ │ ├── AnimBlendAssociation.cpp
│ │ ├── AnimBlendAssociation.h
│ │ ├── AnimBlendClumpData.cpp
│ │ ├── AnimBlendClumpData.h
│ │ ├── AnimBlendHierarchy.cpp
│ │ ├── AnimBlendHierarchy.h
│ │ ├── AnimBlendList.h
│ │ ├── AnimBlendNode.cpp
│ │ ├── AnimBlendNode.h
│ │ ├── AnimBlendSequence.cpp
│ │ ├── AnimBlendSequence.h
│ │ ├── AnimManager.cpp
│ │ ├── AnimManager.h
│ │ ├── AnimationId.h
│ │ ├── Bones.cpp
│ │ ├── Bones.h
│ │ ├── CutsceneMgr.cpp
│ │ ├── CutsceneMgr.h
│ │ ├── FrameUpdate.cpp
│ │ ├── RpAnimBlend.cpp
│ │ └── RpAnimBlend.h
│ ├── audio/
│ │ ├── AudioCollision.cpp
│ │ ├── AudioCollision.h
│ │ ├── AudioLogic.cpp
│ │ ├── AudioManager.cpp
│ │ ├── AudioManager.h
│ │ ├── AudioSamples.h
│ │ ├── AudioScriptObject.cpp
│ │ ├── AudioScriptObject.h
│ │ ├── DMAudio.cpp
│ │ ├── DMAudio.h
│ │ ├── MusicManager.cpp
│ │ ├── MusicManager.h
│ │ ├── PoliceRadio.cpp
│ │ ├── PoliceRadio.h
│ │ ├── audio_enums.h
│ │ ├── eax/
│ │ │ ├── eax-util.cpp
│ │ │ ├── eax-util.h
│ │ │ └── eax.h
│ │ ├── oal/
│ │ │ ├── aldlist.cpp
│ │ │ ├── aldlist.h
│ │ │ ├── channel.cpp
│ │ │ ├── channel.h
│ │ │ ├── oal_utils.cpp
│ │ │ ├── oal_utils.h
│ │ │ ├── stream.cpp
│ │ │ └── stream.h
│ │ ├── sampman.h
│ │ ├── sampman_miles.cpp
│ │ ├── sampman_null.cpp
│ │ ├── sampman_oal.cpp
│ │ └── soundlist.h
│ ├── buildings/
│ │ ├── Building.cpp
│ │ ├── Building.h
│ │ ├── Solid.h
│ │ ├── Treadable.cpp
│ │ └── Treadable.h
│ ├── collision/
│ │ ├── ColBox.cpp
│ │ ├── ColBox.h
│ │ ├── ColLine.cpp
│ │ ├── ColLine.h
│ │ ├── ColModel.cpp
│ │ ├── ColModel.h
│ │ ├── ColPoint.cpp
│ │ ├── ColPoint.h
│ │ ├── ColSphere.cpp
│ │ ├── ColSphere.h
│ │ ├── ColStore.cpp
│ │ ├── ColStore.h
│ │ ├── ColTriangle.cpp
│ │ ├── ColTriangle.h
│ │ ├── Collision.cpp
│ │ ├── Collision.h
│ │ ├── CompressedVector.h
│ │ ├── TempColModels.cpp
│ │ ├── TempColModels.h
│ │ ├── VuCollision.cpp
│ │ ├── VuCollision.h
│ │ ├── vu0Collision.dsm
│ │ ├── vu0Collision_1.s
│ │ └── vu0Collision_2.s
│ ├── control/
│ │ ├── AutoPilot.cpp
│ │ ├── AutoPilot.h
│ │ ├── Bridge.cpp
│ │ ├── Bridge.h
│ │ ├── CarAI.cpp
│ │ ├── CarAI.h
│ │ ├── CarCtrl.cpp
│ │ ├── CarCtrl.h
│ │ ├── Curves.cpp
│ │ ├── Curves.h
│ │ ├── Darkel.cpp
│ │ ├── Darkel.h
│ │ ├── GameLogic.cpp
│ │ ├── GameLogic.h
│ │ ├── Garages.cpp
│ │ ├── Garages.h
│ │ ├── NameGrid.cpp
│ │ ├── NameGrid.h
│ │ ├── OnscreenTimer.cpp
│ │ ├── OnscreenTimer.h
│ │ ├── PathFind.cpp
│ │ ├── PathFind.h
│ │ ├── Phones.cpp
│ │ ├── Phones.h
│ │ ├── Pickups.cpp
│ │ ├── Pickups.h
│ │ ├── PowerPoints.cpp
│ │ ├── PowerPoints.h
│ │ ├── Record.cpp
│ │ ├── Record.h
│ │ ├── Remote.cpp
│ │ ├── Remote.h
│ │ ├── Replay.cpp
│ │ ├── Replay.h
│ │ ├── Restart.cpp
│ │ ├── Restart.h
│ │ ├── RoadBlocks.cpp
│ │ ├── RoadBlocks.h
│ │ ├── SceneEdit.cpp
│ │ ├── SceneEdit.h
│ │ ├── Script.cpp
│ │ ├── Script.h
│ │ ├── Script2.cpp
│ │ ├── Script3.cpp
│ │ ├── Script4.cpp
│ │ ├── Script5.cpp
│ │ ├── Script6.cpp
│ │ ├── Script7.cpp
│ │ ├── Script8.cpp
│ │ ├── ScriptCommands.h
│ │ ├── SetPieces.cpp
│ │ ├── SetPieces.h
│ │ ├── TrafficLights.cpp
│ │ └── TrafficLights.h
│ ├── core/
│ │ ├── Accident.cpp
│ │ ├── Accident.h
│ │ ├── AnimViewer.cpp
│ │ ├── AnimViewer.h
│ │ ├── Cam.cpp
│ │ ├── Camera.cpp
│ │ ├── Camera.h
│ │ ├── CdStream.cpp
│ │ ├── CdStream.h
│ │ ├── CdStreamPosix.cpp
│ │ ├── Clock.cpp
│ │ ├── Clock.h
│ │ ├── ControllerConfig.cpp
│ │ ├── ControllerConfig.h
│ │ ├── Crime.h
│ │ ├── Debug.cpp
│ │ ├── Debug.h
│ │ ├── Directory.cpp
│ │ ├── Directory.h
│ │ ├── EventList.cpp
│ │ ├── EventList.h
│ │ ├── FileLoader.cpp
│ │ ├── FileLoader.h
│ │ ├── FileMgr.cpp
│ │ ├── FileMgr.h
│ │ ├── Fire.cpp
│ │ ├── Fire.h
│ │ ├── FrontEndControls.cpp
│ │ ├── FrontEndControls.h
│ │ ├── Frontend.cpp
│ │ ├── Frontend.h
│ │ ├── FrontendTriggers.h
│ │ ├── Frontend_PS2.cpp
│ │ ├── Frontend_PS2.h
│ │ ├── Game.cpp
│ │ ├── Game.h
│ │ ├── General.h
│ │ ├── IniFile.cpp
│ │ ├── IniFile.h
│ │ ├── Lists.cpp
│ │ ├── Lists.h
│ │ ├── MenuScreens.cpp
│ │ ├── MenuScreensCustom.cpp
│ │ ├── Pad.cpp
│ │ ├── Pad.h
│ │ ├── Placeable.cpp
│ │ ├── Placeable.h
│ │ ├── PlayerInfo.cpp
│ │ ├── PlayerInfo.h
│ │ ├── Pools.cpp
│ │ ├── Pools.h
│ │ ├── Profile.cpp
│ │ ├── Profile.h
│ │ ├── Radar.cpp
│ │ ├── Radar.h
│ │ ├── Range2D.cpp
│ │ ├── Range2D.h
│ │ ├── Range3D.cpp
│ │ ├── Range3D.h
│ │ ├── References.cpp
│ │ ├── References.h
│ │ ├── Ropes.cpp
│ │ ├── Ropes.h
│ │ ├── Stats.cpp
│ │ ├── Stats.h
│ │ ├── Streaming.cpp
│ │ ├── Streaming.h
│ │ ├── SurfaceTable.cpp
│ │ ├── SurfaceTable.h
│ │ ├── TimeStep.cpp
│ │ ├── TimeStep.h
│ │ ├── Timer.cpp
│ │ ├── Timer.h
│ │ ├── User.cpp
│ │ ├── User.h
│ │ ├── Wanted.cpp
│ │ ├── Wanted.h
│ │ ├── World.cpp
│ │ ├── World.h
│ │ ├── ZoneCull.cpp
│ │ ├── ZoneCull.h
│ │ ├── Zones.cpp
│ │ ├── Zones.h
│ │ ├── common.h
│ │ ├── config.h
│ │ ├── main.cpp
│ │ ├── main.h
│ │ ├── obrstr.cpp
│ │ ├── obrstr.h
│ │ ├── re3.cpp
│ │ ├── templates.h
│ │ ├── timebars.cpp
│ │ └── timebars.h
│ ├── entities/
│ │ ├── Dummy.cpp
│ │ ├── Dummy.h
│ │ ├── Entity.cpp
│ │ ├── Entity.h
│ │ ├── Physical.cpp
│ │ └── Physical.h
│ ├── extras/
│ │ ├── GitSHA1.cpp.in
│ │ ├── GitSHA1.h
│ │ ├── arrow.inc
│ │ ├── cursor.inc
│ │ ├── custompipes.cpp
│ │ ├── custompipes.h
│ │ ├── custompipes_d3d9.cpp
│ │ ├── custompipes_gl.cpp
│ │ ├── debugmenu.cpp
│ │ ├── debugmenu.h
│ │ ├── frontendoption.cpp
│ │ ├── frontendoption.h
│ │ ├── ini_parser.hpp
│ │ ├── postfx.cpp
│ │ ├── postfx.h
│ │ ├── re3_inttypes.h
│ │ ├── screendroplets.cpp
│ │ ├── screendroplets.h
│ │ └── shaders/
│ │ ├── colourfilterVC.frag
│ │ ├── colourfilterVC_PS.hlsl
│ │ ├── contrast.frag
│ │ ├── contrastPS.hlsl
│ │ ├── default_UV2.vert
│ │ ├── default_UV2_VS.hlsl
│ │ ├── im2d.vert
│ │ ├── im2d_UV2.vert
│ │ ├── lighting.h
│ │ ├── make_glsl.sh
│ │ ├── make_hlsl.cmd
│ │ ├── makeinc_glsl.sh
│ │ ├── makeinc_hlsl.sh
│ │ ├── neoGloss.frag
│ │ ├── neoGloss.vert
│ │ ├── neoGloss_PS.hlsl
│ │ ├── neoGloss_VS.hlsl
│ │ ├── neoRim.vert
│ │ ├── neoRimSkin.vert
│ │ ├── neoRimSkin_VS.hlsl
│ │ ├── neoRim_VS.hlsl
│ │ ├── neoVehicle.frag
│ │ ├── neoVehicle.vert
│ │ ├── neoVehicle_PS.hlsl
│ │ ├── neoVehicle_VS.hlsl
│ │ ├── neoWorldVC.frag
│ │ ├── neoWorldVC_PS.hlsl
│ │ ├── screenDroplet.frag
│ │ ├── screenDroplet_PS.hlsl
│ │ ├── simple.frag
│ │ └── standardConstants.h
│ ├── fakerw/
│ │ ├── fake.cpp
│ │ ├── rpanisot.h
│ │ ├── rphanim.h
│ │ ├── rpmatfx.h
│ │ ├── rpskin.h
│ │ ├── rpworld.h
│ │ ├── rtbmp.h
│ │ ├── rtcharse.h
│ │ ├── rtpng.h
│ │ ├── rtquat.h
│ │ ├── rwcore.h
│ │ └── rwplcore.h
│ ├── math/
│ │ ├── Matrix.cpp
│ │ ├── Matrix.h
│ │ ├── Quaternion.cpp
│ │ ├── Quaternion.h
│ │ ├── Rect.cpp
│ │ ├── Rect.h
│ │ ├── Vector.cpp
│ │ ├── Vector.h
│ │ ├── Vector2D.h
│ │ ├── VuVector.h
│ │ ├── math.cpp
│ │ └── maths.h
│ ├── modelinfo/
│ │ ├── BaseModelInfo.cpp
│ │ ├── BaseModelInfo.h
│ │ ├── ClumpModelInfo.cpp
│ │ ├── ClumpModelInfo.h
│ │ ├── ModelIndices.cpp
│ │ ├── ModelIndices.h
│ │ ├── ModelInfo.cpp
│ │ ├── ModelInfo.h
│ │ ├── PedModelInfo.cpp
│ │ ├── PedModelInfo.h
│ │ ├── SimpleModelInfo.cpp
│ │ ├── SimpleModelInfo.h
│ │ ├── TimeModelInfo.cpp
│ │ ├── TimeModelInfo.h
│ │ ├── VehicleModelInfo.cpp
│ │ ├── VehicleModelInfo.h
│ │ ├── WeaponModelInfo.cpp
│ │ └── WeaponModelInfo.h
│ ├── objects/
│ │ ├── CutsceneObject.cpp
│ │ ├── CutsceneObject.h
│ │ ├── DummyObject.cpp
│ │ ├── DummyObject.h
│ │ ├── Object.cpp
│ │ ├── Object.h
│ │ ├── ObjectData.cpp
│ │ ├── ObjectData.h
│ │ ├── ParticleObject.cpp
│ │ ├── ParticleObject.h
│ │ ├── Projectile.cpp
│ │ ├── Projectile.h
│ │ ├── Stinger.cpp
│ │ └── Stinger.h
│ ├── peds/
│ │ ├── CivilianPed.cpp
│ │ ├── CivilianPed.h
│ │ ├── CopPed.cpp
│ │ ├── CopPed.h
│ │ ├── DummyPed.h
│ │ ├── EmergencyPed.cpp
│ │ ├── EmergencyPed.h
│ │ ├── Gangs.cpp
│ │ ├── Gangs.h
│ │ ├── Ped.cpp
│ │ ├── Ped.h
│ │ ├── PedAI.cpp
│ │ ├── PedAttractor.cpp
│ │ ├── PedAttractor.h
│ │ ├── PedChat.cpp
│ │ ├── PedDebug.cpp
│ │ ├── PedFight.cpp
│ │ ├── PedIK.cpp
│ │ ├── PedIK.h
│ │ ├── PedPlacement.cpp
│ │ ├── PedPlacement.h
│ │ ├── PedRoutes.cpp
│ │ ├── PedRoutes.h
│ │ ├── PedType.cpp
│ │ ├── PedType.h
│ │ ├── PlayerPed.cpp
│ │ ├── PlayerPed.h
│ │ ├── Population.cpp
│ │ └── Population.h
│ ├── render/
│ │ ├── 2dEffect.h
│ │ ├── Antennas.cpp
│ │ ├── Antennas.h
│ │ ├── Clouds.cpp
│ │ ├── Clouds.h
│ │ ├── Console.cpp
│ │ ├── Console.h
│ │ ├── Coronas.cpp
│ │ ├── Coronas.h
│ │ ├── Credits.cpp
│ │ ├── Credits.h
│ │ ├── CutsceneShadow.cpp
│ │ ├── CutsceneShadow.h
│ │ ├── Draw.cpp
│ │ ├── Draw.h
│ │ ├── Fluff.cpp
│ │ ├── Fluff.h
│ │ ├── Font.cpp
│ │ ├── Font.h
│ │ ├── Glass.cpp
│ │ ├── Glass.h
│ │ ├── Hud.cpp
│ │ ├── Hud.h
│ │ ├── Instance.cpp
│ │ ├── Instance.h
│ │ ├── Lines.cpp
│ │ ├── Lines.h
│ │ ├── MBlur.cpp
│ │ ├── MBlur.h
│ │ ├── Occlusion.cpp
│ │ ├── Occlusion.h
│ │ ├── Particle.cpp
│ │ ├── Particle.h
│ │ ├── ParticleMgr.cpp
│ │ ├── ParticleMgr.h
│ │ ├── ParticleType.h
│ │ ├── PlayerSkin.cpp
│ │ ├── PlayerSkin.h
│ │ ├── PointLights.cpp
│ │ ├── PointLights.h
│ │ ├── RenderBuffer.cpp
│ │ ├── RenderBuffer.h
│ │ ├── Renderer.cpp
│ │ ├── Renderer.h
│ │ ├── Rubbish.cpp
│ │ ├── Rubbish.h
│ │ ├── ShadowCamera.cpp
│ │ ├── ShadowCamera.h
│ │ ├── Shadows.cpp
│ │ ├── Shadows.h
│ │ ├── Skidmarks.cpp
│ │ ├── Skidmarks.h
│ │ ├── SpecialFX.cpp
│ │ ├── SpecialFX.h
│ │ ├── Sprite.cpp
│ │ ├── Sprite.h
│ │ ├── Sprite2d.cpp
│ │ ├── Sprite2d.h
│ │ ├── TexList.cpp
│ │ ├── TexList.h
│ │ ├── Timecycle.cpp
│ │ ├── Timecycle.h
│ │ ├── VarConsole.cpp
│ │ ├── VarConsole.h
│ │ ├── WaterCannon.cpp
│ │ ├── WaterCannon.h
│ │ ├── WaterCreatures.cpp
│ │ ├── WaterCreatures.h
│ │ ├── WaterLevel.cpp
│ │ ├── WaterLevel.h
│ │ ├── Weather.cpp
│ │ ├── Weather.h
│ │ ├── WindModifiers.cpp
│ │ └── WindModifiers.h
│ ├── rw/
│ │ ├── ClumpRead.cpp
│ │ ├── Lights.cpp
│ │ ├── Lights.h
│ │ ├── MemoryHeap.cpp
│ │ ├── MemoryHeap.h
│ │ ├── MemoryMgr.cpp
│ │ ├── MemoryMgr.h
│ │ ├── NodeName.cpp
│ │ ├── NodeName.h
│ │ ├── RwHelper.cpp
│ │ ├── RwHelper.h
│ │ ├── RwMatFX.cpp
│ │ ├── RwPS2AlphaTest.cpp
│ │ ├── TexRead.cpp
│ │ ├── TexturePools.cpp
│ │ ├── TexturePools.h
│ │ ├── TxdStore.cpp
│ │ ├── TxdStore.h
│ │ ├── VisibilityPlugins.cpp
│ │ └── VisibilityPlugins.h
│ ├── save/
│ │ ├── Date.cpp
│ │ ├── Date.h
│ │ ├── GenericGameStorage.cpp
│ │ ├── GenericGameStorage.h
│ │ ├── MemoryCard.cpp
│ │ ├── MemoryCard.h
│ │ ├── PCSave.cpp
│ │ └── PCSave.h
│ ├── skel/
│ │ ├── crossplatform.cpp
│ │ ├── crossplatform.h
│ │ ├── events.cpp
│ │ ├── events.h
│ │ ├── glfw/
│ │ │ └── glfw.cpp
│ │ ├── platform.h
│ │ ├── skeleton.cpp
│ │ ├── skeleton.h
│ │ └── win/
│ │ ├── resource.h
│ │ ├── win.cpp
│ │ ├── win.h
│ │ └── win.rc
│ ├── text/
│ │ ├── Messages.cpp
│ │ ├── Messages.h
│ │ ├── Pager.cpp
│ │ ├── Pager.h
│ │ ├── Text.cpp
│ │ └── Text.h
│ ├── vehicles/
│ │ ├── Automobile.cpp
│ │ ├── Automobile.h
│ │ ├── Bike.cpp
│ │ ├── Bike.h
│ │ ├── Boat.cpp
│ │ ├── Boat.h
│ │ ├── CarGen.cpp
│ │ ├── CarGen.h
│ │ ├── Cranes.cpp
│ │ ├── Cranes.h
│ │ ├── DamageManager.cpp
│ │ ├── DamageManager.h
│ │ ├── Door.cpp
│ │ ├── Door.h
│ │ ├── Floater.cpp
│ │ ├── Floater.h
│ │ ├── HandlingMgr.cpp
│ │ ├── HandlingMgr.h
│ │ ├── Heli.cpp
│ │ ├── Heli.h
│ │ ├── Plane.cpp
│ │ ├── Plane.h
│ │ ├── Train.cpp
│ │ ├── Train.h
│ │ ├── Transmission.cpp
│ │ ├── Transmission.h
│ │ ├── Vehicle.cpp
│ │ └── Vehicle.h
│ └── weapons/
│ ├── BulletInfo.cpp
│ ├── BulletInfo.h
│ ├── Explosion.cpp
│ ├── Explosion.h
│ ├── ProjectileInfo.cpp
│ ├── ProjectileInfo.h
│ ├── ShotInfo.cpp
│ ├── ShotInfo.h
│ ├── Weapon.cpp
│ ├── Weapon.h
│ ├── WeaponEffects.cpp
│ ├── WeaponEffects.h
│ ├── WeaponInfo.cpp
│ ├── WeaponInfo.h
│ └── WeaponType.h
├── utils/
│ └── gxt/
│ ├── american.txt
│ ├── build.bat
│ ├── french.txt
│ ├── german.txt
│ ├── italian.txt
│ └── spanish.txt
└── vendor/
├── libsndfile/
│ ├── ChangeLog
│ ├── NEWS
│ ├── include/
│ │ ├── sndfile.h
│ │ └── sndfile.hh
│ └── lib/
│ ├── Win32/
│ │ ├── libsndfile-1.def
│ │ ├── libsndfile-1.lib
│ │ └── pkgconfig/
│ │ └── sndfile.pc
│ └── Win64/
│ ├── libsndfile-1.def
│ ├── libsndfile-1.lib
│ └── pkgconfig/
│ └── sndfile.pc
├── milessdk/
│ ├── include/
│ │ └── mss.h
│ └── lib/
│ └── mss32.lib
├── mpg123/
│ ├── include/
│ │ ├── fmt123.h
│ │ └── mpg123.h
│ └── lib/
│ ├── Win32/
│ │ └── libmpg123-0.lib
│ └── Win64/
│ └── libmpg123-0.lib
└── openal-soft/
├── COPYING
├── include/
│ └── AL/
│ ├── al.h
│ ├── alc.h
│ ├── alext.h
│ ├── efx-creative.h
│ ├── efx-presets.h
│ └── efx.h
├── libs/
│ ├── Win32/
│ │ ├── OpenAL32.def
│ │ ├── OpenAL32.lib
│ │ └── libOpenAL32.dll.a
│ └── Win64/
│ ├── OpenAL32.def
│ ├── OpenAL32.lib
│ └── libOpenAL32.dll.a
└── readme.txt
Showing preview only (207K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (3062 symbols across 419 files)
FILE: conanfile.py
class ReVCConan (line 8) | class ReVCConan(ConanFile):
method _os_is_playstation2 (line 40) | def _os_is_playstation2(self):
method configure (line 46) | def configure(self):
method requirements (line 50) | def requirements(self):
method export_sources (line 62) | def export_sources(self):
method validate (line 67) | def validate(self):
method _reVC_audio (line 75) | def _reVC_audio(self):
method build (line 81) | def build(self):
method package (line 133) | def package(self):
FILE: src/animation/AnimBlendAssocGroup.cpp
function CAnimBlendAssociation (line 46) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 52) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 64) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 74) | CAnimBlendAssociation*
function strcmpIgnoringDigits (line 84) | bool
function CBaseModelInfo (line 114) | CBaseModelInfo*
FILE: src/animation/AnimBlendAssocGroup.h
type CAnimBlock (line 4) | struct CAnimBlock
function class (line 6) | class CAnimBlendAssocGroup
FILE: src/animation/AnimBlendAssociation.h
function class (line 27) | class CAnimBlendAssociation
FILE: src/animation/AnimBlendClumpData.h
type AnimBlendFrameData (line 6) | struct AnimBlendFrameData
function class (line 28) | class CAnimBlendClumpData
FILE: src/animation/AnimBlendHierarchy.h
function class (line 12) | class CAnimBlendHierarchy
FILE: src/animation/AnimBlendList.h
function class (line 4) | class CAnimBlendLink
FILE: src/animation/AnimBlendNode.h
function class (line 8) | class CAnimBlendNode
FILE: src/animation/AnimBlendSequence.h
type KeyFrame (line 10) | struct KeyFrame {
function KeyFrame (line 15) | struct KeyFrameTrans : KeyFrame {
function SetRotation (line 19) | struct KeyFrameCompressed {
function GetDeltaTime (line 36) | float GetDeltaTime(void) { return deltaTime/60.0f; }
function SetTime (line 37) | void SetTime(float t) { deltaTime = t*60.0f + 0.5f; }
function KeyFrameCompressed (line 40) | struct KeyFrameTransCompressed : KeyFrameCompressed {
function class (line 58) | class CAnimBlendSequence
FILE: src/animation/AnimManager.cpp
function CAnimBlock (line 1030) | CAnimBlock*
function int32 (line 1041) | int32
function int32 (line 1052) | int32
function int32 (line 1065) | int32
function CAnimBlendHierarchy (line 1108) | CAnimBlendHierarchy*
function CAnimBlendAssociation (line 1128) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 1134) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 1140) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 1146) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 1171) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 1186) | CAnimBlendAssociation*
type IfpHeader (line 1282) | struct IfpHeader {
FILE: src/animation/AnimManager.h
type AssocGroupId (line 6) | enum AssocGroupId
type CAnimBlock (line 81) | struct CAnimBlock
type AnimAssocDesc (line 90) | struct AnimAssocDesc
type AnimAssocDefinition (line 96) | struct AnimAssocDefinition
function class (line 106) | class CAnimManager
FILE: src/animation/AnimationId.h
type AnimationId (line 3) | enum AnimationId
FILE: src/animation/Bones.cpp
function ConvertPedNode2BoneTag (line 5) | int
FILE: src/animation/Bones.h
type BoneTag (line 3) | enum BoneTag
FILE: src/animation/CutsceneMgr.cpp
function FindCutsceneAudioTrackId (line 107) | int
function RpAtomic (line 142) | RpAtomic *
function CCutsceneHead (line 358) | CCutsceneHead *
function UpdateCutsceneObjectBoundingBox (line 364) | void UpdateCutsceneObjectBoundingBox(RpClump* clump, int modelId)
function CCutsceneObject (line 376) | CCutsceneObject *
FILE: src/animation/CutsceneMgr.h
function class (line 10) | class CCutsceneMgr
FILE: src/animation/FrameUpdate.cpp
function FrameUpdateCallBackNonSkinned (line 23) | void
function FrameUpdateCallBackWithVelocityExtractionNonSkinned (line 79) | void
function FrameUpdateCallBackWith3dVelocityExtractionNonSkinned (line 165) | void
function FrameUpdateCallBackSkinned (line 233) | void
function FrameUpdateCallBackWithVelocityExtractionSkinned (line 291) | void
function FrameUpdateCallBackWith3dVelocityExtractionSkinned (line 375) | void
function FrameUpdateCallBackOffscreen (line 444) | void
function FrameUpdateCallBackNonSkinnedCompressed (line 452) | void
function FrameUpdateCallBackSkinnedCompressed (line 559) | void
FILE: src/animation/RpAnimBlend.cpp
function RpAnimBlendPluginAttach (line 44) | bool
function CAnimBlendAssociation (line 52) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 60) | CAnimBlendAssociation*
function RpAnimBlendAllocateData (line 72) | void
function RpAnimBlendClumpSetBlendDeltas (line 79) | void
function RpAnimBlendClumpRemoveAllAssociations (line 90) | void
function RpAnimBlendClumpRemoveAssociations (line 96) | void
function RwFrame (line 110) | RwFrame*
function RwFrame (line 119) | RwFrame*
function FrameInitCBnonskin (line 130) | void
function FrameInitCBskin (line 137) | void
function RpAnimBlendClumpInitSkinned (line 143) | void
function RpAnimBlendClumpInitNotSkinned (line 181) | void
function RpAnimBlendClumpInit (line 200) | void
function RpAnimBlendClumpIsInitialized (line 209) | bool
function CAnimBlendAssociation (line 216) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 231) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 264) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 287) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 309) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 331) | CAnimBlendAssociation*
function CAnimBlendAssociation (line 346) | CAnimBlendAssociation*
function FillFrameArrayCBnonskin (line 358) | void
function RpAnimBlendClumpFillFrameArraySkin (line 365) | void
function RpAnimBlendClumpFillFrameArray (line 375) | void
function FrameFindByNameCBnonskin (line 386) | void
function FrameFindByNameCBskin (line 394) | void
function FrameFindByBoneCB (line 402) | void
function AnimBlendFrameData (line 409) | AnimBlendFrameData*
function AnimBlendFrameData (line 420) | AnimBlendFrameData*
function RpAnimBlendNodeUpdateKeyframes (line 428) | void
function RpAnimBlendClumpUpdateAnimations (line 448) | void
FILE: src/animation/RpAnimBlend.h
type AnimBlendFrameData (line 6) | struct AnimBlendFrameData
type AnimBlendFrameUpdateData (line 8) | struct AnimBlendFrameUpdateData
FILE: src/audio/AudioCollision.cpp
function uint32 (line 121) | uint32
FILE: src/audio/AudioCollision.h
function class (line 7) | class cAudioCollision
function class (line 25) | class cAudioCollisionManager
FILE: src/audio/AudioLogic.cpp
type PLAY_STATUS (line 50) | enum PLAY_STATUS { PLAY_STATUS_STOPPED = 0, PLAY_STATUS_PLAYING, PLAY_ST...
type LOADING_STATUS (line 51) | enum LOADING_STATUS { LOADING_STATUS_NOT_LOADED = 0, LOADING_STATUS_LOAD...
function CVehicle (line 285) | CVehicle *cAudioManager::FindVehicleOfPlayer()
type eVehicleModel (line 471) | enum eVehicleModel {
type tVehicleSampleData (line 598) | struct tVehicleSampleData {
function DoJumboVolOffset (line 3878) | void
function int32 (line 4157) | int32
function uint32 (line 5285) | uint32
function uint32 (line 5449) | uint32
function uint32 (line 5656) | uint32
function uint32 (line 5691) | uint32
function uint32 (line 5705) | uint32
function uint32 (line 5722) | uint32
function uint32 (line 5728) | uint32
function uint32 (line 5742) | uint32
function uint32 (line 5748) | uint32
function uint32 (line 5775) | uint32
function uint32 (line 5799) | uint32
function uint32 (line 5822) | uint32
function uint32 (line 5843) | uint32
function uint32 (line 5868) | uint32
function uint32 (line 5892) | uint32
function uint32 (line 5917) | uint32
function uint32 (line 5939) | uint32
function uint32 (line 5963) | uint32
function uint32 (line 5984) | uint32
function uint32 (line 6008) | uint32
function uint32 (line 6033) | uint32
function uint32 (line 6052) | uint32
function uint32 (line 6077) | uint32
function uint32 (line 6096) | uint32
function uint32 (line 6115) | uint32
function uint32 (line 6137) | uint32
function uint32 (line 6157) | uint32
function uint32 (line 6177) | uint32
function uint32 (line 6203) | uint32
function uint32 (line 6224) | uint32
function uint32 (line 6255) | uint32
function uint32 (line 6280) | uint32
function uint32 (line 6304) | uint32
function uint32 (line 6328) | uint32
function uint32 (line 6352) | uint32
function uint32 (line 6375) | uint32
function uint32 (line 6401) | uint32
function uint32 (line 6425) | uint32
function uint32 (line 6451) | uint32
function uint32 (line 6476) | uint32
function uint32 (line 6502) | uint32
function uint32 (line 6526) | uint32
function uint32 (line 6549) | uint32
function uint32 (line 6574) | uint32
function uint32 (line 6596) | uint32
function uint32 (line 6618) | uint32
function uint32 (line 6639) | uint32
function uint32 (line 6663) | uint32
function uint32 (line 6693) | uint32
function uint32 (line 6714) | uint32
function uint32 (line 6740) | uint32
function uint32 (line 6764) | uint32
function uint32 (line 6791) | uint32
function uint32 (line 6818) | uint32
function uint32 (line 6843) | uint32
function uint32 (line 6867) | uint32
function uint32 (line 6891) | uint32
function uint32 (line 6916) | uint32
function uint32 (line 6939) | uint32
function uint32 (line 6964) | uint32
function uint32 (line 6987) | uint32
function uint32 (line 7013) | uint32
function uint32 (line 7039) | uint32
function uint32 (line 7063) | uint32
function uint32 (line 7086) | uint32
function uint32 (line 7110) | uint32
function uint32 (line 7128) | uint32
function uint32 (line 7146) | uint32
function uint32 (line 7166) | uint32
function uint32 (line 7193) | uint32
function uint32 (line 7217) | uint32
function uint32 (line 7238) | uint32
function uint32 (line 7257) | uint32
function uint32 (line 7278) | uint32
function uint32 (line 7303) | uint32
function uint32 (line 7327) | uint32
function uint32 (line 7343) | uint32
function uint32 (line 7362) | uint32
function uint32 (line 7381) | uint32
function uint32 (line 7404) | uint32
function uint32 (line 7425) | uint32
function uint32 (line 7446) | uint32
function uint32 (line 7471) | uint32
function uint32 (line 7496) | uint32
function uint32 (line 7522) | uint32
function uint32 (line 7548) | uint32
function uint32 (line 7577) | uint32
function uint32 (line 7603) | uint32
function uint32 (line 7623) | uint32
function uint32 (line 7647) | uint32
function uint32 (line 7674) | uint32
function uint32 (line 7696) | uint32
function uint32 (line 7724) | uint32
function uint32 (line 7750) | uint32
function uint32 (line 7767) | uint32
type MissionAudioData (line 9399) | struct MissionAudioData {
function int32 (line 9781) | int32
function uint8 (line 9817) | uint8
FILE: src/audio/AudioManager.cpp
function int32 (line 124) | int32
function uint8 (line 324) | uint8
function int8 (line 347) | int8
function int8 (line 356) | int8
function int8 (line 365) | int8
function uint8 (line 431) | uint8
function uint8 (line 490) | uint8
function int32 (line 514) | int32
function uint32 (line 526) | uint32
function int32 (line 543) | int32
function uint8 (line 1077) | uint8
FILE: src/audio/AudioManager.h
function class (line 9) | class tSound
function class (line 46) | class tAudioEntity
function class (line 60) | class tPedComment
function class (line 73) | class cPedComments
function class (line 109) | class cMissionAudio
function class (line 125) | class cAudioScriptObjectManager
function class (line 141) | class cPedParams
function class (line 156) | class cVehicleParams
function class (line 193) | class cAudioManager
FILE: src/audio/AudioSamples.h
type eSfxSample (line 5) | enum eSfxSample
FILE: src/audio/AudioScriptObject.cpp
function PlayOneShotScriptObject (line 90) | void
FILE: src/audio/AudioScriptObject.h
function class (line 3) | class cAudioScriptObject
FILE: src/audio/DMAudio.cpp
function int32 (line 29) | int32
function uint8 (line 110) | uint8
function int8 (line 122) | int8 cDMAudio::AutoDetect3DProviders(void)
function int8 (line 127) | int8
function int8 (line 133) | int8
function int32 (line 193) | int32
function uint8 (line 294) | uint8
function uint8 (line 324) | uint8
function uint32 (line 354) | uint32
function int32 (line 360) | int32
FILE: src/audio/DMAudio.h
function class (line 16) | class cDMAudio
FILE: src/audio/MusicManager.cpp
function uint32 (line 258) | uint32
function GetHeightScale (line 799) | float
function uint32 (line 1124) | uint32
function uint32 (line 1149) | uint32
function uint32 (line 1167) | uint32
function uint32 (line 1183) | uint32
function uint32 (line 1191) | uint32
FILE: src/audio/MusicManager.h
function class (line 5) | class tStreamedSample
function class (line 16) | class cMusicManager
FILE: src/audio/PoliceRadio.cpp
type tPoliceRadioZone (line 21) | struct tPoliceRadioZone {
function int8 (line 95) | int8
FILE: src/audio/PoliceRadio.h
type cAMCrime (line 5) | struct cAMCrime {
function class (line 20) | class cPoliceRadioQueue
FILE: src/audio/audio_enums.h
type eRadioStation (line 3) | enum eRadioStation
type eMusicMode (line 21) | enum eMusicMode
type ePlayerMood (line 30) | enum ePlayerMood
type eStreamedSounds (line 39) | enum eStreamedSounds
type AudioEntityHandle (line 1269) | enum AudioEntityHandle {
type eAudioType (line 1277) | enum eAudioType
FILE: src/audio/eax/eax-util.cpp
function EAX3ListenerInterpolate (line 32) | bool EAX3ListenerInterpolate(LPEAXLISTENERPROPERTIES lpStart, LPEAXLISTE...
function CheckEAX3LP (line 250) | bool CheckEAX3LP(LPEAXLISTENERPROPERTIES lpEAX3LP)
function Clamp (line 325) | void Clamp(EAXVECTOR *eaxVector)
FILE: src/audio/eax/eax-util.h
type EAX30_SCENARIO (line 339) | typedef enum
type EAX30_LOCATION (line 381) | typedef enum
type EAX30_ORIGINAL_PRESET_ENUMS (line 439) | typedef enum
type EAX30_SPORTS_PRESET_ENUMS (line 488) | typedef enum
type EAX30_PREFAB_PRESET_ENUMS (line 518) | typedef enum
type EAX30_DOMESNPIPES_PRESET_ENUMS (line 546) | typedef enum
type EAX30_OUTDOORS_PRESET_ENUMS (line 575) | typedef enum
type EAX30_MOOD_PRESET_ENUMS (line 603) | typedef enum
type EAX30_DRIVING_PRESET_ENUMS (line 629) | typedef enum
type EAX30_CITY_PRESET_ENUMS (line 660) | typedef enum
type EAX30_MISC_PRESET_ENUMS (line 689) | typedef enum
FILE: src/audio/eax/eax.h
type GUID (line 58) | typedef struct _GUID
type ALenum (line 81) | typedef ALenum (*EAXSet)(const GUID*, ALuint, ALuint, ALvoid*, ALuint);
type ALenum (line 82) | typedef ALenum (*EAXGet)(const GUID*, ALuint, ALuint, ALvoid*, ALuint);
type DSPROPERTY_EAX_LISTENERPROPERTY (line 99) | typedef enum
type EAXVECTOR (line 135) | typedef struct _EAXVECTOR {
type EAXLISTENERPROPERTIES (line 156) | typedef struct _EAXLISTENERPROPERTIES
type DSPROPERTY_EAX_BUFFERPROPERTY (line 349) | typedef enum
type EAXBUFFERPROPERTIES (line 395) | typedef struct _EAXBUFFERPROPERTIES
type EAXOBSTRUCTIONPROPERTIES (line 418) | typedef struct _EAXOBSTRUCTIONPROPERTIES
type EAXOCCLUSIONPROPERTIES (line 425) | typedef struct _EAXOCCLUSIONPROPERTIES
type EAXEXCLUSIONPROPERTIES (line 434) | typedef struct _EAXEXCLUSIONPROPERTIES
FILE: src/audio/oal/aldlist.h
type ALDEVICEINFO (line 23) | struct ALDEVICEINFO {
FILE: src/audio/oal/channel.h
function class (line 10) | class CChannel
FILE: src/audio/oal/oal_utils.cpp
type re3_openal (line 12) | namespace re3_openal {
function EFXInit (line 52) | void EFXInit()
function SetEffectsLevel (line 94) | void SetEffectsLevel(ALuint uiFilter, float level)
function gain_to_mB (line 101) | static inline float gain_to_mB(float gain)
function mB_to_gain (line 106) | static inline float mB_to_gain(float millibels)
function clampF (line 111) | static inline float clampF(float val, float minval, float maxval)
function EAX3_Set (line 118) | void EAX3_Set(ALuint effect, const EAXLISTENERPROPERTIES *props)
function EFX_Set (line 146) | void EFX_Set(ALuint effect, const EAXLISTENERPROPERTIES *props)
function EAX3_SetReverbMix (line 165) | void EAX3_SetReverbMix(ALuint filter, float mix)
FILE: src/audio/oal/oal_utils.h
function namespace (line 14) | namespace re3_openal {
FILE: src/audio/oal/stream.cpp
class CSortStereoBuffer (line 38) | class CSortStereoBuffer
method CSortStereoBuffer (line 43) | CSortStereoBuffer() : PcmBuf(nil), BufSize(0) {}
method uint16 (line 50) | uint16* GetBuffer(size_t size)
method SortStereo (line 66) | void SortStereo(void* buf, size_t size)
class CImaADPCMDecoder (line 87) | class CImaADPCMDecoder
method CImaADPCMDecoder (line 107) | CImaADPCMDecoder()
method Init (line 112) | void Init(int16 _Sample, int16 _StepIndex)
method Decode (line 118) | void Decode(uint8 *inbuf, int16 *_outbuf, size_t size)
method int16 (line 128) | int16 DecodeSample(uint8 adpcm)
class CWavFile (line 151) | class CWavFile : public IDecoder
type tDataHeader (line 160) | struct tDataHeader
type tFormatHeader (line 166) | struct tFormatHeader
method tFormatHeader (line 176) | tFormatHeader() { memset(this, 0, sizeof(*this)); }
method Close (line 193) | void Close()
method uint32 (line 204) | uint32 GetCurrentSample() const
method CWavFile (line 214) | CWavFile(const char* path) : m_bIsOpen(false), m_DataStartOffset(0), m...
method IsOpened (line 287) | bool IsOpened()
method uint32 (line 292) | uint32 GetSampleSize()
method uint32 (line 297) | uint32 GetSampleCount()
method uint32 (line 302) | uint32 GetSampleRate()
method uint32 (line 307) | uint32 GetChannels()
method Seek (line 312) | void Seek(uint32 milliseconds)
method uint32 (line 318) | uint32 Tell()
method uint32 (line 326) | uint32 Decode(void* buffer)
class CSndFile (line 396) | class CSndFile : public IDecoder
method CSndFile (line 401) | CSndFile(const char *path) :
method IsOpened (line 417) | bool IsOpened()
method uint32 (line 422) | uint32 GetSampleSize()
method uint32 (line 427) | uint32 GetSampleCount()
method uint32 (line 432) | uint32 GetSampleRate()
method uint32 (line 437) | uint32 GetChannels()
method Seek (line 442) | void Seek(uint32 milliseconds)
method uint32 (line 448) | uint32 Tell()
method uint32 (line 454) | uint32 Decode(void *buffer)
class CMP3File (line 470) | class CMP3File : public IDecoder
method CMP3File (line 478) | CMP3File() :
method CMP3File (line 484) | CMP3File(const char *path) :
method IsOpened (line 526) | bool IsOpened()
method uint32 (line 531) | uint32 GetSampleSize()
method uint32 (line 536) | uint32 GetSampleCount()
method uint32 (line 542) | uint32 GetSampleRate()
method uint32 (line 547) | uint32 GetChannels()
method Seek (line 552) | void Seek(uint32 milliseconds)
method uint32 (line 558) | uint32 Tell()
method uint32 (line 564) | uint32 Decode(void *buffer)
class CADFFile (line 580) | class CADFFile : public CMP3File
method r_read (line 582) | static ssize_t r_read(void* fh, void* buf, size_t size)
method off_t (line 590) | static off_t r_seek(void* fh, off_t pos, int seekType)
method r_close (line 595) | static void r_close(void* fh)
method CADFFile (line 600) | CADFFile(const char* path)
class CVagDecoder (line 634) | class CVagDecoder
method CVagDecoder (line 645) | CVagDecoder()
method ResetState (line 650) | void ResetState()
method quantize (line 655) | static short quantize(double sample)
method Decode (line 661) | void Decode(void* _inbuf, int16* _outbuf, size_t size)
class CVbFile (line 700) | class CVbFile : public IDecoder
method ReadBlock (line 717) | void ReadBlock(int32 block = -1)
method CVbFile (line 729) | CVbFile(const char* path, uint32 nSampleRate = 32000, uint8 nChannels ...
method IsOpened (line 761) | bool IsOpened()
method uint32 (line 766) | uint32 GetSampleSize()
method uint32 (line 771) | uint32 GetSampleCount()
method uint32 (line 777) | uint32 GetSampleRate()
method uint32 (line 782) | uint32 GetChannels()
method Seek (line 787) | void Seek(uint32 milliseconds)
method uint32 (line 816) | uint32 Tell()
method uint32 (line 823) | uint32 Decode(void* buffer)
class COpusFile (line 869) | class COpusFile : public IDecoder
method COpusFile (line 876) | COpusFile(const char *path) : m_FileH(nil),
method IsOpened (line 909) | bool IsOpened()
method uint32 (line 914) | uint32 GetSampleSize()
method uint32 (line 919) | uint32 GetSampleCount()
method uint32 (line 925) | uint32 GetSampleRate()
method uint32 (line 930) | uint32 GetChannels()
method Seek (line 935) | void Seek(uint32 milliseconds)
method uint32 (line 941) | uint32 Tell()
method uint32 (line 947) | uint32 Decode(void *buffer)
function uint32 (line 1167) | uint32 CStream::GetPosMS()
function uint32 (line 1181) | uint32 CStream::GetLengthMS()
function int32 (line 1213) | int32 CStream::FillBuffers()
FILE: src/audio/oal/stream.h
function class (line 8) | class IDecoder
function class (line 57) | class CStream
FILE: src/audio/sampman.h
type tSample (line 7) | struct tSample {
function class (line 131) | class cSampleManager
FILE: src/audio/sampman_miles.cpp
type tMP3Entry (line 46) | struct tMP3Entry
type provider_stuff (line 107) | struct provider_stuff
function comp (line 114) | static int __cdecl comp(const provider_stuff*s1,const provider_stuff*s2)
function add_providers (line 119) | static void
function release_existing (line 150) | static void
function set_new_provider (line 173) | static bool
function U32 (line 264) | U32 WINAPI vfs_open_callback(char const* Filename, U32* FileHandle)
function vfs_close_callback (line 281) | void WINAPI vfs_close_callback(U32 FileHandle)
function S32 (line 292) | S32 WINAPI vfs_seek_callback(U32 FileHandle, S32 Offset, U32 Type)
function U32 (line 298) | U32 WINAPI vfs_read_callback(U32 FileHandle, void* Buffer, U32 Bytes)
function uint32 (line 352) | uint32
function uint32 (line 361) | uint32 cSampleManager::GetNum3DProvidersAvailable()
function int8 (line 381) | int8
function int8 (line 387) | int8
function int8 (line 405) | int8
function _ResolveLink (line 462) | static bool
function _FindMP3s (line 511) | static void
function _DeleteMP3Entries (line 776) | static void
function tMP3Entry (line 818) | static tMP3Entry *
function _GetMP3PosFromStreamPos (line 837) | static inline bool
function int32 (line 1547) | int32
function int32 (line 1601) | int32
function int32 (line 1613) | int32
function int32 (line 1619) | int32
function int32 (line 1625) | int32
function uint32 (line 1631) | uint32
function int32 (line 2236) | int32
function int32 (line 2301) | int32
FILE: src/audio/sampman_null.cpp
function uint32 (line 27) | uint32 cSampleManager::GetMaximumSupportedChannels(void)
function uint32 (line 32) | uint32 cSampleManager::GetNum3DProvidersAvailable()
function int8 (line 53) | int8 cSampleManager::GetCurrent3DProviderIndex(void)
function int8 (line 58) | int8 cSampleManager::SetCurrent3DProvider(uint8 nProvider)
function int32 (line 166) | int32
function int32 (line 179) | int32
function int32 (line 185) | int32
function int32 (line 192) | int32
function int32 (line 199) | int32
function uint32 (line 206) | uint32
function int32 (line 336) | int32
function int32 (line 350) | int32
function int8 (line 378) | int8 cSampleManager::AutoDetect3DProviders()
FILE: src/audio/sampman_oal.cpp
type tMP3Entry (line 104) | struct tMP3Entry
function IsFXSupported (line 136) | bool IsFXSupported()
function EAX_SetAll (line 141) | void EAX_SetAll(const EAXLISTENERPROPERTIES *allparameters)
function add_providers (line 149) | static void
function release_existing (line 213) | static void
function set_new_provider (line 269) | static bool
function IsThisTrackAt16KHz (line 392) | static bool
function uint32 (line 413) | uint32 cSampleManager::GetMaximumSupportedChannels(void)
function uint32 (line 421) | uint32 cSampleManager::GetNum3DProvidersAvailable()
function int8 (line 441) | int8 cSampleManager::GetCurrent3DProviderIndex(void)
function int8 (line 446) | int8 cSampleManager::SetCurrent3DProvider(uint8 nProvider)
function int8 (line 460) | int8
function _ResolveLink (line 485) | static bool
function _FindMP3s (line 565) | static void
function _DeleteMP3Entries (line 800) | static void
function tMP3Entry (line 842) | static tMP3Entry *
function _GetMP3PosFromStreamPos (line 861) | static inline bool
function int32 (line 1315) | int32
function int32 (line 1385) | int32
function int32 (line 1397) | int32
function int32 (line 1404) | int32
function int32 (line 1411) | int32
function uint32 (line 1418) | uint32
function int32 (line 1910) | int32
function int32 (line 1975) | int32
FILE: src/audio/soundlist.h
type eSound (line 3) | enum eSound
type eScriptSounds (line 211) | enum eScriptSounds {
FILE: src/buildings/Building.cpp
function IsBuildingPointerValid (line 24) | bool
FILE: src/buildings/Building.h
function class (line 5) | class CBuilding : public CEntity
FILE: src/buildings/Solid.h
function class (line 5) | class CSolid : public CEntity
FILE: src/buildings/Treadable.h
function class (line 5) | class CTreadable : public CBuilding
FILE: src/collision/ColBox.cpp
function CColBox (line 13) | CColBox&
FILE: src/collision/ColBox.h
function Set (line 5) | struct CBox
function CBox (line 13) | struct CColBox : public CBox
FILE: src/collision/ColLine.h
type CColLine (line 3) | struct CColLine
FILE: src/collision/ColModel.cpp
function CColModel (line 106) | CColModel&
FILE: src/collision/ColModel.h
type CColModel (line 10) | struct CColModel
FILE: src/collision/ColPoint.cpp
function CColPoint (line 4) | CColPoint&
FILE: src/collision/ColPoint.h
function GetDepth (line 3) | struct CColPoint
function Set (line 18) | void Set(float depth, uint8 surfA, uint8 pieceA, uint8 surfB, uint8 piec...
function Set (line 25) | void Set(uint8 surfA, uint8 pieceA, uint8 surfB, uint8 pieceB) {
FILE: src/collision/ColSphere.h
type CSphere (line 5) | struct CSphere
function CSphere (line 13) | struct CColSphere : public CSphere
FILE: src/collision/ColStore.cpp
function CRect (line 90) | CRect&
FILE: src/collision/ColStore.h
type ColDef (line 5) | struct ColDef { // made up name
function class (line 14) | class CColStore
FILE: src/collision/ColTriangle.h
type Direction (line 5) | enum Direction {
type CColTriangle (line 14) | struct CColTriangle
type CColTrianglePlane (line 30) | struct CColTrianglePlane
function Unpack (line 41) | void Unpack(uint128 &qword) const {
function Unpack (line 57) | void Unpack(int32 *qword) const {
function Set (line 70) | void Set(const CompressedVector *v, CColTriangle &tri) { Set(v[tri.a].Ge...
function GetNormal (line 71) | void GetNormal(CVector &n) const { n = normal; }
function CalcPoint (line 75) | float CalcPoint(const CVector &v) const { return DotProduct(normal, v) -...
FILE: src/collision/Collision.cpp
function GetVUresult (line 30) | inline int
function GetVUresult (line 45) | inline int
function eLevelName (line 95) | eLevelName
function eLevelName (line 113) | eLevelName
function int32 (line 1657) | int32
function GetSurfaceColor (line 2406) | static void
FILE: src/collision/Collision.h
type CStoredCollPoly (line 9) | struct CStoredCollPoly
function class (line 26) | class CCollision
FILE: src/collision/CompressedVector.h
type CompressedVector (line 3) | struct CompressedVector
function Set (line 8) | void Set(float x, float y, float z) { this->x = x*128.0f; this->y = y*12...
function Unpack (line 10) | void Unpack(uint128 &qword) const {
function Unpack (line 24) | void Unpack(int32 *qword) const {
function CVector (line 33) | CVector Get(void) const { return CVector(x, y, z); }
function Set (line 34) | void Set(float x, float y, float z) { this->x = x; this->y = y; this->z ...
FILE: src/collision/TempColModels.h
function class (line 5) | class CTempColModels
FILE: src/collision/VuCollision.cpp
function CVuVector (line 12) | CVuVector
function SignFlags (line 44) | inline int SignFlags(const CVector &v)
function LineToTriangleCollision (line 54) | void
function LineToTriangleCollisionCompressed (line 115) | void
function SphereToTriangleCollision (line 154) | void
function SphereToTriangleCollisionCompressed (line 245) | void
FILE: src/collision/VuCollision.h
type VuTriangle (line 4) | struct VuTriangle
FILE: src/control/AutoPilot.h
type CPathNode (line 5) | struct CPathNode
type eCarMission (line 7) | enum eCarMission
type eCarTempAction (line 38) | enum eCarTempAction
type eCarDrivingStyle (line 53) | enum eCarDrivingStyle
function class (line 62) | class CAutoPilot {
FILE: src/control/Bridge.h
type bridgeStates (line 5) | enum bridgeStates {
function class (line 14) | class CBridge
FILE: src/control/CarAI.cpp
function uint8 (line 635) | uint8 CCarAI::FindPoliceCarMissionForWantedLevel()
function uint8 (line 649) | uint8 CCarAI::FindPoliceBoatMissionForWantedLevel()
function int32 (line 663) | int32 CCarAI::FindPoliceCarSpeedForWantedLevel(CVehicle* pVehicle)
FILE: src/control/CarAI.h
function class (line 7) | class CCarAI
FILE: src/control/CarCtrl.cpp
function int32 (line 725) | int32
function int32 (line 732) | int32
function int32 (line 743) | int32
function int32 (line 754) | int32
function int32 (line 787) | int32
function int32 (line 834) | int32
function int32 (line 840) | int32
function int32 (line 887) | int32
function int32 (line 1023) | int32
function CVector (line 1037) | static CVector GetRandomOffsetForVehicle(CVehicle* pVehicle, bool bNext)
function uint8 (line 1933) | uint8 CCarCtrl::FindPathDirection(int32 prevNode, int32 curNode, int32 n...
FILE: src/control/CarCtrl.h
function class (line 23) | class CCarCtrl
FILE: src/control/Curves.h
function class (line 4) | class CCurves
FILE: src/control/Darkel.cpp
function uint8 (line 48) | uint8
function uint16 (line 179) | uint16
function uint16 (line 193) | uint16
FILE: src/control/Darkel.h
function class (line 17) | class CDarkel
FILE: src/control/GameLogic.h
function class (line 5) | class CGameLogic
FILE: src/control/Garages.cpp
function int16 (line 209) | int16 CGarages::AddOne(float X1, float Y1, float Z1, float X2, float Y2,...
function int32 (line 1622) | int32 CGarages::QueryCarsCollected(int16 garage)
function CVehicle (line 1855) | CVehicle* CStoredCar::RestoreCar()
function int32 (line 2169) | int32 CGarages::CountCarsInHideoutGarage(uint8 type)
function CStoredCar (line 2287) | const CStoredCar &CStoredCar::operator=(const CStoredCar & other)
FILE: src/control/Garages.h
type eGarageState (line 9) | enum eGarageState
type eGarageType (line 20) | enum eGarageType
function class (line 64) | class CStoredCar
function Clear (line 82) | void Clear() { m_nModelIndex = 0; }
function HasCar (line 83) | bool HasCar() { return m_nModelIndex != 0; }
function class (line 93) | class CGarage
function class (line 198) | class CGarages
FILE: src/control/NameGrid.h
function class (line 5) | class CPlayerName
function class (line 18) | class CRow
function class (line 31) | class CGrid
FILE: src/control/OnscreenTimer.h
function class (line 9) | class COnscreenTimerEntry
function class (line 24) | class COnscreenCounterEntry
function class (line 38) | class COnscreenTimer
FILE: src/control/PathFind.cpp
function int32 (line 1248) | int32
function int32 (line 1284) | int32
function int32 (line 1377) | int32
function CVector (line 1404) | CVector
function CVector (line 1955) | CVector
function CPathNode (line 1971) | CPathNode*
function int16 (line 1980) | int16
FILE: src/control/PathFind.h
type CPedPathNode (line 35) | struct CPedPathNode
function class (line 47) | class CPedPath {
function SetPosition (line 59) | struct CPathNode
function GetX (line 90) | float GetX(void) { return x/8.0f; }
function GetY (line 91) | float GetY(void) { return y/8.0f; }
function GetZ (line 92) | float GetZ(void) { return z/8.0f; }
function HasDivider (line 93) | bool HasDivider(void) { return width != 0; }
function GetDividerWidth (line 94) | float GetDividerWidth(void) { return width/(2*8.0f); }
function GetPedNodeWidth (line 95) | float GetPedNodeWidth(void) { return width*WIDTH_TO_PED_NODE_WIDTH; }
function GetDirection (line 111) | struct CCarPathLink
function GetX (line 127) | float GetX(void) { return x/8.0f; }
function GetY (line 128) | float GetY(void) { return y/8.0f; }
function GetDirX (line 129) | float GetDirX(void) { return dirX/100.0f; }
function GetDirY (line 130) | float GetDirY(void) { return dirY/100.0f; }
function GetLaneOffset (line 131) | float GetLaneOffset(void) { return width/(2*8.0f*LANE_WIDTH); }
function OneWayLaneOffset (line 133) | float OneWayLaneOffset()
type CPathInfoForObject (line 144) | struct CPathInfoForObject
type CTempNode (line 171) | struct CTempNode
type CTempNodeExternal (line 185) | struct CTempNodeExternal // made up name
function class (line 203) | class CPathFind
function CPathNode (line 297) | inline CPathNode *CPathNode::GetPrev(void) { return ThePaths.GetNode(pre...
function CPathNode (line 298) | inline CPathNode *CPathNode::GetNext(void) { return ThePaths.GetNode(nex...
function SetPrev (line 299) | inline void CPathNode::SetPrev(CPathNode *node) { prevIndex = ThePaths.G...
function SetNext (line 300) | inline void CPathNode::SetNext(CPathNode *node) { nextIndex = ThePaths.G...
FILE: src/control/Phones.cpp
function PhonePutDownCB (line 323) | void
function PhonePickUpCB (line 338) | void
FILE: src/control/Phones.h
type PhoneState (line 8) | enum PhoneState {
function class (line 21) | class CPhone
function class (line 37) | class CPhoneInfo {
FILE: src/control/Pickups.cpp
function ModifyStringLabelForControlSetting (line 115) | void
function CObject (line 171) | CObject *
function int32 (line 747) | int32
function int32 (line 817) | int32
function int32 (line 893) | int32
function int32 (line 899) | int32
function int32 (line 909) | int32
function eWeaponType (line 915) | eWeaponType
function CPickup (line 991) | CPickup*
function uint32 (line 1548) | uint32
function uint32 (line 1569) | uint32
FILE: src/control/Pickups.h
type ePickupType (line 4) | enum ePickupType
function class (line 33) | class CPickup
type tPickupMessage (line 64) | struct tPickupMessage
function class (line 75) | class CPickups
type ePacmanPickupType (line 128) | enum ePacmanPickupType
function class (line 135) | class CPacManPickup
function class (line 145) | class CPacManPickups
FILE: src/control/PowerPoints.h
function class (line 12) | class CPowerPoint
function class (line 18) | class CPowerPoints
FILE: src/control/Record.cpp
function uint8 (line 24) | uint8* CRecordDataForGame::PackCurrentPadValues(uint8* buf, CControllerS...
function uint8 (line 29) | uint8* CRecordDataForGame::UnPackCurrentPadValues(uint8* buf, uint8 tota...
function uint16 (line 34) | uint16 CRecordDataForGame::CalcGameChecksum(void)
function RemoveUnusedCollision (line 79) | void RemoveUnusedCollision(void)
function CVehicle (line 103) | CVehicle* CRecordDataForChase::TurnChaseCarIntoScriptCar(int32 i)
FILE: src/control/Record.h
function class (line 7) | class CCarStateEachFrame
function class (line 28) | class CRecordDataForChase
type tGameBuffer (line 71) | struct tGameBuffer
function class (line 80) | class CRecordDataForGame
FILE: src/control/Remote.h
function class (line 3) | class CRemote
FILE: src/control/Replay.cpp
function uint8 (line 163) | static uint8 FindCBFunctionID(void(*f)(CAnimBlendAssociation*, void*))
function ApplyPanelDamageToCar (line 178) | static void ApplyPanelDamageToCar(uint32 panels, CAutomobile* vehicle, b...
function PrintElementsInPtrList (line 210) | void PrintElementsInPtrList(void)
function HasAnimGroupLoaded (line 605) | bool HasAnimGroupLoaded(uint8 group)
FILE: src/control/Replay.h
type CReference (line 15) | struct CReference
type CAddressInReplayBuffer (line 17) | struct CAddressInReplayBuffer
type CStoredAnimationState (line 24) | struct CStoredAnimationState
type CStoredDetailedAnimationState (line 47) | struct CStoredDetailedAnimationState
function class (line 73) | class CReplay
FILE: src/control/Restart.h
function class (line 5) | class CRestart
FILE: src/control/RoadBlocks.h
function class (line 6) | class CScriptRoadblock
function class (line 15) | class CRoadBlocks
FILE: src/control/SceneEdit.cpp
function int32 (line 75) | static int32 NextValidModelId(int32 mi, int32 step)
FILE: src/control/SceneEdit.h
type CMovieCommand (line 6) | struct CMovieCommand
function class (line 17) | class CSceneEdit
FILE: src/control/Script.cpp
function PrintToLog (line 1623) | static void PrintToLog(const char* format, ...)
function FlushLog (line 1643) | void FlushLog()
function cleanup_entity_struct (line 1674) | cleanup_entity_struct* CMissionCleanup::FindFree()
function int32 (line 2130) | int32 CRunningScript::CollectNextParameterWithoutIncreasingPC(uint32 ip)
function int32 (line 2169) | int32 *CRunningScript::GetPointerToScriptVariable(uint32* pIp, int16 type)
function open_script (line 2214) | int open_script()
function CRunningScript (line 2350) | CRunningScript* CTheScripts::StartNewScript(uint32 ip)
function CRunningScript (line 2456) | CRunningScript* CTheScripts::StartTestScript()
function int8 (line 2493) | int8 CRunningScript::ProcessOneCommand()
function int8 (line 2608) | int8 CRunningScript::ProcessCommands0To99(int32 command)
function int8 (line 3341) | int8 CRunningScript::ProcessCommands100To199(int32 command)
function int8 (line 4210) | int8 CRunningScript::ProcessCommands200To299(int32 command)
function uint32 (line 4790) | uint32 AddExtraDeathDelay()
function RetryMission (line 4799) | void RetryMission(int type, int unk)
FILE: src/control/Script.h
type intro_text_line (line 70) | struct intro_text_line
type script_sphere_struct (line 117) | struct script_sphere_struct
type tCollectiveData (line 227) | struct tCollectiveData
type tUsedObject (line 237) | struct tUsedObject
type tBuildingSwap (line 243) | struct tBuildingSwap
FILE: src/control/Script2.cpp
function int8 (line 31) | int8 CRunningScript::ProcessCommands300To399(int32 command)
function int8 (line 768) | int8 CRunningScript::ProcessCommands400To499(int32 command)
FILE: src/control/Script3.cpp
function int8 (line 39) | int8 CRunningScript::ProcessCommands500To599(int32 command)
function int8 (line 872) | int8 CRunningScript::ProcessCommands600To699(int32 command)
function int8 (line 1523) | int8 CRunningScript::ProcessCommands700To799(int32 command)
FILE: src/control/Script4.cpp
function IsSlideObjectUsedWrongByScript (line 45) | static bool IsSlideObjectUsedWrongByScript(const CVector& posTarget, con...
function int8 (line 61) | int8 CRunningScript::ProcessCommands800To899(int32 command)
function int8 (line 1200) | int8 CRunningScript::ProcessCommands900To999(int32 command)
function int32 (line 2210) | int32 CTheScripts::GetNewUniqueScriptSphereIndex(int32 index)
function int32 (line 2219) | int32 CTheScripts::GetActualScriptSphereIndex(int32 index)
function int32 (line 2240) | int32 CTheScripts::AddScriptSphere(int32 id, CVector pos, float radius)
FILE: src/control/Script5.cpp
function int16 (line 1396) | int16 CRunningScript::GetPadState(uint16 pad, uint16 button)
FILE: src/control/Script6.cpp
function int8 (line 82) | int8 CRunningScript::ProcessCommands1000To1099(int32 command)
function int8 (line 861) | int8 CRunningScript::ProcessCommands1100To1199(int32 command)
FILE: src/control/Script7.cpp
function int8 (line 34) | int8 CRunningScript::ProcessCommands1200To1299(int32 command)
function int8 (line 741) | int8 CRunningScript::ProcessCommands1300To1399(int32 command)
FILE: src/control/Script8.cpp
function int8 (line 32) | int8 CRunningScript::ProcessCommands1400To1499(int32 command)
FILE: src/control/ScriptCommands.h
type eScriptArgument (line 1480) | enum eScriptArgument
type tScriptCommandData (line 1494) | struct tScriptCommandData
FILE: src/control/SetPieces.cpp
function CVehicle (line 282) | CVehicle* CSetPiece::TryToGenerateCopCar(CVector2D vSpawn, CVector2D vTa...
function CCopPed (line 307) | CCopPed* CSetPiece::TryToGenerateCopPed(CVector2D vSpawn)
FILE: src/control/SetPieces.h
type eSetPieceType (line 8) | enum eSetPieceType
function class (line 20) | class CSetPiece
function class (line 37) | class CSetPieces
FILE: src/control/TrafficLights.cpp
function DoesLineSegmentIntersect (line 302) | bool DoesLineSegmentIntersect(float l1x1, float l1y1, float l1x2, float ...
function uint8 (line 469) | uint8
function uint8 (line 482) | uint8
function uint8 (line 501) | uint8
function uint8 (line 522) | uint8
function uint8 (line 530) | uint8
FILE: src/control/TrafficLights.h
function class (line 17) | class CTrafficLights
FILE: src/core/Accident.cpp
function CAccident (line 11) | CAccident*
function CAccident (line 70) | CAccident*
function uint16 (line 99) | uint16
FILE: src/core/Accident.h
function class (line 6) | class CAccident
function class (line 15) | class CAccidentManager
FILE: src/core/AnimViewer.cpp
function LastPedModelId (line 164) | int
function FirstCarModelId (line 178) | int
function NextModelId (line 193) | int
function PlayAnimation (line 218) | void
FILE: src/core/AnimViewer.h
function class (line 3) | class CAnimViewer {
FILE: src/core/Cam.cpp
function WellBufferMe (line 364) | void
function MakeAngleLessThan180 (line 392) | void
function CVector (line 946) | CVector
function FindSplinePathPositionFloat (line 3436) | void
function FindSplinePathPositionVector (line 3468) | void
FILE: src/core/Camera.cpp
function else (line 911) | else if (bFreeCam) {
function CamShakeNoPos (line 1923) | void
function uint32 (line 3661) | uint32
FILE: src/core/Camera.h
function class (line 31) | class CCam
function class (line 249) | class CCamPathSplines
type CTrainCamNode (line 258) | struct CTrainCamNode
type CQueuedMode (line 268) | struct CQueuedMode
function class (line 325) | class CCamera : public CPlaceable
FILE: src/core/CdStream.cpp
type CdReadInfo (line 10) | struct CdReadInfo
function CdStreamInitThread (line 47) | void
function CdStreamInit (line 100) | void
function uint32 (line 169) | uint32
function CdStreamShutdown (line 176) | void
function int32 (line 194) | int32
function int32 (line 265) | int32
function int32 (line 304) | int32
function int32 (line 311) | int32
function AddToQueue (line 358) | void
function int32 (line 371) | int32
function RemoveFirstInQueue (line 382) | void
function DWORD (line 395) | DWORD
function CdStreamAddImage (line 479) | bool
function CdStreamRemoveImages (line 516) | void
function int32 (line 533) | int32
FILE: src/core/CdStream.h
type Queue (line 20) | struct Queue
FILE: src/core/CdStreamPosix.cpp
function sem_t (line 35) | sem_t*
function re3_sem_close (line 47) | void
function sem_t (line 57) | sem_t*
function re3_sem_close (line 69) | void
type CdReadInfo (line 84) | struct CdReadInfo
function CdStreamInitThread (line 124) | void
function CdStreamInit (line 197) | void
function uint32 (line 240) | uint32
function CdStreamShutdown (line 267) | void
function int32 (line 285) | int32
function int32 (line 330) | int32
function int32 (line 362) | int32
function AddToQueue (line 411) | void
function int32 (line 424) | int32
function RemoveFirstInQueue (line 435) | void
function CdStreamAddImage (line 535) | bool
function CdStreamRemoveImages (line 578) | void
function int32 (line 598) | int32
FILE: src/core/Clock.cpp
function int32 (line 101) | int32
FILE: src/core/Clock.h
function class (line 3) | class CClock
FILE: src/core/ControllerConfig.cpp
function MapIdToButtonId (line 47) | int MapIdToButtonId(int mapId) {
function int32 (line 88) | int32 CControllerConfigManager::GetJoyButtonJustDown()
function e_ControllerActionType (line 1909) | e_ControllerActionType CControllerConfigManager::GetActionType(e_Control...
function wchar (line 2012) | wchar *CControllerConfigManager::GetControllerSettingTextWithOrderNumber...
function wchar (line 2035) | wchar *CControllerConfigManager::GetControllerSettingTextKeyBoard(e_Cont...
function wchar (line 2379) | wchar *CControllerConfigManager::GetControllerSettingTextMouse(e_Control...
function wchar (line 2410) | wchar *CControllerConfigManager::GetControllerSettingTextJoystick(e_Cont...
function int32 (line 2424) | int32 CControllerConfigManager::GetNumOfSettingsForAction(e_ControllerAc...
function int32 (line 2773) | int32 CControllerConfigManager::GetControllerKeyAssociatedWithAction(e_C...
function wchar (line 2822) | wchar *CControllerConfigManager::GetButtonComboText(e_ControllerAction a...
function int32 (line 2852) | int32 CControllerConfigManager::GetMouseButtonAssociatedWithAction(e_Con...
FILE: src/core/ControllerConfig.h
type eControllerType (line 10) | enum eControllerType
type e_ControllerAction (line 19) | enum e_ControllerAction
type e_ControllerActionType (line 71) | enum e_ControllerActionType
type eContSetOrder (line 82) | enum eContSetOrder
type eSimCheckers (line 92) | enum eSimCheckers
type GlfwJoyState (line 110) | struct GlfwJoyState {
function class (line 119) | class CControllerConfigManager
FILE: src/core/Crime.h
type eCrimeType (line 3) | enum eCrimeType {
function class (line 27) | class CCrimeBeingQd
FILE: src/core/Debug.h
function class (line 3) | class CDebug
FILE: src/core/Directory.h
function class (line 3) | class CDirectory
FILE: src/core/EventList.h
type eEventType (line 6) | enum eEventType
type eEventEntity (line 35) | enum eEventEntity
type CEvent (line 43) | struct CEvent
function class (line 54) | class CEventList
FILE: src/core/FileLoader.cpp
function LoadingScreenLoadingFile (line 42) | void
function RwTexDictionary (line 152) | RwTexDictionary*
type ColHeader (line 171) | struct ColHeader
function GetNameAndLOD (line 373) | static void
function RpAtomic (line 391) | RpAtomic*
function InitClump (line 417) | void
function RpAtomic (line 541) | RpAtomic*
function RpClump (line 558) | RpClump*
function RwTexture (line 575) | static RwTexture*
function SetModelInfoFlags (line 689) | void
FILE: src/core/FileLoader.h
function class (line 3) | class CFileLoader
FILE: src/core/FileMgr.cpp
type myFILE (line 21) | struct myFILE
function mychdir (line 38) | void mychdir(char const *path)
function myfopen (line 53) | static int
function myfclose (line 80) | static int
function myfgetc (line 93) | static int
function myfputc (line 109) | static int
function myfread (line 141) | static size_t
function myfwrite (line 162) | static size_t
function myfseek (line 183) | static int
function myfeof (line 189) | static int
FILE: src/core/FileMgr.h
function class (line 3) | class CFileMgr
FILE: src/core/Fire.cpp
function CFire (line 225) | CFire *
function CFire (line 321) | CFire* CFireManager::FindNearestFire(CVector vecPos, float *pDistance)
function CFire (line 343) | CFire *
function CFire (line 365) | CFire *
function uint32 (line 375) | uint32
function int32 (line 420) | int32
FILE: src/core/Fire.h
function class (line 5) | class CFire
FILE: src/core/FrontEndControls.cpp
function CPlaceableShOption (line 284) | CPlaceableShOption*
function CPlaceableShOption (line 477) | CPlaceableShOption*
function CPlaceableShOption (line 544) | CPlaceableShOption*
function CPlaceableShOption (line 663) | CPlaceableShOption*
function CPlaceableShOption (line 705) | CPlaceableShOption*
function CPlaceableShOptionTwoLines (line 767) | CPlaceableShOptionTwoLines*
function CPlaceableShOptionTwoLines (line 773) | CPlaceableShOptionTwoLines*
function CPlaceableShOptionTwoLines (line 969) | CPlaceableShOptionTwoLines*
function CPlaceableShOptionTwoLines (line 979) | CPlaceableShOptionTwoLines*
FILE: src/core/FrontEndControls.h
function class (line 11) | class CTriggerCaller
function class (line 47) | class CPlaceableText
function class (line 63) | class CPlaceableTextTwoLines
function class (line 74) | class CShadowInfo
function SetShadows (line 87) | void SetShadows(bool bDropShadows, const CRGBA &shadowColor, const CVect...
function class (line 95) | class CSelectable
function SetPosition (line 109) | void SetPosition(float x, float y, bool bRightJustify) { SetPosition(x, ...
function SetAlpha (line 110) | void SetAlpha(uint8 alpha) { m_shadowColor.alpha = alpha; CPlaceableTex...
function DrawShWrap (line 115) | void DrawShWrap(float x, float y, float wrapX, float wrapY) { Draw(x, y); }
function SetAlpha (line 131) | void SetAlpha(uint8 alpha) { m_selectedColor.alpha = alpha; CPlaceableS...
function SetAlpha (line 141) | void SetAlpha(uint8 alpha) { m_selectedColor.alpha = alpha; CPlaceableS...
function class (line 147) | class CPlaceableSprite
function SetAlpha (line 160) | void SetAlpha(uint8 alpha) { m_color.alpha = alpha; }
function class (line 166) | class CPlaceableShSprite
function class (line 186) | class CMenuBase
function class (line 221) | class CMenuDummy : public CMenuBase
function class (line 251) | class CMenuPictureAndText : public CMenuBase
function class (line 305) | class CMenuMultiChoice : public CMenuBase
function class (line 351) | class CMenuMultiChoiceTriggered : public CMenuMultiChoice
function class (line 368) | class CMenuMultiChoiceTriggeredAlways : public CMenuMultiChoiceTriggered
function class (line 383) | class CMenuMultiChoicePictured : public CMenuMultiChoice
function class (line 402) | class CMenuMultiChoicePicturedTriggered : public CMenuMultiChoicePictured
type FEC_MOVETAB (line 420) | struct FEC_MOVETAB
function class (line 428) | class CMenuMultiChoicePicturedTriggeredAnyMove : public CMenuMultiChoice...
function class (line 446) | class CMenuMultiChoiceTwoLines : public CMenuBase
function class (line 494) | class CMenuMultiChoiceTwoLinesTriggered : public CMenuMultiChoiceTwoLines
function class (line 513) | class CMenuOnOff : public CMenuBase
function class (line 555) | class CMenuOnOffTriggered : public CMenuOnOff
function class (line 567) | class CMenuSlider : public CMenuBase
function virtual (line 607) | virtual bool GoNext(void) { DeactivateMenu(); return false; }
function virtual (line 608) | virtual bool GoPrev(void) { DeactivateMenu(); return false; }
function virtual (line 609) | virtual bool GoDown(void) { return GoNext(); }
function virtual (line 610) | virtual bool GoUp(void) { return GoPrev(); }
function virtual (line 611) | virtual bool GoDownStill(void) { return false; }
function virtual (line 612) | virtual bool GoUpStill(void) { return false; }
function virtual (line 613) | virtual bool GoLeft(void) { if(m_value < 0) m_value = 0; return true; }
function virtual (line 614) | virtual bool GoRight(void) { if(m_value > 1000) m_value = 1000; return t...
function virtual (line 615) | virtual bool GoLeftStill(void) { m_value -= 8; if(m_value < 0) m_value =...
function virtual (line 616) | virtual bool GoRightStill(void) { m_value += 8; if(m_value > 1000) m_val...
function virtual (line 617) | virtual bool GoFirst(void) { ActivateMenu(true); return true; }
function virtual (line 618) | virtual bool GoLast(void) { ActivateMenu(true); return true; }
function virtual (line 619) | virtual void SelectCurrentOptionUnderCursor(void) {}
function virtual (line 620) | virtual void SelectDefaultCancelAction(void) {}
function virtual (line 621) | virtual void ActivateMenu(bool first) { m_bActive = true; }
function virtual (line 622) | virtual void DeactivateMenu(void) { m_bActive = false; }
function virtual (line 623) | virtual int GetMenuSelection(void) { return m_value/10; }
function virtual (line 624) | virtual void SetMenuSelection(int selection) { m_value = selection*10; }
function class (line 627) | class CMenuSliderTriggered : public CMenuSlider
function class (line 648) | class CMenuLineLister : public CMenuBase
function class (line 697) | class CMenuPage
function class (line 736) | class CMenuPageAnyMove : public CMenuPage
FILE: src/core/Frontend.cpp
function GetOptionCount (line 70) | int GetOptionCount(int screen)
function ScreenHasOption (line 304) | bool ScreenHasOption(int screen, const char* gxtKey)
function int8 (line 356) | inline int8
function int8 (line 412) | inline int8
function DrawDialogBg (line 5298) | void
function uint8 (line 5850) | uint8 CMenuManager::GetNumberOfMenuOptions()
FILE: src/core/Frontend.h
type eMenuSprites (line 112) | enum eMenuSprites
type eSaveSlot (line 150) | enum eSaveSlot
type eMenuScreen (line 165) | enum eMenuScreen
type eMenuAction (line 227) | enum eMenuAction
type eCheckHover (line 293) | enum eCheckHover
type eControlMethod (line 343) | enum eControlMethod
type ControllerSetupColumn (line 350) | enum ControllerSetupColumn
type tSkinInfo (line 356) | struct tSkinInfo
type BottomBarOption (line 365) | struct BottomBarOption
type CMenuScreen (line 372) | struct CMenuScreen
type CCustomScreenLayout (line 392) | struct CCustomScreenLayout {
type CCFO (line 401) | struct CCFO
function CCFO (line 408) | struct CCFOSelect : CCFO
function CCFO (line 434) | struct CCFODynamic : CCFO
type CMenuScreenCustom (line 449) | struct CMenuScreenCustom
type MenuTrapezoid (line 477) | struct MenuTrapezoid
function SaveCurrentCoors (line 515) | void SaveCurrentCoors() {
function Translate (line 526) | void Translate(int delta) {
function UpdateMultipliers (line 537) | void UpdateMultipliers() {
function class (line 549) | class CMenuManager
FILE: src/core/FrontendTriggers.h
function DisplayWarningControllerMsg (line 13) | void
function TriggerMCSUM_Yes (line 66) | void
function wchar (line 75) | wchar *PrintStatLine(char const *text, void *stat, unsigned char itsFloa...
function DisplayMemoryCardAccessMsg (line 111) | void
function FillMenuWithMemCardFileListing (line 141) | void
function TriggerSaveZone_FormatFailedOK (line 245) | void
function TriggerSaveZone_BackToMainMenu (line 252) | void
function TriggerSaveZone_QuitMenu (line 260) | void
function TriggerSaveZone_FormatCard (line 271) | void
function TriggerSaveZone_FormatCardSelect (line 375) | void
function TriggerSaveZone_DeleteSaveGame (line 421) | void
function TriggerSaveZone_SaveGame (line 506) | void
function TriggerSaveZone_SaveSlots (line 565) | void
function TriggerSaveZone_SaveGameSelect (line 613) | void
function TriggerControls_Vibrations (line 636) | void
function TriggerControls_ContrDisplay (line 650) | void
function TriggerControls_DrawHNContrConfig (line 674) | void
function TriggerControls_DrawContrConfig (line 702) | void
function TriggerControls_ContrConfig (line 732) | void
function TriggerLanguage_Language (line 760) | void
function TriggerAudio_RadioStation (line 774) | void
function TriggerAudio_StereoMono (line 788) | void
function TriggerAudio_MusicVolumeAlways (line 806) | void
function TriggerAudio_SfxVolumeAlways (line 812) | void
function TriggerAudio_MusicVolume (line 836) | void
function TriggerAudio_SfxVolume (line 846) | void
function TriggerSave_NewGameNewGame (line 852) | void
function TriggerSave_NewGameSelectYes (line 869) | void
function TriggerSave_DeleteGameDeleteGame (line 885) | void
function TriggerSave_DeleteGameDeleteGameSelect (line 929) | void
function TriggerSave_DeleteGameSelect (line 965) | void
function TriggerSave_LoadGameLoadGame (line 979) | void
function TriggerSave_LoadGameLoadGameSelect (line 1029) | void
function TriggerSave_LoadGameSelect (line 1078) | void
function TriggerSave_BackToMainMenu (line 1092) | void
function InitialiseTextsInMenuControllerInCar (line 1101) | void InitialiseTextsInMenuControllerInCar(CMenuPictureAndText *widget, C...
function InitialiseTextsInMenuControllerOnFoot (line 1200) | void InitialiseTextsInMenuControllerOnFoot(CMenuPictureAndText *widget, ...
function TriggerSaveZone_BackToMainMenuTwoLines (line 1296) | void
function TriggerSave_BackToMainMenuTwoLines (line 1304) | void
function SetRandomActiveTextlineColor (line 1313) | void
function TriggerDisplay_Trails (line 1378) | void
FILE: src/core/Frontend_PS2.h
type eFrontendSprites (line 27) | enum eFrontendSprites
type eControlMethod (line 66) | enum eControlMethod
function class (line 73) | class CMenuManager
FILE: src/core/Game.cpp
function MessageScreen (line 126) | void MessageScreen(char *msg)
function MoveMem (line 959) | bool
type SkyDataPrefix (line 974) | struct SkyDataPrefix
type DMAGIFUpload (line 982) | struct DMAGIFUpload
function RwTexture (line 995) | RwTexture*
function MoveAtomicMemory (line 1054) | bool
function MoveColModelMemory (line 1099) | bool
function RpAtomic (line 1124) | RpAtomic*
function TidyUpModelInfo (line 1137) | bool
FILE: src/core/Game.h
type eLevelName (line 3) | enum eLevelName {
type eAreaName (line 12) | enum eAreaName {
function class (line 34) | class CGame
function IsAreaVisible (line 81) | inline bool IsAreaVisible(int area) { return area == CGame::currArea || ...
FILE: src/core/General.h
function class (line 5) | class CGeneral
FILE: src/core/IniFile.h
function class (line 3) | class CIniFile
FILE: src/core/Lists.h
function class (line 3) | class CPtrNode
function class (line 14) | class CPtrList
function class (line 74) | class CEntryInfoNode
function class (line 88) | class CEntryInfoList
FILE: src/core/MenuScreensCustom.cpp
function RestoreDefGraphics (line 95) | void RestoreDefGraphics(int8 action) {
function RestoreDefDisplay (line 128) | void RestoreDefDisplay(int8 action) {
function IslandLoadingAfterChange (line 152) | void IslandLoadingAfterChange(int8 before, int8 after) {
function GraphicsGoBack (line 185) | void GraphicsGoBack() {
function GraphicsGoBack (line 188) | void GraphicsGoBack() {
function MultiSamplingButtonPress (line 192) | void MultiSamplingButtonPress(int8 action) {
function wchar (line 224) | wchar* MultiSamplingDraw(bool *disabled, bool userHovering) {
function ScreenModeAfterChange (line 255) | void ScreenModeAfterChange(int8 before, int8 after)
function wchar (line 267) | wchar* DetectJoystickDraw(bool* disabled, bool userHovering) {
function DetectJoystickGoBack (line 338) | void DetectJoystickGoBack() {
function ControllerTypeAfterChange (line 353) | void ControllerTypeAfterChange(int8 before, int8 after)
FILE: src/core/Pad.cpp
function SpecialCarCheats (line 91) | void SpecialCarCheats()
function PickUpChicksCheat (line 140) | void PickUpChicksCheat()
function WeaponCheat1 (line 159) | void WeaponCheat1()
function WeaponCheat2 (line 200) | void WeaponCheat2()
function WeaponCheat3 (line 244) | void WeaponCheat3()
function HealthCheat (line 289) | void HealthCheat()
function VehicleCheat (line 304) | void VehicleCheat(int model)
function BlowUpCarsCheat (line 341) | void BlowUpCarsCheat()
function ChangePlayerCheat (line 352) | void ChangePlayerCheat()
function ChangePlayerModel (line 383) | void ChangePlayerModel(const char* name) {
function MayhemCheat (line 391) | void MayhemCheat()
function EverybodyAttacksPlayerCheat (line 404) | void EverybodyAttacksPlayerCheat()
function WeaponsForAllCheat (line 414) | void WeaponsForAllCheat()
function FastTimeCheat (line 422) | void FastTimeCheat()
function SlowTimeCheat (line 429) | void SlowTimeCheat()
function MoneyCheat (line 436) | void MoneyCheat()
function ArmourCheat (line 442) | void ArmourCheat()
function WantedLevelUpCheat (line 448) | void WantedLevelUpCheat()
function WantedLevelDownCheat (line 454) | void WantedLevelDownCheat()
function SunnyWeatherCheat (line 460) | void SunnyWeatherCheat()
function ExtraSunnyWeatherCheat (line 466) | void ExtraSunnyWeatherCheat()
function CloudyWeatherCheat (line 472) | void CloudyWeatherCheat()
function RainyWeatherCheat (line 478) | void RainyWeatherCheat()
function FoggyWeatherCheat (line 484) | void FoggyWeatherCheat()
function FastWeatherCheat (line 490) | void FastWeatherCheat()
function OnlyRenderWheelsCheat (line 496) | void OnlyRenderWheelsCheat()
function ChittyChittyBangBangCheat (line 504) | void ChittyChittyBangBangCheat()
function StrongGripCheat (line 516) | void StrongGripCheat()
function FannyMagnetCheat (line 524) | void FannyMagnetCheat()
function BlackCarsCheat (line 531) | void BlackCarsCheat()
function PinkCarsCheat (line 538) | void PinkCarsCheat()
function TrafficLightsCheat (line 545) | void TrafficLightsCheat()
function MadCarsCheat (line 551) | void MadCarsCheat()
function NoSeaBedCheat (line 557) | void NoSeaBedCheat(void)
function RenderWaterLayersCheat (line 563) | void RenderWaterLayersCheat(void)
function BackToTheFuture (line 570) | void BackToTheFuture(void)
function SuicideCheat (line 577) | void SuicideCheat(void) {
function DoChicksWithGunsCheat (line 582) | void DoChicksWithGunsCheat(void) {
function KangarooCheat (line 598) | void KangarooCheat()
function AllCarsHeliCheat (line 620) | void AllCarsHeliCheat(void)
function WallClimbingCheat (line 636) | void WallClimbingCheat(void)
function FlyingFishCheat (line 651) | void FlyingFishCheat(void)
function DoShowChaseStatCheat (line 658) | void DoShowChaseStatCheat(void) {
function uint32 (line 783) | uint32 CPad::InputHowLongAgo()
function CMouseControllerState (line 828) | CMouseControllerState CMousePointerStateHelper::GetMouseSetUp()
function CControllerState (line 968) | CControllerState CPad::ReconcileTwoControllersInput(CControllerState con...
function Cheat_strncmp (line 1205) | int Cheat_strncmp(char* sourceStr, char* origCheatStr)
function CPad (line 2079) | CPad *CPad::GetPad(int32 pad)
function int16 (line 2089) | int16 CPad::GetSteeringLeftRight(void)
function int16 (line 2131) | int16 CPad::GetSteeringUpDown(void)
function int16 (line 2164) | int16 CPad::GetCarGunUpDown(void)
function int16 (line 2191) | int16 CPad::GetCarGunLeftRight(void)
function int16 (line 2218) | int16 CPad::GetPedWalkLeftRight(void)
function int16 (line 2251) | int16 CPad::GetPedWalkUpDown(void)
function int16 (line 2284) | int16 CPad::GetAnalogueUpDown(void)
function int16 (line 2314) | int16 CPad::GetAnalogueLeftRight(void)
function int16 (line 2509) | int16 CPad::GetHandBrake(void)
function int16 (line 2542) | int16 CPad::GetBrake(void)
function int32 (line 2641) | int32 CPad::GetWeapon(void)
function int16 (line 2707) | int16 CPad::GetAccelerate(void)
function int16 (line 3241) | int16 CPad::SniperModeLookLeftRight(void)
function int16 (line 3256) | int16 CPad::SniperModeLookUpDown(void)
function int16 (line 3281) | int16 CPad::LookAroundLeftRight(void)
function int16 (line 3296) | int16 CPad::LookAroundUpDown(void)
function LittleTest (line 3382) | void LittleTest(void)
function int32 (line 3474) | int32 *CPad::EditCodesForControls(int32 *pRsKeys, int32 nSize)
FILE: src/core/Pad.h
function class (line 16) | class CControllerState
function class (line 38) | class CMouseControllerState
function class (line 60) | class CMousePointerStateHelper
function class (line 74) | class CKeyboardState
function class (line 138) | class CPad
FILE: src/core/Placeable.h
function class (line 3) | class CPlaceable
FILE: src/core/PlayerInfo.cpp
function CVector (line 640) | const CVector &
function CVector (line 652) | CVector
function CVector (line 666) | const CVector &
function CVehicle (line 681) | CVehicle *
function CEntity (line 689) | CEntity *
function CVehicle (line 699) | CVehicle *
function CPlayerPed (line 708) | CPlayerPed *
function CVector (line 714) | const CVector &
function CVector (line 726) | const CVector &
function FindPlayerHeading (line 739) | float
FILE: src/core/PlayerInfo.h
type eWastedBustedState (line 5) | enum eWastedBustedState
type eBustedAudioState (line 13) | enum eBustedAudioState
function class (line 26) | class CPlayerInfo
FILE: src/core/Pools.cpp
function int32 (line 93) | int32 CPools::GetPedRef(CPed *ped) { return ms_pPedPool->GetIndex(ped); }
function CPed (line 94) | CPed *CPools::GetPed(int32 handle) { return ms_pPedPool->GetAt(handle); }
function int32 (line 95) | int32 CPools::GetVehicleRef(CVehicle *vehicle) { return ms_pVehiclePool-...
function CVehicle (line 96) | CVehicle *CPools::GetVehicle(int32 handle) { return ms_pVehiclePool->Get...
function int32 (line 97) | int32 CPools::GetObjectRef(CObject *object) { return ms_pObjectPool->Get...
function CObject (line 98) | CObject *CPools::GetObject(int32 handle) { return ms_pObjectPool->GetAt(...
FILE: src/core/Pools.h
type CPool (line 13) | typedef CPool<CPtrNode> CCPtrNodePool;
type CPool (line 14) | typedef CPool<CEntryInfoNode> CEntryInfoNodePool;
type CPool (line 15) | typedef CPool<CPed,CPlayerPed> CPedPool;
type CPool (line 16) | typedef CPool<CVehicle,CAutomobile> CVehiclePool;
type CPool (line 17) | typedef CPool<CBuilding> CBuildingPool;
type CPool (line 18) | typedef CPool<CTreadable> CTreadablePool;
type CPool (line 19) | typedef CPool<CObject, CCutsceneObject> CObjectPool;
type CPool (line 20) | typedef CPool<CDummy, CDummyPed> CDummyPool;
type CPool (line 21) | typedef CPool<cAudioScriptObject> CAudioScriptObjectPool;
type CPool (line 22) | typedef CPool<CColModel> CColModelPool;
function class (line 24) | class CPools
function CEntryInfoNodePool (line 38) | static CEntryInfoNodePool *GetEntryInfoNodePool(void) { return ms_pEntry...
function CPedPool (line 39) | static CPedPool *GetPedPool(void) { return ms_pPedPool; }
function CVehiclePool (line 40) | static CVehiclePool *GetVehiclePool(void) { return ms_pVehiclePool; }
function CBuildingPool (line 41) | static CBuildingPool *GetBuildingPool(void) { return ms_pBuildingPool; }
function CTreadablePool (line 42) | static CTreadablePool *GetTreadablePool(void) { return ms_pTreadablePool; }
function CObjectPool (line 43) | static CObjectPool *GetObjectPool(void) { return ms_pObjectPool; }
function CDummyPool (line 44) | static CDummyPool *GetDummyPool(void) { return ms_pDummyPool; }
function CAudioScriptObjectPool (line 45) | static CAudioScriptObjectPool *GetAudioScriptObjectPool(void) { return m...
function CColModelPool (line 46) | static CColModelPool *GetColModelPool(void) { return ms_pColModelPool; }
FILE: src/core/Profile.h
type eProfile (line 3) | enum eProfile
function class (line 15) | class CProfile
FILE: src/core/Radar.cpp
function ClipRadarTileCoords (line 140) | void ClipRadarTileCoords(int32 &x, int32 &y)
function RequestMapSection (line 152) | void RequestMapSection(int32 x, int32 y)
function RemoveMapSection (line 158) | void RemoveMapSection(int32 x, int32 y)
function GetTextureCorners (line 165) | void GetTextureCorners(int32 x, int32 y, CVector2D *out)
function IsPointInsideRadar (line 188) | bool IsPointInsideRadar(const CVector2D &point)
function LineRadarBoxCollision (line 196) | int LineRadarBoxCollision(CVector2D &out, const CVector2D &p1, const CVe...
function uint8 (line 267) | uint8 CRadar::CalculateBlipAlpha(float dist)
function int32 (line 806) | int32 CRadar::GetActualBlipArrayIndex(int32 i)
function int32 (line 816) | int32 CRadar::GetNewUniqueBlipIndex(int32 i)
function uint32 (line 825) | uint32 CRadar::GetRadarTraceColour(uint32 color, bool bright)
FILE: src/core/Radar.h
type eBlipType (line 33) | enum eBlipType
type eBlipDisplay (line 43) | enum eBlipDisplay
type eRadarSprite (line 51) | enum eRadarSprite
type sRadarTrace (line 117) | struct sRadarTrace
type sRadarTraceSave (line 137) | struct sRadarTraceSave
function class (line 182) | class CRadar
FILE: src/core/Range2D.cpp
function CVector2D (line 18) | CVector2D
FILE: src/core/Range2D.h
function class (line 3) | class CRange2D
FILE: src/core/Range3D.cpp
function CVector (line 18) | CVector
FILE: src/core/Range3D.h
function class (line 3) | class CRange3D
FILE: src/core/References.h
type CReference (line 5) | struct CReference
function class (line 11) | class CReferences
FILE: src/core/Ropes.h
function class (line 3) | class CRope
function class (line 18) | class CRopes
FILE: src/core/Stats.cpp
function wchar (line 293) | wchar *CStats::FindCriminalRatingString()
function wchar (line 358) | wchar *CStats::FindChaseString(float fMediaLevel) {
function int32 (line 382) | int32 CStats::FindCriminalRatingNumber()
FILE: src/core/Stats.h
function class (line 6) | class CStats
FILE: src/core/Streaming.cpp
function RpAtomic (line 500) | RpAtomic*
function ISLAND_LOADING_IS (line 1261) | ISLAND_LOADING_IS(LOW)
function DeleteIsland (line 1271) | void
function int32 (line 1496) | int32
function ISLAND_LOADING_IS (line 1913) | ISLAND_LOADING_IS(LOW)
function int32 (line 1950) | int32
function ModelNotLoaded (line 1985) | inline bool
function TxdNotLoaded (line 1992) | inline bool TxdNotLoaded(int32 txdId) { return ModelNotLoaded(txdId + ST...
function AnimNotLoaded (line 1993) | inline bool AnimNotLoaded(int32 animId) { return animId != -1 && ModelNo...
function int32 (line 1996) | int32
FILE: src/core/Streaming.h
type StreamFlags (line 12) | enum StreamFlags
type StreamLoadState (line 25) | enum StreamLoadState
type ChannelState (line 34) | enum ChannelState
function class (line 42) | class CStreamingInfo
type CStreamingChannel (line 62) | struct CStreamingChannel
function class (line 77) | class CStreaming
FILE: src/core/SurfaceTable.h
type eSurfaceType (line 3) | enum eSurfaceType
type CColPoint (line 54) | struct CColPoint
function IsSeeThrough (line 56) | inline bool
function IsSeeThroughVertical (line 70) | inline bool
function IsShootThrough (line 80) | inline bool
function class (line 92) | class CSurfaceTable
FILE: src/core/TimeStep.h
function class (line 4) | class CTimeStep
FILE: src/core/Timer.cpp
function uint32 (line 198) | uint32 CTimer::GetCyclesPerMillisecond(void)
function uint32 (line 208) | uint32 CTimer::GetCurrentTimeInCycles(void)
function uint32 (line 242) | uint32 CTimer::GetCyclesPerFrame()
FILE: src/core/Timer.h
function class (line 9) | class CTimer
FILE: src/core/User.h
function class (line 9) | class CPlaceName
function class (line 22) | class CCurrentVehicle
function class (line 32) | class CUserDisplay
FILE: src/core/Wanted.cpp
function int32 (line 70) | int32
function int32 (line 367) | int32
FILE: src/core/Wanted.h
function class (line 8) | class CWanted
FILE: src/core/World.cpp
function CEntity (line 852) | CEntity *
function CEntity (line 934) | CEntity *
function AddSteamsFromGround (line 1639) | inline void
FILE: src/core/World.h
function class (line 44) | class CSector
function class (line 52) | class CWorld
FILE: src/core/ZoneCull.cpp
function IsPointWithinArbitraryArea (line 63) | bool
function int32 (line 88) | int32
function CAttributeZone (line 108) | CAttributeZone*
FILE: src/core/ZoneCull.h
type eZoneAttribs (line 3) | enum eZoneAttribs
type CAttributeZone (line 18) | struct CAttributeZone
function class (line 30) | class CCullZones
FILE: src/core/Zones.cpp
function wchar (line 29) | wchar*
function eLevelName (line 314) | eLevelName
function CZone (line 327) | CZone*
function CZone (line 340) | CZone*
function int16 (line 362) | int16
function int16 (line 391) | int16
function CZoneInfo (line 421) | CZoneInfo*
function int16 (line 571) | int16
FILE: src/core/Zones.h
type eZoneType (line 7) | enum eZoneType
function class (line 15) | class CZone
function class (line 36) | class CZoneInfo
function class (line 54) | class CTheZones
FILE: src/core/common.h
type uint8 (line 87) | typedef uint8_t uint8;
type int8 (line 88) | typedef int8_t int8;
type uint16 (line 89) | typedef uint16_t uint16;
type int16 (line 90) | typedef int16_t int16;
type uint32 (line 92) | typedef uint32_t uint32;
type int32 (line 93) | typedef int32_t int32;
type uint32 (line 95) | typedef unsigned int uint32;
type int32 (line 96) | typedef int int32;
type uintptr (line 98) | typedef uintptr_t uintptr;
type intptr (line 99) | typedef intptr_t intptr;
type uint64 (line 100) | typedef uint64_t uint64;
type int64 (line 101) | typedef int64_t int64;
type wchar (line 103) | typedef uint16_t wchar;
type uint8 (line 105) | typedef uint8 bool8;
type uint16 (line 106) | typedef uint16 bool16;
type uint32 (line 107) | typedef uint32 bool32;
function uint32 (line 136) | inline uint32 dpb(uint32 b, uint32 p, uint32 s, uint32 w)
function uint32 (line 141) | inline uint32 ldb(uint32 p, uint32 s, uint32 w)
function class (line 221) | class CRGBA
function operator (line 242) | bool operator !=(const CRGBA &right)
function RwRGBA (line 260) | RwRGBA *(void) {
function operator (line 264) | operator RwRGBA (void) const {
function sq (line 290) | inline float sq(float x) { return x*x; }
function TRACE (line 341) | __inline__ void TRACE(char *f, ...) { }
function class (line 415) | class CTweakVar
function class (line 421) | class CTweakVars
function class (line 428) | class CTweakFunc : public CTweakVar
function class (line 442) | class CTweakBool : public CTweakVar
function class (line 456) | class CTweakSwitch : public CTweakVar
function SkipSaveBuf (line 514) | inline void SkipSaveBuf(uint8 *&buf, int32 skip)
function SkipSaveBuf (line 522) | inline void SkipSaveBuf(uint8*& buf, uint32 &length, int32 skip)
FILE: src/core/config.h
type Config (line 6) | enum Config {
FILE: src/core/main.cpp
function debug (line 152) | void
function Error (line 160) | void
function ValidateVersion (line 169) | void
function DoRWStuffStartOfFrame (line 204) | bool
function DoRWStuffStartOfFrame_Horizon (line 226) | bool
function DoRWRenderHorizon (line 244) | void
function RwGrabScreen (line 332) | bool
function DoRWStuffEndOfFrame (line 358) | void
function RwBool (line 389) | static RwBool
function PreAllocateRwObjects (line 465) | void
function RwBool (line 515) | static RwBool
function Terminate3D (line 540) | static void
function CSprite2d (line 556) | CSprite2d*
function DestroySplashScreen (line 592) | void
function Const (line 601) | Const char*
function Const (line 624) | Const char*
function ResetLoadingScreenBar (line 637) | void
function LoadingScreen (line 643) | void
function LoadingIslandScreen (line 729) | void
function ProcessSlowMode (line 750) | void
type tZonePrint (line 844) | struct tZonePrint
function PrintMemoryUsage (line 874) | void
function DisplayGameDebugText (line 1052) | void
function MattRenderScene (line 1223) | void
function RenderScene_new (line 1264) | void
function FredIsInFirstPersonCam (line 1279) | bool FredIsInFirstPersonCam(void) { return false; }
function RenderEffects_new (line 1280) | void
function RenderScene (line 1332) | void
function RenderDebugShit (line 1360) | void
function RenderEffects (line 1375) | void
function Render2dStuff (line 1404) | void
function RenderMenus (line 1482) | void
function Render2dStuffAfterFade (line 1497) | void
function Idle (line 1514) | void
function FrontendIdle (line 1681) | void
function InitialiseGame (line 1712) | void
function RsEventStatus (line 1719) | RsEventStatus
function TheModelViewer (line 1799) | void
function TheGame (line 1833) | void TheGame(void)
function PlayIntroMPEGs (line 2328) | void PlayIntroMPEGs()
function main (line 2374) | int
FILE: src/core/main.h
type GlobalScene (line 14) | struct GlobalScene
FILE: src/core/obrstr.cpp
function ObrInt (line 8) | void ObrInt(int32 n1)
function ObrInt2 (line 14) | void ObrInt2(int32 n1, int32 n2)
function ObrInt3 (line 23) | void ObrInt3(int32 n1, int32 n2, int32 n3)
function ObrInt4 (line 35) | void ObrInt4(int32 n1, int32 n2, int32 n3, int32 n4)
function ObrInt5 (line 50) | void ObrInt5(int32 n1, int32 n2, int32 n3, int32 n4, int32 n5)
function ObrInt6 (line 68) | void ObrInt6(int32 n1, int32 n2, int32 n3, int32 n4, int32 n5, int32 n6)
function IntToStr (line 89) | void IntToStr(int32 inNum, char *outStr)
FILE: src/core/re3.cpp
function myrand (line 70) | int
function mysrand (line 84) | void
function LangPolSelect (line 96) | void LangPolSelect(int8 action)
function LangRusSelect (line 106) | void LangRusSelect(int8 action)
function LangJapSelect (line 116) | void LangJapSelect(int8 action)
function CustomFrontendOptionsPopulate (line 127) | void
function ReadIniIfExists (line 195) | bool ReadIniIfExists(const char *cat, const char *key, uint32 *out)
function ReadIniIfExists (line 207) | bool ReadIniIfExists(const char *cat, const char *key, bool *out)
function ReadIniIfExists (line 219) | bool ReadIniIfExists(const char *cat, const char *key, int32 *out)
function ReadIniIfExists (line 231) | bool ReadIniIfExists(const char *cat, const char *key, int8 *out)
function ReadIniIfExists (line 243) | bool ReadIniIfExists(const char *cat, const char *key, float *out)
function ReadIniIfExists (line 254) | bool ReadIniIfExists(const char *cat, const char *key, char *out, int size)
function StoreIni (line 265) | void StoreIni(const char *cat, const char *key, uint32 val)
function StoreIni (line 272) | void StoreIni(const char *cat, const char *key, uint8 val)
function StoreIni (line 279) | void StoreIni(const char *cat, const char *key, int32 val)
function StoreIni (line 286) | void StoreIni(const char *cat, const char *key, int8 val)
function StoreIni (line 293) | void StoreIni(const char *cat, const char *key, float val)
function StoreIni (line 300) | void StoreIni(const char *cat, const char *key, char *val, int size)
function LoadINIControllerSettings (line 325) | void LoadINIControllerSettings()
function SaveINIControllerSettings (line 420) | void SaveINIControllerSettings()
function LoadINISettings (line 469) | bool LoadINISettings()
function SaveINISettings (line 571) | void SaveINISettings()
function SpawnCar (line 691) | void
function FixCar (line 733) | static void
function TeleportToWaypoint (line 749) | static void
function SwitchCarCollision (line 761) | static void
function ToggleComedy (line 768) | static void
function PlaceOnRoad (line 777) | static void
function ResetCamStatics (line 788) | static void
function SwitchToMission (line 796) | static void
function switchWeather (line 873) | void
function DebugMenuPopulate (line 879) | void
function re3_assert (line 1153) | void re3_assert(const char *expr, const char *filename, unsigned int lin...
function re3_debug (line 1208) | void re3_debug(const char *format, ...)
function re3_trace (line 1226) | void re3_trace(const char *filename, unsigned int lineno, const char *fu...
function re3_usererror (line 1246) | void re3_usererror(const char *format, ...)
FILE: src/core/templates.h
function T (line 10) | T *Alloc(void){
function Clear (line 17) | void Clear(void){
function int32 (line 20) | int32 GetIndex(T *item){
function T (line 25) | T *GetItem(int32 index){
function GetId (line 55) | int GetId(int i) const
function GetIsFree (line 60) | bool GetIsFree(int i) const
function SetId (line 65) | void SetId(int i, int id)
function SetIsFree (line 70) | void SetIsFree(int i, bool isFree)
function Flush (line 80) | void Flush() {
function int32 (line 90) | int32 GetSize(void) const { return m_size; }
function T (line 91) | T *New(void){
function T (line 114) | T *New(int32 handle){
function SetNotFreeAt (line 119) | void SetNotFreeAt(int32 handle){
function Delete (line 127) | void Delete(T *entry){
function T (line 133) | T *GetSlot(int i){
function T (line 136) | T *GetAt(int handle){
function int32 (line 144) | int32 GetIndex(T* entry) {
function int32 (line 148) | int32 GetJustIndex(T* entry) {
function int32 (line 154) | int32 GetJustIndex_NoFreeAssert(T* entry) {
function int32 (line 159) | int32 GetNoOfUsedSpaces(void) const {
function ClearStorage (line 167) | void ClearStorage(uint8 *&flags, U *&entries){
function CopyBack (line 174) | void CopyBack(uint8 *&flags, U *&entries){
function Store (line 182) | void Store(uint8 *&flags, U *&entries){
function Insert (line 200) | void Insert(CLink<T> *link){
function Remove (line 206) | void Remove(void){
function Init (line 220) | void Init(int n){
function Shutdown (line 229) | void Shutdown(void){
function Clear (line 233) | void Clear(void){
function Remove (line 259) | void Remove(CLink<T> *link){
function int32 (line 263) | int32 Count(void){
FILE: src/core/timebars.cpp
type sTimeBar (line 14) | struct sTimeBar
function tbInit (line 36) | void tbInit()
function tbStartTimer (line 53) | void tbStartTimer(int32 unk, Const char *name)
function tbEndTimer (line 61) | void tbEndTimer(Const char* name)
function Diag_GetFPS (line 72) | float Diag_GetFPS()
function tbDisplay (line 77) | void tbDisplay()
FILE: src/entities/Dummy.cpp
function IsDummyPointerValid (line 54) | bool
FILE: src/entities/Dummy.h
function class (line 6) | class CDummy : public CEntity
FILE: src/entities/Entity.cpp
function RpAtomic (line 155) | RpAtomic*
function CRect (line 198) | CRect
function CVector (line 219) | CVector
function RpMaterial (line 739) | RpMaterial*
function RpAtomic (line 746) | RpAtomic*
function IsEntityPointerValid (line 773) | bool IsEntityPointerValid(CEntity* pEntity)
FILE: src/entities/Entity.h
type CReference (line 6) | struct CReference
type eEntityType (line 9) | enum eEntityType
type eEntityStatus (line 19) | enum eEntityStatus
function class (line 36) | class CEntity : public CPlaceable
FILE: src/entities/Physical.cpp
function CRect (line 226) | CRect
function int32 (line 342) | int32
function CVector (line 422) | CVector
FILE: src/entities/Physical.h
function class (line 15) | class CPhysical : public CEntity
FILE: src/extras/custompipes.cpp
type CustomPipes (line 22) | namespace CustomPipes {
function DestroyCam (line 93) | static void
function RenderEnvMapScene (line 115) | void
function EnvMapRender (line 123) | void
function EnvMapInit (line 166) | static void
function EnvMapShutdown (line 216) | static void
function Color (line 284) | Color
function AttachVehiclePipe (line 353) | void
function AttachVehiclePipe (line 359) | void
function AttachWorldPipe (line 377) | void
function AttachWorldPipe (line 383) | void
function AttachGlossPipe (line 417) | void
function AttachGlossPipe (line 423) | void
function AttachRimPipe (line 446) | void
function AttachRimPipe (line 455) | void
function CustomPipeInit (line 466) | void
function CustomPipeShutdown (line 486) | void
function CustomPipeRegister (line 502) | void
function SetTxdFindCallback (line 528) | void
FILE: src/extras/custompipes.h
function namespace (line 6) | namespace CustomPipes {
function namespace (line 138) | namespace WorldRender{
FILE: src/extras/custompipes_d3d9.cpp
type CustomPipes (line 25) | namespace CustomPipes {
function uploadSpecLights (line 49) | void
function vehicleRenderCB (line 78) | void
function CreateVehiclePipe (line 141) | void
function DestroyVehiclePipe (line 170) | void
function worldRenderCB (line 192) | static void
function CreateWorldPipe (line 256) | void
function DestroyWorldPipe (line 280) | void
function glossRenderCB (line 303) | static void
function CreateGlossPipe (line 348) | void
function DestroyGlossPipe (line 367) | void
function uploadRimData (line 389) | static void
function rimRenderCB (line 412) | static void
function rimSkinRenderCB (line 456) | static void
function CreateRimLightPipes (line 503) | void
function DestroyRimLightPipes (line 540) | void
type WorldRender (line 565) | namespace WorldRender
type BuildingInst (line 568) | struct BuildingInst
function SetMatrix (line 580) | static void
function IsTextureTransparent (line 591) | static bool
function AtomicFirstPass (line 601) | void
function AtomicFullyTransparent (line 660) | void
function RenderBlendPass (line 679) | void
FILE: src/extras/custompipes_gl.cpp
type CustomPipes (line 22) | namespace CustomPipes {
function uploadSpecLights (line 44) | static void
function vehicleRenderCB (line 76) | static void
function CreateVehiclePipe (line 138) | void
function DestroyVehiclePipe (line 172) | void
function worldRenderCB (line 190) | static void
function CreateWorldPipe (line 247) | void
function DestroyWorldPipe (line 275) | void
function glossRenderCB (line 294) | static void
function CreateGlossPipe (line 352) | void
function DestroyGlossPipe (line 374) | void
function uploadRimData (line 393) | static void
function rimSkinRenderCB (line 416) | static void
function rimRenderCB (line 459) | static void
function CreateRimLightPipes (line 500) | void
function DestroyRimLightPipes (line 548) | void
function CustomPipeRegisterGL (line 566) | void
type WorldRender (line 592) | namespace WorldRender
type BuildingInst (line 595) | struct BuildingInst
function IsTextureTransparent (line 607) | static bool
function AtomicFirstPass (line 617) | void
function AtomicFullyTransparent (line 676) | void
function RenderBlendPass (line 694) | void
FILE: src/extras/debugmenu.cpp
type Pt (line 20) | struct Pt
type MenuFontStyle (line 25) | enum MenuFontStyle
function Pt (line 37) | Pt
function Pt (line 59) | Pt
function fontGetLen (line 66) | int
function createMenuFont (line 73) | void
function destroyMenuFont (line 101) | void
type EntryType (line 119) | enum EntryType
type Menu (line 132) | struct Menu
method Menu (line 157) | Menu(void){ memset(this, 0, sizeof(Menu)); }
type MenuEntry_Sub (line 162) | struct MenuEntry_Sub : MenuEntry
type MenuEntry_Var (line 170) | struct MenuEntry_Var : MenuEntry
method getValWidth (line 177) | int getValWidth(void) { return maxvallen; }
type MenuEntry_Int (line 182) | struct MenuEntry_Int : MenuEntry_Var
type MenuEntry_Cmd (line 239) | struct MenuEntry_Cmd : MenuEntry_Var
function isMouseInRect (line 313) | bool
function MenuEntry (line 568) | MenuEntry*
function Menu (line 723) | Menu*
method Menu (line 157) | Menu(void){ memset(this, 0, sizeof(Menu)); }
function DebugMenuInit (line 784) | void
function DebugMenuShutdown (line 814) | void
function processInput (line 835) | void
function updateMouse (line 982) | void
function DebugMenuProcess (line 1012) | void
function DebugMenuRender (line 1031) | void
function drawArrow (line 1071) | void
function drawMouse (line 1173) | void
function MenuEntry (line 1274) | MenuEntry* \
function DebugMenuEntrySetWrap (line 1285) | void
function DebugMenuEntrySetStrings (line 1292) | void
function DebugMenuEntrySetAddress (line 1299) | void
FILE: src/extras/debugmenu.h
type Menu (line 7) | struct Menu
type MenuEntry (line 9) | struct MenuEntry
type MenuEntry (line 21) | typedef MenuEntry DebugMenuEntry;
function DebugMenuEntry (line 44) | inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *nam...
function DebugMenuEntry (line 46) | inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *nam...
function DebugMenuEntry (line 48) | inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *nam...
function DebugMenuEntry (line 50) | inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *nam...
function DebugMenuEntry (line 52) | inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *nam...
function DebugMenuEntry (line 54) | inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *nam...
function DebugMenuEntry (line 56) | inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *nam...
function DebugMenuEntry (line 58) | inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *nam...
function DebugMenuEntry (line 60) | inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *nam...
function DebugMenuEntry (line 62) | inline DebugMenuEntry *DebugMenuAddVar(const char *path, const char *nam...
function DebugMenuEntry (line 65) | inline DebugMenuEntry *DebugMenuAddVarBool32(const char *path, const cha...
function DebugMenuEntry (line 72) | inline DebugMenuEntry *DebugMenuAddVarBool16(const char *path, const cha...
function DebugMenuEntry (line 79) | inline DebugMenuEntry *DebugMenuAddVarBool8(const char *path, const char...
function DebugMenuEntry (line 86) | inline DebugMenuEntry *DebugMenuAddVarBool8(const char *path, const char...
FILE: src/extras/frontendoption.cpp
function GoBack (line 16) | void GoBack()
function uint8 (line 21) | uint8
function uint8 (line 34) | uint8
function int8 (line 47) | int8 RegisterNewScreen(const char *name, int prevPage, ReturnPrevPageFun...
function int8 (line 61) | int8 RegisterNewOption()
function FrontendOptionSetCursor (line 82) | void FrontendOptionSetCursor(int screen, int8 option, bool overwrite)
function FrontendOptionAddBuiltinAction (line 89) | void FrontendOptionAddBuiltinAction(const char* gxtKey, uint16 x, uint16...
function FrontendOptionAddSelect (line 114) | void FrontendOptionAddSelect(const char* gxtKey, uint16 x, uint16 y, uin...
function FrontendOptionAddDynamic (line 140) | void FrontendOptionAddDynamic(const char* gxtKey, uint16 x, uint16 y, ui...
function uint8 (line 159) | uint8 FrontendScreenAdd(const char* gxtKey, int prevPage, int lineHeight...
FILE: src/extras/frontendoption.h
type wchar (line 39) | typedef wchar* (*DrawFunc)(bool* disabled, bool userHovering);
FILE: src/extras/ini_parser.hpp
type linb (line 37) | namespace linb
class basic_ini (line 44) | class basic_ini
method basic_ini (line 78) | basic_ini()
method basic_ini (line 81) | basic_ini(const char_type* filename)
method iterator (line 85) | iterator begin()
method const_iterator (line 87) | const_iterator begin() const
method iterator (line 89) | iterator end()
method const_iterator (line 91) | const_iterator end() const
method const_iterator (line 93) | const_iterator cbegin() const
method const_iterator (line 95) | const_iterator cend() const
method reverse_iterator (line 99) | reverse_iterator rbegin()
method const_reverse_iterator (line 101) | const_reverse_iterator rbegin() const
method reverse_iterator (line 103) | reverse_iterator rend()
method const_reverse_iterator (line 105) | const_reverse_iterator rend() const
method const_reverse_iterator (line 107) | const_reverse_iterator crbegin() const
method const_reverse_iterator (line 109) | const_reverse_iterator crend() const
method mapped_type (line 113) | mapped_type& operator[](const string_type& sect)
method mapped_type (line 115) | mapped_type& operator[](string_type&& sect)
method mapped_type (line 117) | mapped_type& at( const string_type& sect)
method mapped_type (line 119) | const mapped_type& at(const string_type& sect) const
method empty (line 123) | bool empty() const
method size_type (line 125) | size_type size() const
method size_type (line 127) | size_type max_size() const
method clear (line 131) | void clear()
method size_type (line 135) | size_type count(const string_type& sect)
method iterator (line 137) | iterator find(const string_type& sect)
method string_type (line 141) | string_type get(const string_type& sect, const key_type& key, const ...
method set (line 154) | void set(const string_type& sect, const key_type& key, const string_...
method remove (line 162) | void remove(const string_type& sect, const key_type& key)
method category_size (line 171) | int category_size(const string_type& sect)
method read_file (line 182) | bool read_file(const char_type* filename)
method write_file (line 275) | bool write_file(const char_type* filename)
method load_file (line 301) | bool load_file(const char_type* filename)
method load_file (line 306) | bool load_file(const StringType& filename)
method write_file (line 311) | bool write_file(const StringType& filename)
FILE: src/extras/postfx.h
function class (line 5) | class CPostFX
FILE: src/extras/screendroplets.cpp
type Im2DVertexUV2 (line 52) | struct Im2DVertexUV2 : rw::RWDEVICE::Im2DVertex
function RwTexture (line 80) | static RwTexture*
function FlushBuffer (line 170) | static void
function StartStoring (line 182) | static int
type rw (line 576) | namespace rw {
type d3d (line 577) | namespace d3d {
function openim2d_uv2 (line 604) | void
function closeim2d_uv2 (line 631) | void
function RenderIndexedPrimitive_UV2 (line 649) | void
function openim2d_uv2 (line 741) | void
function closeim2d_uv2 (line 761) | void
function RenderIndexedPrimitive_UV2 (line 771) | void
FILE: src/extras/screendroplets.h
function class (line 7) | class ScreenDroplets
FILE: src/extras/shaders/lighting.h
type Light (line 1) | struct Light
function float3 (line 8) | float3 DoDirLight(Light L, float3 N)
function float3 (line 14) | float3 DoDirLightSpec(Light L, float3 N, float3 V, float power)
function float3 (line 19) | float3 DoPointLight(Light L, float3 V, float3 N)
function float3 (line 29) | float3 DoSpotLight(Light L, float3 V, float3 N)
FILE: src/fakerw/fake.cpp
function RwUInt8 (line 16) | RwUInt8 RwObjectGetType(const RwObject *obj) { return obj->type; }
function RwFrame (line 17) | RwFrame* rwObjectGetParent(const RwObject *obj) { return (RwFrame*)obj->...
function RwFree (line 27) | void RwFree(void *mem) { engine->memfuncs.rwfree(mem); }
function RwReal (line 31) | RwReal RwV3dLength(const RwV3d * in) { return length(*in); }
function RwV3dAdd (line 42) | void RwV3dAdd(RwV3d * out, const RwV3d * ina, const RwV3d * inb) { *out ...
function RwV3dSub (line 43) | void RwV3dSub(RwV3d * out, const RwV3d * ina, const RwV3d * inb) { *out ...
function RwV3dScale (line 44) | void RwV3dScale(RwV3d * out, const RwV3d * in, RwReal scalar) { *out = s...
function RwV3dIncrementScaled (line 45) | void RwV3dIncrementScaled(RwV3d * out, const RwV3d * in, RwReal scalar)...
function RwV3dNegate (line 46) | void RwV3dNegate(RwV3d * out, const RwV3d * in) { *out = neg(*in); }
function RwReal (line 47) | RwReal RwV3dDotProduct(const RwV3d * ina, const RwV3d * inb) { return do...
function RwV3d (line 49) | RwV3d *RwV3dTransformPoints(RwV3d * pointsOut, const RwV3d * pointsIn, R...
function RwBool (line 55) | RwBool RwMatrixDestroy(RwMatrix *mpMat) { mpMat->destroy(); return true; }
function RwMatrix (line 56) | RwMatrix *RwMatrixCreate(void) { return Matrix::create(); }
function RwMatrixCopy (line 57) | void RwMatrixCopy(RwMatrix * dstMatrix, const RwMatrix * srcMatrix) { *d...
function RwMatrixSetIdentity (line 58) | void RwMatrixSetIdentity(RwMatrix * matrix) { matrix->setIdentity(); }
function RwMatrix (line 60) | RwMatrix *RwMatrixTransform(RwMatrix * matrix, const RwMatrix * transfor...
function RwMatrix (line 63) | RwMatrix *RwMatrixInvert(RwMatrix * matrixOut, const RwMatrix * matrixIn...
function RwMatrix (line 64) | RwMatrix *RwMatrixScale(RwMatrix * matrix, const RwV3d * scale, RwOpComb...
function RwMatrix (line 66) | RwMatrix *RwMatrixTranslate(RwMatrix * matrix, const RwV3d * translation...
function RwMatrix (line 68) | RwMatrix *RwMatrixRotate(RwMatrix * matrix, const RwV3d * axis, RwReal a...
function RwV3d (line 72) | RwV3d *RwMatrixGetRight(RwMatrix * matrix) { return &matrix->right; }
function RwV3d (line 73) | RwV3d *RwMatrixGetUp(RwMatrix * matrix) { return &matrix->up; }
function RwV3d (line 74) | RwV3d *RwMatrixGetAt(RwMatrix * matrix) { return &matrix->at; }
function RwV3d (line 75) | RwV3d *RwMatrixGetPos(RwMatrix * matrix) { return &matrix->pos; }
function RwMatrix (line 76) | RwMatrix *RwMatrixUpdate(RwMatrix * matrix) { matrix->update(); return m...
function RwFrame (line 82) | RwFrame *RwFrameForAllObjects(RwFrame * frame, RwObjectCallBack callBack...
function RwFrame (line 88) | RwFrame *RwFrameTranslate(RwFrame * frame, const RwV3d * v, RwOpCombineT...
function RwFrame (line 89) | RwFrame *RwFrameRotate(RwFrame * frame, const RwV3d * axis, RwReal angle...
function RwFrame (line 90) | RwFrame *RwFrameScale(RwFrame * frame, const RwV3d * v, RwOpCombineType ...
function RwFrame (line 91) | RwFrame *RwFrameTransform(RwFrame * frame, const RwMatrix * m, RwOpCombi...
function RwFrame (line 93) | RwFrame *RwFrameOrthoNormalize(RwFrame * frame) { return frame; }
function RwFrame (line 94) | RwFrame *RwFrameSetIdentity(RwFrame * frame) { frame->matrix.setIdentity...
function RwFrame (line 97) | RwFrame *RwFrameForAllChildren(RwFrame * frame, RwFrameCallBack callBack...
function RwFrame (line 99) | RwFrame *RwFrameRemoveChild(RwFrame * child) { child->removeChild(); ret...
function RwFrame (line 100) | RwFrame *RwFrameAddChild(RwFrame * parent, RwFrame * child) { parent->ad...
function RwFrame (line 101) | RwFrame *RwFrameGetParent(const RwFrame * frame) { return frame->getPare...
function RwMatrix (line 103) | RwMatrix *RwFrameGetLTM(RwFrame * frame) { return frame->getLTM(); }
function RwMatrix (line 104) | RwMatrix *RwFrameGetMatrix(RwFrame * frame) { return &frame->matrix; }
function RwFrame (line 105) | RwFrame *RwFrameUpdateObjects(RwFrame * frame) { frame->updateObjects();...
function RwFrame (line 106) | RwFrame *RwFrameCreate(void) { return rw::Frame::create(); }
function RwBool (line 109) | RwBool RwFrameDestroy(RwFrame * frame) { frame->destroy(); return true; }
function RwInt32 (line 115) | RwInt32 RwFrameRegisterPlugin(RwInt32 size, RwUInt32 pluginID, RwPluginO...
function RwInt32 (line 122) | RwInt32 RwFrameRegisterPluginStream(RwUInt32 pluginID, RwPluginDataChunk...
function rwFrameList (line 126) | rwFrameList *rwFrameListDeinitialize(rwFrameList *frameList) {
function rwFrameList (line 131) | rwFrameList *rwFrameListStreamRead(RwStream *stream, rwFrameList *fl) { ...
function RwCamera (line 136) | RwCamera *RwCameraBeginUpdate(RwCamera * camera) { camera->beginUpdat...
function RwCamera (line 137) | RwCamera *RwCameraEndUpdate(RwCamera * camera) { camera->endUpdate();...
function RwCamera (line 138) | RwCamera *RwCameraClear(RwCamera * camera, RwRGBA * colour, RwInt32 c...
function RwCamera (line 140) | RwCamera *RwCameraShowRaster(RwCamera * camera, void *pDev, RwUInt32 ...
function RwBool (line 141) | RwBool RwCameraDestroy(RwCamera * camera) { camera->destroy(); ret...
function RwCamera (line 142) | RwCamera *RwCameraCreate(void) { return rw::Camera::create(); }
function RwCamera (line 143) | RwCamera *RwCameraClone(RwCamera * camera) { return camera->clone(); }
function RwCamera (line 144) | RwCamera *RwCameraSetViewOffset(RwCamera *camera, const RwV2d *offset...
function RwCamera (line 145) | RwCamera *RwCameraSetViewWindow(RwCamera *camera, const RwV2d *viewWi...
function RwCamera (line 146) | RwCamera *RwCameraSetProjection(RwCamera *camera, RwCameraProjection ...
function RwCamera (line 147) | RwCamera *RwCameraSetNearClipPlane(RwCamera *camera, RwReal nearClip)...
function RwCamera (line 148) | RwCamera *RwCameraSetFarClipPlane(RwCamera *camera, RwReal farClip) {...
function RwFrustumTestResult (line 152) | RwFrustumTestResult RwCameraFrustumTestSphere(const RwCamera * camera, c...
function RwV2d (line 153) | const RwV2d *RwCameraGetViewOffset(const RwCamera *camera) { return &cam...
function RwCamera (line 154) | RwCamera *RwCameraSetRaster(RwCamera *camera, RwRaster *raster) { cam...
function RwRaster (line 155) | RwRaster *RwCameraGetRaster(const RwCamera *camera) { return camera->...
function RwCamera (line 156) | RwCamera *RwCameraSetZRaster(RwCamera *camera, RwRaster *zRaster) { c...
function RwRaster (line 157) | RwRaster *RwCameraGetZRaster(const RwCamera *camera) { return camera-...
function RwReal (line 158) | RwReal RwCameraGetNearClipPlane(const RwCamera *camera) { return c...
function RwReal (line 159) | RwReal RwCameraGetFarClipPlane(const RwCamera *camera) { return ca...
function RwCamera (line 160) | RwCamera *RwCameraSetFogDistance(RwCamera *camera, RwReal fogDistance...
function RwReal (line 161) | RwReal RwCameraGetFogDistance(const RwCamera *camera) { return cam...
function RwCamera (line 162) | RwCamera *RwCameraGetCurrentCamera(void) { return rw::engine->current...
function RwV2d (line 164) | const RwV2d *RwCameraGetViewWindow(const RwCamera *camera) { return &cam...
function RwMatrix (line 165) | RwMatrix *RwCameraGetViewMatrix(RwCamera *camera) { return &camera->v...
function RwCamera (line 166) | RwCamera *RwCameraSetFrame(RwCamera *camera, RwFrame *frame) { camera...
function RwFrame (line 167) | RwFrame *RwCameraGetFrame(const RwCamera *camera) { return camera->g...
function RwImage (line 173) | RwImage *RwImageCreate(RwInt32 width, RwInt32 height, RwInt32 depth)...
function RwBool (line 174) | RwBool RwImageDestroy(RwImage * image) { image->destroy(); return ...
function RwImage (line 175) | RwImage *RwImageAllocatePixels(RwImage * image) { image->allocate();...
function RwImage (line 176) | RwImage *RwImageFreePixels(RwImage * image) { image->free(); return ...
function RwChar (line 185) | const RwChar *RwImageSetPath(const RwChar * path) { Image::setSearchPath...
function RwImage (line 186) | RwImage *RwImageSetStride(RwImage * image, RwInt32 stride) { image->...
function RwImage (line 187) | RwImage *RwImageSetPixels(RwImage * image, RwUInt8 * pixels) { image...
function RwImage (line 188) | RwImage *RwImageSetPalette(RwImage * image, RwRGBA * palette) { imag...
function RwInt32 (line 189) | RwInt32 RwImageGetWidth(const RwImage * image) { return image->widt...
function RwInt32 (line 190) | RwInt32 RwImageGetHeight(const RwImage * image) { return image->hei...
function RwInt32 (line 191) | RwInt32 RwImageGetDepth(const RwImage * image) { return image->dept...
function RwInt32 (line 192) | RwInt32 RwImageGetStride(const RwImage * image) { return image->str...
function RwUInt8 (line 193) | RwUInt8 *RwImageGetPixels(const RwImage * image) { return image->pix...
function RwRGBA (line 194) | RwRGBA *RwImageGetPalette(const RwImage * image) { return (RwRGBA*)...
function RwImage (line 210) | RwImage *RwImageFindRasterFormat(RwImage *ipImage,RwInt32 nRasterType, R...
function RwRaster (line 218) | RwRaster *RwRasterCreate(RwInt32 width, RwInt32 height, RwInt32 depth...
function RwBool (line 219) | RwBool RwRasterDestroy(RwRaster * raster) { raster->destroy(); ret...
function RwInt32 (line 220) | RwInt32 RwRasterGetWidth(const RwRaster *raster) { return raster->w...
function RwInt32 (line 221) | RwInt32 RwRasterGetHeight(const RwRaster *raster) { return raster->...
function RwInt32 (line 223) | RwInt32 RwRasterGetDepth(const RwRaster *raster) { return raster->d...
function RwRaster (line 226) | RwRaster *RwRasterGetParent(const RwRaster *raster) { return raster->...
function RwRaster (line 230) | RwRaster *RwRasterRenderFast(RwRaster * raster, RwInt32 x, RwInt32 y)...
function RwRaster (line 233) | RwRaster *RwRasterPushContext(RwRaster * raster) { return Raster::pus...
function RwRaster (line 234) | RwRaster *RwRasterPopContext(void) { return Raster::popContext(); }
function RwRaster (line 235) | RwRaster *RwRasterGetCurrentContext(void) { return Raster::getCurrent...
function RwRaster (line 247) | RwRaster *RwRasterSetFromImage(RwRaster *raster, RwImage *image) { retur...
function RwTexture (line 252) | RwTexture *RwTextureCreate(RwRaster * raster) { return Texture::create(r...
function RwBool (line 253) | RwBool RwTextureDestroy(RwTexture * texture) { texture->destroy(); retur...
function RwTexture (line 254) | RwTexture *RwTextureAddRef(RwTexture *texture) { texture->addRef(); retu...
function RwBool (line 256) | RwBool RwTextureSetMipmapping(RwBool enable) { return true; }
function RwBool (line 259) | RwBool RwTextureSetAutoMipmapping(RwBool enable) { return true; }
function RwTexture (line 269) | RwTexture *RwTextureSetName(RwTexture * texture, const RwChar * name) { ...
function RwChar (line 271) | RwChar *RwTextureGetName(RwTexture *texture) { return texture->name; }
function RwTexture (line 273) | RwTexture *RwTextureSetRaster(RwTexture * texture, RwRaster * raster) { ...
function RwTexture (line 274) | RwTexture *RwTextureRead(const RwChar * name, const RwChar * maskName)...
function RwRaster (line 275) | RwRaster *RwTextureGetRaster(const RwTexture *texture) { return texture-...
function RwTexture (line 281) | RwTexture *RwTextureSetFilterMode(RwTexture *texture, RwTextureFilterMod...
function RwTexture (line 283) | RwTexture *RwTextureSetAddressing(RwTexture *texture, RwTextureAddressMo...
function RwTexture (line 288) | RwTexture *RwTextureSetAddressingU(RwTexture *texture, RwTextureAddressM...
function RwTexture (line 292) | RwTexture *RwTextureSetAddressingV(RwTexture *texture, RwTextureAddressM...
function _rwD3D8TexDictionaryEnableRasterFormatConversion (line 301) | void _rwD3D8TexDictionaryEnableRasterFormatConversion(bool enable) { }
function RwBool (line 305) | RwBool rwNativeTextureHackRead(RwStream *stream, RwTexture **tex, RwInt3...
function RwTexDictionary (line 318) | RwTexDictionary *RwTexDictionaryCreate(void) { return TexDictionary::cre...
function RwBool (line 319) | RwBool RwTexDictionaryDestroy(RwTexDictionary * dict) { dict->destroy();...
function RwTexture (line 320) | RwTexture *RwTexDictionaryAddTexture(RwTexDictionary * dict, RwTexture *...
function RwTexture (line 322) | RwTexture *RwTexDictionaryFindNamedTexture(RwTexDictionary * dict, const...
function RwTexDictionary (line 323) | RwTexDictionary *RwTexDictionaryGetCurrent(void) { return TexDictionary:...
function RwTexDictionary (line 324) | RwTexDictionary *RwTexDictionarySetCurrent(RwTexDictionary * dict) { Tex...
function RwTexDictionary (line 325) | const RwTexDictionary *RwTexDictionaryForAllTextures(const RwTexDictiona...
function RwTexDictionary (line 337) | const RwTexDictionary *RwTexDictionaryStreamWrite(const RwTexDictionary ...
function RwStream (line 346) | RwStream *RwStreamOpen(RwStreamType type, RwStreamAccessType accessType,...
function RwBool (line 397) | RwBool RwStreamClose(RwStream * stream, void *pData) { stream->close(); ...
function RwUInt32 (line 398) | RwUInt32 RwStreamRead(RwStream * stream, void *buffer, RwUInt32 length) ...
function RwStream (line 399) | RwStream *RwStreamWrite(RwStream * stream, const void *buffer, RwUInt32 ...
function RwStream (line 400) | RwStream *RwStreamSkip(RwStream * stream, RwUInt32 offset) { stream->see...
function RwBool (line 402) | RwBool RwStreamFindChunk(RwStream *stream, RwUInt32 type, RwUInt32 *leng...
function RwIm2DVertexSetCameraX (line 407) | void RwIm2DVertexSetCameraX(RwIm2DVertex *vert, RwReal camx) { }
function RwIm2DVertexSetCameraY (line 408) | void RwIm2DVertexSetCameraY(RwIm2DVertex *vert, RwReal camy) { }
function RwIm2DVertexSetCameraZ (line 409) | void RwIm2DVertexSetCameraZ(RwIm2DVertex *vert, RwReal camz) { vert->set...
function RwIm2DVertexSetRecipCameraZ (line 410) | void RwIm2DVertexSetRecipCameraZ(RwIm2DVertex *vert, RwReal recipz) { ve...
function RwIm2DVertexSetScreenX (line 411) | void RwIm2DVertexSetScreenX(RwIm2DVertex *vert, RwReal scrnx) { vert->se...
function RwIm2DVertexSetScreenY (line 412) | void RwIm2DVertexSetScreenY(RwIm2DVertex *vert, RwReal scrny) { vert->se...
function RwIm2DVertexSetScreenZ (line 413) | void RwIm2DVertexSetScreenZ(RwIm2DVertex *vert, RwReal scrnz) { vert->se...
function RwIm2DVertexSetU (line 414) | void RwIm2DVertexSetU(RwIm2DVertex *vert, RwReal texU, RwReal recipz) { ...
function RwIm2DVertexSetV (line 415) | void RwIm2DVertexSetV(RwIm2DVertex *vert, RwReal texV, RwReal recipz) { ...
function RwIm2DVertexSetIntRGBA (line 416) | void RwIm2DVertexSetIntRGBA(RwIm2DVertex *vert, RwUInt8 red, RwUInt8 gre...
function RwReal (line 418) | RwReal RwIm2DGetNearScreenZ(void) { return im2d::GetNearZ(); }
function RwReal (line 419) | RwReal RwIm2DGetFarScreenZ(void) { return im2d::GetFarZ(); }
function RwBool (line 420) | RwBool RwIm2DRenderLine(RwIm2DVertex *vertices, RwInt32 numVertices, RwI...
function RwBool (line 422) | RwBool RwIm2DRenderTriangle(RwIm2DVertex *vertices, RwInt32 numVertices,...
function RwBool (line 424) | RwBool RwIm2DRenderPrimitive(RwPrimitiveType primType, RwIm2DVertex *ver...
function RwBool (line 426) | RwBool RwIm2DRenderIndexedPrimitive(RwPrimitiveType primType, RwIm2DVert...
function RwIm3DVertexSetPos (line 430) | void RwIm3DVertexSetPos(RwIm3DVertex *vert, RwReal x, RwReal y, RwReal z...
function RwIm3DVertexSetU (line 431) | void RwIm3DVertexSetU(RwIm3DVertex *vert, RwReal u) { vert->setU(u); }
function RwIm3DVertexSetV (line 432) | void RwIm3DVertexSetV(RwIm3DVertex *vert, RwReal v) { vert->setV(v); }
function RwIm3DVertexSetRGBA (line 433) | void RwIm3DVertexSetRGBA(RwIm3DVertex *vert, RwUInt8 r, RwUInt8 g, RwUIn...
function RwBool (line 436) | RwBool RwIm3DEnd(void) { im3d::End(); return true; }
function RwBool (line 437) | RwBool RwIm3DRenderLine(RwInt32 vert1, RwInt32 vert2) {
function RwBool (line 445) | RwBool RwIm3DRenderIndexedPrimitive(RwPrimitiveType primType, RwImVertex...
function RwBool (line 452) | RwBool RwRenderStateGet(RwRenderState state, void *value)
function RwBool (line 499) | RwBool RwRenderStateSet(RwRenderState state, void *value)
function RwBool (line 554) | RwBool RwEngineInit(RwMemoryFunctions *memFuncs, RwUInt32 initFlags, RwU...
function RwBool (line 568) | RwBool RwEngineOpen(RwEngineOpenParams *initParams) {
function RwBool (line 577) | RwBool RwEngineStart(void) {
function RwBool (line 581) | RwBool RwEngineStop(void) { Engine::stop(); return true; }
function RwBool (line 582) | RwBool RwEngineClose(void) { Engine::close(); return true; }
function RwBool (line 583) | RwBool RwEngineTerm(void) { Engine::term(); return true; }
function RwInt32 (line 586) | RwInt32 RwEngineGetNumSubSystems(void) { return Engine::getNumSubSystems...
function RwSubSystemInfo (line 587) | RwSubSystemInfo *RwEngineGetSubSystemInfo(RwSubSystemInfo *subSystemInfo...
function RwInt32 (line 589) | RwInt32 RwEngineGetCurrentSubSystem(void) { return Engine::getCurrentSub...
function RwBool (line 590) | RwBool RwEngineSetSubSystem(RwInt32 subSystemIndex) { return Engine::set...
function RwInt32 (line 591) | RwInt32 RwEngineGetNumVideoModes(void) { return Engine::getNumVideoModes...
function RwVideoMode (line 592) | RwVideoMode *RwEngineGetVideoModeInfo(RwVideoMode *modeinfo, RwInt32 mod...
function RwInt32 (line 594) | RwInt32 RwEngineGetCurrentVideoMode(void) { return Engine::getCurrentVid...
function RwBool (line 595) | RwBool RwEngineSetVideoMode(RwInt32 modeIndex) { return Engine::setVideo...
function RwD3D8EngineSetRefreshRate (line 602) | void RwD3D8EngineSetRefreshRate(RwUInt32 refreshRate) {}
function RwBool (line 603) | RwBool RwD3D8DeviceSupportsDXTTexture(void) { return true; }
function RwD3D8EngineSetMultiSamplingLevels (line 606) | void RwD3D8EngineSetMultiSamplingLevels(RwUInt32 level) { Engine::setMul...
function RwUInt32 (line 607) | RwUInt32 RwD3D8EngineGetMaxMultiSamplingLevels(void) { return Engine::ge...
function RpMaterial (line 610) | RpMaterial *RpMaterialCreate(void) { return Material::create(); }
function RwBool (line 611) | RwBool RpMaterialDestroy(RpMaterial *material) { material->destroy(); re...
function RpMaterial (line 613) | RpMaterial *RpMaterialSetTexture(RpMaterial *material, RwTexture *textur...
function RwTexture (line 615) | RwTexture *RpMaterialGetTexture(const RpMaterial *material) { return mat...
function RpMaterial (line 616) | RpMaterial *RpMaterialSetColor(RpMaterial *material, const RwRGBA *color...
function RwRGBA (line 617) | const RwRGBA *RpMaterialGetColor(const RpMaterial *material) { return &m...
function RwSurfaceProperties (line 619) | const RwSurfaceProperties *RpMaterialGetSurfaceProperties(const RpMateri...
function RwReal (line 634) | RwReal RpLightGetRadius(const RpLight *light) { return light->radius; }
function RpLight (line 636) | RpLight *RpLightSetFrame(RpLight *light, RwFrame *frame) { light->setFra...
function RwFrame (line 637) | RwFrame *RpLightGetFrame(const RpLight *light) { return light->getFrame(...
function RpLight (line 639) | RpLight *RpLightSetFlags(RpLight *light, RwUInt32 flags) { light->setFla...
function RpLight (line 641) | RpLight *RpLightCreate(RwInt32 type) { return rw::Light::create(type); }
function RwBool (line 642) | RwBool RpLightDestroy(RpLight *light) { light->destroy(); return true; }
function RpLight (line 643) | RpLight *RpLightSetRadius(RpLight *light, RwReal radius) { light->radius...
function RpLight (line 644) | RpLight *RpLightSetColor(RpLight *light, const RwRGBAReal *color) { ligh...
function RpGeometry (line 661) | RpGeometry *RpGeometryCreate(RwInt32 numVert, RwInt32 numTriangles, RwU...
function RwBool (line 662) | RwBool RpGeometryDestroy(RpGeometry *geometry) { geometry->destroy(); re...
function RpGeometry (line 664) | RpGeometry *RpGeometryLock(RpGeometry *geometry, RwInt32 lockMode) { ge...
function RpGeometry (line 665) | RpGeometry *RpGeometryUnlock(RpGeometry *geometry) { geometry->unlock()...
function RpMorphTarget (line 668) | RpMorphTarget *RpMorphTargetSetBoundingSphere(RpMorphTarget *morphTarge...
function RwSphere (line 669) | RwSphere *RpMorphTargetGetBoundingSphere(RpMorphTarget *morphTarget) { ...
function RpMorphTarget (line 670) | const RpMorphTarget *RpMorphTargetCalcBoundingSphere(const RpMorphTarge...
function RwInt32 (line 671) | RwInt32 RpGeometryAddMorphTargets(RpGeometry *geometry, RwInt32 mtcount)...
function RwInt32 (line 672) | RwInt32 RpGeometryAddMorphTarget(RpGeometry *geometry) { return RpGeomet...
function RpMorphTarget (line 675) | RpMorphTarget *RpGeometryGetMorphTarget(const RpGeometry *geometry, RwI...
function RwRGBA (line 676) | RwRGBA *RpGeometryGetPreLightColors(const RpGeometry *geometry) { retur...
function RwTexCoords (line 677) | RwTexCoords *RpGeometryGetVertexTexCoords(const RpGeometry *geometry, R...
function RwInt32 (line 682) | RwInt32 RpGeometryGetNumTexCoordSets(const RpGeometry *geometry) { retur...
function RwInt32 (line 683) | RwInt32 RpGeometryGetNumVertices (const RpGeometry *geometry) { return g...
function RwV3d (line 684) | RwV3d *RpMorphTargetGetVertices(const RpMorphTarget *morphTarget) { ret...
function RwV3d (line 685) | RwV3d *RpMorphTargetGetVertexNormals(const RpMorphTarget *morphTarget) ...
function RpTriangle (line 686) | RpTriangle *RpGeometryGetTriangles(const RpGeometry *geometry) { return...
function RwInt32 (line 687) | RwInt32 RpGeometryGetNumTriangles(const RpGeometry *geometry) { return g...
function RpMaterial (line 688) | RpMaterial *RpGeometryGetMaterial(const RpGeometry *geometry, RwInt32 m...
function RpGeometry (line 689) | const RpGeometry *RpGeometryTriangleSetVertexIndices(const RpGeometry *...
function RpGeometry (line 691) | RpGeometry *RpGeometryTriangleSetMaterial(RpGeometry *geometry, RpTrian...
function RpGeometry (line 703) | RpGeometry *RpGeometryForAllMaterials(RpGeometry *geometry, RpMaterialC...
function RpGeometry (line 718) | RpGeometry *RpGeometryStreamRead(RwStream *stream) { return Geometry::s...
function RwUInt32 (line 720) | RwUInt32 RpGeometryGetFlags(const RpGeometry *geometry) { return geometr...
function RpGeometry (line 721) | RpGeometry *RpGeometrySetFlags(RpGeometry *geometry, RwUInt32 flags) { ...
function RwFrame (line 729) | RwFrame *RpClumpGetFrame(const RpClump * clump) { return clump->getFrame...
function RpClump (line 730) | RpClump *RpClumpSetFrame(RpClump * clump, RwFrame * frame) { clump->setF...
function RpClump (line 731) | RpClump *RpClumpForAllAtomics(RpClump * clump, RpAtomicCallBack callback...
function RpClump (line 740) | RpClump *RpClumpRender(RpClump * clump) { clump->render(); return clump; }
function RpClump (line 741) | RpClump *RpClumpRemoveAtomic(RpClump * clump, RpAtomic * atomic) { clump...
function RpClump (line 742) | RpClump *RpClumpAddAtomic(RpClump * clump, RpAtomic * atomic) { clump->a...
function RwBool (line 747) | RwBool RpClumpDestroy(RpClump * clump) { clump->destroy(); return true; }
function RpClump (line 748) | RpClump *RpClumpCreate(void) { return rw::Clump::create(); }
function RpClump (line 749) | RpClump *RpClumpClone(RpClump * clump) { return clump->clone(); }
function RwInt32 (line 752) | RwInt32 RpClumpGetNumAtomics(RpClump * clump) { return clump->countAtomi...
function RpClump (line 755) | RpClump *RpClumpStreamRead(RwStream * stream) { return rw::Clump::stream...
function RwInt32 (line 757) | RwInt32 RpClumpRegisterPlugin(RwInt32 size, RwUInt32 pluginID, RwPluginO...
function RwInt32 (line 759) | RwInt32 RpClumpRegisterPluginStream(RwUInt32 pluginID, RwPluginDataChunk...
function RpAtomic (line 767) | RpAtomic *RpAtomicCreate(void) { return rw::Atomic::create(); }
function RwBool (line 768) | RwBool RpAtomicDestroy(RpAtomic * atomic) { atomic->destroy(); return tr...
function RpAtomic (line 769) | RpAtomic *RpAtomicClone(RpAtomic * atomic) { return atomic->clone(); }
function RpAtomic (line 770) | RpAtomic *RpAtomicSetFrame(RpAtomic * atomic, RwFrame * frame) { atomic-...
function RpAtomic (line 771) | RpAtomic *RpAtomicSetGeometry(RpAtomic * atomic, RpGeometry * geometry, ...
function RwFrame (line 773) | RwFrame *RpAtomicGetFrame(const RpAtomic * atomic) { return atomic->getF...
function RpAtomic (line 774) | RpAtomic *RpAtomicSetFlags(RpAtomic * atomic, RwUInt32 flags) { atomic->...
function RwUInt32 (line 775) | RwUInt32 RpAtomicGetFlags(const RpAtomic * atomic) { return atomic->getF...
function RwSphere (line 776) | RwSphere *RpAtomicGetBoundingSphere(RpAtomic * atomic) { return &atomic-...
function RpAtomic (line 777) | RpAtomic *RpAtomicRender(RpAtomic * atomic) { atomic->render(); return a...
function RpClump (line 778) | RpClump *RpAtomicGetClump(const RpAtomic * atomic) { return atomic->clum...
function RpGeometry (line 780) | RpGeometry *RpAtomicGetGeometry(const RpAtomic * atomic) { return atomic...
function RpAtomicSetRenderCallBack (line 782) | void RpAtomicSetRenderCallBack(RpAtomic * atomic, RpAtomicCallBackRender...
function RpAtomicCallBackRender (line 783) | RpAtomicCallBackRender RpAtomicGetRenderCallBack(const RpAtomic * atomic...
function RwInt32 (line 788) | RwInt32 RpAtomicRegisterPlugin(RwInt32 size, RwUInt32 pluginID, RwPlugin...
function RpAtomic (line 796) | RpAtomic *AtomicDefaultRenderCallBack(RpAtomic * atomic) { Atomic::defau...
function RpWorld (line 800) | RpWorld *RpWorldCreate(RwBBox * boundingBox) { return World::create(...
function RwBool (line 801) | RwBool RpWorldDestroy(RpWorld * world) { world->destroy(); return ...
function RwBool (line 803) | RwBool RpWorldPluginAttach(void) {
function RpWorld (line 814) | RpWorld *RpWorldRemoveCamera(RpWorld *world, RwCamera *camera) { world->...
function RpWorld (line 815) | RpWorld *RpWorldAddCamera(RpWorld *world, RwCamera *camera) { world->add...
function RpWorld (line 823) | RpWorld *RpWorldAddLight(RpWorld *world, RpLight *light) { world->addLig...
function RpWorld (line 824) | RpWorld *RpWorldRemoveLight(RpWorld *world, RpLight *light) { world->rem...
function RwBool (line 832) | RwBool RpMatFXPluginAttach( void ) { registerMatFXPlugin(); return true; }
function RpAtomic (line 833) | RpAtomic *RpMatFXAtomicEnableEffects( RpAtomic *atomic ) { MatFX::enable...
function RpMatFXMaterialFlags (line 834) | RpMatFXMaterialFlags RpMatFXMaterialGetEffects( const RpMaterial *materi...
function RpMaterial (line 835) | RpMaterial *RpMatFXMaterialSetEffects( RpMaterial *material, RpMatFXMate...
function RpMaterial (line 836) | RpMaterial *RpMatFXMaterialSetupEnvMap( RpMaterial *material, RwTexture ...
function RpMaterial (line 843) | RpMaterial *RpMatFXMaterialSetEnvMapFrame( RpMaterial *material, RwFrame...
function RpMaterial (line 849) | RpMaterial *RpMatFXMaterialSetEnvMapFrameBufferAlpha( RpMaterial *materi...
function RpMaterial (line 855) | RpMaterial *RpMatFXMaterialSetEnvMapCoefficient( RpMaterial *material, R...
function RwReal (line 861) | RwReal RpMatFXMaterialGetEnvMapCoefficient( const RpMaterial *material )
function RwBool (line 869) | RwBool RpHAnimPluginAttach(void) {
function RwInt32 (line 874) | RwInt32 RpHAnimFrameGetID(RwFrame *frame) { return HAnimData::get(frame)...
function RwInt32 (line 876) | RwInt32 RpHAnimIDGetIndex(RpHAnimHierarchy *hierarchy, RwInt32 ID) { ret...
function RwBool (line 878) | RwBool RpHAnimFrameSetHierarchy(RwFrame *frame, RpHAnimHierarchy *hierar...
function RpHAnimHierarchy (line 879) | RpHAnimHierarchy *RpHAnimFrameGetHierarchy(RwFrame *frame) { return HAni...
function RpHAnimHierarchy (line 881) | RpHAnimHierarchy *RpHAnimHierarchySetFlags(RpHAnimHierarchy *hierarchy, ...
function RwBool (line 883) | RwBool RpHAnimHierarchySetCurrentAnim(RpHAnimHierarchy *hierarchy, RpHAn...
function RwBool (line 884) | RwBool RpHAnimHierarchyAddAnimTime(RpHAnimHierarchy *hierarchy, RwReal t...
function RwMatrix (line 886) | RwMatrix *RpHAnimHierarchyGetMatrixArray(RpHAnimHierarchy *hierarchy) { ...
function RwBool (line 887) | RwBool RpHAnimHierarchyUpdateMatrices(RpHAnimHierarchy *hierarchy) { hie...
function RpHAnimAnimation (line 889) | RpHAnimAnimation *RpHAnimAnimationCreate(RwInt32 typeID, RwInt32 numFram...
function RpHAnimAnimation (line 891) | RpHAnimAnimation *RpHAnimAnimationDestroy(RpHAnimAnimation *animation) ...
function RpHAnimAnimation (line 892) | RpHAnimAnimation *RpHAnimAnimationStreamRead(RwStream *stream) { return...
function RwBool (line 899) | RwBool RpSkinPluginAttach(void) {
function RwUInt32 (line 904) | RwUInt32 RpSkinGetNumBones( RpSkin *skin ) { return skin->numBones; }
function RwMatrixWeights (line 905) | const RwMatrixWeights *RpSkinGetVertexBoneWeights( RpSkin *skin ) { retu...
function RwUInt32 (line 906) | const RwUInt32 *RpSkinGetVertexBoneIndices( RpSkin *skin ) { return (RwU...
function RwMatrix (line 907) | const RwMatrix *RpSkinGetSkinToBoneMatrices( RpSkin *skin ) { return (co...
function RpSkin (line 909) | RpSkin *RpSkinGeometryGetSkin( RpGeometry *geometry ) { return Skin::get...
function RpAtomic (line 911) | RpAtomic *RpSkinAtomicSetHAnimHierarchy( RpAtomic *atomic, RpHAnimHierar...
function RpHAnimHierarchy (line 912) | RpHAnimHierarchy *RpSkinAtomicGetHAnimHierarchy( const RpAtomic *atomic ...
function RwImage (line 914) | RwImage *
function RwImage (line 931) | RwImage *
function RwImage (line 951) | RwImage *
function RwImage (line 968) | RwImage *
function RtQuat (line 989) | RtQuat *RtQuatRotate(RtQuat * quat, const RwV3d * axis, RwReal angle, Rw...
function RtQuatConvertToMatrix (line 990) | void RtQuatConvertToMatrix(const RtQuat * const qpQuat, RwMatrix * const...
function RwBool (line 995) | RwBool RtCharsetOpen(void) { return Charset::open(); }
function RtCharsetClose (line 996) | void RtCharsetClose(void) { return Charset::close(); }
function RtCharset (line 997) | RtCharset *RtCharsetPrint(RtCharset * charSet, const RwChar * string, ...
function RtCharset (line 998) | RtCharset *RtCharsetPrintBuffered(RtCharset * charSet, const RwChar * ...
function RwBool (line 999) | RwBool RtCharsetBufferFlush(void) { Charset::flushBuffer(); return...
function RtCharset (line 1000) | RtCharset *RtCharsetSetColors(RtCharset * charSet, const RwRGBA * fore...
function RtCharset (line 1001) | RtCharset *RtCharsetGetDesc(RtCharset * charset, RtCharsetDesc * desc)...
function RtCharset (line 1002) | RtCharset *RtCharsetCreate(const RwRGBA * foreGround, const RwRGBA * b...
function RwBool (line 1003) | RwBool RtCharsetDestroy(RtCharset * charSet) { charSet->destroy();...
function RwInt8 (line 1009) | RwInt8 RpAnisotGetMaxSupportedMaxAnisotropy(void) { return rw::getM...
function RwTexture (line 1010) | RwTexture *RpAnisotTextureSetMaxAnisotropy(RwTexture *tex, RwInt8 val...
function RwInt8 (line 1011) | RwInt8 RpAnisotTextureGetMaxAnisotropy(RwTexture *tex) { return te...
function RwBool (line 1012) | RwBool RpAnisotPluginAttach(void) { rw::registerAnisotropyPlugin()...
FILE: src/fakerw/rphanim.h
type rw (line 6) | typedef rw::HAnimHierarchy RpHAnimHierarchy;
type rw (line 8) | typedef rw::Animation RpHAnimAnimation;
type RpHAnimStdKeyFrame (line 13) | struct RpHAnimStdKeyFrame
type RpHAnimStdInterpFrame (line 22) | struct RpHAnimStdInterpFrame
type RpHAnimHierarchyFlag (line 30) | enum RpHAnimHierarchyFlag
FILE: src/fakerw/rpmatfx.h
type RpMatFXMaterialFlags (line 3) | enum RpMatFXMaterialFlags
FILE: src/fakerw/rpskin.h
type rw (line 6) | typedef rw::Skin RpSkin;
type RwMatrixWeights (line 8) | struct RwMatrixWeights
FILE: src/fakerw/rpworld.h
type rw (line 15) | typedef rw::Material RpMaterial;
type RpMaterial (line 17) | typedef RpMaterial *(*RpMaterialCallBack)(RpMaterial *material, void *da...
type rw (line 49) | typedef rw::Light RpLight;
type RpLightType (line 51) | enum RpLightType
type RpLightFlag (line 61) | enum RpLightFlag
type RpLight (line 67) | typedef RpLight *(*RpLightCallBack) (RpLight * light, void *data);
type rw (line 100) | typedef rw::Triangle RpTriangle;
type rw (line 103) | typedef rw::Geometry RpGeometry;
type rw (line 105) | typedef rw::MorphTarget RpMorphTarget;
type RpGeometryFlag (line 107) | enum RpGeometryFlag
type RpGeometryLockMode (line 123) | enum RpGeometryLockMode
type rw (line 197) | typedef rw::Atomic RpAtomic;
type RpAtomicFlag (line 199) | enum RpAtomicFlag
type RpAtomicSetGeomFlag (line 205) | enum RpAtomicSetGeomFlag
type RpAtomic (line 210) | typedef RpAtomic *(*RpAtomicCallBack) (RpAtomic * atomic, void *data);
type RpAtomic (line 211) | typedef RpAtomic *(*RpAtomicCallBackRender) (RpAtomic * atomic);
type rw (line 215) | typedef rw::Clump RpClump;
type RpClumpChunkInfo (line 217) | struct RpClumpChunkInfo
type RpClump (line 224) | typedef RpClump *(*RpClumpCallBack) (RpClump * clump, void *data);
type rw (line 310) | typedef rw::World RpWorld;
FILE: src/fakerw/rtcharse.h
type rw (line 3) | typedef rw::Charset RtCharset;
type rw (line 4) | typedef rw::Charset::Desc RtCharsetDesc;
FILE: src/fakerw/rtquat.h
type RtQuat (line 4) | struct RtQuat
FILE: src/fakerw/rwcore.h
type rw (line 17) | typedef rw::RWDEVICE::Im2DVertex RwIm2DVertex;
type rw (line 18) | typedef rw::RWDEVICE::Im3DVertex RwIm3DVertex;
type RwUInt16 (line 19) | typedef RwUInt16 RwImVertexIndex;
type RwIm3DTransformFlags (line 21) | enum RwIm3DTransformFlags
type rw (line 71) | typedef rw::Raster RwRaster;
type RwRasterType (line 73) | enum RwRasterType
type RwRasterFormat (line 84) | enum RwRasterFormat
type RwRasterFlipMode (line 107) | enum RwRasterFlipMode
type rw (line 152) | typedef rw::Image RwImage;
type rw (line 201) | typedef rw::Texture RwTexture;
type rw (line 203) | typedef rw::TexDictionary RwTexDictionary;
type RwTexture (line 205) | typedef RwTexture *(*RwTextureCallBackRead)(const RwChar *name, const Rw...
type RwTexture (line 206) | typedef RwTexture *(*RwTextureCallBack)(RwTexture *texture, void *pData);
type RwTexDictionary (line 207) | typedef RwTexDictionary *(*RwTexDictionaryCallBack)(RwTexDictionary *dic...
type RwRaster (line 208) | typedef RwRaster *(*RwTextureCallBackMipmapGeneration)(RwRaster * raster...
type RwBool (line 209) | typedef RwBool (*RwTextureCallBackMipmapName)(RwChar *name, RwChar *mask...
type rw (line 288) | typedef rw::Frame RwFrame;
type RwFrame (line 290) | typedef RwFrame *(*RwFrameCallBack)(RwFrame *frame, void *data);
type rw (line 328) | typedef rw::FrameList_ rwFrameList;
type rw (line 337) | typedef rw::BBox RwBBox;
type rw (line 348) | typedef rw::Camera RwCamera;
type RwCamera (line 350) | typedef RwCamera *(*RwCameraCallBack)(RwCamera *camera, void *data);
type RwCameraClearMode (line 352) | enum RwCameraClearMode
type RwCameraProjection (line 359) | enum RwCameraProjection
type RwFrustumTestResult (line 366) | enum RwFrustumTestResult
FILE: src/fakerw/rwplcore.h
type rw (line 3) | typedef rw::int8 RwInt8;
type rw (line 4) | typedef rw::int16 RwInt16;
type rw (line 5) | typedef rw::int32 RwInt32;
type rw (line 6) | typedef rw::uint8 RwUInt8;
type rw (line 7) | typedef rw::uint16 RwUInt16;
type rw (line 8) | typedef rw::uint32 RwUInt32;
type rw (line 9) | typedef rw::float32 RwReal;
type RwChar (line 11) | typedef char RwChar;
type RwInt32 (line 12) | typedef RwInt32 RwBool;
type rw (line 27) | typedef rw::V2d RwV2d;
type rw (line 29) | typedef rw::V3d RwV3d;
type rw (line 31) | typedef rw::Rect RwRect;
type rw (line 33) | typedef rw::Sphere RwSphere;
type RwTextureCoordinateIndex (line 35) | enum RwTextureCoordinateIndex
type rw (line 48) | typedef rw::TexCoords RwTexCoords;
type rw (line 50) | typedef rw::SurfaceProperties RwSurfaceProperties;
type RwCorePluginID (line 58) | enum RwCorePluginID
type rw (line 110) | typedef rw::Object RwObject;
type rw (line 111) | typedef rw::Frame RwFrame;
type RwObject (line 113) | typedef RwObject *(*RwObjectCallBack)(RwObject *object, void *data);
type RwMemoryFunctions (line 144) | struct RwMemoryFunctions
type rw (line 168) | typedef rw::Stream RwStream;
type RwMemory (line 170) | struct RwMemory
type RwStreamType (line 176) | enum RwStreamType
type RwStreamAccessType (line 185) | enum RwStreamAccessType
type RwStream (line 211) | typedef RwStream *(*RwPluginDataChunkWriteCallBack)(RwStream *stream, Rw...
type RwStream (line 212) | typedef RwStream *(*RwPluginDataChunkReadCallBack)(RwStream *stream, RwI...
type RwInt32 (line 213) | typedef RwInt32(*RwPluginDataChunkGetSizeCallBack)(const void *object, R...
type RwBool (line 214) | typedef RwBool(*RwPluginDataChunkAlwaysCallBack)(void *object, RwInt32 o...
type RwBool (line 215) | typedef RwBool(*RwPluginDataChunkRightsCallBack)(void *object, RwInt32 o...
type rw (line 228) | typedef rw::Matrix RwMatrix;
type RwOpCombineType (line 230) | enum RwOpCombineType
type RwMatrixType (line 237) | enum RwMatrixType
type rw (line 245) | typedef rw::Matrix::Tolerance RwMatrixTolerance;
type rw (line 275) | typedef rw::RGBA RwRGBA;
type rw (line 276) | typedef rw::RGBAf RwRGBAReal;
function RwRGBAAssign (line 279) | inline void RwRGBAAssign(RwRGBA *target, const RwRGBA *source) { *target...
type RwRenderState (line 314) | enum RwRenderState
type RwShadeMode (line 348) | enum RwShadeMode
type RwBlendFunction (line 355) | enum RwBlendFunction
type RwFogType (line 372) | enum RwFogType
type RwTextureFilterMode (line 380) | enum RwTextureFilterMode
type RwTextureAddressMode (line 391) | enum RwTextureAddressMode
type RwCullMode (line 400) | enum RwCullMode
type RwPrimitiveType (line 408) | enum RwPrimitiveType
type RwEngineOpenParams (line 432) | struct RwEngineOpenParams
type rw (line 437) | typedef rw::SubSystemInfo RwSubSystemInfo;
type RwVideoModeFlag (line 439) | enum RwVideoModeFlag
type rw (line 450) | typedef rw::VideoMode RwVideoMode;
type RwFileFunctions (line 453) | struct RwFileFunctions
FILE: src/math/Matrix.cpp
function CMatrix (line 95) | CMatrix &
function CMatrix (line 411) | CMatrix &
function CMatrix (line 432) | CMatrix
function CMatrix (line 452) | CMatrix &
function CMatrix (line 500) | CMatrix
FILE: src/math/Matrix.h
function class (line 3) | class CMatrix
function CVector (line 60) | const CVector &GetPosition(void) const { return *(CVector*)&px; }
function CVector (line 61) | const CVector &GetRight(void) const { return *(CVector*)℞ }
function CVector (line 62) | const CVector &GetForward(void) const { return *(CVector*)&fx; }
function CVector (line 63) | const CVector &GetUp(void) const { return *(CVector*)&ux; }
function SetTranslate (line 67) | void SetTranslate(const CVector &trans){ SetTranslate(trans.x, trans.y, ...
function Translate (line 68) | void Translate(float x, float y, float z){
function Translate (line 73) | void Translate(const CVector &trans){ Translate(trans.x, trans.y, trans....
function Scale (line 76) | void Scale(float scale)
function Scale (line 82) | void Scale(float sx, float sy, float sz)
function SetRotateZOnlyScaled (line 95) | void SetRotateZOnlyScaled(float angle, float scale) {
function SetTranslateOnly (line 127) | void SetTranslateOnly(float x, float y, float z) {
function SetTranslateOnly (line 132) | void SetTranslateOnly(const CVector& pos) {
function CheckIntegrity (line 135) | void CheckIntegrity(){}
function CVector (line 142) | inline CVector MultiplyInverse(const CMatrix &mat, const CVector &vec)
function class (line 153) | class CCompressedMatrixNotAligned
function class (line 167) | class CCompressedMatrix : public CCompressedMatrixNotAligned
FILE: src/math/Quaternion.h
function class (line 4) | class CQuaternion
function MagnitudeSqr (line 12) | float MagnitudeSqr(void) const { return x*x + y*y + z*z + w*w; }
function Invert (line 15) | void Invert(void){ // Conjugate would have been a better name
function DotProduct (line 66) | inline float
FILE: src/math/Rect.h
function class (line 3) | class CRect
FILE: src/math/Vector.cpp
function CVector (line 16) | CVector
function CVector (line 22) | CVector
function CVector (line 31) | CVector
function CVector (line 39) | CVector
FILE: src/math/Vector.h
function class (line 3) | class CVector : public RwV3d
function Heading (line 21) | float Heading(void) const { return Atan2(-x, y); }
function Magnitude (line 22) | float Magnitude(void) const { return Sqrt(x*x + y*y + z*z); }
function MagnitudeSqr (line 23) | float MagnitudeSqr(void) const { return x*x + y*y + z*z; }
function Magnitude2D (line 24) | float Magnitude2D(void) const { return Sqrt(x*x + y*y); }
function MagnitudeSqr2D (line 25) | float MagnitudeSqr2D(void) const { return x*x + y*y; }
function Normalise2D (line 28) | void Normalise2D(void) {
function operator (line 71) | const bool operator!=(CVector const &right) const {
function IsZero (line 75) | bool IsZero(void) const { return x == 0.0f && y == 0.0f && z == 0.0f; }
function DotProduct (line 103) | inline float
function Distance (line 111) | inline float
function Distance2D (line 117) | inline float
FILE: src/math/Vector2D.h
function class (line 3) | class CVector2D
function Magnitude (line 11) | float Magnitude(void) const { return Sqrt(x*x + y*y); }
function MagnitudeSqr (line 12) | float MagnitudeSqr(void) const { return x*x + y*y; }
function Normalise (line 14) | void Normalise(void) {
function CVector2D (line 53) | CVector2D operator/(float t) const {
function DotProduct2D (line 61) | inline float
function CrossProduct2D (line 67) | inline float
function Distance2D (line 73) | inline float
function DistanceSqr2D (line 79) | inline float
function NormalizeXY (line 85) | inline void
FILE: src/math/VuVector.h
function class (line 3) | class TYPEALIGN(16) CVuVector : public CVector
FILE: src/math/math.cpp
function TransformPoint (line 8) | void TransformPoint(CVuVector &out, const CMatrix &mat, const CVuVector ...
function TransformPoint (line 28) | void TransformPoint(CVuVector &out, const CMatrix &mat, const RwV3d &in)
function TransformPoints (line 52) | void TransformPoints(CVuVector *out, int n, const CMatrix &mat, const Rw...
function TransformPoints (line 90) | void TransformPoints(CVuVector *out, int n, const CMatrix &mat, const CV...
FILE: src/math/maths.h
function Sin (line 6) | inline float Sin(float x) { return sinf(x); }
function Asin (line 7) | inline float Asin(float x) { return asinf(x); }
function Cos (line 8) | inline float Cos(float x) { return cosf(x); }
function Acos (line 9) | inline float Acos(float x) { return acosf(x); }
function Tan (line 10) | inline float Tan(float x) { return tanf(x); }
function Atan (line 11) | inline float Atan(float x) { return atanf(x); }
function Atan2 (line 12) | inline float Atan2(float y, float x) { return atan2f(y, x); }
function Abs (line 13) | inline float Abs(float x) { return fabs(x); }
function Sqrt (line 14) | inline float Sqrt(float x) { return sqrtf(x); }
function RecipSqrt (line 15) | inline float RecipSqrt(float x, float y) { return x/Sqrt(y); }
function RecipSqrt (line 16) | inline float RecipSqrt(float x) { return RecipSqrt(1.0f, x); }
function Pow (line 17) | inline float Pow(float x, float y) { return powf(x, y); }
function Floor (line 18) | inline float Floor(float x) { return floorf(x); }
function Ceil (line 19) | inline float Ceil(float x) { return ceilf(x); }
FILE: src/modelinfo/BaseModelInfo.cpp
function C2dEffect (line 95) | C2dEffect*
FILE: src/modelinfo/BaseModelInfo.h
type CColModel (line 3) | struct CColModel
type ModelInfoType (line 7) | enum ModelInfoType
function class (line 23) | class CBaseModelInfo
function CColModel (line 57) | CColModel *GetColModel(void) { return m_colModel; }
function DoesOwnColModel (line 58) | bool DoesOwnColModel(void) { return m_bOwnsColModel; }
function ClearTexDictionary (line 60) | void ClearTexDictionary(void) { m_txdSlot = -1; }
function int16 (line 61) | int16 GetObjectID(void) { return m_objectId; }
function SetObjectID (line 62) | void SetObjectID(int16 id) { m_objectId = id; }
function int16 (line 63) | int16 GetTxdSlot(void) { return m_txdSlot; }
FILE: src/modelinfo/ClumpModelInfo.cpp
function RpAtomic (line 22) | static RpAtomic*
function RwObject (line 29) | RwObject*
function RwObject (line 49) | RwObject*
function RpAtomic (line 60) | RpAtomic*
function RwFrame (line 138) | RwFrame*
function RwFrame (line 152) | RwFrame*
function RwFrame (line 165) | RwFrame*
function RwFrame (line 179) | RwFrame*
function RwFrame (line 197) | RwFrame*
FILE: src/modelinfo/ClumpModelInfo.h
type RwObjectNameIdAssocation (line 5) | struct RwObjectNameIdAssocation
type RwObjectNameAssociation (line 12) | struct RwObjectNameAssociation
type RwObjectIdAssociation (line 18) | struct RwObjectIdAssociation
function class (line 29) | class CClumpModelInfo : public CBaseModelInfo
FILE: src/modelinfo/ModelIndices.cpp
function InitModelIndices (line 10) | void
function MatchModelString (line 18) | void
function TestModelIndices (line 30) | void
FILE: src/modelinfo/ModelIndices.h
function IsGlass (line 480) | inline bool
function IsTrafficLight (line 487) | inline bool
function IsLightWithoutShift (line 496) | inline bool
function IsLightWithPreRenderEffects (line 506) | inline bool
function IsLightThatNeedsRepositioning (line 516) | inline bool
function IsLightObject (line 529) | inline bool
function IsLampPost (line 541) | inline bool
function IsBodyPart (line 556) | inline bool
function IsPedModel (line 562) | inline bool
function IsPalmTreeModel (line 567) | inline bool
function IsTreeModel (line 580) | inline bool
function IsPolicePedModel (line 590) | inline bool
function IsPoliceVehicleModel (line 599) | inline bool
function IsExplosiveThingModel (line 608) | inline bool
function IsFence (line 616) | inline bool
FILE: src/modelinfo/ModelInfo.cpp
function CSimpleModelInfo (line 119) | CSimpleModelInfo*
function CTimeModelInfo (line 129) | CTimeModelInfo*
function CWeaponModelInfo (line 139) | CWeaponModelInfo*
function CClumpModelInfo (line 149) | CClumpModelInfo*
function CPedModelInfo (line 159) | CPedModelInfo*
function CVehicleModelInfo (line 169) | CVehicleModelInfo*
function CBaseModelInfo (line 184) | CBaseModelInfo*
function CBaseModelInfo (line 199) | CBaseModelInfo*
FILE: src/modelinfo/ModelInfo.h
function class (line 12) | class CModelInfo
function CBaseModelInfo (line 37) | static CBaseModelInfo *GetModelInfo(int id){
FILE: src/modelinfo/PedModelInfo.cpp
type ColNodeInfo (line 53) | struct ColNodeInfo
function CColModel (line 112) | CColModel*
function CColModel (line 142) | CColModel*
FILE: src/modelinfo/PedModelInfo.h
type PedNode (line 7) | enum PedNode {
function class (line 31) | class CPedModelInfo : public CClumpModelInfo
FILE: src/modelinfo/SimpleModelInfo.cpp
function RwObject (line 27) | RwObject*
function RwObject (line 38) | RwObject*
function RpAtomic (line 138) | RpAtomic*
function RpAtomic (line 151) | RpAtomic*
FILE: src/modelinfo/SimpleModelInfo.h
function class (line 5) | class CSimpleModelInfo : public CBaseModelInfo
FILE: src/modelinfo/TimeModelInfo.cpp
function CTimeModelInfo (line 7) | CTimeModelInfo*
FILE: src/modelinfo/TimeModelInfo.h
function class (line 5) | class CTimeModelInfo : public CSimpleModelInfo
function int32 (line 13) | int32 GetTimeOn(void) { return m_timeOn; }
function int32 (line 14) | int32 GetTimeOff(void) { return m_timeOff; }
function SetTimes (line 15) | void SetTimes(int32 on, int32 off) { m_timeOn = on; m_timeOff = off; }
function int32 (line 16) | int32 GetOtherTimeModel(void) { return m_otherTimeModelID; }
function SetOtherTimeModel (line 17) | void SetOtherTimeModel(int32 other) { m_otherTimeModelID = other; }
FILE: src/modelinfo/VehicleModelInfo.cpp
function RwObject (line 199) | RwObject*
function RwFrame (line 275) | RwFrame*
function RwObject (line 284) | RwObject*
function RpAtomic (line 291) | RpAtomic*
function RpAtomic (line 302) | RpAtomic*
function RpMaterial (line 312) | RpMaterial*
function RpAtomic (line 323) | RpAtomic*
function RpAtomic (line 351) | RpAtomic*
function RpAtomic (line 378) | RpAtomic*
function RpAtomic (line 400) | RpAtomic*
function RpAtomic (line 434) | RpAtomic*
function RpAtomic (line 449) | RpAtomic*
function RwObject (line 501) | RwObject*
function RwObject (line 510) | RwObject*
function RwObject (line 519) | RwObject*
function IsValidCompRule (line 663) | bool
function int32 (line 672) | int32
function int32 (line 682) | int32
function int32 (line 710) | int32
function int32 (line 751) | int32
function int32 (line 774) | int32
type editableMatCBData (line 799) | struct editableMatCBData
function RpMaterial (line 806) | RpMaterial*
function RpAtomic (line 825) | RpAtomic*
function RwTexture (line 936) | RwTexture*
function RpMaterial (line 1074) | RpMaterial*
function RpMaterial (line 1083) | RpMaterial*
function RpAtomic (line 1100) | RpAtomic*
FILE: src/modelinfo/VehicleModelInfo.h
type eVehicleType (line 27) | enum eVehicleType {
type eCarPositions (line 37) | enum eCarPositions
type eBoatPositions (line 46) | enum eBoatPositions
type eTrainPositions (line 51) | enum eTrainPositions
type ePlanePositions (line 60) | enum ePlanePositions
function class (line 71) | class CVehicleModelInfo : public CClumpModelInfo
FILE: src/modelinfo/WeaponModelInfo.cpp
function eWeaponType (line 41) | eWeaponType
FILE: src/modelinfo/WeaponModelInfo.h
function class (line 6) | class CWeaponModelInfo : public CSimpleModelInfo
function virtual (line 17) | virtual int GetAnimFileIndex(void) { return m_animFileIndex; }
FILE: src/objects/CutsceneObject.cpp
function RpMaterial (line 87) | static RpMaterial*
FILE: src/objects/CutsceneObject.h
function class (line 7) | class CCutsceneObject : public CObject
FILE: src/objects/DummyObject.h
function class (line 7) | class CDummyObject : public CDummy
FILE: src/objects/Object.cpp
function IsObjectPointerValid (line 823) | bool
FILE: src/objects/Object.h
type CollisionSpecialResponseCase (line 14) | enum CollisionSpecialResponseCase
type CollisionDamageEffect (line 24) | enum CollisionDamageEffect
function class (line 57) | class CObject : public CPhysical
FILE: src/objects/ObjectData.h
function class (line 5) | class CObjectInfo
function class (line 21) | class CObjectData
FILE: src/objects/ParticleObject.cpp
function CAudioHydrant (line 22) | CAudioHydrant *CAudioHydrant::Get(int n) { return &List[n]; }
function CParticleObject (line 102) | CParticleObject *
function CParticleObject (line 110) | CParticleObject *
function CParticleObject (line 118) | CParticleObject *
function CParticleObject (line 125) | CParticleObject *
function CParticleObject (line 361) | CParticleObject *
FILE: src/objects/ParticleObject.h
type eParticleObjectType (line 10) | enum eParticleObjectType
type eParticleObjectState (line 36) | enum eParticleObjectState
function class (line 46) | class CParticleObject : public CPlaceable
function class (line 97) | class CAudioHydrant
FILE: src/objects/Projectile.h
function class (line 5) | class CProjectile : public CObject
FILE: src/objects/Stinger.h
function class (line 5) | class CStingerSegment : public CObject
function class (line 22) | class CStinger
FILE: src/peds/CivilianPed.h
function class (line 5) | class CCivilianPed : public CPed
FILE: src/peds/CopPed.h
type eCopType (line 4) | enum eCopType
function class (line 14) | class CCopPed : public CPed
FILE: src/peds/DummyPed.h
function class (line 6) | class CDummyPed : CDummy
FILE: src/peds/EmergencyPed.h
type EmergencyPedState (line 8) | enum EmergencyPedState
function class (line 22) | class CEmergencyPed : public CPed
FILE: src/peds/Gangs.cpp
function int32 (line 71) | int32 CGangs::ChooseGangPedModel(int16 gang)
function int8 (line 97) | int8 CGangs::GetGangPedModelOverride(int16 gang)
FILE: src/peds/Gangs.h
type CGangInfo (line 5) | struct CGangInfo
function class (line 32) | class CGangs
FILE: src/peds/Ped.cpp
function uint32 (line 802) | uint32
function int32 (line 2850) | int32
function particleProduceFootSplash (line 3055) | static void
function particleProduceFootDust (line 3068) | static void
function RwObject (line 4500) | static RwObject*
function int32 (line 4578) | int32
function CVector (line 6186) | CVector*
function StartTalkingOnMobileCB (line 7240) | void
function FinishTalkingOnMobileCB (line 7248) | void
function CPed (line 7589) | CPed *
function CPed (line 7604) | CPed *
function IsPedPointerValid (line 7637) | bool
function IsPedPointerValid_NotInWorld (line 7647) | bool
function PlayRandomAnimationsFromAnimBlock (line 7962) | void
FILE: src/peds/Ped.h
type AnimBlendFrameData (line 23) | struct AnimBlendFrameData
type PedAudioData (line 27) | struct PedAudioData
type eFormation (line 42) | enum eFormation
type FightState (line 55) | enum FightState {
type PedRouteType (line 69) | enum PedRouteType
type FightMoveHitLevel (line 76) | enum FightMoveHitLevel
type FightMove (line 85) | struct FightMove
type PedFightMoves (line 99) | enum PedFightMoves
type ePedPieceTypes (line 140) | enum ePedPieceTypes
type eWaitState (line 151) | enum eWaitState {
type eObjective (line 190) | enum eObjective {
type PedLineUpPhase (line 260) | enum PedLineUpPhase {
type PedOnGroundState (line 267) | enum PedOnGroundState {
type PointBlankNecessity (line 274) | enum PointBlankNecessity {
type PedState (line 280) | enum PedState
type eMoveState (line 353) | enum eMoveState {
function class (line 367) | class CPed : public CPhysical
FILE: src/peds/PedAI.cpp
function CVector (line 3109) | CVector
function CVector (line 4600) | CVector
function uint8 (line 5130) | uint8
function uint8 (line 5147) | uint8
function SelectClosestNodeForSeek (line 5418) | inline void
function CVector (line 5674) | CVector
function CVector (line 5721) | CVector
function int32 (line 6327) | int32
function int32 (line 6601) | int32
FILE: src/peds/PedAttractor.cpp
function CPedAttractorManager (line 18) | CPedAttractorManager* GetPedAttractorManager()
function CVehicleToEffect (line 65) | CVehicleToEffect& CVehicleToEffect::From(const CVehicleToEffect& other)
function C2dEffect (line 77) | const C2dEffect* CVehicleToEffect::ChooseEffect(const CVector& pos) const
function C2dEffect (line 104) | const C2dEffect* CPedAttractorManager::GetEffectForIceCreamVan(CVehicle*...
function CVehicle (line 123) | CVehicle* CPedAttractorManager::GetIceCreamVanForEffect(C2dEffect* pEffect)
function CPedAttractor (line 134) | const CPedAttractor* CPedAttractorManager::FindAssociatedAttractor(const...
function CVector (line 227) | CVector CPedShelterAttractor::GetDisplacement(int32 qid) const
function IsPedUsingAttractorOfThisType (line 292) | static bool IsPedUsingAttractorOfThisType(int8 type, CPed* pPed)
function CPedAttractor (line 486) | CPedAttractor* CPedAttractorManager::RegisterPedWithAttractor(CPed* pPed...
function CPedAttractor (line 644) | CPedAttractor* CPedAttractorManager::RegisterPed(CPed* pPed, C2dEffect* ...
FILE: src/peds/PedAttractor.h
function class (line 12) | class CVehicleToEffect
function class (line 28) | class CPedAttractorManager
type ePedAttractorType (line 68) | enum ePedAttractorType
function class (line 78) | class CPedAttractor
function class (line 126) | class CPedAtmAttractor : public CPedAttractor
function virtual (line 130) | virtual void UpdatePedStateOnDeparture(CPed* pPed) const;
function class (line 136) | class CPedIceCreamAttractor : public CPedAttractor
function virtual (line 141) | virtual void UpdatePedStateOnDeparture(CPed* pPed) const {}
function class (line 147) | class CPedPizzaAttractor : public CPedAttractor
function class (line 158) | class CPedSeatAttractor : public CPedAttractor
function virtual (line 162) | virtual void UpdatePedStateOnDeparture(CPed* pPed) const {}
function class (line 168) | class CPedShelterAttractor : public CPedAttractor
function virtual (line 174) | virtual void UpdatePedStateOnDeparture(CPed* pPed) const {}
function virtual (line 175) | virtual bool IsAtHeadOfQueue(CPed* pPed) const { return true; }
function virtual (line 177) | virtual void ComputeAttractHeading(int qid, float& heading) const;
function class (line 187) | class CPedStopAttractor : public CPedAttractor
function virtual (line 191) | virtual void UpdatePedStateOnDeparture(CPed* pPed) const {}
FILE: src/peds/PedFight.cpp
function PedOnGroundState (line 68) | static PedOnGroundState
function uint8 (line 604) | uint8
function else (line 1578) | else if (m_takeAStepAfterAttack) {
function int32 (line 1596) | int32
function RwObject (line 3160) | static RwObject*
function RwFrame (line 3168) | static RwFrame*
function RwObject (line 3176) | static RwObject*
function RwFrame (line 3186) | static RwFrame*
function CObject (line 3227) | CObject*
FILE: src/peds/PedIK.cpp
function RwMatrix (line 34) | inline RwMatrix*
function RwMatrix (line 42) | inline RwMatrix*
function LimbMoveStatus (line 63) | LimbMoveStatus
FILE: src/peds/PedIK.h
type LimbOrientation (line 5) | struct LimbOrientation
type LimbMovementInfo (line 11) | struct LimbMovementInfo {
type LimbMoveStatus (line 20) | enum LimbMoveStatus {
function class (line 28) | class CPedIK
FILE: src/peds/PedPlacement.cpp
function CEntity (line 42) | CEntity*
FILE: src/peds/PedPlacement.h
function class (line 3) | class CPedPlacement {
FILE: src/peds/PedRoutes.cpp
function int16 (line 17) | int16
function int16 (line 24) | int16
function CVector (line 34) | CVector
FILE: src/peds/PedRoutes.h
function class (line 3) | class CRouteNode
FILE: src/peds/PedType.cpp
function ePedType (line 125) | ePedType
function uint32 (line 153) | uint32
function ePedStats (line 308) | ePedStats
FILE: src/peds/PedType.h
type ePedType (line 4) | enum ePedType
function class (line 63) | class CPedType
type ePedStats (line 96) | enum ePedStats
function class (line 155) | class CPedStats
FILE: src/peds/PlayerPed.cpp
function CPad (line 43) | CPad*
function CPlayerInfo (line 158) | CPlayerInfo *
type animAndGroup (line 1944) | struct animAndGroup {
function int32 (line 2123) | int32
FILE: src/peds/PlayerPed.h
function class (line 9) | class CPlayerPed : public CPed
FILE: src/peds/Population.cpp
function int32 (line 116) | int32
function int32 (line 136) | int32
function int32 (line 161) | int32
function CPed (line 419) | CPed*
function CPed (line 799) | CPed*
function CPed (line 1158) | CPed*
function int32 (line 1356) | int32
FILE: src/peds/Population.h
type PedGroup (line 11) | struct PedGroup
function class (line 16) | class CPopulation
FILE: src/render/2dEffect.h
function class (line 44) | class C2dEffect
FILE: src/render/Antennas.h
function class (line 3) | class CAntenna
function class (line 16) | class CAntennas
FILE: src/render/Clouds.cpp
function UseDarkBackground (line 311) | bool
FILE: src/render/Clouds.h
function class (line 3) | class CClouds
FILE: src/render/Console.cpp
function cprintf (line 86) | void
FILE: src/render/Console.h
function class (line 3) | class CConsole
FILE: src/render/Coronas.cpp
type FlareDef (line 21) | struct FlareDef
FILE: src/render/Coronas.h
type CRegisteredCorona (line 5) | struct CRegisteredCorona
function class (line 45) | class CCoronas
FILE: src/render/Credits.h
function class (line 3) | class CCredits
FILE: src/render/CutsceneShadow.cpp
function RwFrame (line 137) | RwFrame *
function RwRaster (line 189) | RwRaster *
function RwTexture (line 233) | RwTexture *
function CShadowCamera (line 240) | CShadowCamera *
function RwTexture (line 253) | RwTexture *
FILE: src/render/CutsceneShadow.h
function class (line 4) | class CCutsceneShadow
FILE: src/render/Draw.cpp
function FindAspectRatio (line 34) | float
FILE: src/render/Draw.h
type eAspectRatio (line 3) | enum eAspectRatio
function class (line 17) | class CDraw
FILE: src/render/Fluff.cpp
type eScrollBarTypes (line 371) | enum eScrollBarTypes
function int16 (line 597) | int16 CMovingThing::SizeList()
FILE: src/render/Fluff.h
function class (line 13) | class CScriptPath
function class (line 32) | class CScriptPaths
function class (line 46) | class CPlaneTrail
function class (line 56) | class CPlaneTrails
function class (line 66) | class CPlaneBanner
function class (line 76) | class CPlaneBanners
function class (line 86) | class CEscalator
function class (line 110) | class CEscalators
function class (line 122) | class CMovingThing
function class (line 140) | class CMovingThings
function class (line 156) | class CScrollBar
function class (line 186) | class CSmokeTrail {
function class (line 198) | class CSmokeTrails {
FILE: src/render/Font.cpp
function AsciiToUnicode (line 11) | void
function UnicodeStrcat (line 17) | void
function UnicodeStrcpy (line 23) | void
function UnicodeStrlen (line 29) | int
function UnicodeMakeUpperCase (line 37) | void
function Align (line 288) | void Align()
function wchar (line 1400) | wchar*
function wchar (line 1430) | wchar*
function wchar (line 1545) | wchar*
function wchar (line 1595) | wchar*
function wchar (line 1915) | wchar CFont::FindNewCharacter(wchar c)
function wchar (line 1932) | wchar
FILE: src/render/Font.h
type CFontDetails (line 11) | struct CFontDetails
type CFontRenderState (line 44) | struct CFontRenderState
function class (line 123) | class CFont
FILE: src/render/Glass.cpp
function CFallingGlassPane (line 305) | CFallingGlassPane *
function int32 (line 547) | int32
FILE: src/render/Glass.h
function class (line 7) | class CFallingGlassPane : public CMatrix
function class (line 34) | class CGlass
FILE: src/render/Hud.h
type eItems (line 9) | enum eItems
type DRAW_FADE_STATE (line 18) | enum DRAW_FADE_STATE
type eFadeOperation (line 27) | enum eFadeOperation
type eSprites (line 36) | enum eSprites
function class (line 50) | class CHud
FILE: src/render/Instance.h
function class (line 7) | class CInstance : public CPlaceable
FILE: src/render/Lines.h
function class (line 3) | class CLines
FILE: src/render/MBlur.cpp
function RwBool (line 38) | RwBool
function RwBool (line 148) | RwBool
FILE: src/render/MBlur.h
type FxType (line 3) | enum FxType
function class (line 15) | class CMBlur
FILE: src/render/Occlusion.cpp
function DoesInfiniteLineCrossFiniteLine (line 75) | bool
function DoesInfiniteLineTouchScreen (line 83) | bool DoesInfiniteLineTouchScreen(float lineX, float lineY, float lineDX,...
function IsPointInsideLine (line 93) | bool IsPointInsideLine(float lineX, float lineY, float lineDX, float lin...
function CalcScreenCoors (line 97) | bool CalcScreenCoors(CVector const &in, CVector *out, float *outw, float...
function CalcScreenCoors (line 114) | bool CalcScreenCoors(CVector const &in, CVector *out) {
FILE: src/render/Occlusion.h
type ActiveOccluderLine (line 3) | struct ActiveOccluderLine {
function class (line 9) | class CActiveOccluder {
function class (line 19) | class COccluder
function class (line 33) | class COcclusion
FILE: src/render/Particle.cpp
function CParticle (line 865) | CParticle *CParticle::AddParticle(tParticleType type, CVector const &vec...
function CParticle (line 871) | CParticle *CParticle::AddParticle(tParticleType type, CVector const &vec...
FILE: src/render/Particle.h
function class (line 7) | class CParticle
function Sin (line 55) | static float Sin(int32 value) { return m_SinTable[value]; }
function Cos (line 56) | static float Cos(int32 value) { return m_CosTable[value]; }
function _Next (line 74) | static void _Next(CParticle *&pParticle, CParticle *&pPrevParticle, tPar...
FILE: src/render/ParticleMgr.h
type tParticleSystemData (line 26) | struct tParticleSystemData
function class (line 73) | class cParticleSystemMgr
FILE: src/render/ParticleType.h
type tParticleType (line 3) | enum tParticleType
FILE: src/render/PlayerSkin.cpp
function FindPlayerDff (line 24) | void
function LoadPlayerDff (line 41) | void
function RwTexture (line 90) | RwTexture *
FILE: src/render/PlayerSkin.h
function class (line 5) | class CPlayerSkin
FILE: src/render/PointLights.h
function class (line 3) | class CRegisteredPointLight
function class (line 18) | class CPointLights
FILE: src/render/RenderBuffer.h
function class (line 1) | class RenderBuffer
type VertexBufferUnion (line 15) | struct VertexBufferUnion
FILE: src/render/Renderer.cpp
type EntityInfo (line 45) | struct EntityInfo
function IsRoad (line 235) | inline bool IsRoad(CEntity *e) { return e->IsBuilding() && ((CSimpleMode...
function PutIntoSortedVehicleList (line 258) | inline bool PutIntoSortedVehicleList(CVehicle *veh)
function SetStencilState (line 363) | static void
type Visbility (line 634) | enum Visbility
function int32 (line 650) | int32
function int32 (line 825) | int32
function LimitFrustumVector (line 973) | void
type Corners (line 983) | enum Corners
function CalcNewDelta (line 1267) | float
FILE: src/render/Renderer.h
type BlockedRange (line 29) | struct BlockedRange
function class (line 35) | class CRenderer
FILE: src/render/Rubbish.h
function class (line 14) | class COneSheet
function class (line 37) | class CRubbish
FILE: src/render/ShadowCamera.cpp
function RpAtomic (line 8) | RpAtomic *ShadowRenderCallBack(RpAtomic *atomic, void *data)
function RwCamera (line 71) | RwCamera *
function RwCamera (line 118) | RwCamera *
function RwCamera (line 135) | RwCamera *
function RwCamera (line 156) | RwCamera *
function RwCamera (line 176) | RwCamera *
function RwCamera (line 210) | RwCamera *
function RwRaster (line 299) | RwRaster *
function RwRaster (line 362) | RwRaster *
function RwRaster (line 398) | RwRaster *
function RwRaster (line 455) | RwRaster *
function RwRaster (line 491) | RwRaster *CShadowCamera::DrawOutlineBorder(RwRGBA const& color)
FILE: src/render/ShadowCamera.h
function class (line 4) | class CShadowCamera
FILE: src/render/Shadows.cpp
function StoreShadowForCutscenePedObject (line 783) | void
type _ProjectionParam (line 2070) | struct _ProjectionParam
function RwV3d (line 2081) | RwV3d *ShadowRenderTriangleCB(RwV3d *points, RwV3d *normal, ProjectionPa...
FILE: src/render/Shadows.h
type eShadowType (line 18) | enum eShadowType
type eShadowTextureType (line 26) | enum eShadowTextureType
type VEH_SHD_TYPE (line 37) | enum VEH_SHD_TYPE
function class (line 47) | class CStoredShadow
function class (line 76) | class CPolyBunch
function class (line 91) | class CStaticShadow
function class (line 121) | class CPermanentShadow
function class (line 144) | class CShadows
FILE: src/render/Skidmarks.h
type eSkidmarkType (line 5) | enum eSkidmarkType
function class (line 13) | class CSkidmark
function class (line 29) | class CSkidmarks
FILE: src/render/SpecialFX.cpp
function RwObject (line 133) | RwObject*
class CEntity (line 442) | class CEntity
function RpAtomic (line 643) | RpAtomic *
function C3dMarker (line 801) | C3dMarker *
FILE: src/render/SpecialFX.h
function class (line 5) | class CSpecialFX
function class (line 22) | class CRegisteredMotionBlurStreak
function class (line 38) | class CMotionBlurStreaks
type CBulletTrace (line 49) | struct CBulletTrace
function class (line 63) | class CBulletTraces
function class (line 88) | class C3dMarker
function class (line 114) | class C3dMarkers
function class (line 155) | class CBrightLight
function class (line 170) | class CBrightLights
function class (line 190) | class CShinyText
function class (line 203) | class CShinyTexts
function class (line 217) | class CMoneyMessage
function class (line 232) | class CMoneyMessages
function class (line 242) | class CSpecialParticleStuff
FILE: src/render/Sprite.h
function class (line 3) | class CSprite
function GetFarScreenZ (line 11) | static float GetFarScreenZ(void) { return m_f2DFarScreenZ; }
FILE: src/render/Sprite2d.h
function class (line 3) | class CSprite2d
FILE: src/render/TexList.cpp
function RwTexture (line 16) | RwTexture *
function int32 (line 22) | int32
function RwTexture (line 31) | RwTexture *
FILE: src/render/TexList.h
function class (line 3) | class CTexList
FILE: src/render/Timecycle.h
function class (line 3) | class CTimeCycle
FILE: src/render/VarConsole.cpp
function bool8 (line 773) | bool8
FILE: src/render/VarConsole.h
type eVarConsoleEntryType (line 3) | enum eVarConsoleEntryType
type CVarConsoleEntry (line 21) | struct CVarConsoleEntry
function class (line 45) | class CVarConsole
FILE: src/render/WaterCannon.h
function class (line 6) | class CWaterCannon
function class (line 30) | class CWaterCannons
FILE: src/render/WaterCreatures.cpp
type WaterCreatureProperties (line 14) | struct WaterCreatureProperties
function CWaterCreature (line 103) | CWaterCreature *CWaterCreatures::GetFishStructSlot() {
function CObject (line 111) | CObject *CWaterCreatures::CreateSeaLifeForm(CVector const& pos, int16 mo...
FILE: src/render/WaterCreatures.h
type eFishSlotState (line 5) | enum eFishSlotState {
function class (line 13) | class CWaterCreature {
function class (line 28) | class CWaterCreatures {
type WaterCreatureProperties (line 43) | struct WaterCreatureProperties {
FILE: src/render/WaterLevel.cpp
function CVector (line 783) | CVector
function _GetWaterDrawDist (line 808) | inline float
function _GetWavyDrawDist (line 816) | inline float
function _GetCamBounds (line 825) | inline void
function _IsColideWithBlock (line 848) | inline bool
function SectorRadius (line 890) | inline float
function int16 (line 1797) | int16
function _GetWindedWave (line 2637) | inline float
function CEntity (line 3274) | CEntity *
FILE: src/render/WaterLevel.h
type ColData (line 73) | struct ColData
type eBeachToy (line 79) | enum eBeachToy
function class (line 100) | class CWaterLevel
FILE: src/render/Weather.cpp
function RenderOneRainStreak (line 513) | void RenderOneRainStreak(CVector pos, CVector unused, int intensity, boo...
FILE: src/render/Weather.h
function class (line 14) | class CWeather
type tRainStreak (line 66) | struct tRainStreak
FILE: src/render/WindModifiers.h
function class (line 3) | class CWindModifiers
FILE: src/rw/ClumpRead.cpp
type rpGeometryList (line 3) | struct rpGeometryList
type rpAtomicBinary (line 9) | struct rpAtomicBinary
function rpGeometryList (line 23) | rpGeometryList*
function rpGeometryList (line 58) | rpGeometryList*
function GeometryListDeinitialize (line 75) | void
function RpAtomic (line 90) | RpAtomic*
function RpClumpGtaStreamRead1 (line 136) | bool
function RpClump (line 170) | RpClump*
function RpClumpGtaCancelStream (line 217) | void
FILE: src/rw/Lights.cpp
function SetLightsWithTimeOfDayColour (line 34) | void
function RpWorld (line 118) | RpWorld*
function LightsDestroy (line 166) | void
function WorldReplaceNormalLightsWithScorched (line 196) | void
function WorldReplaceScorchedLightsWithNormal (line 207) | void
function AddAnExtraDirectionalLight (line 214) | void
function RemoveExtraDirectionalLights (line 254) | void
function SetAmbientAndDirectionalColours (line 263) | void
function SetFlashyColours (line 279) | void
function SetFlashyColours_Mild (line 299) | void
function SetBrightMarkerColours (line 318) | void
function ReSetAmbientAndDirectionalColours (line 333) | void
function DeActivateDirectional (line 340) | void
function ActivateDirectional (line 346) | void
function SetFullAmbient (line 354) | void
function SetAmbientColours (line 360) | void
function SetAmbientColoursForPedsCarsAndObjects (line 366) | void
function SetAmbientColoursToIndicateRoadGroup (line 376) | void
function SetAmbientColours (line 385) | void
FILE: src/rw/MemoryHeap.cpp
function uint32 (line 318) | uint32
function HeapBlockDesc (line 386) | HeapBlockDesc*
function uint32 (line 423) | uint32
function uint32 (line 429) | uint32
FILE: src/rw/MemoryHeap.h
function push (line 52) | void push(const T& val) { values[sp++] = val; }
type HeapBlockDesc (line 57) | struct HeapBlockDesc
function RemoveHeapFreeBlock (line 75) | void RemoveHeapFreeBlock(void)
function InsertHeapFreeBlock (line 82) | void InsertHeapFreeBlock(HeapBlockDesc *node)
function HeapBlockDesc (line 90) | HeapBlockDesc *FindSmallestFreeBlock(uint32 size)
function Insert (line 103) | struct HeapBlockList
type CommonSize (line 120) | struct CommonSize
function class (line 147) | class CMemoryHeap
FILE: src/rw/MemoryMgr.cpp
function InitMemoryMgr (line 8) | void
function MemoryMgrFree (line 79) | void
function RwFreeAlign (line 120) | void
FILE: src/rw/NodeName.cpp
function RwStream (line 35) | RwStream*
function RwStream (line 43) | RwStream*
function RwInt32 (line 50) | RwInt32
function NodeNamePluginAttach (line 57) | bool
FILE: src/rw/RwHelper.cpp
function OpenCharsetSafe (line 24) | void OpenCharsetSafe()
function CreateDebugFont (line 32) | void CreateDebugFont()
function DestroyDebugFont (line 42) | void DestroyDebugFont()
function ObrsPrintfString (line 51) | void ObrsPrintfString(const char *str, short x, short y)
function FlushObrsPrintfs (line 58) | void FlushObrsPrintfs()
function DefinedState (line 65) | void
function SetCullMode (line 97) | void
function PushRendergroup (line 107) | void
function PopRendergroup (line 122) | void
function RwFrame (line 136) | RwFrame*
function RwFrame (line 143) | RwFrame*
function RwObject (line 153) | RwObject*
function RwObject (line 160) | RwObject*
function RpAtomic (line 170) | RpAtomic*
function RpAtomic (line 177) | RpAtomic*
function RwTexture (line 187) | RwTexture*
function RwTexture (line 194) | RwTexture*
function IsClumpSkinned (line 204) | bool
function RpAtomic (line 211) | static RpAtomic*
function RpHAnimHierarchy (line 218) | RpHAnimHierarchy*
function RwFrame (line 226) | static RwFrame*
function RpHAnimHierarchy (line 238) | RpHAnimHierarchy*
function SkinGetBonePositionsToTable (line 246) | void
function RpHAnimAnimation (line 292) | RpHAnimAnimation*
function RenderSkeleton (line 322) | void
function RwBool (line 350) | RwBool Im2DRenderQuad(RwReal x1, RwReal y1, RwReal x2, RwReal y2, RwReal...
function RpAtomic (line 398) | RpAtomic *cbsCalcMeanBSphereRadiusCB(RpAtomic *atomic, void *data)
function RpAtomic (line 417) | RpAtomic *cbsCalcMeanBSphereCenterCB(RpAtomic *atomic, void *data)
function RpClump (line 431) | RpClump *RpClumpGetBoundingSphere(RpClump *clump, RwSphere *sphere, bool...
function CameraSize (line 468) | void
function CameraDestroy (line 616) | void
function RwCamera (line 662) | RwCamera *
function int32 (line 705) | int32
function attachPipe (line 716) | void
function switchPipes (line 730) | void
function RpAtomic (line 747) | RpAtomic*
function SetAlphaTest (line 771) | void
function RestoreAlphaTest (line 789) | void
FILE: src/rw/RwMatFX.cpp
type MatFXNothing (line 7) | struct MatFXNothing { int pad[5]; int effect; }
type MatFXBump (line 9) | struct MatFXBump
type MatFXEnv (line 19) | struct MatFXEnv
type MatFXDual (line 29) | struct MatFXDual
type MatFX (line 37) | struct MatFX
function _rpMatFXD3D8AtomicMatFXDefaultRender (line 61) | void
function ApplyEnvMapTextureMatrix (line 99) | void
function _rpMatFXD3D8AtomicMatFXEnvRender_ps2 (line 137) | void
function _rwD3D8EnableClippingIfNeeded (line 219) | void
function _rwD3D8AtomicMatFXRenderCallback (line 230) | void
function ReplaceMatFxCallback (line 302) | void
FILE: src/rw/RwPS2AlphaTest.cpp
function _rxD3D8DualPassRenderCallback (line 16) | void
function ReplaceAtomicPipeCallback (line 238) | void
FILE: src/rw/TexRead.cpp
function RwTexture (line 40) | RwTexture*
function RwTexture (line 67) | RwTexture*
function RwTexDictionary (line 74) | RwTexDictionary*
function RwTexDictionary (line 107) | RwTexDictionary*
function RwTexDictionary (line 146) | RwTexDictionary*
type GPUcaps (line 172) | struct GPUcaps
function GetGPUcaps (line 180) | static void
function ReadVideoCardCapsFile (line 197) | void
function CheckVideoCardCaps (line 212) | bool
function WriteVideoCardCapsFile (line 224) | void
function ReadVideoCardCapsFile (line 243) | void
function CheckVideoCardCaps (line 261) | bool
function WriteVideoCardCapsFile (line 273) | void
function CanVideoCardDoDXT (line 291) | bool
function ConvertingTexturesScreen (line 306) | void
function DealWithTxdWriteError (line 349) | void
function CreateTxdImageForVideoCard (line 369) | bool
FILE: src/rw/TexturePools.cpp
function IDirect3DTexture8 (line 47) | IDirect3DTexture8 *
function HRESULT (line 136) | HRESULT
function ReleaseTexture (line 151) | void
function FindAvailablePaletteIndex (line 187) | int
function AddAvailablePaletteIndex (line 196) | void
function _TexturePoolsInitialise (line 203) | void
function _TexturePoolsShutdown (line 210) | void
FILE: src/rw/TexturePools.h
function class (line 3) | class CTexturePool
function class (line 28) | class CPaletteList
FILE: src/rw/TxdStore.h
type TxdDef (line 5) | struct TxdDef {
function class (line 11) | class CTxdStore
FILE: src/rw/VisibilityPlugins.cpp
function RpMaterial (line 179) | RpMaterial*
function RpMaterial (line 186) | RpMaterial*
function RpAtomic (line 261) | RpAtomic*
function RpAtomic (line 279) | RpAtomic*
function RpAtomic (line 295) | RpAtomic*
function RpAtomic (line 311) | RpAtomic*
function RpAtomic (line 329) | RpAtomic*
function RpAtomic (line 368) | RpAtomic*
function RpAtomic (line 389) | RpAtomic*
function RpAtomic (line 417) | RpAtomic*
function RpAtomic (line 438) | RpAtomic*
function RpAtomic (line 460) | RpAtomic*
function RpAtomic (line 468) | RpAtomic*
function RpAtomic (line 481) | RpAtomic*
function RpAtomic (line 498) | RpAtomic*
function RpAtomic (line 520) | RpAtomic*
function RpAtomic (line 543) | RpAtomic*
function RpAtomic (line 561) | RpAtomic*
function RpAtomic (line 569) | RpAtomic*
function RpAtomic (line 590) | RpAtomic*
function RpAtomic (line 618) | RpAtomic*
function RpAtomic (line 635) | RpAtomic*
function RpAtomic (line 653) | RpAtomic*
function RpAtomic (line 662) | RpAtomic*
function CSimpleModelInfo (line 839) | CSimpleModelInfo*
function intptr (line 901) | intptr
FILE: src/rw/VisibilityPlugins.h
function class (line 11) | class CVisibilityPlugins
FILE: src/save/Date.h
function class (line 3) | class CDate
FILE: src/save/GenericGameStorage.cpp
function InitRadioStationPositionList (line 72) | void
function int32 (line 79) | int32
function PopulateRadioStationPositionList (line 85) | void
function GenericSave (line 128) | bool
function GenericLoad (line 280) | bool
function ReadInSizeofSaveFileBuffer (line 426) | bool
function ReadDataFromFile (line 444) | bool
function CloseFile (line 461) | bool
function DoGameSpecificStuffAfterSucessLoad (line 467) | void
function CheckSlotDataValid (line 480) | bool
function MakeSpaceForSizeInBufferPointer (line 493) | void
function CopySizeAndPreparePointer (line 501) | void
function DoGameSpecificStuffBeforeSave (line 510) | void
function MakeValidSaveName (line 520) | void
function wchar (line 528) | wchar *
function wchar (line 534) | wchar *
function CheckDataNotCorrupt (line 540) | bool
function RestoreForStartLoad (line 597) | bool
function align4bytes (line 631) | int
function DisplaySaveResult (line 639) | void DisplaySaveResult(int unk, char* name)
function SaveGameForPause (line 642) | bool SaveGameForPause(int type)
FILE: src/save/GenericGameStorage.h
type eLevelName (line 34) | enum eLevelName
FILE: src/save/MemoryCard.cpp
function align4bytes (line 56) | static int
function Ascii2Sjis (line 106) | unsigned short
function PCMCInit (line 160) | void
function int32 (line 187) | int32
function int32 (line 291) | int32
function int32 (line 334) | int32
function int32 (line 531) | int32
function int32 (line 570) | int32
function int32 (line 649) | int32
function int32 (line 689) | int32
function int32 (line 769) | int32
function int32 (line 830) | int32
function int32 (line 903) | int32
function int32 (line 992) | int32
function int32 (line 1115) | int32
function int32 (line 1164) | int32
function int32 (line 1247) | int32
function int32 (line 1329) | int32
function int32 (line 1393) | int32
function int32 (line 1500) | int32
function MakeSpaceForSizeInBufferPointer (line 1621) | static inline void
function CopySizeAndPreparePointer (line 1629) | static inline void
function int32 (line 1929) | int32
function int32 (line 2016) | int32
function int32 (line 2318) | int32
function int32 (line 2378) | int32
function int32 (line 2469) | int32
function int32 (line 2475) | int32
function int32 (line 2902) | int32
function wchar (line 2908) | wchar *
function int32 (line 2914) | int32
function wchar (line 3047) | wchar *
function int32 (line 3053) | int32
FILE: src/save/MemoryCard.h
function class (line 19) | class CMemoryCardInfo
function class (line 48) | class CMemoryCard
FILE: src/save/PCSave.cpp
function int8 (line 37) | int8
FILE: src/save/PCSave.h
type eSaveStatus (line 3) | enum eSaveStatus
function class (line 27) | class C_PcSave
FILE: src/skel/crossplatform.cpp
function tmToSystemTime (line 9) | void tmToSystemTime(const tm *tm, SYSTEMTIME *out) {
function GetLocalTime_CP (line 19) | void GetLocalTime_CP(SYSTEMTIME *out) {
function HANDLE (line 28) | HANDLE FindFirstFile(const char* pathname, WIN32_FIND_DATA* firstfile) {
function FindNextFile (line 63) | bool FindNextFile(HANDLE d, WIN32_FIND_DATA* finddata) {
function GetDateFormat (line 85) | void GetDateFormat(int unused1, int unused2, SYSTEMTIME* in, int unused3...
function FileTimeToSystemTime (line 97) | void FileTimeToSystemTime(time_t* writeTime, SYSTEMTIME* out) {
function wchar (line 104) | wchar*
function FILE (line 145) | FILE* _fcaseopen(char const* filename, char const* mode)
type dirent (line 215) | struct dirent
FILE: src/skel/crossplatform.h
type eWinVersion (line 6) | enum eWinVersion
type psGlobalType (line 60) | typedef struct
type eGameState (line 82) | enum eGameState
type SYSTEMTIME (line 112) | struct SYSTEMTIME {
type WIN32_FIND_DATA (line 148) | struct WIN32_FIND_DATA {
FILE: src/skel/events.cpp
function RsEventStatus (line 15) | static RsEventStatus
function RsEventStatus (line 353) | static RsEventStatus
function RsEventStatus (line 693) | static RsEventStatus
function RsEventStatus (line 721) | static RsEventStatus
function RsEventStatus (line 756) | static RsEventStatus
function RsEventStatus (line 795) | static RsEventStatus
function RwBool (line 821) | RwBool
FILE: src/skel/glfw/glfw.cpp
function _psCreateFolder (line 109) | void _psCreateFolder(const char *path)
function RwBool (line 183) | RwBool
function psCameraShowRaster (line 199) | void
function RwImage (line 217) | RwImage *
function RwUInt32 (line 241) | RwUInt32
function psTimer (line 259) | double
function psMouseSetPos (line 278) | void
function RwMemoryFunctions (line 293) | RwMemoryFunctions*
function RwBool (line 306) | RwBool
function RwBool (line 316) | RwBool
function RwBool (line 334) | RwBool
function psTerminate (line 516) | void
function RwInt32 (line 527) | RwInt32 _psGetNumVideModes()
function RwBool (line 535) | RwBool _psFreeVideoModeList()
function RwChar (line 560) | RwChar **_psGetVideoModeList()
function _psSelectScreenVM (line 595) | void _psSelectScreenVM(RwInt32 videoMode)
function RwBool (line 615) | RwBool IsForegroundApp()
function RwBool (line 667) | RwBool
function IsThisJoystickBlacklisted (line 879) | bool IsThisJoystickBlacklisted(int i)
function _InputInitialiseJoys (line 897) | void _InputInitialiseJoys()
function _InputInitialiseMouse (line 954) | long _InputInitialiseMouse(bool exclusive)
function _InputShutdownMouse (line 962) | void _InputShutdownMouse()
function _InputMouseNeedsExclusive (line 968) | bool _InputMouseNeedsExclusive()
function psPostRWinit (line 980) | void psPostRWinit(void)
function RwBool (line 1010) | RwBool _psSetVideoMode(RwInt32 subSystem, RwInt32 videoMode)
function RwChar (line 1045) | static RwChar **
function InitialiseLanguage (line 1137) | void InitialiseLanguage()
function HandleExit (line 1277) | void HandleExit()
function terminateHandler (line 1300) | void terminateHandler(int sig, siginfo_t *info, void *ucontext) {
function dummyHandler (line 1305) | void dummyHandler(int sig){
function resizeCB (line 1311) | void resizeCB(GLFWwindow* window, int width, int height) {
function scrollCB (line 1341) | void scrollCB(GLFWwindow* window, double xoffset, double yoffset) {
function initkeymap (line 1351) | static void
function keypressCB (line 1479) | void
function initkeymap (line 1503) | static void
function checkKeyPresses (line 1718) | void checkKeyPresses()
function _InputTranslateShiftKeyUpDown (line 1757) | void
function cursorCB (line 1764) | void
function cursorEnterCB (line 1775) | void
function windowFocusCB (line 1780) | void
function windowIconifyCB (line 1785) | void
type sigaction (line 1828) | struct sigaction
type sigaction (line 1833) | struct sigaction
function joysChangeCB (line 2493) | void joysChangeCB(int jid, int event)
function strcasecmp (line 2519) | int strcasecmp(const char* str1, const char* str2)
function strncasecmp (line 2523) | int strncasecmp(const char *str1, const char *str2, size_t len)
FILE: src/skel/skeleton.cpp
function RsTimer (line 25) | RsTimer(void)
function RsCameraShowRaster (line 34) | void
function RwBool (line 45) | RwBool
function RwImage (line 54) | RwImage*
function RwBool (line 63) | RwBool
function RwBool (line 72) | static RwBool
function RsMouseSetPos (line 81) | void
function RwBool (line 92) | RwBool
function RwBool (line 101) | RwBool
function RwBool (line 138) | static RwBool
function RwBool (line 150) | static RwBool
function RsEventStatus (line 173) | RsEventStatus
function RsEventStatus (line 187) | RsEventStatus
function RsEventStatus (line 201) | RsEventStatus
function RsRwTerminate (line 288) | void
function RwBool (line 303) | RwBool
function RsTerminate (line 381) | void
function RwBool (line 392) | RwBool
FILE: src/skel/skeleton.h
type RsInputDeviceType (line 25) | enum RsInputDeviceType
type RsInputDeviceType (line 31) | typedef enum RsInputDeviceType RsInputDeviceType;
type RsEventStatus (line 33) | enum RsEventStatus
type RsEventStatus (line 39) | typedef enum RsEventStatus RsEventStatus;
type RsEvent (line 41) | enum RsEvent
type RsEvent (line 84) | typedef enum RsEvent RsEvent;
type RsEventStatus (line 86) | typedef RsEventStatus (*RsInputEventHandler)(RsEvent event, void *param);
type RsInputDevice (line 88) | typedef struct RsInputDevice RsInputDevice;
type RsInputDevice (line 89) | struct RsInputDevice
type RsGlobalType (line 96) | typedef struct RsGlobalType RsGlobalType;
type RsGlobalType (line 97) | struct RsGlobalType
type RsKeyCodes (line 114) | enum RsKeyCodes
type RsKeyCodes (line 189) | typedef enum RsKeyCodes RsKeyCodes;
type RsKeyStatus (line 191) | typedef struct RsKeyStatus RsKeyStatus;
type RsKeyStatus (line 192) | struct RsKeyStatus
type RsPadButtonStatus (line 197) | typedef struct RsPadButtonStatus RsPadButtonStatus;
type RsPadButtonStatus (line 198) | struct RsPadButtonStatus
type RsPadButtons (line 203) | enum RsPadButtons
type RsPadButtons (line 229) | typedef enum RsPadButtons RsPadButtons;
FILE: src/skel/win/win.cpp
function _psCreateFolder (line 156) | void _psCreateFolder(LPCSTR path)
function RwBool (line 218) | RwBool
function psCameraShowRaster (line 234) | void
function RwImage (line 253) | RwImage *
function RwUInt32 (line 275) | RwUInt32
function psMouseSetPos (line 296) | void
function RwMemoryFunctions (line 318) | RwMemoryFunctions*
function RwBool (line 331) | RwBool
function RwBool (line 341) | RwBool
function HWND (line 350) | static HWND
function _GetVideoMemInfo (line 378) | void _GetVideoMemInfo(LPDWORD total, LPDWORD avaible)
function DWORD (line 420) | DWORD GetDXVersion()
function RwBool (line 619) | RwBool
function psTerminate (line 786) | void
function RwInt32 (line 797) | RwInt32 _psGetNumVideModes()
function RwBool (line 805) | RwBool _psFreeVideoModeList()
function RwChar (line 830) | RwChar **_psGetVideoModeList()
function _psSelectScreenVM (line 875) | void _psSelectScreenVM(RwInt32 videoMode)
function WaitForState (line 899) | void WaitForState(FILTER_STATE State)
function HandleGraphEvent (line 916) | void HandleGraphEvent(void)
function LRESULT (line 961) | LRESULT CALLBACK
function BOOL (line 1327) | static BOOL
function RwBool (line 1356) | RwBool IsForegroundApp()
function UINT (line 1361) | UINT GetBestRefreshRate(UINT width, UINT height, UINT depth)
function RwBool (line 1649) | RwBool _psSetVideoMode(RwInt32 subSystem, RwInt32 videoMode)
function RwChar (line 1681) | static RwChar **
function InitialiseLanguage (line 1773) | void InitialiseLanguage()
function CenterVideo (line 1881) | void CenterVideo(void)
function PlayMovieInWindow (line 1900) | void PlayMovieInWindow(int cmdShow, const char* szFile)
function CloseInterfaces (line 1961) | void CloseInterfaces(void)
function CloseClip (line 1974) | void CloseClip(void)
function HandleExit (line 1989) | void HandleExit()
function else (line 2264) | else if (gbModelViewer) {
function HRESULT (line 2646) | HRESULT _InputInitialise()
function HRESULT (line 2658) | HRESULT _InputInitialiseMouse(bool exclusive)
function HRESULT (line 2688) | HRESULT CapturePad(RwInt32 padID)
function _InputInitialiseJoys (line 2803) | void _InputInitialiseJoys()
function _InputAddJoyStick (line 2840) | void _InputAddJoyStick(LPDIRECTINPUTDEVICE8 lpDevice, INT num)
function HRESULT (line 2904) | HRESULT _InputAddJoys()
function HRESULT (line 2926) | HRESULT _InputGetMouseState(DIMOUSESTATE2 *state)
function _InputShutdown (line 2959) | void _InputShutdown()
function _InputShutdownMouse (line 2964) | void _InputShutdownMouse()
function _InputMouseNeedsExclusive (line 2973) | bool _InputMouseNeedsExclusive(void)
function BOOL (line 2986) | BOOL CALLBACK _InputEnumDevicesCallback( const DIDEVICEINSTANCE* pdidIns...
function BOOL (line 3038) | BOOL _InputTranslateKey(RsKeyCodes *rs, UINT flag, UINT key)
function _InputTranslateShiftKeyUpDown (line 3402) | void _InputTranslateShiftKeyUpDown(RsKeyCodes *rs)
function BOOL (line 3417) | BOOL _InputTranslateShiftKey(RsKeyCodes *rs, UINT key, BOOLEAN bDown)
function BOOL (line 3445) | BOOL _InputIsExtended(INT flag)
function strcasecmp (line 3451) | int strcasecmp(const char *str1, const char *str2)
function strncasecmp (line 3455) | int strncasecmp(const char *str1, const char *str2, size_t len)
FILE: src/skel/win/win.h
type psGlobalType (line 13) | typedef struct
type eJoypads (line 31) | enum eJoypads
type eJoypadState (line 38) | enum eJoypadState
type tJoy (line 44) | struct tJoy
function class (line 54) | class CJoySticks
FILE: src/text/Messages.cpp
function uint16 (line 30) | uint16
function wchar (line 55) | wchar FixupChar(wchar c)
function FastWideStringComparison (line 701) | inline bool
FILE: src/text/Messages.h
type tMessage (line 3) | struct tMessage
type tBigMessage (line 13) | struct tBigMessage
type tPreviousBrief (line 18) | struct tPreviousBrief
function class (line 29) | class CMessages
FILE: src/text/Pager.h
type PagerMessage (line 3) | struct PagerMessage {
function class (line 16) | class CPager
FILE: src/text/Text.cpp
function wchar (line 108) | wchar*
function wchar (line 157) | wchar
function CKeyEntry (line 348) | CKeyEntry*
function TextCopy (line 526) | void
FILE: src/text/Text.h
type CKeyEntry (line 8) | struct CKeyEntry
function class (line 21) | class CKeyArray
function class (line 40) | class CData
function class (line 52) | class CMissionTextOffsets
type ChunkHeader (line 70) | struct ChunkHeader
function class (line 76) | class CText
FILE: src/vehicles/Automobile.cpp
function int32 (line 3021) | int32
function int32 (line 3970) | int32
function int32 (line 3997) | int32
function int32 (line 4452) | int32
function ProcessDoorOpenAnimation (line 4591) | inline void ProcessDoorOpenAnimation(CAutomobile *car, uint32 component,...
function ProcessDoorCloseAnimation (line 4602) | inline void ProcessDoorCloseAnimation(CAutomobile *car, uint32 component...
function ProcessDoorOpenCloseAnimation (line 4613) | inline void ProcessDoorOpenCloseAnimation(CAutomobile *car, uint32 compo...
function RwObject (line 5431) | RwObject*
function CObject (line 5441) | CObject*
function CObject (line 5579) | CObject*
function RwObject (line 5684) | static RwObject*
FILE: src/vehicles/Automobile.h
function class (line 18) | class CAutomobile : public CVehicle
FILE: src/vehicles/Bike.cpp
function GetRelativeMatrix (line 49) | inline void
function int32 (line 1743) | int32
function int32 (line 2237) | int32
FILE: src/vehicles/Bike.h
type eBikeNodes (line 7) | enum eBikeNodes {
function class (line 31) | class CBike : public CVehicle
function int8 (line 146) | inline int8 GetBikeDoorFlag(int32 carnode) {
function int8 (line 160) | inline int8 GetBikeDoorFlagInclJumpInFromFront(int32 carnode) {
FILE: src/vehicles/Boat.cpp
function RwObject (line 821) | RwObject*
FILE: src/vehicles/Boat.h
type eBoatNodes (line 6) | enum eBoatNodes
function class (line 18) | class CBoat : public CVehicle
FILE: src/vehicles/CarGen.cpp
function uint32 (line 45) | uint32 CCarGenerator::CalcNextGen()
function int32 (line 250) | int32 CTheCarGenerators::CreateCarGenerator(float x, float y, float z, f...
FILE: src/vehicles/CarGen.h
function class (line 9) | class CCarGenerator
function class (line 37) | class CTheCarGenerators
FILE: src/vehicles/Cranes.h
function class (line 11) | class CCrane
function class (line 76) | class CCranes
FILE: src/vehicles/DamageManager.cpp
function int32 (line 141) | int32
function int32 (line 163) | int32
function int32 (line 185) | int32
function int32 (line 197) | int32
function int32 (line 222) | int32
FILE: src/vehicles/DamageManager.h
type eEngineStatus (line 7) | enum eEngineStatus
type eDoorStatus (line 15) | enum eDoorStatus
type ePanelStatus (line 23) | enum ePanelStatus
type eWheelStatus (line 31) | enum eWheelStatus
type eLightStatus (line 38) | enum eLightStatus
type tComponent (line 44) | enum tComponent
type tComponentGroup (line 66) | enum tComponentGroup
type eLights (line 77) | enum eLights
function class (line 79) | class CDamageManager
FILE: src/vehicles/Door.h
type eDoorState (line 5) | enum eDoorState
function class (line 14) | class CDoor
function class (line 45) | class CTrainDoor
FILE: src/vehicles/Floater.h
type tWaterLevel (line 5) | enum tWaterLevel
function class (line 12) | class cBuoyancy
FILE: src/vehicles/HandlingMgr.cpp
function int32 (line 410) | int32
function tFlyingHandlingData (line 420) | tFlyingHandlingData*
function tBoatHandlingData (line 428) | tBoatHandlingData*
FILE: src/vehicles/HandlingMgr.h
type tVehicleType (line 5) | enum tVehicleType
type tField (line 123) | enum tField // most likely a handling field enum, never used so :shrug:
type tHandlingData (line 160) | struct tHandlingData
type tBikeHandlingData (line 193) | struct tBikeHandlingData
type tBoatHandlingData (line 213) | struct tBoatHandlingData
type tFlyingHandlingData (line 228) | struct tFlyingHandlingData
function class (line 249) | class cHandlingDataMgr
FILE: src/vehicles/Heli.cpp
function RwObject (line 621) | RwObject*
function CObject (line 631) | CObject*
function CVector (line 709) | CVector
function CHeli (line 762) | CHeli*
function CHeli (line 1044) | CHeli *CHeli::FindPointerToCatalinasHeli(void) { return pHelis[HELI_CATA...
FILE: src/vehicles/Heli.h
type eHeliNodes (line 7) | enum eHeliNodes
function class (line 36) | class CHeli : public CVehicle
FILE: src/vehicles/Plane.cpp
function CPlaneNode (line 814) | CPlaneNode*
function CVector (line 1053) | const CVector CPlane::FindDrugPlaneCoordinates(void) { return pDrugRunCe...
function CVector (line 1054) | const CVector CPlane::FindDropOffCesnaCoordinates(void) { return pDropOf...
FILE: src/vehicles/Plane.h
type ePlaneNodes (line 5) | enum ePlaneNodes
type CPlaneNode (line 17) | struct CPlaneNode
type CPlaneInterpolationLine (line 24) | struct CPlaneInterpolationLine
function class (line 34) | class CPlane : public CVehicle
FILE: src/vehicles/Train.cpp
function PlayAnnouncement (line 652) | void
function ProcessTrainAnnouncements (line 663) | void
FILE: src/vehicles/Train.h
type eTrainNodes (line 20) | enum eTrainNodes
type CTrainNode (line 27) | struct CTrainNode
type CTrainInterpolationLine (line 33) | struct CTrainInterpolationLine
function class (line 43) | class CTrain : public CVehicle
FILE: src/vehicles/Transmission.h
type tGear (line 3) | struct tGear
function class (line 10) | class cTransmission
FILE: src/vehicles/Vehicle.cpp
function CPed (line 1785) | CPed*
function CPed (line 1803) | CPed*
function RpMaterial (line 2064) | RpMaterial*
function DestroyVehicleAndDriverAndPassengers (line 2345) | void
function eVehicleAppearance (line 2487) | eVehicleAppearance
function IsVehiclePointerValid (line 2504) | bool
FILE: src/vehicles/Vehicle.h
type eCarNodes (line 23) | enum eCarNodes
type eCarLock (line 55) | enum eCarLock {
type eBombType (line 66) | enum eBombType
type eDoors (line 76) | enum eDoors
type ePanels (line 86) | enum ePanels
type eLights (line 97) | enum eLights
type tWheelState (line 126) | enum tWheelState
type eFlightModel (line 134) | enum eFlightModel
type eVehicleAppearance (line 145) | enum eVehicleAppearance
type eBikeWheelSpecial (line 156) | enum eBikeWheelSpecial
function class (line 174) | class CVehicle : public CPhysical
function int8 (line 416) | inline int8 GetCarDoorFlag(int32 carnode) {
function int8 (line 432) | inline int8 GetEnterCarDoorFlag(int32 carnode, uint8 numMaxPassengers) {
FILE: src/weapons/BulletInfo.h
function class (line 7) | class CBulletInfo
FILE: src/weapons/Explosion.cpp
function int8 (line 74) | int8
function uint8 (line 86) | uint8
function CVector (line 98) | CVector *
FILE: src/weapons/Explosion.h
type eExplosionType (line 6) | enum eExplosionType
function class (line 22) | class CExplosion
FILE: src/weapons/ProjectileInfo.cpp
function CProjectileInfo (line 55) | CProjectileInfo*
FILE: src/weapons/ProjectileInfo.h
function class (line 9) | class CProjectileInfo
FILE: src/weapons/ShotInfo.h
function class (line 7) | class CShotInfo
FILE: src/weapons/Weapon.cpp
function CWeaponInfo (line 51) | CWeaponInfo *
function FireOneInstantHitRound (line 2939) | void
FILE: src/weapons/Weapon.h
type CColPoint (line 12) | struct CColPoint
function class (line 15) | class CWeapon
FILE: src/weapons/WeaponEffects.h
function class (line 3) | class CWeaponEffects
FILE: src/weapons/WeaponInfo.cpp
function CWeaponInfo (line 102) | CWeaponInfo*
function eWeaponType (line 267) | eWeaponType
function eWeaponFire (line 278) | eWeaponFire
FILE: src/weapons/WeaponInfo.h
function class (line 33) | class CWeaponInfo {
FILE: src/weapons/WeaponType.h
type eWeaponType (line 3) | enum eWeaponType
type eWeaponFire (line 70) | enum eWeaponFire {
type eWeaponState (line 79) | enum eWeaponState
FILE: vendor/libsndfile/include/sndfile.h
type SNDFILE (line 327) | typedef struct SNDFILE_tag SNDFILE ;
type __int64 (line 337) | typedef __int64 sf_count_t ;
type __int64 (line 340) | typedef __int64 sf_count_t ;
type SF_INFO (line 350) | struct SF_INFO
type SF_INFO (line 359) | typedef struct SF_INFO SF_INFO ;
type SF_FORMAT_INFO (line 372) | typedef struct
type SF_DITHER_INFO (line 393) | typedef struct
type SF_EMBED_FILE_INFO (line 403) | typedef struct
type SF_CUE_POINT (line 412) | typedef struct
type SF_INSTRUMENT (line 428) | typedef SF_CUES_VAR (100) SF_CUES ;
type SF_LOOP_INFO (line 462) | typedef struct
type SF_CART_TIMER (line 501) | typedef SF_BROADCAST_INFO_VAR (256) SF_BROADCAST_INFO ;
type SF_VIRTUAL_IO (line 535) | typedef SF_CART_INFO_VAR (256) SF_CART_INFO ;
type SF_CHUNK_INFO (line 768) | struct SF_CHUNK_INFO
type SF_CHUNK_INFO (line 775) | typedef struct SF_CHUNK_INFO SF_CHUNK_INFO ;
type SF_CHUNK_ITERATOR (line 787) | typedef struct SF_CHUNK_ITERATOR SF_CHUNK_ITERATOR ;
FILE: vendor/libsndfile/include/sndfile.hh
class SndfileHandle (line 60) | class SndfileHandle
type SNDFILE_ref (line 62) | struct SNDFILE_ref
method SndfileHandle (line 75) | SndfileHandle (void) : p (NULL) {}
method refCount (line 96) | int refCount (void) const { return (p == NULL) ? 0 : p->ref ; }
method sf_count_t (line 102) | sf_count_t frames (void) const { return p ? p->sfinfo.frames : 0 ; }
method format (line 103) | int format (void) const { return p ? p->sfinfo.format : 0 ; }
method channels (line 104) | int channels (void) const { return p ? p->sfinfo.channels : 0 ; }
method samplerate (line 105) | int samplerate (void) const { return p ? p->sfinfo.samplerate : 0 ; }
function SndfileHandle (line 270) | inline SndfileHandle &
type SNDFILE_ref (line 62) | struct SNDFILE_ref
method SndfileHandle (line 75) | SndfileHandle (void) : p (NULL) {}
method refCount (line 96) | int refCount (void) const { return (p == NULL) ? 0 : p->ref ; }
method sf_count_t (line 102) | sf_count_t frames (void) const { return p ? p->sfinfo.frames : 0 ; }
method format (line 103) | int format (void) const { return p ? p->sfinfo.format : 0 ; }
method channels (line 104) | int channels (void) const { return p ? p->sfinfo.channels : 0 ; }
method samplerate (line 105) | int samplerate (void) const { return p ? p->sfinfo.samplerate : 0 ; }
function sf_count_t (line 297) | inline sf_count_t
function sf_count_t (line 330) | inline sf_count_t
function sf_count_t (line 334) | inline sf_count_t
function sf_count_t (line 338) | inline sf_count_t
function sf_count_t (line 342) | inline sf_count_t
function sf_count_t (line 346) | inline sf_count_t
function sf_count_t (line 350) | inline sf_count_t
function sf_count_t (line 354) | inline sf_count_t
function sf_count_t (line 358) | inline sf_count_t
function sf_count_t (line 362) | inline sf_count_t
function sf_count_t (line 366) | inline sf_count_t
function sf_count_t (line 370) | inline sf_count_t
function sf_count_t (line 374) | inline sf_count_t
function sf_count_t (line 378) | inline sf_count_t
function sf_count_t (line 382) | inline sf_count_t
function sf_count_t (line 386) | inline sf_count_t
function sf_count_t (line 390) | inline sf_count_t
function sf_count_t (line 394) | inline sf_count_t
function sf_count_t (line 398) | inline sf_count_t
function SNDFILE (line 402) | inline SNDFILE *
Copy disabled (too large)
Download .json
Condensed preview — 623 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (11,675K chars).
[
{
"path": ".clang-format",
"chars": 754,
"preview": "---\nAllowShortBlocksOnASingleLine: 'true'\nAllowShortCaseLabelsOnASingleLine: 'true'\nAllowShortIfStatementsOnASingleLine:"
},
{
"path": ".gitattributes",
"chars": 50,
"preview": "sdk/* linguist-vendored\nvendor/* linguist-vendored"
},
{
"path": ".github/pull_request_template.md",
"chars": 953,
"preview": "As long as it's not linux/cross-platform skeleton/compatibility layer, all of the code on the repo that's not behind a p"
},
{
"path": ".github/workflows/build-cmake-conan.yml",
"chars": 4426,
"preview": "name: reLCS conan+cmake\non:\n pull_request:\n push:\n release:\n types: published\njobs:\n build-cmake:\n strategy:\n "
},
{
"path": ".github/workflows/msbuildvc.yml",
"chars": 965,
"preview": "name: MSBuild_vc\n\non: [push]\n\nenv:\n # Path to the solution file relative to the root of the project.\n SOLUTION_FILE_PA"
},
{
"path": ".github/workflows/msbuildvcAyml",
"chars": 940,
"preview": "name: MSBuild_vc\n\non: [push]\n\nenv:\n # Path to the solution file relative to the root of the project.\n SOLUTION_FILE_PA"
},
{
"path": ".github/workflows/reLCS_msvc_amd64.yml",
"chars": 2360,
"preview": "name: reLCS premake amd64\n\non:\n pull_request:\n push:\n release:\n types: published\nenv:\n GLFW_VER: \"3.3.2\"\n GLFW_B"
},
{
"path": ".github/workflows/reLCS_msvc_x86.yml",
"chars": 2446,
"preview": "name: reLCS premake x86\n\non:\n pull_request:\n push:\n release:\n types: published\nenv:\n GLFW_VER: \"3.3.2\"\n GLFW_BAS"
},
{
"path": ".github/workflows/reVC_msvc_amd64.yml",
"chars": 2362,
"preview": "name: reVC premake amd64\n\non:\n pull_request:\n push:\n release:\n types: published\nenv:\n GLFW_VER: \"3.3.2\"\n GLFW_BA"
},
{
"path": ".github/workflows/reVC_msvc_x86.yml",
"chars": 2448,
"preview": "name: reVC premake x86\n\non:\n pull_request:\n push:\n release:\n types: published\nenv:\n GLFW_VER: \"3.3.2\"\n GLFW_BASE"
},
{
"path": ".gitignore",
"chars": 6152,
"preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## G"
},
{
"path": ".gitmodules",
"chars": 423,
"preview": "[submodule \"vendor/ogg\"]\n\tpath = vendor/ogg\n\turl = https://github.com/xiph/ogg.git\n\tbranch = master\n[submodule \"vendor/o"
},
{
"path": ".vscode/c_cpp_properties.json",
"chars": 880,
"preview": "{\n \"configurations\": [\n {\n \"name\": \"Mac\",\n \"includePath\": [\"${default}\"],\n \"defines\": [],\n \"macF"
},
{
"path": ".vscode/launch.json",
"chars": 2599,
"preview": "{\n \"configurations\": [\n {\n \"MIMode\": \"gdb\",\n \"args\": [],\n \"cwd\": \"${workspaceFolder}\",\n \"environ"
},
{
"path": ".vscode/settings.json",
"chars": 681,
"preview": "{\n \"C_Cpp.default.cStandard\": \"gnu11\",\n \"C_Cpp.default.cppStandard\": \"gnu++14\",\n \"C_Cpp.default.includePath\": [\n \""
},
{
"path": ".vscode/tasks.json",
"chars": 2147,
"preview": "{\n \"tasks\": [\n {\n \"args\": [\"--with-librw\", \"gmake2\"],\n \"command\": \"./premake5Linux\",\n \"label\": \"Prema"
},
{
"path": "CMakeLists.txt",
"chars": 2884,
"preview": "cmake_minimum_required(VERSION 3.8)\n\nset(EXECUTABLE reVC)\nset(PROJECT REVC)\n\nproject(${EXECUTABLE} C CXX)\nlist(APPEND CM"
},
{
"path": "CODING_STYLE.md",
"chars": 2458,
"preview": "# Coding style\n\nI started writing in [Plan 9 style](http://man.cat-v.org/plan_9/6/style),\nbut realize that this is not t"
},
{
"path": "README.md",
"chars": 9899,
"preview": "# Take Two, all of their employees, and anyone who supports them can go fuck themselves :). Sincerely, Starman. \n\n<img s"
},
{
"path": "cmake/FindMilesSDK.cmake",
"chars": 1014,
"preview": "# - Find Miles SDK\n# Find the Miles SDK header + import library\n#\n# MilesSDK_INCLUDE_DIR - Where to find mss.h\n# Miles"
},
{
"path": "cmake/FindSndFile.cmake",
"chars": 1809,
"preview": "# Found on http://hg.kvats.net\n#\n# - Try to find libsndfile\n# \n# Once done this will define\n#\n# SNDFILE_FOUND - "
},
{
"path": "cmake/Findmpg123.cmake",
"chars": 1251,
"preview": "# - Find mpg123\n# Find the native mpg123 includes and library\n#\n# mpg123_INCLUDE_DIR - Where to find mpg123.h\n# mpg123"
},
{
"path": "cmake/Findopusfile.cmake",
"chars": 1814,
"preview": "# - Try to find opusfile\n# \n# Once done this will define\n#\n# OPUSFILE_FOUND - system has opusfile\n# OPUSFILE_IN"
},
{
"path": "cmake/GetGitRevisionDescription.cmake",
"chars": 9517,
"preview": "# - Returns a version string from Git\n#\n# These functions force a re-configure on each git commit so that you can\n# trus"
},
{
"path": "cmake/GetGitRevisionDescription.cmake.in",
"chars": 1354,
"preview": "#\n# Internal file for GetGitRevisionDescription.cmake\n#\n# Requires CMake 2.6 or newer (uses the 'function' command)\n#\n# "
},
{
"path": "conanfile.py",
"chars": 5390,
"preview": "from conans import ConanFile, CMake, tools\nfrom conans.errors import ConanException, ConanInvalidConfiguration\nimport os"
},
{
"path": "gamefiles/gamecontrollerdb.txt",
"chars": 252151,
"preview": "# Game Controller DB for SDL in 2.0.9 format\n# Source: https://github.com/gabomdq/SDL_GameControllerDB\n\n# Windows\n030000"
},
{
"path": "premake-vs2015.cmd",
"chars": 29,
"preview": "premake5 vs2015 --with-librw\n"
},
{
"path": "premake-vs2017.cmd",
"chars": 29,
"preview": "premake5 vs2017 --with-librw\n"
},
{
"path": "premake-vs2019.cmd",
"chars": 29,
"preview": "premake5 vs2019 --with-librw\n"
},
{
"path": "premake5.lua",
"chars": 11368,
"preview": "newoption {\r\n\ttrigger = \"glfwdir64\",\r\n\tvalue = \"PATH\",\r\n\tdescription = \"Directory of glfw\",\r\n\tdefault = \"v"
},
{
"path": "printHash.bat",
"chars": 507,
"preview": "@echo off\n\nREM creates version.h with HEAD commit hash\nREM params: $1=full path to output file (usually points version.h"
},
{
"path": "printHash.sh",
"chars": 214,
"preview": "#!/usr/bin/env bash\n\n> $1\n\necho -n \"#define GIT_SHA1 \\\"\" > $1\n\nif (command -v \"git\" >/dev/null) then\ngit rev-parse --sho"
},
{
"path": "src/CMakeLists.txt",
"chars": 4489,
"preview": "find_package(Threads REQUIRED)\nset(THREADS_PREFER_PTHREAD_FLAG ON)\n\nfile(GLOB_RECURSE ${PROJECT}_SOURCES \"*.cpp\" \"*.h\" \""
},
{
"path": "src/animation/AnimBlendAssocGroup.cpp",
"chars": 4335,
"preview": "#include \"common.h\"\n\n#if defined _WIN32 && !defined __MINGW32__\n#if defined __MWERKS__\n#include <wctype.h>\n#else\n#includ"
},
{
"path": "src/animation/AnimBlendAssocGroup.h",
"chars": 712,
"preview": "#pragma once\n\nclass CAnimBlendAssociation;\nstruct CAnimBlock;\n\nclass CAnimBlendAssocGroup\n{\npublic:\n\tCAnimBlock *animBlo"
},
{
"path": "src/animation/AnimBlendAssociation.cpp",
"chars": 4941,
"preview": "#include \"common.h\"\n\n#include \"AnimBlendHierarchy.h\"\n#include \"AnimBlendClumpData.h\"\n#include \"RpAnimBlend.h\"\n#include \""
},
{
"path": "src/animation/AnimBlendAssociation.h",
"chars": 3205,
"preview": "#pragma once\n\n#include \"AnimBlendList.h\"\n#include \"AnimBlendNode.h\"\n#include \"AnimBlendHierarchy.h\"\n\nenum {\n\tASSOC_RUNNI"
},
{
"path": "src/animation/AnimBlendClumpData.cpp",
"chars": 651,
"preview": "#include \"common.h\"\n\n#include \"AnimBlendClumpData.h\"\n#include \"MemoryMgr.h\"\n\nCAnimBlendClumpData::CAnimBlendClumpData(vo"
},
{
"path": "src/animation/AnimBlendClumpData.h",
"chars": 835,
"preview": "#pragma once\n\n#include \"AnimBlendList.h\"\n\n\nstruct AnimBlendFrameData\n{\n\tenum {\n\t\tIGNORE_ROTATION = 2,\n\t\tIGNORE_TRANSLATI"
},
{
"path": "src/animation/AnimBlendHierarchy.cpp",
"chars": 2444,
"preview": "#include \"common.h\"\n\n#include \"AnimBlendSequence.h\"\n#include \"AnimBlendHierarchy.h\"\n#include \"AnimManager.h\"\n\nCAnimBlend"
},
{
"path": "src/animation/AnimBlendHierarchy.h",
"chars": 760,
"preview": "#pragma once\n\n#include \"templates.h\"\n\n#ifdef MoveMemory\n#undef MoveMemory\t// windows shit\n#endif\n\nclass CAnimBlendSequen"
},
{
"path": "src/animation/AnimBlendList.h",
"chars": 396,
"preview": "#pragma once\n\n// name made up\nclass CAnimBlendLink\n{\npublic:\n\tCAnimBlendLink *next;\n\tCAnimBlendLink *prev;\n\n\tvoid Init(v"
},
{
"path": "src/animation/AnimBlendNode.cpp",
"chars": 7511,
"preview": "#include \"common.h\"\n\n#include \"AnimBlendAssociation.h\"\n#include \"AnimBlendNode.h\"\n\nvoid \nCAnimBlendNode::Init(void)\n{\n\tf"
},
{
"path": "src/animation/AnimBlendNode.h",
"chars": 1123,
"preview": "#pragma once\n\n#include \"AnimBlendSequence.h\"\n\nclass CAnimBlendAssociation;\n\n// The interpolated state between two key fr"
},
{
"path": "src/animation/AnimBlendSequence.cpp",
"chars": 4712,
"preview": "#include \"common.h\"\n\n#include \"AnimBlendSequence.h\"\n#include \"MemoryHeap.h\"\n\nCAnimBlendSequence::CAnimBlendSequence(void"
},
{
"path": "src/animation/AnimBlendSequence.h",
"chars": 2200,
"preview": "#pragma once\n\n#include \"Quaternion.h\"\n\n#ifdef MoveMemory\n#undef MoveMemory\t// windows shit\n#endif\n\n// TODO: put them som"
},
{
"path": "src/animation/AnimManager.cpp",
"chars": 47588,
"preview": "#include \"common.h\"\n\n#include \"General.h\"\n#include \"RwHelper.h\"\n#include \"ModelInfo.h\"\n#include \"ModelIndices.h\"\n#includ"
},
{
"path": "src/animation/AnimManager.h",
"chars": 4148,
"preview": "#pragma once\n\n#include \"AnimBlendHierarchy.h\"\n#include \"AnimationId.h\"\n\nenum AssocGroupId\n{\n\tASSOCGRP_STD,\n\tASSOCGRP_VAN"
},
{
"path": "src/animation/AnimationId.h",
"chars": 6122,
"preview": "#pragma once\n\nenum AnimationId\n{\n\tANIM_STD_WALK,\n\tANIM_STD_RUN,\n\tANIM_STD_RUNFAST,\n\tANIM_STD_IDLE,\n\tANIM_STD_STARTWALK,\n"
},
{
"path": "src/animation/Bones.cpp",
"chars": 1787,
"preview": "#include \"common.h\"\n#include \"PedModelInfo.h\"\n#include \"Bones.h\"\n\nint\nConvertPedNode2BoneTag(int node)\n{\n\tswitch(node){\n"
},
{
"path": "src/animation/Bones.h",
"chars": 550,
"preview": "#pragma once\n\nenum BoneTag\n{\n\tBONE_root = 0,\n\tBONE_pelvis = 1,\n\tBONE_spine = 2,\n\tBONE_spine1 = 3,\n\tBONE_neck = 4,\n\tBONE_"
},
{
"path": "src/animation/CutsceneMgr.cpp",
"chars": 22720,
"preview": "#include \"common.h\"\n\n#include \"General.h\"\n#include \"CutsceneMgr.h\"\n#include \"Directory.h\"\n#include \"Camera.h\"\n#include \""
},
{
"path": "src/animation/CutsceneMgr.h",
"chars": 2456,
"preview": "#pragma once\n#include \"CutsceneObject.h\"\n\n#define CUTSCENENAMESIZE 8\n\nclass CDirectory;\nclass CAnimBlendAssocGroup;\nclas"
},
{
"path": "src/animation/FrameUpdate.cpp",
"chars": 19554,
"preview": "#include \"common.h\"\n\n#include \"NodeName.h\"\n#include \"VisibilityPlugins.h\"\n#include \"AnimBlendClumpData.h\"\n#include \"Anim"
},
{
"path": "src/animation/RpAnimBlend.cpp",
"chars": 13946,
"preview": "#include \"common.h\"\n\n#include \"RwHelper.h\"\n#include \"General.h\"\n#include \"NodeName.h\"\n#include \"VisibilityPlugins.h\"\n#in"
},
{
"path": "src/animation/RpAnimBlend.h",
"chars": 2511,
"preview": "#pragma once\n\nclass CAnimBlendNode;\nclass CAnimBlendAssociation;\nclass CAnimBlendClumpData;\nstruct AnimBlendFrameData;\n\n"
},
{
"path": "src/audio/AudioCollision.cpp",
"chars": 16451,
"preview": "#include \"common.h\"\n\n#include \"DMAudio.h\"\n#include \"Entity.h\"\n#include \"AudioCollision.h\"\n#include \"AudioManager.h\"\n#inc"
},
{
"path": "src/audio/AudioCollision.h",
"chars": 707,
"preview": "#pragma once\n\n#define NUMAUDIOCOLLISIONS 10\n\nclass CEntity;\n\nclass cAudioCollision\n{\npublic:\n\tCEntity *m_pEntity1;\n\tCEnt"
},
{
"path": "src/audio/AudioLogic.cpp",
"chars": 430117,
"preview": "#include \"common.h\"\n\n#include \"AudioManager.h\"\n#include \"audio_enums.h\"\n\n#include \"Automobile.h\"\n#include \"Boat.h\"\n#incl"
},
{
"path": "src/audio/AudioManager.cpp",
"chars": 33522,
"preview": "#include \"common.h\"\n\n#include \"AudioManager.h\"\n#include \"audio_enums.h\"\n\n#include \"AudioScriptObject.h\"\n#include \"MusicM"
},
{
"path": "src/audio/AudioManager.h",
"chars": 26136,
"preview": "#pragma once\n\n#include \"audio_enums.h\"\n#include \"AudioCollision.h\"\n#include \"PoliceRadio.h\"\n#include \"VehicleModelInfo.h"
},
{
"path": "src/audio/AudioSamples.h",
"chars": 22412,
"preview": "#pragma once\n\n#include \"common.h\"\n\nenum eSfxSample\n{\n\tSFX_CAR_HORN_JEEP = 0,\n\tSFX_CAR_HORN_BMW328,\n\tSFX_CAR_HORN_BUS,\n\tS"
},
{
"path": "src/audio/AudioScriptObject.cpp",
"chars": 2318,
"preview": "#include \"common.h\"\n\n#include \"AudioScriptObject.h\"\n#include \"Pools.h\"\n#include \"DMAudio.h\"\n\ncAudioScriptObject::cAudioS"
},
{
"path": "src/audio/AudioScriptObject.h",
"chars": 578,
"preview": "#pragma once\n\nclass cAudioScriptObject\n{\npublic:\n\tint16 AudioId;\n\tCVector Posn;\n\tint32 AudioEntity;\n\n\tcAudioScriptObject"
},
{
"path": "src/audio/DMAudio.cpp",
"chars": 6859,
"preview": "#include \"common.h\"\n\n#include \"DMAudio.h\"\n#include \"MusicManager.h\"\n#include \"AudioManager.h\"\n#include \"AudioScriptObjec"
},
{
"path": "src/audio/DMAudio.h",
"chars": 2981,
"preview": "#pragma once\n\n#include \"audio_enums.h\"\n#include \"soundlist.h\"\n#include \"Crime.h\"\n\n#define AEHANDLE_IS_FAILED(h) ((h)<0)\n"
},
{
"path": "src/audio/MusicManager.cpp",
"chars": 41550,
"preview": "#include \"common.h\"\n#include <time.h>\n#include \"soundlist.h\"\n#include \"MusicManager.h\"\n#include \"AudioManager.h\"\n#includ"
},
{
"path": "src/audio/MusicManager.h",
"chars": 2791,
"preview": "#pragma once\n\n#include \"audio_enums.h\"\n\nclass tStreamedSample\n{\npublic:\n\tuint32 m_nLength;\n\tuint32 m_nPosition;\n\tuint32 "
},
{
"path": "src/audio/PoliceRadio.cpp",
"chars": 24373,
"preview": "#include \"common.h\"\n\n#include \"DMAudio.h\"\n\n#include \"AudioManager.h\"\n\n#include \"AudioSamples.h\"\n#include \"MusicManager.h"
},
{
"path": "src/audio/PoliceRadio.h",
"chars": 790,
"preview": "#pragma once\n\n#include \"Crime.h\"\n\nstruct cAMCrime {\n\tint32 type;\n\tCVector position;\n\tuint16 timer;\n\n\tcAMCrime()\n\t{\n\t\ttyp"
},
{
"path": "src/audio/audio_enums.h",
"chars": 41023,
"preview": "#pragma once\n\nenum eRadioStation\n{\n\tWILDSTYLE,\n\tFLASH_FM,\n\tKCHAT,\n\tFEVER,\n\tV_ROCK,\n\tVCPR,\n\tRADIO_ESPANTOSO,\n\tEMOTION,\n\tW"
},
{
"path": "src/audio/eax/eax-util.cpp",
"chars": 23483,
"preview": "/***********************************************************************************************\\\n*\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"
},
{
"path": "src/audio/eax/eax-util.h",
"chars": 44797,
"preview": "/*******************************************************************\\\n*\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*\n* EAX-UTIL.H - utilities for "
},
{
"path": "src/audio/eax/eax.h",
"chars": 21400,
"preview": "/*******************************************************************\\\n*\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*\n* EAX.H - Environmental Audio"
},
{
"path": "src/audio/oal/aldlist.cpp",
"chars": 8680,
"preview": "/*\n * Copyright (c) 2006, Creative Labs Inc.\n * All rights reserved.\n * \n * Redistribution and use in source and binary "
},
{
"path": "src/audio/oal/aldlist.h",
"chars": 1643,
"preview": "#ifndef ALDEVICELIST_H\n#define ALDEVICELIST_H\n\n#include \"oal_utils.h\"\n\n#ifdef AUDIO_OAL\n#pragma warning(disable: 4786) "
},
{
"path": "src/audio/oal/channel.cpp",
"chars": 5913,
"preview": "#include \"common.h\"\n\n#ifdef AUDIO_OAL\n#include \"channel.h\"\n#include \"sampman.h\"\n\n#ifndef _WIN32\n#include <float.h>\n#endi"
},
{
"path": "src/audio/oal/channel.h",
"chars": 1126,
"preview": "#pragma once\n\n#ifdef AUDIO_OAL\n#include \"oal/oal_utils.h\"\n#include <AL/al.h>\n#include <AL/alext.h>\n#include <AL/efx.h>\n\n"
},
{
"path": "src/audio/oal/oal_utils.cpp",
"chars": 8318,
"preview": "#include \"common.h\"\n#include \"oal_utils.h\"\n\n#ifdef AUDIO_OAL\n\n/*\n * When linking to a static openal-soft library,\n * the"
},
{
"path": "src/audio/oal/oal_utils.h",
"chars": 1816,
"preview": "#pragma once\n\n#ifdef AUDIO_OAL\n#include \"eax.h\"\n#include \"AL/efx.h\"\n\n\nvoid EFXInit();\nvoid EAX3_Set(ALuint effect, const"
},
{
"path": "src/audio/oal/stream.cpp",
"chars": 32169,
"preview": "#include \"common.h\"\n\n#ifdef AUDIO_OAL\n#include \"stream.h\"\n#include \"sampman.h\"\n\n#if defined _MSC_VER && !defined CMAKE_N"
},
{
"path": "src/audio/oal/stream.h",
"chars": 2227,
"preview": "#pragma once\n\n#ifdef AUDIO_OAL\n#include <AL/al.h>\n\n#define NUM_STREAMBUFFERS 8\n\nclass IDecoder\n{\npublic:\n\tvirtual ~IDeco"
},
{
"path": "src/audio/sampman.h",
"chars": 42721,
"preview": "#pragma once\n#include \"AudioSamples.h\"\n\n#define MAX_VOLUME 127\n#define MAX_FREQ DIGITALRATE\n\nstruct tSample {\n\tint32 nOf"
},
{
"path": "src/audio/sampman_miles.cpp",
"chars": 48423,
"preview": "#include \"common.h\"\n\n#ifdef AUDIO_MSS\n#include <shlobj.h>\n#include <shlguid.h>\n\n#include <time.h>\n\n#include \"eax.h\"\n#inc"
},
{
"path": "src/audio/sampman_null.cpp",
"chars": 6109,
"preview": "#include \"common.h\"\n#if !defined(AUDIO_OAL) && !defined(AUDIO_MSS)\n#include \"sampman.h\"\n#include \"AudioManager.h\"\n\ncSam"
},
{
"path": "src/audio/sampman_oal.cpp",
"chars": 44831,
"preview": "//#define JUICY_OAL\n\n#ifdef AUDIO_OAL\n#include <time.h>\n\n#include \"eax.h\"\n#include \"eax-util.h\"\n\n#ifdef _WIN32\n#include "
},
{
"path": "src/audio/soundlist.h",
"chars": 7365,
"preview": "#pragma once\n\nenum eSound\n{\n\tSOUND_CAR_DOOR_CLOSE_BONNET = 0,\n\tSOUND_CAR_DOOR_CLOSE_BUMPER,\n\tSOUND_CAR_DOOR_CLOSE_FRONT_"
},
{
"path": "src/buildings/Building.cpp",
"chars": 1264,
"preview": "#include \"common.h\"\n\n#include \"Building.h\"\n#include \"Streaming.h\"\n#include \"Pools.h\"\n\nvoid *CBuilding::operator new(size"
},
{
"path": "src/buildings/Building.h",
"chars": 377,
"preview": "#pragma once\n\n#include \"Entity.h\"\n\nclass CBuilding : public CEntity\n{\npublic:\n\tCBuilding(void) {\n\t\tm_type = ENTITY_TYPE_"
},
{
"path": "src/buildings/Solid.h",
"chars": 154,
"preview": "#pragma once\n\n#include \"Entity.h\"\n\nclass CSolid : public CEntity\n{\npublic:\n\tCSolid(void) {\n\t\tm_type = ENTITY_TYPE_BUILDI"
},
{
"path": "src/buildings/Treadable.cpp",
"chars": 283,
"preview": "#include \"common.h\"\n\n#include \"rpworld.h\"\n#include \"Treadable.h\"\n#include \"Pools.h\"\n\nvoid *CTreadable::operator new(size"
},
{
"path": "src/buildings/Treadable.h",
"chars": 213,
"preview": "#pragma once\n\n#include \"Building.h\"\n\nclass CTreadable : public CBuilding\n{\npublic:\n\tstatic void *operator new(size_t);\n\t"
},
{
"path": "src/collision/ColBox.cpp",
"chars": 362,
"preview": "#include \"common.h\"\n#include \"ColBox.h\"\n\nvoid\nCColBox::Set(const CVector &min, const CVector &max, uint8 surf, uint8 pie"
},
{
"path": "src/collision/ColBox.h",
"chars": 423,
"preview": "#pragma once\n\n#include \"SurfaceTable.h\"\n\nstruct CBox\n{\n\tCVector min;\n\tCVector max;\n\tCVector GetSize(void) { return max -"
},
{
"path": "src/collision/ColLine.cpp",
"chars": 134,
"preview": "#include \"common.h\"\n#include \"ColLine.h\"\n\nvoid\nCColLine::Set(const CVector &p0, const CVector &p1)\n{\n\tthis->p0 = p0;\n\tth"
},
{
"path": "src/collision/ColLine.h",
"chars": 290,
"preview": "#pragma once\n\nstruct CColLine\n{\n\t// NB: this has to be compatible with two CVuVectors\n\tCVector p0;\n\tint pad0;\n\tCVector p"
},
{
"path": "src/collision/ColModel.cpp",
"chars": 4130,
"preview": "#include \"common.h\"\n#include \"ColModel.h\"\n#include \"Collision.h\"\n#include \"Game.h\"\n#include \"MemoryHeap.h\"\n#include \"Poo"
},
{
"path": "src/collision/ColModel.h",
"chars": 912,
"preview": "#pragma once\n\n#include \"templates.h\"\n#include \"ColBox.h\"\n#include \"ColSphere.h\"\n#include \"ColLine.h\"\n#include \"ColPoint."
},
{
"path": "src/collision/ColPoint.cpp",
"chars": 283,
"preview": "#include \"common.h\"\n#include \"ColPoint.h\"\n\nCColPoint&\nCColPoint::operator=(const CColPoint &other)\n{\n\tpoint = other.poin"
},
{
"path": "src/collision/ColPoint.h",
"chars": 727,
"preview": "#pragma once\n\nstruct CColPoint\n{\n\tCVector point;\n\tint pad1;\n\t// the surface normal on the surface of point\n\tCVector norm"
},
{
"path": "src/collision/ColSphere.cpp",
"chars": 671,
"preview": "#include \"common.h\"\n#include \"ColSphere.h\"\n#include \"General.h\"\n\nvoid\nCColSphere::Set(float radius, const CVector ¢e"
},
{
"path": "src/collision/ColSphere.h",
"chars": 498,
"preview": "#pragma once\n\n#include \"SurfaceTable.h\"\n\nstruct CSphere\n{\n\t// NB: this has to be compatible with a CVuVector\n\tCVector ce"
},
{
"path": "src/collision/ColStore.cpp",
"chars": 5466,
"preview": "#include \"common.h\"\n\n#include \"templates.h\"\n#include \"General.h\"\n#include \"ModelInfo.h\"\n#include \"Streaming.h\"\n#include "
},
{
"path": "src/collision/ColStore.h",
"chars": 1193,
"preview": "#pragma once\n\n#include \"templates.h\"\n\nstruct ColDef {\t// made up name\n\tint32 unused;\n\tbool isLoaded;\n\tCRect bounds;\n\tcha"
},
{
"path": "src/collision/ColTriangle.cpp",
"chars": 859,
"preview": "#include \"common.h\"\n#include \"ColTriangle.h\"\n\n#ifdef VU_COLLISION\nvoid\nCColTrianglePlane::Set(const CVector &va, const C"
},
{
"path": "src/collision/ColTriangle.h",
"chars": 1821,
"preview": "#pragma once\n\n#include \"CompressedVector.h\"\n\nenum Direction {\n\tDIR_X_POS,\n\tDIR_X_NEG,\n\tDIR_Y_POS,\n\tDIR_Y_NEG,\n\tDIR_Z_POS"
},
{
"path": "src/collision/Collision.cpp",
"chars": 76234,
"preview": "#include \"common.h\"\n\n#include \"VuVector.h\"\n#include \"main.h\"\n#include \"Lists.h\"\n#include \"Game.h\"\n#include \"Zones.h\"\n#in"
},
{
"path": "src/collision/Collision.h",
"chars": 3837,
"preview": "#pragma once\n\n#include \"ColModel.h\"\n#include \"Game.h\"\t// for eLevelName\n#ifdef VU_COLLISION\n#include \"VuVector.h\"\n#endif"
},
{
"path": "src/collision/CompressedVector.h",
"chars": 832,
"preview": "#pragma once\n\nstruct CompressedVector\n{\n#ifdef COMPRESSED_COL_VECTORS\n\tint16 x, y, z;\n\tCVector Get(void) const { return "
},
{
"path": "src/collision/TempColModels.cpp",
"chars": 10080,
"preview": "#include \"common.h\"\n\n#include \"TempColModels.h\"\n#include \"Game.h\"\n\nCColModel CTempColModels::ms_colModelPed1;\nCColModel "
},
{
"path": "src/collision/TempColModels.h",
"chars": 631,
"preview": "#pragma once\n\n#include \"ColModel.h\"\n\nclass CTempColModels\n{\npublic:\n\tstatic CColModel ms_colModelPed1;\n\tstatic CColModel"
},
{
"path": "src/collision/VuCollision.cpp",
"chars": 6968,
"preview": "#include \"common.h\"\n#ifdef VU_COLLISION\n#include \"VuVector.h\"\n#include \"VuCollision.h\"\n\n#ifndef GTA_PS2\nint16 vi01;\nCVuV"
},
{
"path": "src/collision/VuCollision.h",
"chars": 822,
"preview": "#pragma once\n\n\nstruct VuTriangle\n{\n\t// Compressed int16 but unpacked\n#ifdef GTA_PS2\n\tuint128 v0;\n\tuint128 v1;\n\tuint128 v"
},
{
"path": "src/collision/vu0Collision.dsm",
"chars": 265,
"preview": ".align 4\n.global Vu0CollisionDmaTag\nVu0CollisionDmaTag:\nDMAcnt *\nMPG 0, *\n.vu\n.include \"vu0Collision_1.s\"\n.EndMPG\n.EndDm"
},
{
"path": "src/collision/vu0Collision_1.s",
"chars": 31969,
"preview": "QuitAndFail:\n\tNOP[E] IADDIU VI01, VI00, 0\n\tNOP NO"
},
{
"path": "src/collision/vu0Collision_2.s",
"chars": 8733,
"preview": "QuitAndFail2:\n\tNOP[E] IADDIU VI01, VI00, 0x0\n\tNOP "
},
{
"path": "src/control/AutoPilot.cpp",
"chars": 5685,
"preview": "#include \"common.h\"\n\n#include \"AutoPilot.h\"\n\n#include \"CarCtrl.h\"\n#include \"Curves.h\"\n#include \"PathFind.h\"\n\nvoid CAutoP"
},
{
"path": "src/control/AutoPilot.h",
"chars": 3490,
"preview": "#pragma once\n#include \"Timer.h\"\n\nclass CVehicle;\nstruct CPathNode;\n\nenum eCarMission\n{\n\tMISSION_NONE,\n\tMISSION_CRUISE,\n\t"
},
{
"path": "src/control/Bridge.cpp",
"chars": 3787,
"preview": "#include \"common.h\"\n\n#include \"Bridge.h\"\n#include \"Pools.h\"\n#include \"ModelIndices.h\"\n#include \"PathFind.h\"\n#include \"St"
},
{
"path": "src/control/Bridge.h",
"chars": 649,
"preview": "#pragma once\n\nclass CEntity;\n\nenum bridgeStates {\n STATE_BRIDGE_LOCKED,\n STATE_LIFT_PART_IS_UP,\n STATE_LIFT_PAR"
},
{
"path": "src/control/CarAI.cpp",
"chars": 31992,
"preview": "#include \"common.h\"\n\n#include \"CarAI.h\"\n\n#include \"Accident.h\"\n#include \"AutoPilot.h\"\n#include \"CarCtrl.h\"\n#include \"Gen"
},
{
"path": "src/control/CarAI.h",
"chars": 1150,
"preview": "#pragma once\n\n#include \"AutoPilot.h\"\n\nclass CVehicle;\n\nclass CCarAI\n{\npublic:\n\tstatic float FindSwitchDistanceClose(CVeh"
},
{
"path": "src/control/CarCtrl.cpp",
"chars": 143186,
"preview": "#include \"common.h\"\n\n#include \"CarCtrl.h\"\n\n#include \"Accident.h\"\n#include \"Automobile.h\"\n#include \"Bike.h\"\n#include \"Cam"
},
{
"path": "src/control/CarCtrl.h",
"chars": 6966,
"preview": "#pragma once\n#include \"PathFind.h\"\n#include \"Boat.h\"\n#include \"Vehicle.h\"\n\n#define GAME_SPEED_TO_METERS_PER_SECOND 50.0f"
},
{
"path": "src/control/Curves.cpp",
"chars": 1751,
"preview": "#include \"common.h\"\n\n#include \"Curves.h\"\n\nfloat CCurves::CalcSpeedScaleFactor(CVector* pPoint1, CVector* pPoint2, float "
},
{
"path": "src/control/Curves.h",
"chars": 243,
"preview": "#pragma once\nclass CVector;\n\nclass CCurves\n{\npublic:\n\tstatic float CalcSpeedScaleFactor(CVector*, CVector*, float, float"
},
{
"path": "src/control/Darkel.cpp",
"chars": 13066,
"preview": "#include \"common.h\"\n\n#include \"main.h\"\n#include \"Darkel.h\"\n#include \"PlayerPed.h\"\n#include \"Wanted.h\"\n#include \"Timer.h\""
},
{
"path": "src/control/Darkel.h",
"chars": 1596,
"preview": "#pragma once\n\n#include \"ModelIndices.h\"\n#include \"WeaponType.h\"\n\nclass CVehicle;\nclass CPed;\n\nenum\n{\n\tKILLFRENZY_NONE,\n\t"
},
{
"path": "src/control/GameLogic.cpp",
"chars": 21174,
"preview": "#include \"common.h\"\n\n#include \"GameLogic.h\"\n#include \"Clock.h\"\n#include \"Stats.h\"\n#include \"Pickups.h\"\n#include \"Timer.h"
},
{
"path": "src/control/GameLogic.h",
"chars": 1600,
"preview": "#pragma once\n\nclass CAutomobile;\n\nclass CGameLogic\n{\npublic:\n\tenum {\n\t\tSHORTCUT_NONE = 0,\n\t\tSHORTCUT_INIT,\n\t\tSHORTCUT_ID"
},
{
"path": "src/control/Garages.cpp",
"chars": 79724,
"preview": "#include \"common.h\"\n\n#include \"Garages.h\"\n#include \"main.h\"\n\n#include \"Bike.h\"\n#include \"Boat.h\"\n#include \"DMAudio.h\"\n#i"
},
{
"path": "src/control/Garages.h",
"chars": 9103,
"preview": "#pragma once\n#include \"audio_enums.h\"\n#include \"Camera.h\"\n#include \"config.h\"\n#include \"Lists.h\"\n\nclass CVehicle;\n\nenum "
},
{
"path": "src/control/NameGrid.cpp",
"chars": 797,
"preview": "#include \"common.h\"\n#include \"NameGrid.h\"\n\n// TODO: reverse mobile code\n\nCPlayerName::CPlayerName()\n{\n\t// TODO\n}\n\nvoid\nC"
},
{
"path": "src/control/NameGrid.h",
"chars": 780,
"preview": "#pragma once\n\n// TODO: reverse mobile code\n\nclass CPlayerName\n{\n\tfriend class CGrid;\n\n\tfloat x;\n\tfloat y;\n\twchar unk_8[3"
},
{
"path": "src/control/OnscreenTimer.cpp",
"chars": 4227,
"preview": "#include \"common.h\"\n\n\n#include \"DMAudio.h\"\n#include \"Hud.h\"\n#include \"Replay.h\"\n#include \"Timer.h\"\n#include \"Script.h\"\n#"
},
{
"path": "src/control/OnscreenTimer.h",
"chars": 1053,
"preview": "#pragma once\n\nenum\n{\n\tCOUNTER_DISPLAY_NUMBER,\n\tCOUNTER_DISPLAY_BAR,\n};\n\nclass COnscreenTimerEntry\n{\npublic:\n\tuint32 m_nC"
},
{
"path": "src/control/PathFind.cpp",
"chars": 63275,
"preview": "#include \"common.h\"\n\n#include \"General.h\"\n#include \"FileMgr.h\"\t// only needed for empty function\n#include \"Camera.h\"\n#in"
},
{
"path": "src/control/PathFind.h",
"chars": 10483,
"preview": "#pragma once\n\n#include \"Treadable.h\"\n\nclass CVehicle;\nclass CPtrList;\n\n#define LANE_WIDTH 5.0f\n#define WIDTH_TO_PED_NODE"
},
{
"path": "src/control/Phones.cpp",
"chars": 12285,
"preview": "#include \"common.h\"\n\n#include \"Phones.h\"\n#include \"Pools.h\"\n#include \"ModelIndices.h\"\n#include \"Ped.h\"\n#include \"Pad.h\"\n"
},
{
"path": "src/control/Phones.h",
"chars": 1851,
"preview": "#pragma once\n\n#include \"Physical.h\"\n\nclass CPed;\nclass CAnimBlendAssociation;\n\nenum PhoneState {\n\tPHONE_STATE_FREE,\n\tPHO"
},
{
"path": "src/control/Pickups.cpp",
"chars": 53272,
"preview": "#include \"common.h\"\n\n#include \"main.h\"\n\n#include \"Camera.h\"\n#include \"Coronas.h\"\n#include \"Darkel.h\"\n#include \"Entity.h\""
},
{
"path": "src/control/Pickups.h",
"chars": 4853,
"preview": "#pragma once\n#include \"Weapon.h\"\n\nenum ePickupType\n{\n\tPICKUP_NONE = 0,\n\tPICKUP_IN_SHOP,\n\tPICKUP_ON_STREET,\n\tPICKUP_ONCE,"
},
{
"path": "src/control/PowerPoints.cpp",
"chars": 340,
"preview": "#include \"common.h\"\n#include \"PowerPoints.h\"\n\n// Some cut beta feature\n\nvoid CPowerPoint::Update()\n{}\n\nvoid CPowerPoints"
},
{
"path": "src/control/PowerPoints.h",
"chars": 433,
"preview": "#pragma once\n\nenum\n{\n\tPOWERPOINT_NONE = 0,\n\tPOWERPOINT_HEALTH,\n\tPOWERPOINT_HIDEOUT_INDUSTRIAL,\n\tPOWERPOINT_HIDEOUT_COMME"
},
{
"path": "src/control/Record.cpp",
"chars": 1898,
"preview": "#include \"common.h\"\n\n#include \"Record.h\"\n\n#include \"FileMgr.h\"\n#include \"Pad.h\"\n#include \"Pools.h\"\n#include \"Streaming.h"
},
{
"path": "src/control/Record.h",
"chars": 2495,
"preview": "#pragma once\n\nclass CAutomobile;\nclass CVehicle;\nclass CControllerState;\n\nclass CCarStateEachFrame\n{\npublic:\n\tint16 velX"
},
{
"path": "src/control/Remote.cpp",
"chars": 2314,
"preview": "#include \"common.h\"\n\n#include \"Automobile.h\"\n#include \"CarCtrl.h\"\n#include \"Camera.h\"\n#include \"Remote.h\"\n#include \"Time"
},
{
"path": "src/control/Remote.h",
"chars": 189,
"preview": "#pragma once\n\nclass CRemote\n{\npublic:\n\tstatic void GivePlayerRemoteControlledCar(float, float, float, float, uint16);\n\ts"
},
{
"path": "src/control/Replay.cpp",
"chars": 68971,
"preview": "#include \"common.h\"\n#ifdef GTA_REPLAY\n#include \"AnimBlendAssocGroup.h\"\n#include \"AnimBlendAssociation.h\"\n#include \"Bike."
},
{
"path": "src/control/Replay.h",
"chars": 10291,
"preview": "#pragma once\n\n#include \"Pools.h\"\n#include \"World.h\"\n#include \"WeaponEffects.h\"\n#include \"ParticleType.h\"\n\n#ifdef FIX_BUG"
},
{
"path": "src/control/Restart.cpp",
"chars": 7351,
"preview": "#include \"common.h\"\n\n#include \"Restart.h\"\n#include \"Zones.h\"\n#include \"PathFind.h\"\n\nuint8 CRestart::OverrideHospitalLeve"
},
{
"path": "src/control/Restart.h",
"chars": 1165,
"preview": "#pragma once\n\n#define NUM_RESTART_POINTS 8\n\nclass CRestart\n{\npublic:\n\tstatic void AddPoliceRestartPoint(const CVector&, "
},
{
"path": "src/control/RoadBlocks.cpp",
"chars": 11345,
"preview": "#include \"common.h\"\n\n#include \"RoadBlocks.h\"\n#include \"PathFind.h\"\n#include \"ModelIndices.h\"\n#include \"Streaming.h\"\n#inc"
},
{
"path": "src/control/RoadBlocks.h",
"chars": 709,
"preview": "#pragma once\n#include \"common.h\"\n\nclass CVehicle;\n\nclass CScriptRoadblock\n{\npublic:\n\tCVector m_vInf;\n\tCVector m_vSup;\n\tb"
},
{
"path": "src/control/SceneEdit.cpp",
"chars": 35554,
"preview": "#include \"common.h\"\n\n#include \"SceneEdit.h\"\n#ifdef GTA_SCENE_EDIT\n#include \"Automobile.h\"\n#include \"Camera.h\"\n#include \""
},
{
"path": "src/control/SceneEdit.h",
"chars": 2262,
"preview": "#pragma once\n#ifdef GTA_SCENE_EDIT\nclass CPed;\nclass CVehicle;\n\nstruct CMovieCommand\n{\n\tint32 m_nCommandId;\n\tCVector m_v"
},
{
"path": "src/control/Script.cpp",
"chars": 316690,
"preview": "#include \"common.h\"\n\n#include \"Script.h\"\n#include \"ScriptCommands.h\"\n\n#include \"AnimBlendAssociation.h\"\n#include \"AudioM"
},
{
"path": "src/control/Script.h",
"chars": 15446,
"preview": "#pragma once\n#include \"Font.h\"\n#include \"PedType.h\"\n#include \"Text.h\"\n#include \"Sprite2d.h\"\n\nclass CEntity;\nclass CBuild"
},
{
"path": "src/control/Script2.cpp",
"chars": 49526,
"preview": "#include \"common.h\"\n\n#include \"Script.h\"\n#include \"ScriptCommands.h\"\n\n#include \"Camera.h\"\n#include \"CarCtrl.h\"\n#include "
},
{
"path": "src/control/Script3.cpp",
"chars": 79227,
"preview": "#include \"common.h\"\n\n#include \"Script.h\"\n#include \"ScriptCommands.h\"\n\n#include \"Boat.h\"\n#include \"CarCtrl.h\"\n#include \"C"
},
{
"path": "src/control/Script4.cpp",
"chars": 78012,
"preview": "#include \"common.h\"\n\n#include \"Script.h\"\n#include \"ScriptCommands.h\"\n\n#include \"AnimBlendAssociation.h\"\n#include \"Bullet"
},
{
"path": "src/control/Script5.cpp",
"chars": 82086,
"preview": "#include \"common.h\"\n\n#include \"Script.h\"\n#include \"ScriptCommands.h\"\n\n#include \"CarCtrl.h\"\n#include \"BulletInfo.h\"\n#incl"
},
{
"path": "src/control/Script6.cpp",
"chars": 57340,
"preview": "#include \"common.h\"\n\n#include \"Script.h\"\n#include \"ScriptCommands.h\"\n\n#include \"Bike.h\"\n#include \"CarCtrl.h\"\n#include \"C"
},
{
"path": "src/control/Script7.cpp",
"chars": 44985,
"preview": "#include \"common.h\"\n\n#include \"Script.h\"\n#include \"ScriptCommands.h\"\n\n#include \"CarCtrl.h\"\n#include \"ColStore.h\"\n#includ"
},
{
"path": "src/control/Script8.cpp",
"chars": 20067,
"preview": "#include \"common.h\"\n\n#include \"Script.h\"\n#include \"ScriptCommands.h\"\n\n#include \"DMAudio.h\"\n#if ((defined GTAVC_JP_PATCH "
},
{
"path": "src/control/ScriptCommands.h",
"chars": 50257,
"preview": "#pragma once\n\nenum {\n\tCOMMAND_NOP = 0,\n\tCOMMAND_WAIT,\n\tCOMMAND_GOTO,\n\tCOMMAND_SHAKE_CAM,\n\tCOMMAND_SET_VAR_INT,\n\tCOMMAND_"
},
{
"path": "src/control/SetPieces.cpp",
"chars": 12724,
"preview": "#include \"common.h\"\n\n#include \"SetPieces.h\"\n#include \"Automobile.h\"\n#include \"CarAI.h\"\n#include \"CopPed.h\"\n#include \"Gen"
},
{
"path": "src/control/SetPieces.h",
"chars": 1038,
"preview": "#pragma once\n\n#include \"config.h\"\n\nclass CVehicle;\nclass CCopPed;\n\nenum eSetPieceType\n{\n\tSETPIECE_NONE = 0,\n\tSETPIECE_TW"
},
{
"path": "src/control/TrafficLights.cpp",
"chars": 17722,
"preview": "#include \"common.h\"\n\n#include \"Camera.h\"\n#include \"Clock.h\"\n#include \"Coronas.h\"\n#include \"General.h\"\n#include \"PathFind"
},
{
"path": "src/control/TrafficLights.h",
"chars": 692,
"preview": "#pragma once\n\nclass CEntity;\nclass CVehicle;\n\nenum {\n\tPED_LIGHTS_WALK,\n\tPED_LIGHTS_WALK_BLINK,\n\tPED_LIGHTS_DONT_WALK,\n\n\t"
},
{
"path": "src/core/Accident.cpp",
"chars": 3034,
"preview": "#include \"common.h\"\n\n#include \"Accident.h\"\n\n#include \"Ped.h\"\n#include \"Pools.h\"\n#include \"World.h\"\n\nCAccidentManager gAc"
},
{
"path": "src/core/Accident.h",
"chars": 643,
"preview": "#pragma once\n#include \"config.h\"\n\nclass CPed;\n\nclass CAccident\n{\npublic:\n\tCPed *m_pVictim;\n\tuint32 m_nMedicsAttending;\n\t"
},
{
"path": "src/core/AnimViewer.cpp",
"chars": 12440,
"preview": "#include \"common.h\"\n\n#include \"Font.h\"\n#include \"Pad.h\"\n#include \"Text.h\"\n#include \"main.h\"\n#include \"Timer.h\"\n#include "
},
{
"path": "src/core/AnimViewer.h",
"chars": 195,
"preview": "#pragma once\n\nclass CAnimViewer {\npublic:\n\tstatic int animTxdSlot;\n\tstatic CEntity *pTarget;\n\t\n\tstatic void Initialise()"
},
{
"path": "src/core/Cam.cpp",
"chars": 187069,
"preview": "#include \"common.h\"\n\n#include \"main.h\"\n#include \"Draw.h\"\n#include \"World.h\"\n#include \"Vehicle.h\"\n#include \"Automobile.h\""
},
{
"path": "src/core/Camera.cpp",
"chars": 140889,
"preview": "#include \"common.h\"\n\n#include \"main.h\"\n#include \"Draw.h\"\n#include \"World.h\"\n#include \"Vehicle.h\"\n#include \"Train.h\"\n#inc"
},
{
"path": "src/core/Camera.h",
"chars": 19716,
"preview": "#pragma once\n#include \"Placeable.h\"\n\nclass CEntity;\nclass CPed;\nclass CAutomobile;\nclass CGarage;\n\nextern int16 DebugCam"
},
{
"path": "src/core/CdStream.cpp",
"chars": 11352,
"preview": "#ifdef _WIN32\n#define WITHWINDOWS\n#include \"common.h\"\n\n#include \"CdStream.h\"\n#include \"rwcore.h\"\n#include \"RwHelper.h\"\n#"
},
{
"path": "src/core/CdStream.h",
"chars": 1237,
"preview": "#pragma once\n\n#define CDSTREAM_SECTOR_SIZE 2048\n\n#define _GET_INDEX(a) (a >> 24)\n#define _GET_OFFSET(a) (a & 0xFFFFFF)\n"
},
{
"path": "src/core/CdStreamPosix.cpp",
"chars": 12745,
"preview": "#ifndef _WIN32\n#include \"common.h\"\n#include \"crossplatform.h\"\n#include <signal.h>\n#include <pthread.h>\n#include <semapho"
},
{
"path": "src/core/Clock.cpp",
"chars": 3095,
"preview": "#include \"common.h\"\n\n#include \"Timer.h\"\n#include \"Pad.h\"\n#include \"Clock.h\"\n#include \"Stats.h\"\n#include \"VarConsole.h\"\n\n"
},
{
"path": "src/core/Clock.h",
"chars": 1006,
"preview": "#pragma once\n\nclass CClock\n{\npublic:\n\tstatic uint8 ms_nGameClockHours;\n\tstatic uint8 ms_nGameClockMinutes;\n\tstatic uin"
},
{
"path": "src/core/ControllerConfig.cpp",
"chars": 102964,
"preview": "#define WITHDINPUT\n#include \"common.h\"\n#include \"platform.h\"\n#include \"crossplatform.h\"\n#include \"ControllerConfig.h\"\n#i"
},
{
"path": "src/core/ControllerConfig.h",
"chars": 7049,
"preview": "#pragma once\n\n#if defined RW_D3D9 || defined RWLIBS\n#define DIRECTINPUT_VERSION 0x0800\n#include <dinput.h>\n#endif\n\n// ba"
},
{
"path": "src/core/Crime.h",
"chars": 655,
"preview": "#pragma once\n\nenum eCrimeType {\n\tCRIME_NONE,\n\tCRIME_POSSESSION_GUN,\n\tCRIME_HIT_PED,\n\tCRIME_HIT_COP,\n\tCRIME_SHOOT_PED,\n\tC"
},
{
"path": "src/core/Debug.cpp",
"chars": 3871,
"preview": "#include \"common.h\"\n#include \"RwHelper.h\"\n#include \"Debug.h\"\n#include \"Lines.h\"\n#include \"Font.h\"\n#include \"main.h\"\n#inc"
},
{
"path": "src/core/Debug.h",
"chars": 851,
"preview": "#pragma once\n\nclass CDebug\n{\n\tenum\n\t{\n\t\tMAX_LINES = 15,\n\t\tMAX_STR_LEN = 80,\n\n\t\tMAX_SCREEN_STRS = 100,\n\t\tMAX_DEBUG_LINES "
},
{
"path": "src/core/Directory.cpp",
"chars": 1445,
"preview": "#include \"common.h\"\n\n#include \"General.h\"\n#include \"FileMgr.h\"\n#include \"Directory.h\"\n\nCDirectory::CDirectory(int32 maxE"
},
{
"path": "src/core/Directory.h",
"chars": 487,
"preview": "#pragma once\n\nclass CDirectory\n{\npublic:\n\tstruct DirectoryInfo {\n\t\tuint32 offset;\n\t\tuint32 size;\n\t\tchar name[24];\n\t};\n\tD"
},
{
"path": "src/core/EventList.cpp",
"chars": 6726,
"preview": "#include \"common.h\"\n\n#include \"Pools.h\"\n#include \"ModelIndices.h\"\n#include \"World.h\"\n#include \"Wanted.h\"\n#include \"Event"
},
{
"path": "src/core/EventList.h",
"chars": 1406,
"preview": "#pragma once\n\nclass CEntity;\nclass CPed;\n\nenum eEventType\n{\n\tEVENT_NULL,\n\tEVENT_ASSAULT,\n\tEVENT_RUN_REDLIGHT,\n\tEVENT_ASS"
},
{
"path": "src/core/FileLoader.cpp",
"chars": 37370,
"preview": "#include \"common.h\"\n#include <ctype.h>\n#include \"main.h\"\n\n#include \"General.h\"\n#include \"Quaternion.h\"\n#include \"ModelIn"
},
{
"path": "src/core/FileLoader.h",
"chars": 2232,
"preview": "#pragma once\n\nclass CFileLoader\n{\n\tstatic char ms_line[256];\npublic:\n\tstatic void LoadLevel(const char *filename);\n\tstat"
},
{
"path": "src/core/FileMgr.cpp",
"chars": 5265,
"preview": "#define _CRT_SECURE_NO_WARNINGS\n#include <fcntl.h>\n#ifdef _WIN32\n#include <direct.h>\n#endif\n#include \"common.h\"\n#include"
},
{
"path": "src/core/FileMgr.h",
"chars": 869,
"preview": "#pragma once\n\nclass CFileMgr\n{\n\tstatic char ms_rootDirName[128];\n\tstatic char ms_dirName[128];\npublic:\n\tstatic void Init"
},
{
"path": "src/core/Fire.cpp",
"chars": 13533,
"preview": "#include \"common.h\"\n\n#include \"Vector.h\"\n#include \"PlayerPed.h\"\n#include \"Entity.h\"\n#include \"PointLights.h\"\n#include \"P"
},
{
"path": "src/core/Fire.h",
"chars": 1399,
"preview": "#pragma once\n\nclass CEntity;\n\nclass CFire\n{\npublic:\n\tbool m_bIsOngoing;\n\tbool m_bIsScriptFire;\n\tbool m_bPropagationFlag;"
},
{
"path": "src/core/FrontEndControls.cpp",
"chars": 46439,
"preview": "#include \"common.h\"\n#include \"main.h\"\n#include \"Timer.h\"\n#include \"Sprite2d.h\"\n#include \"Text.h\"\n#include \"Font.h\"\n#incl"
},
{
"path": "src/core/FrontEndControls.h",
"chars": 28281,
"preview": "#pragma once\n\nenum {\n\tNUM_MULTICHOICE_OPTIONS = 16,\n\t// 50 actual lines and 15 for spacing\n\tNUM_LINELISTER_LINES = 50,\n\t"
}
]
// ... and 423 more files (download for full content)
About this extraction
This page contains the full source code of the Cai1Hsu/re3 GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 623 files (10.3 MB), approximately 2.7M tokens, and a symbol index with 3062 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.