Giter Site home page Giter Site logo

opendriver2 / redriver2 Goto Github PK

View Code? Open in Web Editor NEW
1.0K 42.0 59.0 49.31 MB

Driver 2 Playstation game reverse engineering effort

License: MIT License

C++ 1.77% C 96.53% Batchfile 0.06% Lua 0.87% Shell 0.10% POV-Ray SDL 0.27% HTML 0.17% CSS 0.03% Makefile 0.10% JavaScript 0.06% PowerShell 0.03%
game playstation decompile disassemble driver2 reverse-engineering psx sym ghidra decompilation

redriver2's Introduction

REDRIVER2 (Reverse-Engineered Driver 2)

Game running on Windows:

Game running in Firefox Web Browser:

Game running on Playstation (emulated)

Build status (Windows and Linux): Build status

Information

  • This is an original game - it was carefully and completely disassembled and translated from MIPS back to C (except Memory Card menu) - no emulation involved
  • Game has been significantly improved over the original Playstation version, original bugs were fixed and completed some unfinished gameplay aspects
  • It now runs on Windows, Linux and soon to be on the other platforms (including backport to Playstation) and utilizes Psy-X (Psy-Cross) (formely extended TOMB5 emulator) as a layer for porting from Playstation
  • Basic modding support - with textures and models replacement provided with OpenDriver2Tools

How is it done?

  • All information (variables, types and function names) have been obtained from debugging symbols (.SYM), driver_psx_level and DLE
  • Ghidra project (based on Italian SYM) to deal with overlays, simple code complex branching - semi-auto decompilation
  • IDB based on Spanish SYM when dealing with things Ghidra can't handle properly - manual decompilation (mostly GTE code)

History:

  • Feb 19, 2019 - created skeleton, one year long preparations
  • Mar 28, 2020 - started work on reimplementing the game, game intro running
  • Sep 19, 2020 - reimplementing game complete - game is fully playable
  • Jan 15, 2021 - refactoring complete

How to use

See Wiki/Installation Instructions

How can I contribute?

See Contributing to project page

What's next

  • OpenDriver2 project - complete rewrite with lots of new features such as new renderer and sound engine, Lua scripting, Driver 1 content support

Credits

  • SoapyMan - lead reverse engineer and programmer
  • Fireboyd78 - code refactoring and improvements
  • Krishty, someone972 - early formats decoding
  • Gh0stBlade - HLE Emulator code used as a base for Psy-Cross (link)
  • Ben Lincoln - This Dust Remembers What It Once Was (TDR)
  • Stohrendorf - Symdump utility

redriver2's People

Contributors

50thomatoes50 avatar andre-vm avatar faalagorn avatar fireboyd78 avatar rosalie241 avatar soapyman avatar vinnyvynce avatar

Stargazers

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

Watchers

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

redriver2's Issues

How do I actually compile and play this game?

"Assuming you have compiled the most recent code or got artifacts from Appveyor. "

How do I compile the code?

"Copy DRIVER2 folder from your game CD to location where compiled EXE is located."

So this means I have to have the original PS1 game CD first?

Import driver 1

Add driver one mode so it can be enhanced as well and play both in one

Falling through textures in Havana

After opening the door of the secret stadium in Havana, it is impossible to drive / walk into the underground garage, the car / Tanner simply falls down through the texture of the ground. CD version is NTSC 1.0

Proof 1
Proof 2

Subtitle bug - "To The Airport" (Stake Out) mission

Describe the bug
Subtitle is delayed in mission "To The Airport" in Las Vegas

To Reproduce
Play the mission with subtitles on (English/Enligh NTSC game)

Expected behavior
Either the sound should be delayed, or the subtitles should be synced

Screenshots
on 36:56 here

https://youtu.be/HGoeRX4WR-M?t=2216

Desktop (please complete the following information):

  • OS: Windows 7 64 Bits
  • REDRIVER 5.7

Cars don't change lanes properly when taking off from the highway.

Cars intended to go off the highway goes through the obstacle instead of switching lanes earlier.

REDRIVER2

Running the (5.4.123 from appveyor) debug executable in the screenshot but I've seen it happen in 5.3-alpha (linux) as well. Could not replicate this on Retroarch with "Beetle PSX HW (0.9.44.1 9f126e5)" core.

Online modes

I see it going this way
Self hosted servers
Master server to link all self hosted servers
IP connect link

Co op missions may have to be heavily edited
Free play
Vs
Last one standing
Stunts
Horse (have to copy stunts)
It's trashed (who can trash there car first)

Custom maps

Play as cops

Decompilation progress

ASM\ASMTEST.MIP / RNDRASM.MIP

  • SetCameraVector
  • Apply_Inv_CameraMatrix
  • Apply_InvCameraMatrixSetTrans
  • Apply_InvCameraMatrixAndSetMatrix
  • FrustrumCheck16
  • FrustrumCheck

ASM\RNC_2.MIP / COMPRES.MIP

  • decomp_asm
  • UnpackRNC - unpacks RNC method 2 data
  • Unpack

C\AI.C

  • StoreGameFlags
  • TannerCanEnterCar
  • TannerStuckInCar

C\BCOLL3D.C

  • PointFaceCheck
  • collided3d
  • CarCarCollision3

C\BCOLLIDE.C

  • bcollided2d
  • bFindCollisionPoint
  • bFindCollisionTime
  • ApplyDamage
  • DamageCar3D
  • DamageCar
  • CarBuildingCollision

C\BOMBERMAN.C

  • InitThrownBombs
  • HandleThrownBombs
  • DrawThrownBombs
  • BombThePlayerToHellAndBack
  • BombCollisionCheck
  • ExplosionCollisionCheck
  • AddFlash

C\CAMERA.C

  • InitCamera
  • ModifyCamera
  • CameraCollisionCheck
  • TurnHead
  • PlaceCameraFollowCar
  • PlaceCameraAtLocation
  • PointAtTarget
  • PlaceCameraInCar
  • OK_To_Zoom
  • SetBasePos

C\CARS.C

  • plotNewCarModel
  • plotCarPolyB3
  • plotCarPolyFT3
  • plotCarPolyGT3
  • plotCarPolyGT3nolight
  • DrawCar
  • DrawCarObject
  • DrawCarWheels
  • DrawWheelObject
  • PlayerCarFX
  • ComputeCarLightingLevels
  • buildNewCars
  • buildNewCarFromModel
  • MangleWheelModels
  • setupLightingMatrices
  • restoreLightingMatrices
  • GetCarPalIndex

C\CELL.C

  • ClearCopUsage
  • GetFirstPackedCop

C\CIV_AI.C

  • InitCar
  • FindClosestCar
  • NotTravellingAlongCurve
  • CivCarFX
  • GetNextRoadInfo
  • InitNodeList
  • GetNodePos
  • CheckChangeLanes
  • CreateNewNode
  • InitCivState
  • PingOutCar
  • PingOutAllSpecialCivCars
  • PingOutAllCivCarsAndCopCars
  • CheckPingOut
  • SetUpTrafficLightPhase
  • TrafficLightCycle
  • InitCivCars
  • CreateCivCarWotDrivesABitThenStops
  • CreateStationaryCivCar
  • PingInCivCar
  • AttemptUnPark
  • CivControl
  • CivAccelTrafficRules
  • SetUpCivCollFlags
  • CivAccel
  • CivSteerAngle
  • CivFindStation
  • CivFindPointOnPath
  • CreateRoadblock

C\CONVERT.C

  • Calc_Object_MatrixYZX
  • _RotMatrixX
  • _RotMatrixY
  • _RotMatrixZ
  • RotMatrixXYZ
  • _MatrixRotate
  • InvertMatrix
  • BuildWorldMatrix
  • ScaleCamera
  • Getlong
  • RandomInit
  • Random2

C\COP_AI.C

  • InitCopState
  • ReplayLog_Fnarr_He_Said_Log
  • WibbleDownTheRoad
  • InitCops
  • ControlCops
  • CopControl
  • CopControl1
  • FindCost
  • InitCopData
  • UpdateCopSightData
  • ControlCopDetection
  • PassiveCopTasks
  • ControlNumberOfCops

C\COSMETIC.C

  • LoadCosmetics
  • ProcessCosmeticsLump
  • AddReverseLight
  • SetupSpecCosmetics
  • AddIndicatorLight
  • AddBrakeLight
  • AddCopCarLight
  • AddNightLights
  • AddSmokingEngine
  • AddFlamingEngine

C\CUTSCENE.C

  • InitInGameCutsceneVariables
  • HandleInGameCutscene
  • DrawInGameCutscene
  • TriggerChase
  • TriggerInGameCutscene
  • CalcInGameCutsceneSize
  • ReleaseInGameCutscene
  • PreLoadInGameCutscene
  • CutsceneCameraChange
  • LoadInGameCutscene
  • TriggerInGameCutsceneSystem
  • SetNullPlayer
  • SetNullPlayerDontKill
  • DestroyPlayer
  • FindNextCutChange
  • LoadCutsceneToReplayBuffer
  • LoadCutsceneToBuffer
  • ShowCutsceneError
  • LoadCutsceneInformation
  • FreeCutsceneBuffer
  • IsCutsceneResident

