GTA 3 Port by SKMP

Place for discussing homebrew games, development, new releases and emulation.
User avatar
keri_amg
shadow
Posts: 7
Contact:

Re: GTA 3 Port by SKMP

Post by keri_amg »

mistamontiel wrote: Thu Mar 27, 2025 9:54 am No longer is DCA in alpha! First step just don't key in --branch alpha

ELFs mustn't be renamed

I too also got VC going two disc unpatched v1.0 and that takes a bit more attempts, close DreamSDK and resume proceed again oh that instead uses:

Code: Select all

make FOR_DISC=2 cdi-prebuilt
Not for disc by any means just uses that command to cook it a lil north of a gig CDI will spit out
What is all new with this version vs the December version?

User avatar
ateam
Metallic
Posts: 816

Re: GTA 3 Port by SKMP

Post by ateam »

Cool_amigaN wrote: Thu Mar 27, 2025 4:51 am Could anyone desrcibe the exact process of updating with newer builds? I deleted "dca3-game" folder, I re-cloned the repo from "git clone --branch alpha https://gitlab.com/skmp/dca3-game.git", then downloaded the latest "build-dreamcast-liberty" from here and unpacked to "dca3-game\dreamcast", renamed the newer ELF as "dca3.elf" and rebuilt the image. After booting the cdi under gdemu, I got a crash at the main screen (right before the main menu options). Following the guide for the original build, game loads and plays fine.
Assuming DreamSDK is installed, along with git and other pre-requisites from the original alpha build (the download links for both can be found here), the following steps can be used to compile latest version of GTA3.

Note that the build process may eventually expect that the game assets are in a folder named liberty inside of the DreamSDK home folder. To confirm they're there, open DreamSDK Manager and then click Open Home.

Inside this home folder, you may have the game assets in a folder named gta3 based on the old build instructions. If you receive an error when attempting to build the CDI stating something like "No rule to make target", rename that folder to liberty. Alternatively, you can create a symlink by opening the shell via DreamSDK Manager and issuing the ln -s gta3 liberty command, which will create a symbolic link named liberty that points to gta3.

IMPORTANT: Be aware that a modified version of KOS is now required to successfully build GTA3! The process is explained in steps 1 through 4 of this tutorial.

1) Navigate to C:\DreamSDK\msys\1.0\opt\toolchains\dc\ and rename the kos folder to kos_backup. Then, create a new empty folder named kos.

2) Download this ZIP file and extract the contents of the dca3-kos-main folder inside of it to your new C:\DreamSDK\msys\1.0\opt\toolchains\dc\kos\ folder.

3) Open DreamSDK Manager and click Start Shell, then issue the following command: cd /opt/toolchains/dc/kos/

4) Once inside that directory, issue the make clean and then make commands (one after the other, separately).

5) Once complete, issue the following command to return to the home directory: cd

6) Once inside your home directory, issue the following command to clone the repository: git clone https://gitlab.com/skmp/dca3-game.git

7) Once complete, close the shell window.

8) Download the latest successful build-dreamcast-liberty artifact ZIP from here: https://gitlab.com/skmp/dca3-game/-/artifacts

9) Open DreamSDK Manager again and click Open Home and then navigate to the dca3-game\liberty\ folder.

10) Extract the dca-liberty.elf file from the artifact ZIP you just downloaded to the dca3-game\liberty\ folder.

11) Open DreamSDK Manager again and click Start Shell, then issue the following command: cd dca3-game/liberty/

12) In the same shell, issue the following command to compile an ODE CDI: make cdi-prebuilt

13) At some point during the compilation process, an error will be displayed. This is normal. Issue the same make cdi-prebuilt command again to resume compilation, after which a success message will eventually be displayed.

Please note that all of the above steps can also be used to compile Vice City. To do so, simply replace instances of "liberty" with "miami". Furthermore, for Vice City you must use the build command make FOR_DISC=2 cdi-prebuilt, which will produce an oversized CDI suitable for ODEs.

