Commit Graph

535 Commits

Author SHA1 Message Date
Ilya Shurumov
fe4722dca8 - implement UnpackCellObject
- use UnpackCellObject in DrawMapPSX
- change some types for better understanding the code
2020-04-29 13:10:39 +06:00
Ilya Shurumov
ec6491bb87 - implement CollisionCopList 2020-04-29 13:09:20 +06:00
Ilya Shurumov
234243fbc6 - implement CheckScenaryCollisions 2020-04-29 00:00:25 +06:00
Ilya Shurumov
f56fe13348 - fix bug in ClearRegion 2020-04-28 12:56:10 +06:00
Ilya Shurumov
5535f1f069 - allow secret cars in DEBUG 2020-04-28 12:48:18 +06:00
Ilya Shurumov
4d23f39aac - pretty InitPlayer & UpdatePlayers 2020-04-28 12:48:04 +06:00
Ilya Shurumov
d1b19bddb5 - implement ProcessOverlayLump, InitOverheadMap, DrawMultiplayerMap 2020-04-27 21:38:04 +06:00
Ilya Shurumov
64b0464c0e - fix wheels and shadow OT index
- update Ghidra DB
2020-04-27 21:37:24 +06:00
Ilya Shurumov
b56d325bee - Proper aspect ratio dependent on window size 2020-04-27 19:56:49 +06:00
Ilya Shurumov
52c04e46de - [EMU] added Emulator_GetScreenSize
- [EMU] use better SPU constants
2020-04-27 19:56:18 +06:00
Ilya Shurumov
447a281220 - fix DrawTILES detail levels 2020-04-27 19:18:11 +06:00
Ilya Shurumov
2181519b65 - non-hardcoded LEV loader for PC version 2020-04-27 16:53:17 +06:00
Ilya Shurumov
09ff4d28af - better VSync handling for PC 2020-04-27 16:30:14 +06:00
Ilya Shurumov
6ae1468c71 - experimental Driver 1 LEV lumps support 2020-04-27 16:29:53 +06:00
Ilya Shurumov
989430b4af - debug keys to change draw distance 2020-04-27 13:53:49 +06:00
Ilya Shurumov
2973e1bbb7 - [EMU] game debug keys support 2020-04-27 13:53:23 +06:00
Ilya Shurumov
0fdd119bcf - fix my nasty bug in InitSkidding 2020-04-27 13:12:59 +06:00
Ilya Shurumov
b60bf33226 - replace shifts with divisions and miltiplies in SetupDrawMapPSX & ControlMap 2020-04-27 13:12:32 +06:00
Ilya Shurumov
e63eceb816 - pretty ClearRegion and less pretty ProcessSpoolInfoLump 2020-04-27 13:11:19 +06:00
Ilya Shurumov
f90b5b8597 - fix AddWheelForcesDriver1 and CheckCarEffects 2020-04-27 11:52:16 +06:00
Ilya Shurumov
aee9488db4 - [EMU] warn if SpuWrite exceeds memory 2020-04-27 11:51:38 +06:00
Ilya Shurumov
792c9b817e - implement InitSkidding, TerminateSkidding, CheckCarEffects
- marked LoadSoundBankDynamic as BUGGED
- [EMU] little attempt to fix SPU sample lookup
2020-04-27 11:27:09 +06:00
Ilya Shurumov
b6ef02f957 - change shifts to divisions in SOUND.C 2020-04-27 10:36:34 +06:00
Ilya Shurumov
a966e73cb2 - fix SoundTasks, MapCarIndexToBank 2020-04-27 10:36:11 +06:00
Ilya Shurumov
10a4ec93ff - [EMU] fix decodeSound 2020-04-27 10:35:09 +06:00
Ilya Shurumov
bd8004ee4f - implement ResidentModelsBodge, CollisionSound, SoundTasks, AddEnvSounds
- fix ControlCarRevs
2020-04-27 09:19:08 +06:00
Ilya Shurumov
26be016644 - [EMU] libSPU fixes 2020-04-27 09:16:59 +06:00
Ilya Shurumov
0303c128b0 - implement LoadSoundBank, ComputeDoppler, SetPlayerOwnsChannel
- fix ClearChannelFields
2020-04-27 05:28:49 +06:00
Ilya Shurumov
1a675344a9 - implement LoadLevelSFX, MapCarIndexToBank, SpecialVehicleKludge 2020-04-27 05:28:02 +06:00
Ilya Shurumov
90fbda26f5 - pretty code in SPOOL.C 2020-04-27 05:27:02 +06:00
Ilya Shurumov
12c7b4fcf8 - little fix to HAVANA_AUGUST_DEMO 2020-04-26 18:36:53 +06:00
Ilya Shurumov
ba6f1753b5 - DEBUG_OPTIONS define to enable Debug Options in Release build 2020-04-26 18:20:35 +06:00
Ilya Shurumov
d3a7a5dbdd - added experimental loading of Aug 2000 Demo LEV files (#define switch) 2020-04-26 18:19:33 +06:00
Ilya Shurumov
6d8a0eb6ee - fix StepOneCar ground collision crash 2020-04-26 18:18:30 +06:00
Ilya Shurumov
503ca5d5ea - fix debug options 2020-04-26 16:23:48 +06:00
Ilya Shurumov
9381e7d6fb - fix pause SetRightWayUp 2020-04-26 16:17:24 +06:00
Ilya Shurumov
f16974ea2c - implement TempBuildHandlingMatrix 2020-04-26 16:10:54 +06:00
Ilya Shurumov
0d13f079ca - "Debug Options" menu 2020-04-26 16:07:37 +06:00
Ilya Shurumov
6021da941d - implement calc_sky_brightness 2020-04-26 16:06:34 +06:00
Ilya Shurumov
04524b7aee - [EMU] properly implement SquareRoot0 2020-04-26 13:48:02 +06:00
Ilya Shurumov
fa08875342 - implement UpdateVolumeAttributesS 2020-04-26 13:15:43 +06:00
Ilya Shurumov
fdf1de4bea - implement jsqrt 2020-04-26 13:14:44 +06:00
Ilya Shurumov
06dacfd09d - implement StartSound, Start3DTrackingSound, Start3DSoundVolPitch, SetChannelPitch, SetChannelVolume, SetChannelPosition3
- complete CalculateVolume
2020-04-26 13:06:59 +06:00
Ilya Shurumov
028adb3726 - [EMU] implement SquareRoot0 2020-04-26 13:04:44 +06:00
Ilya Shurumov
1d675380d5 - [EMU] SpuSetVoiceAttr sets gain 2020-04-26 12:39:22 +06:00
Ilya Shurumov
36e74ac953 - implement DoSpeech, PlaySpeech, InitSpeechQueue, BodSay, MissionSay, InitTunnes, AddTunnels 2020-04-26 12:15:53 +06:00
Ilya Shurumov
2a6d355bc8 - implement GetEngineRevs, ControlCarRevs 2020-04-26 12:02:35 +06:00
Ilya Shurumov
888a684b55 - fix camera bug in InitCamera 2020-04-26 07:01:04 +06:00
Ilya Shurumov
e3a3a05278 - fix wheelspin 2020-04-26 06:45:02 +06:00
Ilya Shurumov
a8e611b83a - make LIBMATH include math 2020-04-26 06:44:42 +06:00
Ilya Shurumov
6c127bc502 - fix math in InitCarPhysics, GlobalTimeStep, initOBox, RebuildCarMatrix 2020-04-26 06:35:23 +06:00
Ilya Shurumov
9321f6f067 - fix math in StepOneCar, GetFrictionScalesDriver1, ConvertTorqueToAngularAcceleration, AddWheelForcesDriver1 2020-04-26 06:34:50 +06:00
Ilya Shurumov
b8028d4faf - remove semi transparent flag from text on PC version 2020-04-26 06:33:43 +06:00
Ilya Shurumov
222c8e1e59 - emulator swap interval to 60 FPS
- Ghidra DB update
2020-04-26 06:33:15 +06:00
Ilya Shurumov
cfa37cc027 - 80% of AddWheelForcesDriver1 human-readable 2020-04-26 00:27:08 +06:00
Ilya Shurumov
7154cde8c8 - two versions of AddWheelForcesDriver1 2020-04-25 21:44:42 +06:00
Ilya Shurumov
6f1f7c0e1b - fix addSubdivSpriteShadow 2020-04-23 22:36:52 +06:00
Ilya Shurumov
115583e96e - fixed drawCarMat calculation 2020-04-23 14:31:38 +06:00
Ilya Shurumov
d6f4b22732 - Latest emulator updates (inc PGXP) 2020-04-23 13:25:56 +06:00
Ilya Shurumov
71cefc98a7 - implement AddWheelForcesDriver1 2020-04-23 07:05:31 +06:00
Ilya Shurumov
2ad666e37e - implement ConvertTorqueToAngularAcceleration 2020-04-23 00:52:39 +06:00
Ilya Shurumov
9e093bc1ae - implement StepOneCar 2020-04-23 00:18:27 +06:00
Ilya Shurumov
bc1c4f67e1 - implement GlobalTimeStep 2020-04-22 22:28:10 +06:00
Ilya Shurumov
76c76fd739 - implement StepCars 2020-04-22 21:33:38 +06:00
Ilya Shurumov
4c3ee00077 - fix crashes caused by sprite shadows 2020-04-22 21:10:25 +06:00
Ilya Shurumov
f1140cf693 - implement addSubdivSpriteShadow, fix DrawSprites 2020-04-22 20:56:03 +06:00
Ilya Shurumov
e4910a05c5 - partially implement DrawSprites 2020-04-22 19:50:56 +06:00
Ilya Shurumov
6c91fa9d09 - fix shadow Z value
- fix shadow poly declaration
2020-04-22 19:31:19 +06:00
Ilya Shurumov
494419a28f - scaled drawCarMat by (-1,1,-1) 2020-04-22 16:20:05 +06:00
Ilya Shurumov
4b72834e2d - implement SubdivShadow, PlaceShadowForCar 2020-04-22 16:19:32 +06:00
Ilya Shurumov
a0e73af66d - implement InitShadow, SetShadowPoints 2020-04-22 14:24:52 +06:00
Ilya Shurumov
ecd8d93f3c - implement GetTEXINFName, GetTextureInfoName 2020-04-22 14:07:28 +06:00
Ilya Shurumov
7bb37e30f1 - implement CheatNumlayerSelect, GameNameScreen, GamePlayScreen
- implement InvincibleOnOffScreen, ImmunityOnOffScreen
- implement CheatScreen, ControllerScreen, SubtitlesOnOffScreen, DisplayScoreTable, ScoreScreen
2020-04-22 14:05:07 +06:00
Ilya Shurumov
687fa6c18d - Big Rigs car controls 2020-04-21 21:29:38 +06:00
Ilya Shurumov
5d4d9229f2 - implement InitHubcap 2020-04-21 21:29:28 +06:00
Ilya Shurumov
bfbe9a4175 - implement FildModelPtrWithName, InitModelNames 2020-04-21 21:29:10 +06:00
Ilya Shurumov
6100845a24 - implement DrawCarWheels, DrawWheelObject, MangleWheelModels 2020-04-21 21:28:52 +06:00
Ilya Shurumov
861c02fb9b - fix plotCarPolyGT3nolight 2020-04-21 19:34:33 +06:00
Ilya Shurumov
dd8ec1e0c0 - fix buildNewCarFromModel 2020-04-21 19:10:37 +06:00
Ilya Shurumov
75ac221862 - implement plotCarPolyB3, plotCarPolyFT3 2020-04-21 18:41:10 +06:00
Ilya Shurumov
3fe8bc5498 - implement UpdateCarPoints, FixCarCos 2020-04-21 18:17:12 +06:00
Ilya Shurumov
9c5f0fc41f - implement CreateDentableCar 2020-04-21 17:06:40 +06:00
Ilya Shurumov
8b1125726d - implement ComputeCarLightingLevels, setupLightMatrices, restoreCarMatrices 2020-04-21 17:06:02 +06:00
Ilya Shurumov
947e6eeef6 - added gte macros 2020-04-21 17:04:42 +06:00
Ilya Shurumov
46cb33c64c - hardcode PositionVisible 2020-04-20 20:54:18 +06:00
Ilya Shurumov
d02dcb44c5 - implement DrawCar, FrustrumCheck 2020-04-20 20:14:50 +06:00
Ilya Shurumov
f435f2dbc2 - implement DrawAllTheCars 2020-04-20 19:41:26 +06:00
Ilya Shurumov
567a693408 - fix primTab sizes thanks to DrawAllTheCars 2020-04-20 19:38:29 +06:00
Ilya Shurumov
5760fca7bb - implement DrawCarObject 2020-04-20 19:29:39 +06:00
Ilya Shurumov
f6ee2794c3 - implement plotCarPolyGT3nolight 2020-04-20 19:18:15 +06:00
Ilya Shurumov
d3523440ab - implement buildNewCarFromModel, plotNewCarModel, plotCarPolyGT3 2020-04-20 19:05:11 +06:00
Ilya Shurumov
7014cde896 - enable ProcessDentLump 2020-04-20 19:04:17 +06:00
Ilya Shurumov
e19a9c2be1 - fix possible bugs 2020-04-20 14:19:24 +06:00
Ilya Shurumov
8b56c9699e - implement DrawTimer, HandleTimer, PrintDigit
- disable SetCLUT16Flags on PC
2020-04-20 13:09:59 +06:00
Ilya Shurumov
e2a0f6198c - implement HandleMission, Handle321Go 2020-04-20 13:09:07 +06:00
Ilya Shurumov
65799c4d5f - fix drowned fadeout death 2020-04-20 12:34:37 +06:00
Ilya Shurumov
8497190dfa - revert GameStart code to decompiled 2020-04-20 11:57:35 +06:00
Ilya Shurumov
e432478a35 - implement sdHeightOnPlane, sdGetCell, ProcessCurvedDriver2Lump 2020-04-20 11:14:19 +06:00
Ilya Shurumov
a3580168c2 - fix GameInit not setting mallocptr
- Spool query debug
- unpack_cellpointers is better now
2020-04-20 10:55:53 +06:00
Ilya Shurumov
038d01f63b - [EMU] replacing rcos and rsin with 'isin' implementation from PSn00bSDK 2020-04-20 09:01:22 +06:00
Ilya Shurumov
ebf17cc0d5 - implement SetupPlaneColours 2020-04-19 20:01:12 +06:00
Ilya Shurumov
334f09d288 - fix CheckLoadAreaData 2020-04-19 18:44:26 +06:00
Ilya Shurumov
54a642e318 - Spool fixes
- bring back all trap() calls
2020-04-19 18:32:14 +06:00
Ilya Shurumov
8f13b227f6 - fix bug in CheckSpecialSpool 2020-04-19 17:01:51 +06:00
Ilya Shurumov
dca50e21ad - level spooler callback changes to mutex 2020-04-19 16:53:18 +06:00
Ilya Shurumov
8c6abfe709 - fix bugs and compilation 2020-04-19 16:53:03 +06:00
Ilya Shurumov
f263680202 - [EMU] implement StoreImage2 2020-04-19 16:52:14 +06:00
Ilya Shurumov
d00d513c04 - implement GetTextureDetails 2020-04-19 16:11:42 +06:00
Ilya Shurumov
cb5d29f1a7 - implement InitDebrisNames, 2020-04-19 16:11:33 +06:00
Ilya Shurumov
5be00df302 - implement StoreClut2, SetCLUT16Flags, PrintScaledString 2020-04-19 16:07:53 +06:00
Ilya Shurumov
8eac378770 - completely disable PVSDecode - needs DEBUGGING! 2020-04-19 14:03:23 +06:00
Ilya Shurumov
2355e6c18d - free camera controls 2020-04-19 14:03:01 +06:00
Ilya Shurumov
c38b8924a7 - fix StepSim 2020-04-19 14:02:36 +06:00
Ilya Shurumov
30c8afa976 - fix InitCar 2020-04-19 14:02:27 +06:00
Ilya Shurumov
a3ae25b518 - DrawTILES temporarily draws tiles as they are 2020-04-19 14:00:26 +06:00
Ilya Shurumov
ad962d1cf6 - temporariy allow all cities 2020-04-19 13:59:51 +06:00
Ilya Shurumov
43677d1cd8 - implement Tile1x1 2020-04-19 13:03:20 +06:00
Ilya Shurumov
f2c8cf8686 - fix FrustrumCheck16 2020-04-19 12:08:54 +06:00
Ilya Shurumov
0f1ca7211e - fix data_cb_textures 2020-04-19 11:16:12 +06:00
Ilya Shurumov
4e808b11c4 - temporarily disabled PVSDecode 2020-04-19 11:16:01 +06:00
Ilya Shurumov
aaffaf87ec - fix GetPVSRegionCell2 2020-04-19 10:32:23 +06:00
Ilya Shurumov
8e69068c71 - improvements? 2020-04-19 08:20:39 +06:00
Ilya Shurumov
718cf79353 - [EMU] fix MulMatrix0
- addded gte_MulMatrix0
2020-04-19 08:16:03 +06:00
Ilya Shurumov
31a9301b20 - implement CalcObjectRotationMatrices 2020-04-18 06:39:00 +06:00
Ilya Shurumov
f1d26a3b1b - refactoring PlotHorizonMDL, fixed Z issue 2020-04-18 06:16:30 +06:00
Ilya Shurumov
38af1660ff - cleanup code a bit 2020-04-18 03:12:12 +06:00
Ilya Shurumov
a83e12fd44 - fix GTE ops in InitCamera, initOBox 2020-04-18 02:57:53 +06:00
Ilya Shurumov
4177c9af3d - implement LongQuaternion2Matrix
- fix LongQuaternion2Matrix
2020-04-18 02:41:26 +06:00
Ilya Shurumov
79d27f4cf2 - implement InitCarPhysics, RebuildCarMatrix 2020-04-18 02:16:10 +06:00
Ilya Shurumov
fd2209d69a - implement UpdatePlayers 2020-04-18 02:03:48 +06:00
Ilya Shurumov
318ced465e - implement StepSim 2020-04-18 01:55:41 +06:00
Ilya Shurumov
88b4ba3bcf - implement InitFelonyDelayArray, GetCarHeading, GetCarDirectionOfTravel 2020-04-18 01:55:31 +06:00
Ilya Shurumov
c18f549148 - implement UpdatePlayerInformation 2020-04-18 00:54:55 +06:00
Ilya Shurumov
5b2b242613 - implement CloseShutters, SetupFadePolys, DrawFadePoly, DisplayMissionTitle
- LOADVIEW.C fully decompiled
2020-04-18 00:44:01 +06:00
Ilya Shurumov
79849de4a1 - implement DrawMission, DisplayPlayerPosition, DrawMessage, DrawWorldTargets, DrawFullscreenTargets, DrawMultiplayerTargets, DrawOverheadTarget 2020-04-18 00:27:24 +06:00
Ilya Shurumov
f429479ac9 - implement ModifyCamera, TurnHead 2020-04-18 00:02:24 +06:00
Ilya Shurumov
351976215b - sky globals renames 2020-04-17 23:14:50 +06:00
Ilya Shurumov
4ee57f00f3 - implement StepGame 2020-04-17 23:14:36 +06:00
Ilya Shurumov
6a05bf7db0 - implement _RotMatrixX, _RotMatrixY, _RotMatrixZ, RotMatrixXYZ 2020-04-17 04:54:10 +06:00
Ilya Shurumov
357d41dc81 - [EMU] implement RotMatrixX, RotMatrixZ 2020-04-17 04:53:42 +06:00
Ilya Shurumov
90454fe78a - properly implement MulMatrix0 2020-04-17 04:27:29 +06:00
Ilya Shurumov
00933aed4b - implement PlaceCameraFollowCar 2020-04-17 01:50:53 +06:00
Ilya Shurumov
a2ae245f86 - implement DoScenaryCollisions, BuildCollisionCopList, SetCopListCell, RaySlabsIntersection, CellAtPositionEmpty 2020-04-17 01:49:56 +06:00
Ilya Shurumov
6c6446a99c - [EMU] implement ratan_tbl 2020-04-17 01:48:28 +06:00
Ilya Shurumov
01388d3b1d - implement InitCar (partially) 2020-04-17 01:27:17 +06:00
Ilya Shurumov
4ff4c06082 - implement InitPlayer 2020-04-17 01:15:33 +06:00
Ilya Shurumov
56d2a0de15 - implement InitCamera 2020-04-17 01:14:56 +06:00
Ilya Shurumov
3cf1c7fb5b - implement InvertMatrix, BuildWorldMatrix, ScaleCamera 2020-04-17 00:20:21 +06:00
Ilya Shurumov
0bb37aadce - implement DrawSkyDome, PlotHorizonMDL 2020-04-17 00:19:33 +06:00
Ilya Shurumov
9be2d67e13 - [EMU] implement RotMatrixYXZ, RotMatrixY 2020-04-17 00:18:21 +06:00
Ilya Shurumov
6418d4d88f - implement DrawTILES, TileNxN 2020-04-15 20:15:54 +06:00
Ilya Shurumov
81a14e5d32 - [EMU] add signed GTE functions 2020-04-15 19:47:00 +06:00
Ilya Shurumov
7320469b5f - fix DrawMapPSX 2020-04-15 19:32:48 +06:00
Ilya Shurumov
7fce162ef3 - implement Apply_InvCameraMatrixSet* (2 ASM funcs) 2020-04-15 19:30:14 +06:00
Ilya Shurumov
5b9158f66f - implement SetCameraVector, Apply_Inv_CameraMatrix, FrustrumCheck16 2020-04-15 19:14:24 +06:00
Ilya Shurumov
45683cd95c - complete implementing DrawMapPSX 2020-04-15 18:51:36 +06:00
Ilya Shurumov
c0ee4bdb45 - [EMU] CFC2 and gte_ReadRotMatrix() 2020-04-15 18:50:49 +06:00
Ilya Shurumov
7a27e36fab - implement InitFrustrumMatrix, SetFrustrumMatrix, Set_Inv_CameraMatrix 2020-04-15 18:27:49 +06:00
Ilya Shurumov
9de4d04e2e - [EMU] implement rcos, rsin, MulMatrix0 2020-04-15 18:27:12 +06:00
Ilya Shurumov
b4a840b5b6 - GTE inline.c macros rewrites
- update Ghidra DB
2020-04-15 18:26:31 +06:00
Ilya Shurumov
257606b8a8 - implement PVSDecode
- fix GetPVSRegionCell2
2020-04-13 23:15:07 +06:00
Ilya Shurumov
0d8a324fe8 - fix ControlMap 2020-04-13 21:29:32 +06:00
Ilya Shurumov
9eced0134f - implement GetPVSRegionCell2 2020-04-13 20:54:39 +06:00
Ilya Shurumov
c627a9aa23 - implement GetFirstPackedCop, GetNextPackedCop 2020-04-13 19:55:40 +06:00
Ilya Shurumov
8165920d5f - partially implement DrawMapPSX
- implement ClearCopUsage
2020-04-13 19:45:34 +06:00
Ilya Shurumov
958c04d483 - implement SetupDrawMapPSX 2020-04-13 17:43:10 +06:00
Ilya Shurumov
529026d211 - implement Havana3DOcclusion 2020-04-13 14:31:09 +06:00
Ilya Shurumov
d8842db103 - implement PrintStringRightAligned 2020-04-13 14:14:55 +06:00
Ilya Shurumov
7ae60816e3 - implement TransparencyOn 2020-04-13 14:10:50 +06:00
Ilya Shurumov
9e19ac4fdd - implement InitOverlays, InitPercentageBar, DisplayOverlays, DrawPercentageBar, SetColourByValue 2020-04-13 03:30:03 +06:00
Ilya Shurumov
fec76bcfa4 - [EMU] added LINE_F3 and LINE_F4 drawing 2020-04-13 03:28:03 +06:00
Ilya Shurumov
295018a47a - implement RenderGame2
- added missing DrawMission
2020-04-13 02:09:59 +06:00
Ilya Shurumov
636fd0242d - update README 2020-04-12 23:08:03 +06:00
Ilya Shurumov
a5d5b9add4 - show mission loading errors 2020-04-12 22:34:07 +06:00
Ilya Shurumov
36bb54efd5 - Game version 0.4 2020-04-12 22:15:23 +06:00
Ilya Shurumov
fdf5b16a4a - [EMU] fix timestep errors with TOMB5 2020-04-12 22:15:14 +06:00
Ilya Shurumov
d2c3a8c8b0 - remove nasty hack and do with Mutex instead 2020-04-12 21:48:56 +06:00
Ilya Shurumov
7095fa7cf5 - [EMU] fix SpuSetVoiceAttr 2020-04-12 21:35:24 +06:00
Ilya Shurumov
ce6c7eb36a - add volatile flag to 'int quickSpool' 2020-04-12 21:32:13 +06:00
Ilya Shurumov
4aa2bd6f3c - add delay hack to spool thread for QuickSpoolSpecial 2020-04-12 21:29:49 +06:00
Ilya Shurumov
38d1723298 - fixed index bug in SpuSetKey & SpuGetKeyStatus 2020-04-12 20:33:55 +06:00
Ilya Shurumov
87799cda0d - fix spooler thread 2020-04-12 19:56:52 +06:00
Ilya Shurumov
b447fb2725 - Temporarily fix crash when exiting/restarting game 2020-04-12 19:36:26 +06:00
Ilya Shurumov
9c9ff94f3d - [EMU] remove EndScene from VSync and put it to the end of DrawOTag 2020-04-12 19:36:14 +06:00
Ilya Shurumov
37aef8da1d - implement SfxVolume, MusicVolume
- update pause strings
- update Ghidra DB
2020-04-12 19:26:25 +06:00
Ilya Shurumov
c17e09945a - implement ControlMenu, SetupMenu 2020-04-12 19:04:54 +06:00
Ilya Shurumov
6e99edce58 - little changes 2020-04-12 17:59:06 +06:00
Ilya Shurumov
22fbc4e934 Merge branch 'FETCH_HEAD' into Fireboyd78/master 2020-04-12 17:57:45 +06:00
Ilya Shurumov
5342dcaa40 Merge branch 'master' into Fireboyd78/master 2020-04-12 17:51:03 +06:00
Ilya Shurumov
e70524d57a - 'volatile spoolactive' to fix blocking issue on SpoolSync 2020-04-12 17:41:42 +06:00
Ilya Shurumov
526b5fc703 - teporarily disable ProcessDentLump 2020-04-12 17:40:27 +06:00
Ilya Shurumov
a331e962ba - implement MaxMenuStringLength
- fix pause menu rectangle
2020-04-12 03:57:32 +06:00
Ilya Shurumov
8c2fe08356 - fix ordering table size
- fixed SetupDrawBuffers
2020-04-12 03:25:03 +06:00
Ilya Shurumov
c5b878f63d - correct pause strings 2020-04-12 03:24:54 +06:00
Ilya Shurumov
f8190cf54a - attempt to draw pause menus
- implement bunch of functions
2020-04-12 03:02:26 +06:00
Ilya Shurumov
c0ab1a4627 - implement SwapDrawBuffers2 2020-04-12 01:25:49 +06:00
Ilya Shurumov
d7ba985945 - implement SwapDrawBuffers 2020-04-12 01:21:06 +06:00
Ilya Shurumov
87cfbffc82 - implement InitaliseDrawEnv, UpdatePadData, SetupDrawBuffers, SetupDrawBufferData 2020-04-12 01:13:54 +06:00
Ilya Shurumov
51d3938035 - implement LoadSky 2020-04-12 00:54:44 +06:00
Ilya Shurumov
2e39693ea5 - commented out printfs 2020-04-12 00:33:58 +06:00
Ilya Shurumov
dff435a4e8 - fixed spool thread ready callback 2020-04-12 00:15:11 +06:00
Fireboyd78
956f135c73 Fixed bugs in ProcessTextureInfo. 2020-04-11 10:48:12 -07:00
Fireboyd78
3751016845 Merge branch 'master' of https://github.com/SoapyMan/REDRIVER2 2020-04-11 09:52:08 -07:00
Ilya Shurumov
3da3d2044b Merge branch 'master' into Fireboyd78/master 2020-04-11 22:37:35 +06:00
Ilya Shurumov
5c90d922ba - fixed bug in SendTPage
- assign callbacks in 'changemode'
2020-04-11 22:34:58 +06:00
Ilya Shurumov
fd0ae8e6b7 - fixed callback invoke for getLevSectorPC 2020-04-11 22:04:19 +06:00
Ilya Shurumov
5241105487 - implement test spooling
- LoadInAreaTSets back to UNIMPLEMENTED
2020-04-11 21:04:02 +06:00
Ilya Shurumov
63be8e1ce4 - implement data_ready, sector_ready, loadsectors (for PSX)
- dummy CdDiskReady function
2020-04-11 17:21:25 +06:00
Fireboyd78
7e26777504 Fixed incorrect ordering type changes. 2020-04-10 19:02:32 -07:00
Fireboyd78
29b2a181f3 Implemented some DRAW stuff.
* Added DrawAllBuildings

* Added RenderModel

* Defined Apply_InvCameraMatrixSetTrans
 - TODO: Implement code

* Defined Apply_InvCameraMatrixAndSetMatrix
 - TODO: Implement code
2020-04-10 18:40:49 -07:00
Fireboyd78
5de9d091d0 Added typedef for plot context struct. 2020-04-10 18:37:07 -07:00
Fireboyd78
b162dfbd49 Fixed a bug where OTTYPE would select the wrong size. 2020-04-10 18:36:44 -07:00
Fireboyd78
6a5af89aae Fixed 'setCopControlWord' macro. 2020-04-10 16:09:37 -07:00
Fireboyd78
55d450bbbd Fixed more invalid arguments for coprocessor stuff. 2020-04-10 16:06:01 -07:00
Fireboyd78
05b0bdf10d Implemented EnablePause, CheckForPause. 2020-04-10 15:44:35 -07:00
Fireboyd78
2ddcda382c Implemented various functions + code cleanup.
* Added GetCarPalIndex

* Added GetRandomChase

* Added FindMissionLadderPos

* Added FindPrevMissionFromLadderPos

* Added EndGame

* Added Find_TexID

* Updated GameStart
 - Improved code flow
 - Removed gotos
 - Removed garbage "debug check"
 - Fixed code for cheats
 - Added inline helper functions to reduce bloat

* Updated ProcessLumps
 - Cleaned up code

* Updated DrawGame
 - Cleaned up code
 - Better VSync waiting

* Updated ProcessTextureInfo
 - Improved code flow
 - Cleaned up garbled non-sense code

* Updated SetVariable
 - Improved code flow
 - Removed gotos
 - Fixed code for cheats

* Updated HandleKeyPress
 - Improved code flow
 - Fixed decompilation bugs

* Updated PadChecks
 - Improved code flow
2020-04-10 15:12:50 -07:00
Fireboyd78
291d03d4f0 Fixed ACTIVE_CHEATS structure. 2020-04-10 14:57:03 -07:00
Fireboyd78
70e66207e4 Moved PolySizes from CARS into DRAW. 2020-04-10 14:54:19 -07:00
Fireboyd78
bf5b85591c Added coprocessor macros and fixed invalid arguments. 2020-04-10 14:48:36 -07:00
Fireboyd78
d0ca0c57e8 Removed x64 build configuration. 2020-04-10 14:42:54 -07:00
Ilya Shurumov
478f059614 - implemented almost all SPOOL.C (except unused sound bank loading) 2020-04-10 17:56:11 +06:00
Ilya Shurumov
62ef7f3c12 - add dummy CdGetSector, CdReadyCallback, CdDataCallback
- add LoadImage2 define
2020-04-10 06:22:05 +06:00
Ilya Shurumov
c455065eda - implement SetupSpecDenting
- update Ghidra DB
2020-04-10 06:11:21 +06:00
Ilya Shurumov
433370e9a4 - implement SetupSpecCosmetics 2020-04-10 05:52:52 +06:00
Ilya Shurumov
a850509963 - implement Tada 2020-04-10 05:52:35 +06:00
Ilya Shurumov
a9493ae5d5 - implement CleanSpooled, LowSpooled 2020-04-10 05:42:53 +06:00
Ilya Shurumov
2ed3733842 - implement LowModelSpooled 2020-04-10 05:42:04 +06:00
Ilya Shurumov
7437040070 - implement DamagedModelSpooled 2020-04-10 05:37:32 +06:00
Ilya Shurumov
1e637cb53f - implement CleanModelSpooled 2020-04-10 05:37:20 +06:00
Ilya Shurumov
da53db487b - implement lots of spooling sh*tcode 2020-04-10 05:29:12 +06:00
Ilya Shurumov
83f0d3ee34 - implement DrawGame, fix RenderGame 2020-04-10 05:28:27 +06:00
Ilya Shurumov
183b51e432 - [EMU] WaitForTimestep added to Vsync() 2020-04-10 01:33:15 +06:00
Ilya Shurumov
7783d9923a - compile fix 2020-04-10 01:32:19 +06:00
Ilya Shurumov
6f3330ed5b - implement RequestSpool, StartSpooling, UpdateSpool 2020-04-10 00:50:34 +06:00
Ilya Shurumov
7bf256235e - implement GotRegion, unpack_cellpointers 2020-04-10 00:22:38 +06:00
Ilya Shurumov
1559f6e420 - implement CheckUnpackNewRegions 2020-04-10 00:16:26 +06:00
Ilya Shurumov
ca85ad878a - implement LoadRegionData 2020-04-09 23:45:55 +06:00
Ilya Shurumov
9984d347c1 - implement ControlMap 2020-04-09 23:45:25 +06:00
Ilya Shurumov
87a54b18ce - implement ClearRegion 2020-04-09 23:15:54 +06:00
Ilya Shurumov
f5d943e8c5 - implement InitMap, InitSpooling 2020-04-09 23:10:34 +06:00
Ilya Shurumov
739c2ce5f7 - implement ProcessDentLump & LoadDenting
- implement ClearMem
2020-04-09 22:41:58 +06:00
Ilya Shurumov
b4ac9d8240 - implement ProcessLowDetailTable 2020-04-09 22:11:35 +06:00
Ilya Shurumov
630e8c9c73 - implement GetCarModel 2020-04-09 21:53:52 +06:00
Ilya Shurumov
2ce93b0265 - fix ProcessLumps not processing LUMP_CAR_MODELS 2020-04-09 21:42:17 +06:00
Ilya Shurumov
0f4666ae39 - implement ProcessCarModelLump, buildNewCars
- implement NewProcessRoadMapLump
2020-04-09 21:36:53 +06:00
Ilya Shurumov
1489b3a2cb - implement ResetSound, UpdateVolumeAttributesM, SetMasterVolume
- partially implement CalculateVolume
- proper SpuSetVoiceAttr in LibSPU
2020-04-09 19:55:39 +06:00
Ilya Shurumov
9f078caf95 - always redraw menu on non-PSX version 2020-04-09 00:46:50 +06:00
Ilya Shurumov
2b4de546a5 - fix 'samples' declaration
- trying SPU emulation
2020-04-09 00:07:11 +06:00
Ilya Shurumov
955ed5185d - implement CompleteSoundSetup, StopChannel, LockChannel, UnlockChannel, SoundHandler, FESound, VsyncProc 2020-04-08 20:47:04 +06:00
Ilya Shurumov
941160d6fc - implement GetCarPalIndex
- implement ProcessPalletLump
- fixed clut rectangle in LoadPermanentTPages
- human-understandable LoadPermanentTPages two dimensional arrays access
2020-04-07 16:56:13 +06:00
Ilya Shurumov
132b84188e - human-understandable IncrementTPageNum 2020-04-06 22:03:25 +06:00
Ilya Shurumov
bb1ebe5f04 - removed same dead code 2020-04-06 17:59:27 +06:00
Ilya Shurumov
ab044beeb7 - fix ProcessLump not loading LUMP_PALLET
- implement IncrementClutNum, IncrementTPageNum
- implement ASM func unpackTexture
- implement LoadTPageAndCluts
- implement LoadPermanentTPages
2020-04-06 05:06:00 +06:00
Ilya Shurumov
f6119162b1 - fix ProcessLumps
- implement ProcessMapLump
- implement InitCellData
- implement ProcessSpoolInfoLump
2020-04-06 03:04:50 +06:00
Ilya Shurumov
75d757a0b0 - implement ProcessMDSLump
- implement ProcessTextureInfo
- added version info print on frontend
- implement RenderGame
- implement FadeGameScreen
- implement SetupScreenFade
2020-04-06 02:04:37 +06:00
Ilya Shurumov
b754d4e2cb - implement ReInitFrontend()
- implement ReInitScreens()
2020-04-05 22:44:41 +06:00
Ilya Shurumov
59eacce933 - latest emulator
- swap interval for 50 FPS
2020-04-05 21:39:14 +06:00
Ilya Shurumov
da176025ac - implement loadsectorsPC
- implement LoadGameLevel
- implement ProcessLumps
- implement SetCityType, ResetCityType
- implement sdGetBSP, FindRoadInBSP
- implement LoadCosmetics, ProcessCosmeticsLump
- fix wantedCar finally
2020-04-05 19:53:08 +06:00
Ilya Shurumov
6959ab4307 - fix timedelay on ShowHiresScreens 2020-04-05 05:37:55 +06:00
Ilya Shurumov
56d3fbf399 - implement InitialiseMissionDefaults
- implement LoadMission
- implement GetFreeChannel
- fixed wantedCar setup from frontend
2020-04-05 04:53:41 +06:00
Ilya Shurumov
eeb96e39b5 - implement InitSound
- implement LoadBankFromLump
- implement LoadSoundBankDynamic
2020-04-04 19:42:29 +06:00
Ilya Shurumov
bf1dde5d34 - many sources processed and added UNIMPLEMENTED()
- game now goes to loading screen
2020-04-04 10:56:09 +06:00
Ilya Shurumov
6da5f797fa - fix compile errors 2020-04-04 06:14:47 +06:00
Ilya Shurumov
cb74b84f12 - implement GameInit
- add many unimplemented (unfinished)
2020-04-03 04:44:09 +06:00
Ilya Shurumov
61d42df4be - latest changes of emulator 2020-04-03 04:42:51 +06:00
Ilya Shurumov
8b2a232c55 - Latest emulator
- [EMU] Discard for all shaders corrected
- disable publisher intro screens
- Ghidra DB updates
2020-04-02 18:03:23 +06:00
Ilya Shurumov
c31dae4b5a - fix FEInitCDIcon 2020-04-01 19:24:35 +06:00
Ilya Shurumov
9d9a384134 - attempt on 8 bit LUT textures
- the DrawSync should draw all polygons from DrawPrim and end scene
2020-04-01 19:24:24 +06:00
Ilya Shurumov
5b7d5a404a - fixed extraRect var 2020-04-01 17:31:43 +06:00
Ilya Shurumov
87c16cd025 - fix CarSelectScreen
- fix LoadBackgroundFile
- updateVRAM immediately using DrawSync
2020-04-01 05:27:09 +06:00
Ilya Shurumov
acaffb85f0 - discard black colour before dithering occurs 2020-04-01 03:08:47 +06:00
Ilya Shurumov
5b8e0dfe1d - OT to use OTTYPE instead of just u_long for EMU
- latest emulator
- emulator polygon drawing improvements
- fixed bugs regarding to render frontend in D2
2020-04-01 03:04:08 +06:00
Ilya Shurumov
ee87194914 - add DR_MOVE to ParseLinkedPrimitiveList
- Every textured polygon is affecting active DRAWENV texture page
- added rendering skip if unhandled primitive encountered
- add some 'unimplemented' methods required by Driver 2
- compilation fix
- added key bind to save VRAM
2020-03-31 23:00:33 +06:00
Ilya Shurumov
08403ce5c4 - add TOMB5 emulator code 2020-03-31 22:56:49 +06:00
Ilya Shurumov
0e8b4ca696 - implement GameStart
- implement SetPleaseWait
- implement StringWidth, PrintString, PrintStringCentered, PrintStringFeature
- implement LoadFont
- implement SetFontTPage
2020-03-30 02:33:32 +06:00
Ilya Shurumov
b9382cf872 - implement SetVariable
- Memcard Main renamed to not conflict with OBJ
2020-03-29 23:03:53 +06:00
Ilya Shurumov
b203128d34 - fixed some decompilation bugs
- implement SetupExtraPoly
- implement CarSelectScreen
- implement CityCutOffScreen
2020-03-29 22:13:32 +06:00
Ilya Shurumov
26d979a408 - fix NewSelection
- fix InitControllers
- fix MapPad
2020-03-29 20:08:55 +06:00
Ilya Shurumov
bd04543844 - implement ReadControllers
- implement ClearPad
- implement HandleKeyPress
2020-03-29 18:33:48 +06:00
Ilya Shurumov
cf88c50291 - implement NewSelection
- fix EnableDisplay
- fix DrawScreen Ordering Table
- fix SetupBackgroundPolys and SetupScreenSprts
2020-03-29 18:13:32 +06:00
Ilya Shurumov
8879f114d0 - implement EnableDisplay
- implement EndFrame
- implement GetTimeStamp
- implement SetTextColour
- implement EnableDisplay
- implement DrawScreen
- implement FEPrintString
- font loading correctly
2020-03-29 06:56:49 +06:00
Ilya Shurumov
54128aebc6 - implement ShowLoadingScreen
- implement ShowLoading
2020-03-29 04:26:18 +06:00
Ilya Shurumov
223da63fe2 - implement SetupBackgroundPolys
- implement SetupScreenSprts
- implement SetFEDrawMode
- LoadFrontendScreens done prettier
2020-03-29 02:29:37 +06:00
Ilya Shurumov
2facb27782 - implement LoadFrontendScreens
- implement FEInitCdIcon
- adding frontend vars
- redid other vars
2020-03-28 21:44:13 +06:00
Ilya Shurumov
c40d40bd22 - added sources rebuilt with TDR and partially decompiled intro sequence
- moved necessary data to new sources
- running intro with TOMB5 HLE emulator
2020-03-28 03:25:35 +06:00