C\DEBRIS.C

  • PlacePoolForCar
  • AllocateLeaf
  • ReleaseLeaf
  • AddLeaf
  • SwirlLeaves
  • InitDebrisNames
  • InitDebris
  • AllocateDebris
  • ReleaseDebris
  • AllocateSmoke
  • ReleaseSmoke
  • AddGroundDebris
  • DrawSmashable_sprites
  • MoveSmashable_object
  • AddSmallStreetLight
  • AddLightEffect
  • PreLampStreak
  • find_lamp_streak
  • damage_lamp
  • damage_object
  • AddTrafficLight
  • InitFXPos
  • FindCarLightFade
  • ShowCarlight
  • ShowLight1
  • ShowLight
  • ShowGroundLight
  • RoundShadow
  • ShowFlare
  • DisplayWater
  • DisplaySpark
  • GetSmokeDrift
  • Setup_Debris
  • Setup_Smoke
  • Setup_Sparks
  • DisplayDebris
  • HandleDebris
  • DisplaySmoke
  • add_haze
  • SetupRain
  • AllocateRainDrop
  • ReleaseRainDrop
  • DrawRainDrops
  • AddRainDrops
  • DisplaySplashes
  • DisplayLightReflections
  • DoLightning
  • InitThunder
  • RequestThunder
  • DoThunder
  • DoWeather
  • GetDebrisColour
  • InitialiseDenting

C\DENTING.C

  • DentCar
  • CreateDentableCar
  • InitHubcap
  • LoseHubcap
  • MoveHubcap
  • LoadDenting
  • ProcessDentLump
  • SetupSpecDenting

C\DIRECTOR.C

  • InitDirectorVariables
  • DeleteCurrentCamera
  • setCamera
  • EditCamera
  • RecordCamera
  • FindNextChange
  • CheckCameraChange
  • SetPlaybackCamera
  • IsMovingCamera
  • CameraBar
  • FindFreeCamera
  • deleteCamera
  • DeleteAllCameras
  • ShowIcons
  • ShowReplayOptions
  • ShowReplayMenu
  • ControlReplay
  • DoAutoDirect
  • SelectCameraCar
  • InvalidCamera
  • NoMoreCamerasErrorMessage
  • FirstCamera
  • dist
  • SetCameraReturnedFromCutscene

C\DR2ROADS.C

  • ProcessStraightsDriver2Lump
  • ProcessCurvesDriver2Lump
  • ProcessJunctionsDriver2Lump
  • MapHeight
  • FindSurfaceD2
  • sdHeightOnPlane
  • GetSurfaceIndex
  • FindRoadInBSP
  • RoadInCell
  • sdGetCell
  • sdGetBSP

C\DRAW.C

  • addSubdivSpriteShadow
  • DrawSprites
  • GetNextPackedCop
  • UnpackCellObject
  • DrawMapPSX
  • SetupPlaneColours
  • SetupDrawMapPSX
  • InitFrustrumMatrix
  • SetFrustrumMatrix
  • Set_Inv_CameraMatrix
  • CalcObjectRotationMatrices
  • PlotMDL_less_than_128
  • ProcessMapLump
  • DrawAllTheCars
  • PlotBuildingModelSubdivNxN
  • DrawAllBuildings
  • RenderModel
  • normalIndex

C\DRIVINGGAMES.C

  • InitDrivingGames
  • HandleDrivingGames
  • DrawDrivingGames
  • CarConeCollision
  • SetSmashedCone
  • MoveSmashedCones
  • DrawSmashedCones
  • DrawCone
  • DrawSmashedCone
  • GetConePos

C\E3STUFF.C

  • ShowHiresScreens
  • FadeInHiresScreen
  • FadeOutHiresScreen
  • SetupDefDrawEnv
  • SetupDefDispEnv
  • SetPleaseWait
  • CheckForCorrectDisc

C\ENVIRO.C

  • Env_MakeColourAddTable - unused leftover from D1
  • Init_Reflection_Mapping - unused leftover from D1

C\ENVSOUND.C

  • AddEnvSounds

C\EVENT.C

  • GetVisValue
  • VisibilityLists
  • SetElTrainRotation
  • InitTrain
  • InitDoor
  • InitEvents
  • SetUpEvents
  • InitEventCamera
  • ResetEventCamera
  • SetCamera
  • EventCollisions
  • NextNode
  • StepFromToEvent
  • StepPathEvent
  • GetBridgeRotation
  • StepHelicopter
  • StepEvents
  • DrawFerrisWheel
  • DrawRotor
  • DrawEvents
  • BoatOffset
  • OnBoat
  • EventSurface
  • MakeEventTrackable
  • TriggerDoor
  • TriggerEvent
  • OffsetTarget
  • SpecialCamera
  • ScreenShake
  • DetonatorTimer
  • MultiCarEvent

C\FELONY.C

  • InitFelonyDelayArray
  • InitFelonyData
  • GetCarHeading
  • GetCarDirectionOfTravel
  • NoteFelony
  • AdjustFelony
  • CheckPlayerMiscFelonies
  • InitFelonySystem
  • CarHitByPlayer

C\FMVPLAY.C

  • ReInitSystem
  • PlayFMV
  • PlayRender

C\GAMESND.C

  • LoadBankFromLump
  • CarHasSiren
  • SpecialVehicleKludge
  • ResidentModelsBodge
  • MapCarIndexToBank
  • LoadLevelSFX
  • StartGameSounds
  • GetEngineRevs
  • ControlCarRevs
  • DoSpeech
  • PlaySpeech
  • InitSpeechQueue
  • ControlSpeech
  • CopSay
  • BodSay
  • MissionSay
  • jsqrt
  • InitDopplerSFX
  • DoDopplerSFX
  • DoPoliceLoudhailer
  • CollisionSound
  • ExplosionSound
  • JerichoSpeak
  • FunkUpDaBGMTunez
  • SoundTasks
  • InitMusic
  • InitTunnels
  • AddTunnel
  • Tunnels
  • AddTunnels
  • InitEnvSnd
  • SetEnvSndVol
  • SetEnvSndPos
  • AddEnvSnd
  • IdentifyZone - floating point stuff
  • CalcEffPos - floating point stuff
  • CalcEffPos2 - floating point stuff
  • UpdateEnvSnd - floating point stuff
  • InitLeadHorn
  • LeadHorn

C\GLAUNCH.C

  • GameStart
  • StartRender
  • ReInitFrontend
  • RunMissionLadder
  • GetRandomChase
  • FindPrevMissionFromLadderPos
  • LaunchGame
  • FindMissionLadderPos

C\HANDLING.C

  • InitCarPhysics
  • TempBuildHandlingMatrix
  • UpdateCarPoints
  • FixCarCos
  • GlobalTimeStep
  • SetShadowPoints
  • LongQuaternion2Matrix
  • initOBox
  • RebuildCarMatrix
  • StepCarPhysics
  • InitialiseCarHandling
  • CheckCarToCarCollisions
  • ProcessCarPad
  • InitSkidding
  • TerminateSkidding
  • CheckCarEffects
  • jump_debris
  • nose_down
  • GetPlayerId

C\JOB_FX.C

  • InitExObjects
  • AddExplosion
  • HandleExplosion
  • DrawAllExplosions
  • initExplosion
  • DrawExplosion

C\LEADAI.C (LEAD.BIN overlay)

  • leadRand
  • InitLead
  • LeadUpdateState
  • LeadPadResponse
  • FakeMotion
  • PosToIndex
  • BlockToMap
  • IsOnMap
  • UpdateRoadPosition
  • CheckCurrentRoad
  • SetTarget
  • SelectExit
  • FreeRoamer
  • hypot

C\LOADSAVE.C

  • CalcReplayDataSize
  • SaveReplayData
  • LoadReplayData
  • CalcGameDataSize
  • SaveGameData
  • LoadGameData
  • CalcConfigDataSize
  • SaveConfigData
  • LoadConfigData

C\LOADVIEW.C

  • ShowLoading
  • SetupScreenFade
  • FadeGameScreen
  • ShowLoadingScreen
  • CloseShutters
  • SetupFadePolys
  • DrawFadePoly
  • DisplayMissionTitle

C\MAIN.C

  • ProcessLumps
  • LoadGameLevel
  • InitModelNames
  • GameInit
  • StepSim
  • GameLoop
  • StepGame
  • DrawGame
  • EndGame
  • EnablePause
  • CheckForPause
  • main
  • FadeScreen
  • UpdatePlayerInformation
  • RenderGame2
  • RenderGame
  • InitGameVariables
  • DealWithHorn
  • Havana3DOcclusion

C\MAP.C

  • NewProcessRoadMapLump
  • ProcessJunctionsLump
  • ProcessRoadsLump
  • ProcessRoadBoundsLump
  • ProcessJuncBoundsLump
  • FindModelPtrWithName
  • FindModelIdxWithName
  • InitCellData
  • newPositionVisible
  • PositionVisible
  • CheckUnpackNewRegions
  • ControlMap
  • InitMap
  • GetVisSetAtPosition
  • PVSDecode - bad decompiled code
  • GetPVSRegionCell2

C\MC_SND.C

  • GetMissionSound
  • RequestXA
  • HandleRequestedXA
  • InitializeCutsceneSound
  • DoCutsceneSound
  • InitializeMissionSound
  • DoMissionSound
  • SetMSoundVar
  • SilenceThisCar
  • AdjustPlayerCarVolume

C\MDRAW.C

  • DrawMission
  • DrawTimer
  • DisplayPlayerPosition
  • DrawMessage
  • DrawWorldTargets
  • DrawOverheadTargets
  • DrawFullscreenTargets
  • DrawMultiplayerTargets
  • DrawOverheadTarget
  • DrawFullscreenTarget
  • DrawWorldTarget
  • DrawMultiplayerTarget