Also note that the compile command for burnable a CDI is make FOR_DISC=1 cdi-prebuilt, though the last few times I tried this, a suspiciously small CDI file was produced (somewhere around 250 MB), which seems wrong. I've heard there's a known issue requiring a fix. Consult the DCA3 project's Discord server for more information.
Last edited by ateam on Mon Mar 31, 2025 10:54 pm, edited 14 times in total.
Find me on...

DreamcastForever.com
GitHub
Reddit
SegaXtreme
Twitter
YouTube
• Discord: derek.ateam

User avatar
Spleet
Anarki
Posts: 94
Dreamcast Games you play Online: Worms World Party, Quake 3, 4x4 Evo, Chu Chu Rocket, StarLancer, POD SpeedZone, Bomberman Online*
Contact:

Re: GTA 3 Port by SKMP

Post by Spleet »

keri_amg wrote: Thu Mar 27, 2025 11:37 am
What is all new with this version vs the December version?
A whole bunch of stuff from game breaking bugfixes to graphical and performance fixes(including 2xAA). There have been substantial improvements across the board since December '24.

User avatar
mistamontiel
Shark Patrol
Posts: 2151
Dreamcast Games you play Online: Errythan except Tetris o.0
Location: Miami, FL, CUBA
Contact:

Re: GTA 3 Port by SKMP

Post by mistamontiel »

@ateam use FOR_DISC=2 for VC

EDIT: Yeh I saw that in 3 too it's that small yet to burn DCA ever though lol

User avatar
ateam
Metallic
Posts: 816

Re: GTA 3 Port by SKMP

Post by ateam »

mistamontiel wrote: Thu Mar 27, 2025 2:05 pm @ateam use FOR_DISC=2 for VC

EDIT: Yeh I saw that in 3 too it's that small yet to burn DCA ever though lol
Are you saying that this very small (~250MB) CDI is okay for Liberty City? With the original alpha, the burnable CDI was about 670 MB.
Find me on...

DreamcastForever.com
GitHub
Reddit
SegaXtreme
Twitter
YouTube
• Discord: derek.ateam

User avatar
mistamontiel
Shark Patrol
Posts: 2151
Dreamcast Games you play Online: Errythan except Tetris o.0
Location: Miami, FL, CUBA
Contact:

Re: GTA 3 Port by SKMP

Post by mistamontiel »

Yes after I read the gitlab again, it's Linux that makes a nice heavy Liberty CDI for burn, Windows sadly only in the 200s

Cool_amigaN
shadow
Posts: 7

Re: GTA 3 Port by SKMP

Post by Cool_amigaN »

Yo, I followed above instructions but I am getting the following output when issuing "make cdi-prebuilt" command:

Code: Select all

$ make cdi-prebuilt
rm -f IP.BIN
/opt/toolchains/dc/kos/utils/makeip/makeip ip.txt IP.BIN
kos-objcopy -R .stack -O binary dca-liberty.elf dca-liberty.elf-prebuilt.bin
/opt/toolchains/dc/kos/utils/scramble/scramble dca-liberty.elf-prebuilt.bin 1ST_READ_PREBUILT.BIN
mkdir -p repack-data/gta3
g++ -std=c++17 -o imgtool -O0 -g ../src/tools/imgtool.cpp
make: *** No rule to make target `../../gta3/models/gta3.img', needed by `repack-data/unpacked'.  Stop.
Does it mean that it needs the data in img format and labeled as gta3 or it's something else I am missing / I did wrong?

User avatar
Spleet
Anarki
Posts: 94
Dreamcast Games you play Online: Worms World Party, Quake 3, 4x4 Evo, Chu Chu Rocket, StarLancer, POD SpeedZone, Bomberman Online*
Contact:

Re: GTA 3 Port by SKMP

Post by Spleet »

Cool_amigaN wrote: Fri Mar 28, 2025 5:31 am Yo, I followed above instructions but I am getting the following output when issuing "make cdi-prebuilt" command:

Code: Select all

