mirror of
https://gitlab.com/skmp/dca3-game.git
synced 2025-09-01 02:41:54 +02:00
Merge remote-tracking branch 'origin/main' into soniccd123/HintMessagesV2
This commit is contained in:
67
README.md
67
README.md
@@ -6,15 +6,70 @@ re3 a fully reversed source code for GTA III.
|
||||
|
||||
This project was started by [Stefanos Kornilios Mitsis Poiitidis](https://x.com/poiitidis) and uses [KallistiOS](https://kos-docs.dreamcast.wiki/).
|
||||
|
||||
## Building
|
||||
## Baking the CDI
|
||||
### Prerequisites
|
||||
You need GTA 3 installed. This version has been tested and works: https://store.rockstargames.com/game/buy-grand-theft-auto-the-trilogy.
|
||||
|
||||
dca3 requires PC game assets to work, so you **must** have GTA III. We have tested the 2cd version, others might work.
|
||||
Please note that *SOME VERSIONS* of the game may not work. It has been reported that `d4_gta.mp3` is corrupted sometimes.
|
||||
|
||||
You need to have installed:
|
||||
Make sure you have a LEGIT copy with no corrupted files, as this process wont work otherwise.
|
||||
|
||||
- GTA III PC
|
||||
- [DreamSDK R3](https://github.com/dreamsdk/dreamsdk/releases/tag/r3-3.0.4.2311)
|
||||
- more instructions to follow soon
|
||||
You will also need the following tools installed
|
||||
- git-scm http://git-scm.com/downloads/win
|
||||
- dreamsdk r3 https://github.com/dreamsdk/dreamsdk/releases
|
||||
|
||||
### Preparing the gta3 folder
|
||||
- Open dreamsdk shell
|
||||
- type `mkdir gta3` (and press enter)
|
||||
- type `explorer .` (and press enter)
|
||||
- This will open a folder named gta3. Copy your gta3 files in there.
|
||||
- If you use the 2cdrom version of the game, make sure to also copy the contents of the play disc to this folder.
|
||||
- close the folder and the dreamsdk shell and proceed to the next step.
|
||||
|
||||
### Cloning the dca3-game repo and downloading the prebuilt elf
|
||||
- Open dreamsdk shell
|
||||
- type `git clone https://gitlab.com/skmp/dca3-game.git` (and press enter)
|
||||
- It should take a moment and successfully clone the repo
|
||||
- type `cd dca3-game/dreamcast` (and press enter)
|
||||
- type `explorer .` (and press enter).
|
||||
- A folder named dreamcast with some files should be open. Keep it on the side.
|
||||
- Download the artifacts from https://gitlab.com/skmp/dca3-game/-/jobs/8725216645
|
||||
- Open artifacts.zip and extract dca3.elf to the folder that was kept open before.
|
||||
- Close the folder and dreamsdk shell
|
||||
|
||||
### Repacking and making a prebuilt cdi FOR GD-EMU
|
||||
- Open dreamsdk shell
|
||||
- type `cd dca3-game/dreamcast` (and press enter)
|
||||
- type `make cdi-prebuilt` (and press enter)
|
||||
- This should take a while (5-15 mins)
|
||||
- Due to an issue with dreamsdk, this won't fully complete the first time
|
||||
- type `make cdi-prebuilt` (and press enter)
|
||||
- It will continue where it left off before
|
||||
- It should run to completion now and show "*** Repack Completed Successfully ***"
|
||||
- type `explorer .` (and press enter)
|
||||
- The dreamcast folder should open up, and it should contain dca3.cdi for you (~ 900 megs)
|
||||
|
||||
### Repacking and making a prebuilt cdi FOR burning CD-ROM
|
||||
- Open dreamsdk shell
|
||||
- type `cd dca3-game/dreamcast` (and press enter)
|
||||
- type `make FOR_DISC=1 cdi-prebuilt` (and press enter)
|
||||
- This should take a while (5-15 mins)
|
||||
- Due to an issue with dreamsdk, this won't fully complete the first time
|
||||
- type `make FOR_DISC=1 cdi-prebuilt` (and press enter)
|
||||
- It will continue where it left off before
|
||||
- It should run to completion now and show "*** Repack Completed Successfully ***"
|
||||
- type `explorer .` (and press enter)
|
||||
- The dreamcast folder should open up, and it should contain dca3.cdi for you (~ 700 megs)
|
||||
- If the .cdi is not 700 megabytes, then you did something wrong.
|
||||
- You can type `rm -rf repack-data` (and press enter)
|
||||
- And then start this step from the beggining
|
||||
|
||||
|
||||
## How to report issues
|
||||
- Take a photo of your tv/monitor and vmu
|
||||
- open a ticket via https://gitlab.com/skmp/dca3-game/-/issues/new
|
||||
- state which elf you have used (eg, https://gitlab.com/skmp/dca3-game/-/jobs/8725216645)
|
||||
- write something descriptive of what is/went wrong
|
||||
|
||||
## License
|
||||
|
||||
|
@@ -662,6 +662,9 @@ bool CGame::Initialise(const char* datFile)
|
||||
CCollision::ms_collisionInMemory = currLevel;
|
||||
for (int i = 0; i < MAX_PADS; i++)
|
||||
CPad::GetPad(i)->Clear(true);
|
||||
#ifdef RW_DC
|
||||
//CPad::GetPad(0)->IsDualAnalog = false;
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -764,11 +764,8 @@ CMenuScreenCustom aScreens[MENUPAGES] = {
|
||||
|
||||
// MENUPAGE_OPTIONS = 41
|
||||
{ "FET_OPT", MENUPAGE_NONE, MENUPAGE_NONE, nil, nil,
|
||||
#ifdef GTA_HANDHELD
|
||||
MENUACTION_CHANGEMENU, "FET_CTL", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS },
|
||||
#else
|
||||
MENUACTION_CHANGEMENU, "FET_AGS", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS },
|
||||
MENUACTION_CHANGEMENU, "FET_CTL", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_PC },
|
||||
#endif
|
||||
MENUACTION_LOADRADIO, "FET_AUD", { nil, SAVESLOT_NONE, MENUPAGE_SOUND_SETTINGS },
|
||||
MENUACTION_CHANGEMENU, "FET_DIS", { nil, SAVESLOT_NONE, MENUPAGE_DISPLAY_SETTINGS },
|
||||
#ifdef GRAPHICS_MENU_OPTIONS
|
||||
|
1324
src/core/Pad.cpp
Normal file → Executable file
1324
src/core/Pad.cpp
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
@@ -23,7 +23,7 @@ public:
|
||||
int16 DPadUp, DPadDown, DPadLeft, DPadRight;
|
||||
int16 Start, Select;
|
||||
int16 Square, Triangle, Cross, Circle;
|
||||
uint32_t A, B, C, X, Y, Z;
|
||||
uint32_t A, B, C, D, X, Y, Z;
|
||||
int16 LeftShock, RightShock;
|
||||
int16 NetworkTalk;
|
||||
float GetLeftStickX(void) { return LeftStickX/32767.0f; };
|
||||
@@ -161,6 +161,13 @@ public:
|
||||
int32 LastTimeTouched;
|
||||
int32 AverageWeapon;
|
||||
int32 AverageEntries;
|
||||
bool IsKeyboardMouse;
|
||||
bool IsDualAnalog;
|
||||
bool CameraJustDown;
|
||||
bool CameraJustUp;
|
||||
uint32 CameraJustUpTime;
|
||||
uint32 CameraLastPressed;
|
||||
bool CameraIsDoublePressed;
|
||||
|
||||
#ifdef DETECT_PAD_INPUT_SWITCH
|
||||
static bool IsAffectedByController;
|
||||
@@ -211,7 +218,11 @@ public:
|
||||
void StopShaking(int16 pad);
|
||||
|
||||
static CPad *GetPad(int32 pad);
|
||||
|
||||
|
||||
#ifdef RW_DC
|
||||
bool CameraSinglePress(void); //Checks if camera modifier was double clicked
|
||||
bool CameraDoublePress(void);
|
||||
#endif
|
||||
int16 GetSteeringLeftRight(void);
|
||||
int16 GetSteeringUpDown(void);
|
||||
int16 GetCarGunUpDown(void);
|
||||
|
Reference in New Issue
Block a user