C\MGENERIC.C

  • StoreEndData
  • RestoreStartData
  • StorePlayerPosition
  • RestorePlayerPosition
  • StoreCarPosition
  • RestoreCarPosition

C\MISSION.C

  • InitialiseMissionDefaults
  • LoadMission
  • HandleMission
  • HandleTimer
  • RegisterChaseHit
  • PauseMissionTimer
  • SetMissionMessage
  • SetPlayerMessage
  • TargetComplete
  • TargetActive
  • Swap2Cars
  • SetConfusedCar
  • HandleMissionThreads
  • MRCommand
  • MROperator
  • MRFunction
  • MRInitialiseThread
  • MRStartThread
  • MRStopThread
  • MRCommitThreadGenocide
  • MRJump
  • MRPush
  • MRPop
  • MRGetParam
  • MRGetVariable
  • MRSetVariable
  • MRProcessTarget
  • MRRequestCar
  • MRHandleCarRequests
  • MRCreateCar
  • MRCancelCarRequest
  • PreProcessTargets
  • Handle321Go
  • HandleGameOver
  • CompleteAllActiveTargets
  • SetMissionComplete
  • SetMissionFailed
  • SetMissionOver
  • ActivateNextFlag
  • CalcLapTime
  • SetCarToBeStolen
  • MakePhantomCarEqualPlayerCar

C\MODELS.C

  • ProcessMDSLump
  • ProcessCarModelLump
  • GetCarModel

C\MOTION_C.C

  • ProcessMotionLump
  • SetupPedMotionData
  • SetupPedestrian
  • DrawBodySprite
  • StoreVertexLists
  • SetupTannerSkeleton
  • newShowTanner
  • GetModelVertPtr
  • newRotateBones
  • DrawCiv
  • SetSkelModelPointers
  • DrawTanner
  • DrawCharacter
  • InitTannerShadow
  • TannerShadow
  • DoCivHead - rewritten from scratch
  • DrawObject - replaced with similar call
  • wjmDraw3 - replaced with similar call

C\OBJANIM.C

  • InitCyclingPals
  • ColourCycle
  • FindSmashableObjects
  • InitAnimatingObjects
  • InitSpooledAnimObj
  • int_garage_door
  • DrawAnimatingObject
  • animate_object
  • animate_garage_door

C\OBJCOLL.C

  • CellEmpty
  • GlobalPositionToCellNumber
  • CellAtPositionEmpty
  • RaySlabsIntersection
  • lineClear
  • SetCopListCell
  • BuildCollisionCopList
  • CollisionCopList
  • CheckScenaryCollisions
  • QuickBuildingCollisionCheck
  • DoScenaryCollisions

C\OVERLAY.C

  • InitOverlays
  • DisplayOverlays
  • SetFullscreenDrawing
  • InitPercentageBar
  • EnablePercentageBar
  • DrawPercentageBar
  • DrawProximityBar
  • SetColourByValue
  • TransparencyOn
  • UpdateFlashValue
  • DrawDrivingGameOverlays
  • PrintScoreTableTime

C\OVERMAP.C

  • DrawTargetBlip
  • DrawTargetArrow
  • DrawPlayerDot
  • ProcessOverlayLump
  • Long2DDistance
  • InitOverheadMap
  • DrawOverheadMap
  • DrawFullscreenMap
  • DrawCopIndicators
  • InitMultiplayerMap
  • DrawMultiplayerMap
  • WorldToMultiplayerMap
  • ProcessPalletLump
  • load_civ_palettes
  • FlashOverheadMap
  • LoadMapTile - requires UnpackRNC
  • SetMapPos
  • draw_box
  • DrawN
  • DrawCompass
  • DrawBigCompass
  • CopIndicator
  • DrawSightCone
  • WorldToOverheadMapPositions
  • SetFullscreenMapMatrix
  • WorldToFullscreenMap
  • WorldToFullscreenMap2

C\PAD.C

  • InitControllers
  • CloseControllers
  • ReadControllers
  • SetPadVibration
  • StopPadVibration
  • StopDualShockMotors
  • SetDuplicatePadData
  • MapPad
  • ClearPad
  • HandleDualShock
  • HandlePadVibration

C\PATHFIND.C (PATH.BIN overlay)

  • popNode
  • WunCell
  • InvalidateMap
  • BloodyHell
  • blocked
  • setDistance
  • iterate
  • InitPathFinding
  • getInterpolatedDistance
  • addCivs
  • UpdateCopMap
  • getHeadingToPlayer

C\PAUSE.C

  • ShowPauseMenu
  • DrawPauseMenus
  • SaveReplay
  • SaveGame
  • EnterName
  • MaxMenuStringLength
  • InitaliseMenu
  • SetupMenu
  • DrawVisibleMenus
  • ControlMenu
  • PauseMap
  • SfxVolume
  • MusicVolume
  • EnterScoreName
  • CreateScoreNames
  • DrawHighScoreMenu

C\PEDEST.C

  • IHaveThePower
  • ProcessTannerPad
  • InitTanner
  • SetTannerPosition
  • InitPedestrians
  • DestroyPedestrians
  • DestroyCivPedestrians
  • DestroyPedestrian
  • ActivatePlayerPedestrian
  • CreatePedestrian
  • PlaceRoadBlockCops
  • CreatePedAtLocation
  • DrawAllPedestrians
  • TannerActionHappening
  • ControlPedestrians
  • SetupDoNowt
  • SetupWalker
  • SetupRunner
  • SetupBack
  • CivGetIn
  • CopStand
  • PedDoNothing
  • PedUserRunner
  • PedUserWalker
  • PedCarryOutAnimation
  • PedGetOutCar
  • SetupGetOutCar
  • SetupGetInCar
  • PedGetInCar
  • SetupPressButton
  • PedPressButton
  • SetupTannerSitDown
  • TannerCameraHandler
  • TannerSitDown
  • AnimatePed
  • DeActivatePlayerPedestrian
  • CivPedDoNothing
  • SetupCivPedRouteData
  • PingInPedestrians
  • TannerCollision
  • FindPointOfCollision
  • TannerCarCollisionCheck
  • PingOutPed
  • SetupCivJump
  • CivPedJump
  • SetupCivPedWalk
  • CivPedWalk
  • CivPedSit
  • HandlePedestrians
  • PedestrianActionInit_WalkToTarget
  • CorrectPathPosition
  • CalcPedestrianDirection
  • IsPavement
  • SetPedestrianTurn
  • FindSeated
  • FindTannerASeat
  • add_seated
  • set_coll_box
  • BuildCarCollisionBox
  • CheckForCar
  • CheckForPlayerCar
  • CalculatePedestrianInterest
  • PedSurfaceType
  • ProcessChairLump

C\PLAYERS.C

  • InitPlayer
  • ChangeCarPlayerToPed
  • ChangePedPlayerToCar
  • UpdatePlayers
  • RequestSlightPauseBeforeCarSoundStarts
  • HaveCarSoundStraightAway
  • MakeTheCarShutUp

C\PRES.C

  • SetTextColour
  • StringWidth
  • OutputString
  • PrintStringRightAligned
  • PrintStringCentred
  • LoadFont
  • StoreClut2
  • SetCLUT16Flags
  • PrintString
  • PrintDigit
  • PrintStringFeature
  • PrintStringBoxed
  • InitButtonTextures
  • PrintScaledString
  • GetNextWord
  • DrawButton
  • SetFontTPage

C\REPLAYS.C

  • InitPadRecording
  • SaveReplayToBuffer
  • LoadReplayFromBuffer
  • LoadAttractReplay
  • GetPingInfo
  • valid_region
  • cjpPlay
  • cjpRecord
  • AllocateReplayStream
  • Get
  • Put
  • RecordWaypoint

C\ROADBITS.C

  • ROADS_GetRouteData

C\SCORES.C

  • InitialiseScoreTables
  • OnScoreTable
  • AddScoreToTable
  • CheckGetawayPlacing
  • CheckTrailblazerPlacing
  • CheckCheckpointPlacing
  • CheckSurvivalPlacing
  • ResetTable

C\SEARCH.C

  • InitTextureNames

C\SHADOW.C

  • InitTyreTracks
  • GetTyreTrackPositions
  • SetTyreTrackOldPositions
  • AddTyreTrack
  • DrawTyreTracks
  • InitShadow
  • SubdivShadow
  • PlaceShadowForCar
  • clipAgainstZ
  • clippedPoly
  • sQuad

C\SKY.C

  • LoadSky
  • DrawSkyDome
  • DisplaySun
  • DisplayMoon
  • DrawLensFlare
  • TunnelSkyFade
  • calc_sky_brightness
  • PlotSkyPoly
  • PlotHorizonMDL

C\SOUND.C

  • InitSound
  • ClearChannelFields
  • ResetSound
  • SetReverbState
  • SetReverbInGameState
  • SetReverbChannelState
  • SetPlayerOwnsChannel
  • StartSound
  • Start3DTrackingSound
  • Start3DSoundVolPitch
  • CompleteSoundSetup
  • SetChannelPitch
  • SetChannelVolume
  • ComputeDoppler
  • SetChannelPosition3
  • PauseXM
  • PauseSFX
  • PauseSound
  • UnPauseXM
  • UnPauseSFX
  • UnPauseSound
  • StopChannel
  • StopAllChannels
  • LockChannel
  • UnlockChannel
  • SoundHandler
  • LoadSoundBank
  • UpdateXMSamples
  • LoadSoundBankDynamic
  • FreeXM
  • StartXM
  • StopXM
  • SetXMVolume
  • GetFreeChannel
  • UpdateVolumeAttributesS
  • UpdateVolumeAttributesM
  • CalculateVolume
  • AllocateReverb
  • FESound
  • VsyncProc