$ make cdi-prebuilt
rm -f IP.BIN
/opt/toolchains/dc/kos/utils/makeip/makeip ip.txt IP.BIN
kos-objcopy -R .stack -O binary dca-liberty.elf dca-liberty.elf-prebuilt.bin
/opt/toolchains/dc/kos/utils/scramble/scramble dca-liberty.elf-prebuilt.bin 1ST_READ_PREBUILT.BIN
mkdir -p repack-data/gta3
g++ -std=c++17 -o imgtool -O0 -g ../src/tools/imgtool.cpp
make: *** No rule to make target `../../gta3/models/gta3.img', needed by `repack-data/unpacked'.  Stop.
Does it mean that it needs the data in img format and labeled as gta3 or it's something else I am missing / I did wrong?

The original gta3 game files should be in a folder labeled, "gta3". This is a holdover from pre-miami days. It may be changed to "liberty" eventually, but for now the build materials look for a folder called gta3.

User avatar
ateam
Metallic
Posts: 816

Re: GTA 3 Port by SKMP

Post by ateam »

Cool_amigaN wrote: Fri Mar 28, 2025 5:31 am Yo, I followed above instructions but I am getting the following output when issuing "make cdi-prebuilt" command:

Code: Select all

$ make cdi-prebuilt
rm -f IP.BIN
/opt/toolchains/dc/kos/utils/makeip/makeip ip.txt IP.BIN
kos-objcopy -R .stack -O binary dca-liberty.elf dca-liberty.elf-prebuilt.bin
/opt/toolchains/dc/kos/utils/scramble/scramble dca-liberty.elf-prebuilt.bin 1ST_READ_PREBUILT.BIN
mkdir -p repack-data/gta3
g++ -std=c++17 -o imgtool -O0 -g ../src/tools/imgtool.cpp
make: *** No rule to make target `../../gta3/models/gta3.img', needed by `repack-data/unpacked'.  Stop.
Does it mean that it needs the data in img format and labeled as gta3 or it's something else I am missing / I did wrong?
As stated by Spleet, the Makefile is actually looking for the game assets to be in a folder named gta3. I have adjusted my tutorial above to reflect this. It was my error, sorry.

See line 18 here: https://gitlab.com/skmp/dca3-game/-/blo ... type=heads

You can either name liberty to gta3, or simply create a symlink. To do so, open the shell via DreamSDK Manager and, while in your home directory, issue the following command: ln -s gta3 liberty
Find me on...

DreamcastForever.com
GitHub
Reddit
SegaXtreme
Twitter
YouTube
• Discord: derek.ateam

Cool_amigaN
shadow
Posts: 7

Re: GTA 3 Port by SKMP

Post by Cool_amigaN »

Ok got it done, however during compilation I am getting multiple outputs such as the below:

Code: Select all

./texconv repack-data/img-orig/trainsleeper.dff repack-data/img-dc/trainsleeper.dff
rasterCreate: Usupported raster depth 0: this raster will be corrupted
rasterCreate: Usupported raster rasterFmt 0: this raster will be corrupted
rasterCreate: Usupported raster depth 0: this raster will be corrupted
rasterCreate: Usupported raster rasterFmt 0: this raster will be corrupted
rasterCreate: Usupported raster depth 0: this raster will be corrupted
rasterCreate: Usupported raster rasterFmt 0: this raster will be corrupted
./texconv repack-data/img-orig/trash.dff repack-data/img-dc/trash.dff
rasterCreate: Usupported raster depth 0: this raster will be corrupted
rasterCreate: Usupported raster rasterFmt 0: this raster will be corrupted
rasterCreate: Usupported raster depth 0: this raster will be corrupted
rasterCreate: Usupported raster rasterFmt 0: this raster will be corrupted
rasterCreate: Usupported raster depth 0: this raster will be corrupted
rasterCreate: Usupported raster rasterFmt 0: this raster will be corrupted
rasterCreate: Usupported raster depth 0: this raster will be corrupted
rasterCreate: Usupported raster rasterFmt 0: this raster will be corrupted
rasterCreate: Usupported raster depth 0: this raster will be corrupted
rasterCreate: Usupported raster rasterFmt 0: this raster will be corrupted
rasterCreate: Usupported raster depth 0: this raster will be corrupted
rasterCreate: Usupported raster rasterFmt 0: this raster will be corrupted
Is this normal?

  • Similar Topics
    Replies
    Views
    Last post