C\SPOOL.C

  • test_changemode
  • changemode
  • check_regions_present
  • stopgame
  • startgame
  • DrawCDicon
  • CheckValidSpoolData
  • UpdateSpool
  • RequestSpool
  • InitSpooling
  • SendTPage
  • SpoolSYNC
  • LoadInAreaTSets
  • SendSBK
  • init_spooled_models
  • SetupModels
  • LoadInAreaModels
  • CheckLoadAreaData
  • ClearRegion
  • LoadRegionData
  • UnpackRegion
  • ProcessSpoolInfoLump
  • WaitCloseLid
  • FoundError
  • GotRegion
  • data_cb_textures
  • ready_cb_textures
  • ready_cb_regions
  • data_cb_regions
  • data_cb_soundbank
  • ready_cb_soundbank
  • data_cb_misc
  • ready_cb_misc
  • StartSpooling
  • unpack_cellpointers
  • Unpack_CellPtrs
  • SpecClutsSpooled
  • CleanModelSpooled
  • DamagedModelSpooled
  • LowModelSpooled
  • CleanSpooled
  • LowSpooled
  • Tada
  • SpecialStartNextBlock
  • CheckSpecialSpool
  • QuickSpoolSpecial
  • PrepareSecretCar
  • InitSpecSpool

C\SYSTEM.C

  • ClearMem
  • setMem8 - PSX implementation
  • setMem16 - PSX implementation
  • Init_FileSystem
  • DoCDRetry
  • Loadfile - PSX implementation
  • LoadfileSeg - PSX implementation
  • ReportMode
  • data_ready
  • sector_ready
  • loadsectors
  • EnableDisplay
  • DisableDisplay
  • SwapDrawBuffers
  • SwapDrawBuffers2
  • UpdatePadData
  • SetupDrawBuffers
  • SetupDrawBufferData
  • InitaliseDrawEnv
  • ResetCityType
  • SetCityType
  • FileExists
  • DiscSwapped

C\TARGETS.C

  • Draw3DTarget
  • DrawTargetArrowModel
  • DrawStopZone
  • WorldToCameraPositions

C\TEXTURE.C

  • IncrementClutNum
  • IncrementTPageNum
  • LoadTPageAndCluts
  • Find_TexID
  • GetTEXINFName
  • GetTextureInfoName
  • update_slotinfo
  • ProcessTextureInfo
  • LoadPermanentTPages
  • ReloadIcons
  • GetTextureDetails

C\TILE.C

  • Tile1x1
  • DrawTILES
  • makeMesh
  • drawMesh
  • SubdivNxM
  • TileNxN
  • ProcessSubDivisionLump
  • ProcessLowDetailTable
  • GetTimeStamp

C\WHEELFORCES.C

  • StepCars
  • StepOneCar
  • GetFrictionScalesDriver1
  • ConvertTorqueToAngularAcceleration
  • AddWheelForcesDriver1

C\XAPLAY.C

  • GetMissionXAData
  • GetXAData
  • SetXAVolume
  • PrepareXA
  • PlayXA
  • XAPrepared
  • UnprepareXA
  • StopXA
  • cbready
  • ResumeXA
  • PauseXA

C\XMPLAY.C - replaced with PS2 backported version

FRONTEND\FEMAIN.C (FRONTEND.BIN overlay)

  • LoadFrontendScreens
  • LoadBackgroundFile
  • SetupBackgroundPolys
  • SetupScreenSprts
  • DrawScreen
  • DisplayOnScreenText
  • SetupExtraPoly
  • ReInitScreens
  • NewSelection
  • HandleKeyPress
  • PadChecks
  • DoFrontEnd
  • SetFEDrawMode
  • EndFrame
  • FEPrintString
  • FEPrintStringSized
  • CentreScreen
  • CarSelectScreen
  • CopDiffLevelScreen
  • VibroOnOffScreen
  • MissionSelectScreen
  • MissionCityScreen
  • CutSceneSelectScreen
  • CutSceneCitySelectScreen
  • SetVolumeScreen
  • DisplayScoreTable
  • ScoreScreen
  • SubtitlesOnOffScreen
  • CityCutOffScreen
  • ControllerScreen
  • MainScreen
  • CheatScreen
  • ImmunityOnOffScreen
  • InvincibleOnOffScreen
  • GamePlayScreen
  • GameNameScreen
  • FEInitCdIcon
  • FEDrawCDicon
  • CheatNumlayerSelect

Next sources are needed only for PSX version:

MEMCARD\DELETE.C

  • delete_file

MEMCARD\MCMAIN.C

  • CallMemoryCard
  • libcman_SelectSound
  • libcman_ConfirmSound
  • libcman_CancelSound
  • libcman_ErrorSound
  • libcman_InitControllerLibrary
  • libcman_DeInitControllerLibrary
  • libcman_ReadControllers
  • DoMemoryCard
  • LoadMemCardOverlay
  • StorePermanentTPage
  • RestorePermanentTPage
  • PutCorrectIcon

Additionally need to aqquire C++ version of libcman...

Skipping "Escape to Ferry" and "Escape the Brazilians" makes the player stuck in the void while having a glitched Jericho playermodel.

If you skip these two Havana missions (Escape to Ferry and Escape the Brazilians), you will spawn stuck in the void and then the game says that you drowned. The interesting thing is that the game also loads a glitchy Jericho as a playermodel.

I think this happens because the game can't find the last vehicle used in the last mission. Maybe add a failsafe which if a vehicle is not present then use a random car?

I'm using the latest Alpha 5.4 dev. version. You can still skip those missions though if you open the menu quickly before the game over screen.

REDRIVER2 02_12_2020 09_14_28
REDRIVER2 02_12_2020 09_13_44
REDRIVER2 02_12_2020 09_15_08
REDRIVER2 02_12_2020 09_15_10

Custom maps

Map editor piece together map tiles to make new maps

Import maps from outside creations made out side game map editor
Basically more advanced map and model editing

Gamepad controls improvements (analog input)

What do you think about implementing an alternative analog input scheme for the gamepad (make both classic and alternative available via a switch)? The original seems to be using digital input even if dualshock is used.
RT (R2) = analog accelerate
LT (L2) = analog reverse
Left stick = analog steer
Right stick = control camera, either original R2, L2, R2+L2 mapped to left, right, down, or gta-sa style free camera

Also it seems the original game doesn't allow both dpad and left stick to be used simultaneously.
Emulated version chooses input type depending on the gamepad type (digital/dualshock)
Port uses a weird scheme where dpad works until any stick is touched, then dpad can't steer anymore. That's confusing at the very least.

My gamepad input is going through x360ce, everything mapped correctly, in case if it's important.

HD version

Upgrade models textures animations limits thing that couldn't be done on psx
Also adding the ability two switch SD to HD on the fly

If you re-enter the police car that you spawned with, you will get a full felony bar.

Since it's the vehicle that you spawned with, it means it's your personal one and it doesn't really make sense to have a full felony bar as if you stole a parked police car that you found around the map.

You can check it by choosing a police car in the car select menu, exit and re-enter the vehicle to have the felony bar full.

This bug also happens in regular Driver 2.

[Bug] Game crashes after opening gate to unlock Las Vegas secret cat

When I open the gate to unlock the secret car in Las Vegas, just after showing the unlock area message the game crashes and immediately closes, on console there's no output error I'm playing on Windows 10 x64 using Driver 2 USA rev 1.0 data with no other further configuration

Add support for new translation into Russian

Hi, I am the author of a new translation of this game. Not so long ago I saw your work and immediately rushed to test this project with my translation. To my regret, many letters in the game are displayed incorrectly, since the project apparently uses built-in fonts and text for in-game menus. If possible, please add support for the above localization.
The game itself is available at the link: https://free-gen.github.io/driver2

In the Havana mission "Follow Up the Lead" car gets stuck in a wall if chooses the alley path.

When I was playing the mission, I noticed this bug when the car decided to use the alley near the end of this mission, after passing by the alley it just when straight into the wall, remaining stuck there for the rest of the mission.

This happens when the AI decides to use the alleyway path because in the other paths the car manages to reach the end of the mission just fine. For the note, I also noticed that sometimes the car before turning decides anyway to change line then turn, as if there was traffic in the junction.

REDRIVER2 08_12_2020 16_51_35
REDRIVER2 08_12_2020 16_51_54

[Bug] Clipping through Havana's secret car underground entrance, resulting in a Game Over

Hello! I don't know if that was already a known issue but I wanted to report this glitch as it always happened on my end.
image
As soon as I pass a certain point on the ground, I go through and the game ends, while it definitely shows I can land on a lower floor.
I'm not usually looking at the console but lemme know if I need to, just so I can take screenshots of it whenever I clip through the ground. Tho, I can tell I'm playing with the 1.1 version as a base.

Support of original translations

Required work

  • Convert all English strings to support language text file lookup
  • Add configuration setting for language

Add original language text files:

  • English - SLES-02993 / SLUS-01161
  • Italian - SLES-02996
  • German - SLES-12995
  • French - SLES-02994
  • Spanish - SLES-02997

Crash in Havana before "Escape The Ferry" starts

After completing the "Find the clue" mission, I watch the ending FMV with the picture of the boat in the glove compartment. The FMV ends, the next level loads, and then after the load finishes the game crashes to desktop. This happens 100% of the time and I effectively can't progress any further.

The game has crashed a few times prior to this, but those were all in game and randomly during play. This is the first time it is happening at exactly the same place each time I run the game.

I followed the install steps completely, and am using an ISO set confirmed to be Rev1, not 1.1, and besides a few random crashes the game has been functioning perfectly until this point. Let me know if there's any other info I can provide that will help fix this.

Lastly, thanks for the hard work! This is an amazing project.

Original replays now has issues.

Just inspect integrated replays (main menu -> replays -> (select any chase)) in the game. No one now is ending right. On build 5.3.alpha replays ended as they should.

[Question] Random Seed Generator

Hello, I would like to generate a Seed so anytime I "force" this number, the variations during gameplay is the same, its possible?

[Linux] Main menu items does not get displayed on builds other than Debug

Describe the bug
The main menu doesn't show up after the FMVs on the Release and Dev linux builds. The main menu actually show up with the debug executable.
Dev can work if you use pass a -mission argument for example.
My DRIVER2 directory works perfectly on the release build on Windows.

To Reproduce
Steps to reproduce the behavior:

  1. Either Download the artifacts binaries or build it from source.
  2. Launch the game in either Release or Debug

Expected behavior
I expect to see a main menu on all releases. I'm not sure what differs between debug and dev to actually show up the main menu.

Screenshots
Release:
image
Dev:
image
Debug:
image

Desktop (please complete the following information):

  • OS: Fedora Silverblue 33 (Linux) - I've also tried on Ubuntu 16.04 and Ubuntu 18.04. Same issues.

Rename EMULATOR to avoid confusion and separate to other repository

Really it's not an Emulator.

Here are implementation details:

  • high-level Playstation API reimplementation which translates Playstation calls into compatible APIs
  • SDK that allowing to compile originally targeted Playstation games on other platforms
  • Psy-Q compatible headers
  • Implements Geometry Transformation Engine (GTE) in software and adapts it's calls
  • Implements LibSPU with ADPCM decoding on OpenAL
  • Implements LibGPU with Playstation-style polygon and image handling

Suggested names:

  • PsyXtend
  • PsyPort
  • PsyQRe
  • RePsyQ

Incorrect behaviour of Havana3DOcclusion leading to incorrect cell object visibility/collision

If you take one of the two hallways on your left when entering the secret base, you'll find that some parts of it are unsolid. However, the rest of the base is solid and I can manage to get the secret car if I use the usual way.

For the record I'm using the SLUS-01161 / SLUS-01318 NTSC US/English rev 1.0 version of Driver 2.

Check out these three videos to show which specific part is unsolid.
https://streamable.com/bheh4p
https://streamable.com/963zpv
https://streamable.com/obnh9l

Wrecking secret cars before unlocking them will lead to a game over screen.

If you wreck the secret cars before unlocking them will make the game think that you have wrecked your vehicle (which intends the secret car) and then it will lead into a game over screen. This happens even when your vehicle doesn't have any damage at all.

To see this bug happen, go to the Havana secret base, open the door and then drop down in the elevator's hole. Then knock off the Mini down and then wreck it with your car. When the Mini is totalled the game will say game over, even when your normal vehicle doesn't have any damage at all!

This also happens to every secret car of all cities.

List of debug keys

One of latest updates mentioned "Psy-Cross debug keys moved to F1...F8 and game debug keys moved to 1..9", so can we have a list what these keys do? Only found by myself that F5 changes something to high quality models draw distance.

MacOS porting

Ability to build and run game natively on MacOS.
Since there is already Linux port and both MacOS and Linux are POSIX systems and dependencies used are compatible with MacOS it should be not a big deal.

AI vehicles inside closed-off areas from the traffic.

There is a glitch with the AI vehicles in Havana, they now turn inside the church area by clipping through the cemetery gates.
To see this, just simply load Havana in freemode and wait until you see the AI vehicles going inside where they shouldn't.

I'm using the latest version, Alpha 5.4 - I don't know if this is the only enclosed area which the AI vehicles now are getting inside, I'll keep checking out for a while, then I'll update this issue.

REDRIVER2 01_12_2020 21_08_00
REDRIVER2 01_12_2020 21_08_06
REDRIVER2 01_12_2020 21_08_15
REDRIVER2 01_12_2020 21_08_17

If you use heavy vehicles when activating the secret car switch, after the door opening cutscene finishes your vehicle will disappear.

When you activate the switch to open the door leading to the secret car, and you happen to use a heavy vehicle like a truck for example, after the small cutscene of the door opening ends your heavy vehicle will be gone.

To test this, for example, in Havana get a bus, a van or a truck, then go to the secret base, leave your heavy vehicle, activate the switch and after the cutscene ends your heavy vehicle will be gone.

This bug also happens in other cities as well, but I noticed that other switches, like the ones to unlock cheats or the hidden tracks in Rio they won't make your heavy vehicle disappear. Only the switches that open the doors of the secret car location will make your heavy vehicle gone.

New missions/addon/driver3

We all know how bad d3 was and the development history let's fix that with a new 3 based off of 2 source code and story of 1 and 2
Would have to really think about it get a team together this be way in the future

Cutscene recorder tools

Game requires re-recording cutscenes since there are differences in physics engine calculations caused by compilers and reverse engineering itself.

Not only intro/outro mission cutscenes but chases also are utilizing cutscenes.

  • Implement cutscene loading as replay
  • Implement player (stream) switching
  • Make cutscene cameras work properly in replay and director
  • Store civ car pings (spawns) in buffers for chases
  • Save results back into cutscene file
  • Auto-testing original Reflections recordings
  • Auto-testing re-recorded chases

Controller mapping issues?

could you anyone help?, in redriver2 whenever i connect my ps2 controller, the camera goes revers, like pressing L2 AND R2, any solution?

Improve the PC keyboard controls, perhaps let the user choose it's configuration?

It would be nice if the keyboard controls could be changed into something better than the current configuration. Right now it's quite clunky to play this game if you don't use a gamepad. Perhaps add a .ini file which lets the user choose which key to bind?

Hope this gets improved in the future! Great work nonetheless!
EDIT: Sorry for the wrong label, the site chose automatically to label it as a bug. Oops!

[Psy-X] Playstation MDEC and ADPCM XAs support

Right now STR and XA files are converted from Playstation formats to simpler formats using JPSXDec software.

STR FMVs are converted to AVI files with MJPG encoding.
XAs are converted to WAV files.

Game needs to have both original files and converted to be supported.

Decompiled code refactoring progress

The game goes through refactoring after decompilation process.
Before making any changes to code it is highly advised to use the code which you can understand and edit freely.

ASM\ASMTEST.MIP / RNDRASM.MIP

  • SetCameraVector
  • Apply_Inv_CameraMatrix
  • Apply_InvCameraMatrixSetTrans
  • Apply_InvCameraMatrixAndSetMatrix
  • FrustrumCheck16
  • FrustrumCheck

ASM\RNC_2.MIP / COMPRES.MIP

  • decomp_asm
  • UnpackRNC - unpacks RNC method 2 data
  • Unpack

C\AI.C

  • StoreGameFlags
  • TannerCanEnterCar
  • TannerStuckInCar

C\BCOLL3D.C

  • PointFaceCheck
  • collided3d
  • CarCarCollision3

C\BCOLLIDE.C

  • bcollided2d
  • bFindCollisionPoint
  • bFindCollisionTime
  • ApplyDamage
  • DamageCar3D
  • DamageCar
  • CarBuildingCollision

C\BOMBERMAN.C

  • InitThrownBombs
  • HandleThrownBombs
  • DrawThrownBombs
  • BombThePlayerToHellAndBack
  • BombCollisionCheck
  • ExplosionCollisionCheck
  • AddFlash

C\CAMERA.C

  • InitCamera
  • ModifyCamera
  • CameraCollisionCheck
  • TurnHead
  • PlaceCameraFollowCar
  • PlaceCameraAtLocation
  • PointAtTarget
  • PlaceCameraInCar
  • OK_To_Zoom
  • SetBasePos

C\CARS.C

  • plotNewCarModel
  • plotCarPolyB3
  • plotCarPolyFT3
  • plotCarPolyGT3
  • plotCarPolyGT3nolight
  • DrawCar
  • DrawCarObject
  • DrawCarWheels
  • DrawWheelObject
  • PlayerCarFX
  • ComputeCarLightingLevels
  • buildNewCars
  • buildNewCarFromModel
  • MangleWheelModels
  • setupLightingMatrices
  • restoreLightingMatrices
  • GetCarPalIndex

C\CELL.C

  • ClearCopUsage
  • GetFirstPackedCop
  • GetNextPackedCop
  • UnpackCellObject

C\CIV_AI.C

  • InitCar
  • FindClosestCar
  • NotTravellingAlongCurve
  • CivCarFX
  • GetNextRoadInfo
  • InitNodeList
  • GetNodePos
  • CheckChangeLanes
  • CreateNewNode
  • InitCivState
  • PingOutCar
  • PingOutAllSpecialCivCars
  • PingOutAllCivCarsAndCopCars
  • CheckPingOut
  • SetUpTrafficLightPhase
  • TrafficLightCycle
  • InitCivCars
  • CreateCivCarWotDrivesABitThenStops
  • CreateStationaryCivCar
  • PingInCivCar
  • AttemptUnPark
  • CivControl
  • CivAccelTrafficRules
  • SetUpCivCollFlags
  • CivAccel
  • CivSteerAngle
  • CivFindStation
  • CivFindPointOnPath
  • CreateRoadblock

C\CONVERT.C

  • Calc_Object_MatrixYZX
  • _RotMatrixX
  • _RotMatrixY
  • _RotMatrixZ
  • RotMatrixXYZ
  • _MatrixRotate
  • InvertMatrix
  • BuildWorldMatrix
  • ScaleCamera
  • Getlong
  • RandomInit
  • Random2

C\COP_AI.C

  • InitCopState
  • ReplayLog_Fnarr_He_Said_Log
  • WibbleDownTheRoad
  • InitCops
  • ControlCops
  • CopControl
  • CopControl1
  • FindCost
  • InitCopData
  • UpdateCopSightData
  • ControlCopDetection
  • PassiveCopTasks
  • ControlNumberOfCops

C\COSMETIC.C

  • LoadCosmetics
  • ProcessCosmeticsLump
  • AddReverseLight
  • SetupSpecCosmetics
  • AddIndicatorLight
  • AddBrakeLight
  • AddCopCarLight
  • AddNightLights
  • AddSmokingEngine
  • AddFlamingEngine

C\CUTSCENE.C

  • InitInGameCutsceneVariables
  • HandleInGameCutscene
  • DrawInGameCutscene
  • TriggerChase
  • TriggerInGameCutscene
  • CalcInGameCutsceneSize
  • ReleaseInGameCutscene
  • PreLoadInGameCutscene
  • CutsceneCameraChange
  • LoadInGameCutscene
  • TriggerInGameCutsceneSystem
  • SetNullPlayer
  • SetNullPlayerDontKill
  • DestroyPlayer
  • FindNextCutChange
  • LoadCutsceneToReplayBuffer
  • LoadCutsceneToBuffer
  • ShowCutsceneError
  • LoadCutsceneInformation
  • FreeCutsceneBuffer
  • IsCutsceneResident

C\DEBRIS.C

  • PlacePoolForCar
  • AllocateLeaf
  • ReleaseLeaf
  • AddLeaf
  • SwirlLeaves
  • InitDebrisNames
  • InitDebris
  • AllocateDebris
  • ReleaseDebris
  • AllocateSmoke
  • ReleaseSmoke
  • AddGroundDebris
  • DrawSmashable_sprites
  • MoveSmashable_object
  • AddSmallStreetLight
  • AddLightEffect
  • PreLampStreak
  • find_lamp_streak
  • damage_lamp
  • damage_object
  • AddTrafficLight
  • InitFXPos
  • FindCarLightFade
  • ShowCarlight
  • ShowLight1
  • ShowLight
  • ShowGroundLight
  • RoundShadow
  • ShowFlare
  • DisplayWater
  • DisplaySpark
  • GetSmokeDrift
  • Setup_Debris
  • Setup_Smoke
  • Setup_Sparks
  • DisplayDebris
  • HandleDebris
  • DisplaySmoke
  • add_haze
  • SetupRain
  • AllocateRainDrop
  • ReleaseRainDrop
  • DrawRainDrops
  • AddRainDrops
  • DisplaySplashes
  • DisplayLightReflections
  • DoLightning
  • InitThunder
  • RequestThunder
  • DoThunder
  • DoWeather
  • GetDebrisColour
  • InitialiseDenting

C\DENTING.C

  • DentCar
  • CreateDentableCar
  • InitHubcap
  • LoseHubcap
  • MoveHubcap
  • LoadDenting
  • ProcessDentLump
  • SetupSpecDenting

C\DIRECTOR.C

  • InitDirectorVariables
  • DeleteCurrentCamera
  • setCamera
  • EditCamera
  • RecordCamera
  • FindNextChange
  • CheckCameraChange
  • SetPlaybackCamera
  • IsMovingCamera
  • CameraBar
  • FindFreeCamera
  • deleteCamera
  • DeleteAllCameras
  • ShowIcons
  • ShowReplayOptions
  • ShowReplayMenu
  • ControlReplay
  • DoAutoDirect
  • SelectCameraCar
  • InvalidCamera
  • NoMoreCamerasErrorMessage
  • FirstCamera
  • dist
  • SetCameraReturnedFromCutscene

C\DR2ROADS.C

  • ProcessStraightsDriver2Lump
  • ProcessCurvesDriver2Lump
  • ProcessJunctionsDriver2Lump
  • MapHeight
  • FindSurfaceD2
  • sdHeightOnPlane
  • GetSurfaceIndex
  • FindRoadInBSP
  • RoadInCell
  • sdGetCell
  • sdGetBSP

C\DRAW.C

  • addSubdivSpriteShadow
  • DrawSprites
  • DrawMapPSX
  • SetupPlaneColours
  • SetupDrawMapPSX
  • InitFrustrumMatrix
  • SetFrustrumMatrix
  • Set_Inv_CameraMatrix
  • CalcObjectRotationMatrices
  • PlotMDL_less_than_128
  • ProcessMapLump
  • DrawAllTheCars
  • PlotBuildingModelSubdivNxN
  • DrawAllBuildings
  • RenderModel
  • normalIndex

C\DRIVINGGAMES.C

  • InitDrivingGames
  • HandleDrivingGames
  • DrawDrivingGames
  • CarConeCollision
  • SetSmashedCone
  • MoveSmashedCones
  • DrawSmashedCones
  • DrawCone
  • DrawSmashedCone
  • GetConePos

C\E3STUFF.C

  • ShowHiresScreens
  • FadeInHiresScreen
  • FadeOutHiresScreen
  • SetupDefDrawEnv
  • SetupDefDispEnv
  • SetPleaseWait
  • CheckForCorrectDisc

C\ENVIRO.C

  • Env_MakeColourAddTable - unused leftover from D1
  • Init_Reflection_Mapping - unused leftover from D1

C\ENVSOUND.C

  • AddEnvSounds

C\EVENT.C

  • GetVisValue
  • VisibilityLists
  • SetElTrainRotation
  • InitTrain
  • InitDoor
  • InitEvents
  • SetUpEvents
  • InitEventCamera
  • ResetEventCamera
  • SetCamera
  • EventCollisions
  • NextNode
  • StepFromToEvent
  • StepPathEvent
  • GetBridgeRotation
  • StepHelicopter
  • StepEvents
  • DrawFerrisWheel
  • DrawRotor
  • DrawEvents
  • BoatOffset
  • OnBoat
  • EventSurface
  • MakeEventTrackable
  • TriggerDoor
  • TriggerEvent
  • OffsetTarget
  • SpecialCamera
  • ScreenShake
  • DetonatorTimer
  • MultiCarEvent

C\FELONY.C

  • InitFelonyDelayArray
  • InitFelonyData
  • GetCarHeading
  • GetCarDirectionOfTravel
  • NoteFelony
  • AdjustFelony
  • CheckPlayerMiscFelonies
  • InitFelonySystem
  • CarHitByPlayer

C\FMVPLAY.C

  • ReInitSystem
  • PlayFMV
  • PlayRender

C\GAMESND.C

  • LoadBankFromLump
  • CarHasSiren
  • SpecialVehicleKludge
  • ResidentModelsBodge
  • MapCarIndexToBank
  • LoadLevelSFX
  • StartGameSounds
  • GetEngineRevs
  • ControlCarRevs
  • DoSpeech
  • PlaySpeech
  • InitSpeechQueue
  • ControlSpeech
  • CopSay
  • BodSay
  • MissionSay
  • jsqrt
  • InitDopplerSFX
  • DoDopplerSFX
  • DoPoliceLoudhailer
  • CollisionSound
  • ExplosionSound
  • JerichoSpeak
  • FunkUpDaBGMTunez
  • SoundTasks
  • InitMusic
  • InitTunnels
  • AddTunnel
  • Tunnels
  • AddTunnels
  • InitEnvSnd
  • SetEnvSndVol
  • SetEnvSndPos
  • AddEnvSnd
  • IdentifyZone - floating point stuff
  • CalcEffPos - floating point stuff
  • CalcEffPos2 - floating point stuff
  • UpdateEnvSnd - floating point stuff
  • InitLeadHorn
  • LeadHorn

C\GLAUNCH.C

  • GameStart
  • StartRender
  • ReInitFrontend
  • RunMissionLadder
  • GetRandomChase
  • FindPrevMissionFromLadderPos
  • LaunchGame
  • FindMissionLadderPos

C\HANDLING.C

  • InitCarPhysics
  • TempBuildHandlingMatrix
  • UpdateCarPoints
  • FixCarCos
  • GlobalTimeStep
  • SetShadowPoints
  • LongQuaternion2Matrix
  • initOBox
  • RebuildCarMatrix
  • StepCarPhysics
  • InitialiseCarHandling
  • CheckCarToCarCollisions
  • ProcessCarPad
  • InitSkidding
  • TerminateSkidding
  • CheckCarEffects
  • jump_debris
  • nose_down
  • GetPlayerId

C\JOB_FX.C

  • InitExObjects
  • AddExplosion
  • HandleExplosion
  • DrawAllExplosions
  • initExplosion
  • DrawExplosion

C\LEADAI.C (LEAD.BIN overlay)

  • leadRand
  • InitLead
  • LeadUpdateState
  • LeadPadResponse
  • FakeMotion
  • PosToIndex
  • BlockToMap
  • IsOnMap
  • UpdateRoadPosition
  • CheckCurrentRoad
  • SetTarget
  • SelectExit
  • FreeRoamer
  • hypot

C\LOADSAVE.C

  • CalcReplayDataSize
  • SaveReplayData
  • LoadReplayData
  • CalcGameDataSize
  • SaveGameData
  • LoadGameData
  • CalcConfigDataSize
  • SaveConfigData
  • LoadConfigData

C\LOADVIEW.C

  • ShowLoading
  • SetupScreenFade
  • FadeGameScreen
  • ShowLoadingScreen
  • CloseShutters
  • SetupFadePolys
  • DrawFadePoly
  • DisplayMissionTitle

C\MAIN.C

  • ProcessLumps
  • LoadGameLevel
  • InitModelNames
  • GameInit
  • StepSim
  • GameLoop
  • StepGame
  • DrawGame
  • EndGame
  • EnablePause
  • CheckForPause
  • main
  • FadeScreen
  • UpdatePlayerInformation
  • RenderGame2
  • RenderGame
  • InitGameVariables
  • DealWithHorn
  • Havana3DOcclusion

C\MAP.C

  • NewProcessRoadMapLump
  • ProcessJunctionsLump
  • ProcessRoadsLump
  • ProcessRoadBoundsLump
  • ProcessJuncBoundsLump
  • FindModelPtrWithName
  • FindModelIdxWithName
  • InitCellData
  • newPositionVisible
  • PositionVisible
  • CheckUnpackNewRegions
  • ControlMap
  • InitMap
  • GetVisSetAtPosition
  • PVSDecode
  • GetPVSRegionCell2

C\MC_SND.C

  • GetMissionSound
  • RequestXA
  • HandleRequestedXA
  • InitializeCutsceneSound
  • DoCutsceneSound
  • InitializeMissionSound
  • DoMissionSound
  • SetMSoundVar
  • SilenceThisCar
  • AdjustPlayerCarVolume

C\MDRAW.C

  • DrawMission
  • DrawTimer
  • DisplayPlayerPosition
  • DrawMessage
  • DrawWorldTargets
  • DrawOverheadTargets
  • DrawFullscreenTargets
  • DrawMultiplayerTargets
  • DrawOverheadTarget
  • DrawFullscreenTarget
  • DrawWorldTarget
  • DrawMultiplayerTarget

C\MGENERIC.C

  • StoreEndData
  • RestoreStartData
  • StorePlayerPosition
  • RestorePlayerPosition
  • StoreCarPosition
  • RestoreCarPosition

C\MISSION.C

  • InitialiseMissionDefaults
  • LoadMission
  • HandleMission
  • HandleTimer
  • RegisterChaseHit
  • PauseMissionTimer
  • SetMissionMessage
  • SetPlayerMessage
  • TargetComplete
  • TargetActive
  • Swap2Cars
  • SetConfusedCar
  • HandleMissionThreads
  • MRCommand
  • MROperator
  • MRFunction
  • MRInitialiseThread
  • MRStartThread
  • MRStopThread
  • MRCommitThreadGenocide
  • MRJump
  • MRPush
  • MRPop
  • MRGetParam
  • MRGetVariable
  • MRSetVariable
  • MRProcessTarget
  • MRRequestCar
  • MRHandleCarRequests
  • MRCreateCar
  • MRCancelCarRequest
  • PreProcessTargets
  • Handle321Go
  • HandleGameOver
  • CompleteAllActiveTargets
  • SetMissionComplete
  • SetMissionFailed
  • SetMissionOver
  • ActivateNextFlag
  • CalcLapTime
  • SetCarToBeStolen
  • MakePhantomCarEqualPlayerCar

C\MODELS.C

  • ProcessMDSLump
  • ProcessCarModelLump
  • GetCarModel

C\MOTION_C.C

  • ProcessMotionLump
  • SetupPedMotionData
  • SetupPedestrian
  • DrawBodySprite
  • StoreVertexLists
  • SetupTannerSkeleton
  • newShowTanner
  • GetModelVertPtr
  • newRotateBones
  • DrawCiv
  • SetSkelModelPointers
  • DrawTanner
  • DrawCharacter
  • InitTannerShadow
  • TannerShadow
  • DoCivHead - rewritten from scratch
  • DrawObject - replaced with similar call
  • wjmDraw3 - replaced with similar call

C\OBJANIM.C

  • InitCyclingPals
  • ColourCycle
  • FindSmashableObjects
  • InitAnimatingObjects
  • InitSpooledAnimObj
  • int_garage_door
  • DrawAnimatingObject
  • animate_object
  • animate_garage_door

C\OBJCOLL.C

  • CellEmpty
  • GlobalPositionToCellNumber
  • CellAtPositionEmpty
  • RaySlabsIntersection
  • lineClear
  • SetCopListCell
  • BuildCollisionCopList
  • CollisionCopList
  • CheckScenaryCollisions
  • QuickBuildingCollisionCheck
  • DoScenaryCollisions

C\OVERLAY.C

  • InitOverlays
  • DisplayOverlays
  • SetFullscreenDrawing
  • InitPercentageBar
  • EnablePercentageBar
  • DrawPercentageBar
  • DrawProximityBar
  • SetColourByValue
  • TransparencyOn
  • UpdateFlashValue
  • DrawDrivingGameOverlays
  • PrintScoreTableTime

C\OVERMAP.C

  • DrawTargetBlip
  • DrawTargetArrow
  • DrawPlayerDot
  • ProcessOverlayLump
  • Long2DDistance
  • InitOverheadMap
  • DrawOverheadMap
  • DrawFullscreenMap
  • DrawCopIndicators
  • InitMultiplayerMap
  • DrawMultiplayerMap
  • WorldToMultiplayerMap
  • ProcessPalletLump
  • load_civ_palettes
  • FlashOverheadMap
  • LoadMapTile - requires UnpackRNC
  • SetMapPos
  • draw_box
  • DrawN
  • DrawCompass
  • DrawBigCompass
  • CopIndicator
  • DrawSightCone
  • WorldToOverheadMapPositions
  • SetFullscreenMapMatrix
  • WorldToFullscreenMap
  • WorldToFullscreenMap2

C\PAD.C

  • InitControllers
  • CloseControllers
  • ReadControllers
  • SetPadVibration
  • StopPadVibration
  • StopDualShockMotors
  • SetDuplicatePadData
  • MapPad
  • ClearPad
  • HandleDualShock
  • HandlePadVibration

C\PATHFIND.C (PATH.BIN overlay)

  • popNode
  • WunCell
  • InvalidateMap
  • BloodyHell
  • blocked
  • setDistance
  • iterate
  • InitPathFinding
  • getInterpolatedDistance
  • addCivs
  • UpdateCopMap
  • getHeadingToPlayer

C\PAUSE.C

  • ShowPauseMenu
  • DrawPauseMenus
  • SaveReplay
  • SaveGame
  • EnterName
  • MaxMenuStringLength
  • InitaliseMenu
  • SetupMenu
  • DrawVisibleMenus
  • ControlMenu
  • PauseMap
  • SfxVolume
  • MusicVolume
  • EnterScoreName
  • CreateScoreNames
  • DrawHighScoreMenu

C\PEDEST.C

  • IHaveThePower
  • ProcessTannerPad
  • InitTanner
  • SetTannerPosition
  • InitPedestrians
  • DestroyPedestrians
  • DestroyCivPedestrians
  • DestroyPedestrian
  • ActivatePlayerPedestrian
  • CreatePedestrian
  • PlaceRoadBlockCops
  • CreatePedAtLocation
  • DrawAllPedestrians
  • TannerActionHappening
  • ControlPedestrians
  • SetupDoNowt
  • SetupWalker
  • SetupRunner
  • SetupBack
  • CivGetIn
  • CopStand
  • PedDoNothing
  • PedUserRunner
  • PedUserWalker
  • PedCarryOutAnimation
  • PedGetOutCar
  • SetupGetOutCar
  • SetupGetInCar
  • PedGetInCar
  • SetupPressButton
  • PedPressButton
  • SetupTannerSitDown
  • TannerCameraHandler
  • TannerSitDown
  • AnimatePed
  • DeActivatePlayerPedestrian
  • CivPedDoNothing
  • SetupCivPedRouteData
  • PingInPedestrians
  • TannerCollision
  • FindPointOfCollision
  • TannerCarCollisionCheck
  • PingOutPed
  • SetupCivJump
  • CivPedJump
  • SetupCivPedWalk
  • CivPedWalk
  • CivPedSit
  • HandlePedestrians
  • PedestrianActionInit_WalkToTarget
  • CorrectPathPosition
  • CalcPedestrianDirection
  • IsPavement
  • SetPedestrianTurn
  • FindSeated
  • FindTannerASeat
  • add_seated
  • set_coll_box
  • BuildCarCollisionBox
  • CheckForCar
  • CheckForPlayerCar
  • CalculatePedestrianInterest
  • PedSurfaceType
  • ProcessChairLump

C\PLAYERS.C

  • InitPlayer
  • ChangeCarPlayerToPed
  • ChangePedPlayerToCar
  • UpdatePlayers
  • RequestSlightPauseBeforeCarSoundStarts
  • HaveCarSoundStraightAway
  • MakeTheCarShutUp

C\PRES.C

  • SetTextColour
  • StringWidth
  • OutputString
  • PrintStringRightAligned
  • PrintStringCentred
  • LoadFont
  • StoreClut2
  • SetCLUT16Flags
  • PrintString
  • PrintDigit
  • PrintStringFeature
  • PrintStringBoxed
  • InitButtonTextures
  • PrintScaledString
  • GetNextWord
  • DrawButton
  • SetFontTPage

C\REPLAYS.C

  • InitPadRecording
  • SaveReplayToBuffer
  • LoadReplayFromBuffer
  • LoadAttractReplay
  • GetPingInfo
  • valid_region
  • cjpPlay
  • cjpRecord
  • AllocateReplayStream
  • Get
  • Put
  • RecordWaypoint

C\ROADBITS.C

  • ROADS_GetRouteData

C\SCORES.C

  • InitialiseScoreTables
  • OnScoreTable
  • AddScoreToTable
  • CheckGetawayPlacing
  • CheckTrailblazerPlacing
  • CheckCheckpointPlacing
  • CheckSurvivalPlacing
  • ResetTable

C\SEARCH.C

  • InitTextureNames

C\SHADOW.C

  • InitTyreTracks
  • GetTyreTrackPositions
  • SetTyreTrackOldPositions
  • AddTyreTrack
  • DrawTyreTracks
  • InitShadow
  • SubdivShadow
  • PlaceShadowForCar
  • clipAgainstZ
  • clippedPoly
  • sQuad

C\SKY.C

  • LoadSky
  • DrawSkyDome
  • DisplaySun
  • DisplayMoon
  • DrawLensFlare
  • TunnelSkyFade
  • calc_sky_brightness
  • PlotSkyPoly
  • PlotHorizonMDL

C\SOUND.C

  • InitSound
  • ClearChannelFields
  • ResetSound
  • SetReverbState
  • SetReverbInGameState
  • SetReverbChannelState
  • SetPlayerOwnsChannel
  • StartSound
  • Start3DTrackingSound
  • Start3DSoundVolPitch
  • CompleteSoundSetup
  • SetChannelPitch
  • SetChannelVolume
  • ComputeDoppler
  • SetChannelPosition3
  • PauseXM
  • PauseSFX
  • PauseSound
  • UnPauseXM
  • UnPauseSFX
  • UnPauseSound
  • StopChannel
  • StopAllChannels
  • LockChannel
  • UnlockChannel
  • SoundHandler
  • LoadSoundBank
  • UpdateXMSamples
  • LoadSoundBankDynamic
  • FreeXM
  • StartXM
  • StopXM
  • SetXMVolume
  • GetFreeChannel
  • UpdateVolumeAttributesS
  • UpdateVolumeAttributesM
  • CalculateVolume
  • AllocateReverb
  • FESound
  • VsyncProc

C\SPOOL.C

  • test_changemode
  • changemode
  • check_regions_present
  • stopgame
  • startgame
  • DrawCDicon
  • CheckValidSpoolData
  • UpdateSpool
  • RequestSpool
  • InitSpooling
  • SendTPage
  • SpoolSYNC
  • LoadInAreaTSets
  • SendSBK
  • init_spooled_models
  • SetupModels
  • LoadInAreaModels
  • CheckLoadAreaData
  • ClearRegion
  • LoadRegionData
  • UnpackRegion
  • ProcessSpoolInfoLump
  • WaitCloseLid
  • FoundError
  • GotRegion
  • data_cb_textures
  • ready_cb_textures
  • ready_cb_regions
  • data_cb_regions
  • data_cb_soundbank
  • ready_cb_soundbank
  • data_cb_misc
  • ready_cb_misc
  • StartSpooling
  • unpack_cellpointers
  • Unpack_CellPtrs
  • SpecClutsSpooled
  • CleanModelSpooled
  • DamagedModelSpooled
  • LowModelSpooled
  • CleanSpooled
  • LowSpooled
  • Tada
  • SpecialStartNextBlock
  • CheckSpecialSpool
  • QuickSpoolSpecial
  • PrepareSecretCar
  • InitSpecSpool

C\SYSTEM.C

  • ClearMem
  • setMem8 - PSX implementation
  • setMem16 - PSX implementation
  • Init_FileSystem
  • DoCDRetry
  • Loadfile - PSX implementation
  • LoadfileSeg - PSX implementation
  • ReportMode
  • data_ready
  • sector_ready
  • loadsectors
  • EnableDisplay
  • DisableDisplay
  • SwapDrawBuffers
  • SwapDrawBuffers2
  • UpdatePadData
  • SetupDrawBuffers
  • SetupDrawBufferData
  • InitaliseDrawEnv
  • ResetCityType
  • SetCityType
  • FileExists
  • DiscSwapped

C\TARGETS.C

  • Draw3DTarget
  • DrawTargetArrowModel
  • DrawStopZone
  • WorldToCameraPositions

C\TEXTURE.C

  • IncrementClutNum
  • IncrementTPageNum
  • LoadTPageAndCluts
  • Find_TexID
  • GetTEXINFName
  • GetTextureInfoName
  • update_slotinfo
  • ProcessTextureInfo
  • LoadPermanentTPages
  • ReloadIcons
  • GetTextureDetails

C\TILE.C

  • Tile1x1
  • DrawTILES
  • makeMesh
  • drawMesh
  • SubdivNxM
  • TileNxN
  • ProcessSubDivisionLump
  • ProcessLowDetailTable

C\WHEELFORCES.C

  • StepCars
  • StepOneCar
  • GetFrictionScalesDriver1
  • ConvertTorqueToAngularAcceleration
  • AddWheelForcesDriver1

C\XAPLAY.C

  • GetMissionXAData
  • GetXAData
  • SetXAVolume
  • PrepareXA
  • PlayXA
  • XAPrepared
  • UnprepareXA
  • StopXA
  • cbready
  • ResumeXA
  • PauseXA

C\XMPLAY.C - replaced with PS2 backported version

FRONTEND\FEMAIN.C (FRONTEND.BIN overlay)

  • LoadFrontendScreens
  • LoadBackgroundFile
  • SetupBackgroundPolys
  • SetupScreenSprts
  • DrawScreen
  • DisplayOnScreenText
  • SetupExtraPoly
  • ReInitScreens
  • NewSelection
  • HandleKeyPress
  • PadChecks
  • DoFrontEnd
  • SetFEDrawMode
  • EndFrame
  • FEPrintString
  • FEPrintStringSized
  • CentreScreen
  • CarSelectScreen
  • CopDiffLevelScreen
  • VibroOnOffScreen
  • MissionSelectScreen
  • MissionCityScreen
  • CutSceneSelectScreen
  • CutSceneCitySelectScreen
  • SetVolumeScreen
  • DisplayScoreTable
  • ScoreScreen
  • SubtitlesOnOffScreen
  • CityCutOffScreen
  • ControllerScreen
  • MainScreen
  • CheatScreen
  • ImmunityOnOffScreen
  • InvincibleOnOffScreen
  • GamePlayScreen
  • GameNameScreen
  • FEInitCdIcon
  • FEDrawCDicon
  • CheatNumlayerSelect

Next sources are needed only for PSX version:

MEMCARD\DELETE.C

  • delete_file

MEMCARD\MCMAIN.C

  • CallMemoryCard
  • libcman_SelectSound
  • libcman_ConfirmSound
  • libcman_CancelSound
  • libcman_ErrorSound
  • libcman_InitControllerLibrary
  • libcman_DeInitControllerLibrary
  • libcman_ReadControllers
  • DoMemoryCard
  • LoadMemCardOverlay
  • StorePermanentTPage
  • RestorePermanentTPage
  • PutCorrectIcon

Additionally need to aqquire C++ version of libcman...

[Feature Request] Support for Different size images for textures

I'm trying to change loading screens of the game, when using same as original sizes works fine, but I've tried scaling it 2x, maybe a limitation of TIM format files?

Original:

LOADCHIC

In-game:
image

The solution could be:

  • Add support for png/jpeg/bmp images instead of TIM
    or
  • Add support for larger TIM files

In my humble opinion, Adding support for png images could make easier for HD mods....

In recent dev builds the Havana Pick Up Truck is very unstable

Current Dev Build: 5.4.194
I don't know if this is a known issue since the truck flat out crashed the game in dev builds before this one (after the last release build, 5.41), but the pickup truck currently messes up the textures of the environment, turns into a distorted inside out mesh when you start driving, then turns into a bus when you crash into something, and crashes the game when you hit restart or replay. I'm not sure but it also seems like this is the only way to spawn a pickup in the city. I haven't seen a single other one when driving around in recent dev builds.

Starting Game Issue

Describe the bug
Getting this error message:
image
PS: before this error it says vcruntime140.dll and msvcp140.dll was missing, so i've downloaded them and placed in the folder!

To Reproduce
I've followed installation instructions for windows:

  • downloaded disc 1 and 2 (according to described ISO ID)
  • extracted disc 1 into folder (with Iso software)
  • did the same with disc 2 and replaced files
  • extracted Redriver:
    image

Expected behavior
Game Starts

Desktop (please complete the following information):
Windows 10 x64

Planting the C4 in "Destroy the Yard" mission leads to a crash.

I was playing the last Las Vegas mission, Destroy the Yard and when I go to plant the first C4 the games freezes and then crashes.
For the note I had about 50 seconds in the mission timer and I planted the C4 on the truck on your left when entering the building.

I can't get any additional information as the game just simply dies without even leaving the command prompt open. I'm using the latest github release with the version 1.0 NTSC of Driver 2.

I already completed the game, and this is my second run of the story mode. I'm not playing this mission through the Replay Mission list.

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

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

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

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

  • D3 photo D3

    Data-Driven Documents codes.