Update gitignore, ci, working main and sim builds

This commit is contained in:
Stefanos Kornilios Mitsis Poiitidis
2025-03-09 13:33:04 +02:00
parent 60bbd0b782
commit df49ea88a3
18 changed files with 448 additions and 386 deletions

34
.gitignore vendored
View File

@@ -369,16 +369,12 @@ src/extras/GitSHA1.cpp
liberty/1ST_READ.BIN liberty/1ST_READ.BIN
liberty/IP.BIN liberty/IP.BIN
liberty/re3.cdi liberty/dca-liberty.cdi
liberty/re3.iso liberty/dca-liberty.iso
liberty/re3.elf liberty/dca-liberty.ds.iso
liberty/re3.elf.bin liberty/dca-liberty.elf
liberty/re3-sim.elf liberty/dca-liberty.elf.bin
liberty/dca3.cdi liberty/dca-liberty-sim.elf
liberty/dca3.iso
liberty/dca3.elf
liberty/dca3.elf.bin
liberty/dca3-sim.elf
liberty/texconv* liberty/texconv*
liberty/imgtool* liberty/imgtool*
liberty/extract-sfx* liberty/extract-sfx*
@@ -387,21 +383,16 @@ liberty/analyze-profile*
liberty/aud2adpcm* liberty/aud2adpcm*
liberty/repack-data liberty/repack-data
liberty/output.map liberty/output.map
liberty/dca3.ds.iso
liberty/git-version liberty/git-version
miami/1ST_READ.BIN miami/1ST_READ.BIN
miami/IP.BIN miami/IP.BIN
miami/re3.cdi miami/dca-miami.cdi
miami/re3.iso miami/dca-miami.iso
miami/re3.elf miami/dca-miami.ds.iso
miami/re3.elf.bin miami/dca-miami.elf
miami/re3-sim.elf miami/dca-miami.elf.bin
miami/dca3.cdi miami/dca-miami-sim.elf
miami/dca3.iso
miami/dca3.elf
miami/dca3.elf.bin
miami/dca3-sim.elf
miami/texconv* miami/texconv*
miami/imgtool* miami/imgtool*
miami/extract-sfx* miami/extract-sfx*
@@ -410,7 +401,6 @@ miami/analyze-profile*
miami/aud2adpcm* miami/aud2adpcm*
miami/repack-data miami/repack-data
miami/output.map miami/output.map
miami/dca3.ds.iso
miami/git-version miami/git-version
.DS_Store .DS_Store

View File

@@ -5,7 +5,7 @@ image:
name: ghcr.io/kos-builds/kos-dc:latest-14.1.0 name: ghcr.io/kos-builds/kos-dc:latest-14.1.0
entrypoint: ["/bin/sh", "-c", 'echo gitlab command: "$@" && /bin/bash -c "$@"'] entrypoint: ["/bin/sh", "-c", 'echo gitlab command: "$@" && /bin/bash -c "$@"']
build-dreamcast: build-dreamcast-liberty:
variables: variables:
CCACHE_BASEDIR: $CI_PROJECT_DIR CCACHE_BASEDIR: $CI_PROJECT_DIR
CCACHE_DIR: $CI_PROJECT_DIR/ccache CCACHE_DIR: $CI_PROJECT_DIR/ccache
@@ -23,13 +23,13 @@ build-dreamcast:
- make -C /opt/toolchains/dc/kos/kernel/arch/dreamcast/sound/arm - make -C /opt/toolchains/dc/kos/kernel/arch/dreamcast/sound/arm
- make -C /opt/toolchains/dc/kos -j $(nproc) - make -C /opt/toolchains/dc/kos -j $(nproc)
script: script:
- cd dreamcast - cd liberty
- make -j $(nproc) - make -j $(nproc)
artifacts: artifacts:
paths: paths:
- dreamcast/dca3.elf - liberty/dca-liberty.elf
build-dreamcast-ide-32mb: build-dreamcast-miami:
variables: variables:
CCACHE_BASEDIR: $CI_PROJECT_DIR CCACHE_BASEDIR: $CI_PROJECT_DIR
CCACHE_DIR: $CI_PROJECT_DIR/ccache CCACHE_DIR: $CI_PROJECT_DIR/ccache
@@ -47,13 +47,13 @@ build-dreamcast-ide-32mb:
- make -C /opt/toolchains/dc/kos/kernel/arch/dreamcast/sound/arm - make -C /opt/toolchains/dc/kos/kernel/arch/dreamcast/sound/arm
- make -C /opt/toolchains/dc/kos -j $(nproc) - make -C /opt/toolchains/dc/kos -j $(nproc)
script: script:
- cd dreamcast - cd miami
- make -j $(nproc) WITH_IDE=1 WITH_32MB=1 TARGET=dca3-ide-32mb.elf - make -j $(nproc)
artifacts: artifacts:
paths: paths:
- dreamcast/dca3-ide-32mb.elf - miami/dca-liberty.elf
build-texconv: build-texconv-liberty:
variables: variables:
CCACHE_BASEDIR: $CI_PROJECT_DIR CCACHE_BASEDIR: $CI_PROJECT_DIR
CCACHE_DIR: $CI_PROJECT_DIR/ccache CCACHE_DIR: $CI_PROJECT_DIR/ccache
@@ -68,13 +68,13 @@ build-texconv:
- update-ccache-symlinks - update-ccache-symlinks
script: script:
- export PATH="/usr/lib/ccache:$PATH" - export PATH="/usr/lib/ccache:$PATH"
- cd dreamcast - cd liberty
- make texconv -j $(nproc) - make texconv -j $(nproc)
artifacts: artifacts:
paths: paths:
- dreamcast/texconv - liberty/texconv
build-texconv-clang: build-texconv-liberty-clang:
variables: variables:
CCACHE_BASEDIR: $CI_PROJECT_DIR CCACHE_BASEDIR: $CI_PROJECT_DIR
CCACHE_DIR: $CI_PROJECT_DIR/ccache CCACHE_DIR: $CI_PROJECT_DIR/ccache
@@ -89,14 +89,57 @@ build-texconv-clang:
- update-ccache-symlinks - update-ccache-symlinks
script: script:
- export PATH="/usr/lib/ccache:$PATH" - export PATH="/usr/lib/ccache:$PATH"
- cd dreamcast - cd liberty
- CC=clang CXX=clang++ make texconv -j $(nproc) - CC=clang CXX=clang++ make texconv -j $(nproc)
- mv texconv texconv-clang - mv texconv texconv-clang
artifacts: artifacts:
paths: paths:
- dreamcast/texconv-clang - liberty/texconv-clang
build-sim: build-texconv-miami:
variables:
CCACHE_BASEDIR: $CI_PROJECT_DIR
CCACHE_DIR: $CI_PROJECT_DIR/ccache
cache:
- key: ccache-$CI_JOB_NAME
paths:
- $CCACHE_DIR
stage: build
before_script:
- apt update
- apt install -y build-essential gcc g++ ccache
- update-ccache-symlinks
script:
- export PATH="/usr/lib/ccache:$PATH"
- cd miami
- make texconv -j $(nproc)
artifacts:
paths:
- miami/texconv
build-texconv-miami-clang:
variables:
CCACHE_BASEDIR: $CI_PROJECT_DIR
CCACHE_DIR: $CI_PROJECT_DIR/ccache
cache:
- key: ccache-$CI_JOB_NAME
paths:
- $CCACHE_DIR
stage: build
before_script:
- apt update
- apt install -y build-essential gcc g++ clang ccache
- update-ccache-symlinks
script:
- export PATH="/usr/lib/ccache:$PATH"
- cd miami
- CC=clang CXX=clang++ make texconv -j $(nproc)
- mv texconv texconv-clang
artifacts:
paths:
- miami/texconv-clang
build-sim-liberty:
variables: variables:
CCACHE_BASEDIR: $CI_PROJECT_DIR CCACHE_BASEDIR: $CI_PROJECT_DIR
CCACHE_DIR: $CI_PROJECT_DIR/ccache CCACHE_DIR: $CI_PROJECT_DIR/ccache
@@ -112,13 +155,13 @@ build-sim:
- update-ccache-symlinks - update-ccache-symlinks
script: script:
- export PATH="/usr/lib/ccache:$PATH" - export PATH="/usr/lib/ccache:$PATH"
- cd dreamcast - cd liberty
- make -f sim.mk -j $(nproc) - make -f sim.mk -j $(nproc)
artifacts: artifacts:
paths: paths:
- dreamcast/dca3-sim.elf - liberty/dca-liberty-sim.elf
build-sim-clang: build-sim-liberty-clang:
variables: variables:
CCACHE_BASEDIR: $CI_PROJECT_DIR CCACHE_BASEDIR: $CI_PROJECT_DIR
CCACHE_DIR: $CI_PROJECT_DIR/ccache CCACHE_DIR: $CI_PROJECT_DIR/ccache
@@ -134,11 +177,55 @@ build-sim-clang:
- update-ccache-symlinks - update-ccache-symlinks
script: script:
- export PATH="/usr/lib/ccache:$PATH" - export PATH="/usr/lib/ccache:$PATH"
- cd dreamcast - cd liberty
- CC=clang CXX=clang++ make -f sim.mk -j $(nproc) TARGET=dca3-sim-clang.elf - CC=clang CXX=clang++ make -f sim.mk -j $(nproc) TARGET=dca-liberty-sim-clang.elf
artifacts: artifacts:
paths: paths:
- dreamcast/dca3-sim-clang.elf - liberty/dca-liberty-sim-clang.elf
build-sim-miami:
variables:
CCACHE_BASEDIR: $CI_PROJECT_DIR
CCACHE_DIR: $CI_PROJECT_DIR/ccache
cache:
- key: ccache-$CI_JOB_NAME
paths:
- $CCACHE_DIR
stage: build
before_script:
- dpkg --add-architecture i386
- apt update
- apt install -y build-essential gcc g++ gcc-multilib g++-multilib libx11-dev:i386 ccache
- update-ccache-symlinks
script:
- export PATH="/usr/lib/ccache:$PATH"
- cd liberty
- make -f sim.mk -j $(nproc)
artifacts:
paths:
- liberty/dca-liberty-sim.elf
build-sim-miami-clang:
variables:
CCACHE_BASEDIR: $CI_PROJECT_DIR
CCACHE_DIR: $CI_PROJECT_DIR/ccache
cache:
- key: ccache-$CI_JOB_NAME
paths:
- $CCACHE_DIR
stage: build
before_script:
- dpkg --add-architecture i386
- apt update
- apt install -y build-essential gcc g++ gcc-multilib g++-multilib libx11-dev:i386 clang ccache
- update-ccache-symlinks
script:
- export PATH="/usr/lib/ccache:$PATH"
- cd miami
- CC=clang CXX=clang++ make -f sim.mk -j $(nproc) TARGET=dca-miami-sim-clang.elf
artifacts:
paths:
- miami/dca-miami-sim-clang.elf
pages: pages:
stage: deploy stage: deploy

View File

@@ -4,8 +4,11 @@
# #
# Put the filename of the output binary here # Put the filename of the output binary here
PROJECT_NAME = dca3 PROJECT_NAME = dca-liberty
TARGET ?= dca3.elf TEAM_NAME ="the gang"
DISC_SERIAL = DCA-LIBERTY
RELEASE_DATE = 20250401
TARGET ?= dca-liberty.elf
HAVE_CDI4DC := $(shell which cdi4dc > /dev/null 2>&1 && echo "yes" || echo "no") HAVE_CDI4DC := $(shell which cdi4dc > /dev/null 2>&1 && echo "yes" || echo "no")
IS_MAC := $(shell uname -s | grep -i "darwin" > /dev/null && echo "yes" || echo "no") IS_MAC := $(shell uname -s | grep -i "darwin" > /dev/null && echo "yes" || echo "no")
@@ -45,8 +48,8 @@ all: $(TARGET)
include common.mk include common.mk
OBJS = $(RE3_OBJS) $(RW_OBJS) \ OBJS = $(RE3_OBJS) $(RW_OBJS) \
../src/audio/sampman_dc.o \ ../src/liberty/audio/sampman_dc.o \
../src/prof/profiler.o ../src/common/prof/profiler.o
OBJS_TEXCONV = $(RW_OBJS:.o=.texconv.o) OBJS_TEXCONV = $(RW_OBJS:.o=.texconv.o)
OBJS_TEXCONV += \ OBJS_TEXCONV += \
@@ -159,7 +162,7 @@ $(OBJS_NO_FAST_MATH): %.o: %.cpp
$(TARGET): $(OBJS) $(TARGET): $(OBJS)
kos-c++ -o $(TARGET) $(OBJS) -Wl,--gc-sections -Wl,--as-needed -Wl,-Map,output.map \ kos-c++ -o $(TARGET) $(OBJS) -Wl,--gc-sections -Wl,--as-needed -Wl,-Map,output.map \
-flto=auto $(if $(WITH_IDE),-lkosfat) $(if $(WITH_SD),-lkosfat) -Wl,--build-id=sha1 -flto=auto $(if $(WITH_IDE),-lkosfat) $(if $(WITH_SD),-lkosfat) -Wl,--build-id=sha1
@echo && echo && echo "*** Build Completed Successfully ***" && echo && echo @echo && echo && echo "*** Build Completed Successfully ($(TARGET)) ***" && echo && echo
run: $(TARGET) run: $(TARGET)
$(KOS_LOADER) $(TARGET) $(KOS_LOADER) $(TARGET)
@@ -227,15 +230,15 @@ $(PROJECT_NAME)-prebuilt.cdi: $(PROJECT_NAME)-prebuilt.iso
@echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo @echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo
else else
$(PROJECT_NAME).cdi: $(TARGET) $(REPACK_DIR)/repacked $(REPACK_GTA_DIR)/GTA3SF8.b $(PROJECT_NAME).cdi: $(TARGET) $(REPACK_DIR)/repacked $(REPACK_GTA_DIR)/GTA3SF8.b
mkdcdisc -e $(TARGET) -o $(PROJECT_NAME).cdi -d $(REPACK_GTA_DIR)/ $(MKDCDISC_PAD_OPTION) -n DCA3 -a "the gang" mkdcdisc -e $(TARGET) -o $(PROJECT_NAME).cdi -d $(REPACK_GTA_DIR)/ $(MKDCDISC_PAD_OPTION) -n $(PROJECT_NAME) -a $(TEAM_NAME) -s $(DISC_SERIAL) -r $(RELEASE_DATE)
@echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo @echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo
$(PROJECT_NAME)-no-repack.cdi: $(TARGET) $(REPACK_GTA_DIR)/GTA3SF8.b $(PROJECT_NAME)-no-repack.cdi: $(TARGET) $(REPACK_GTA_DIR)/GTA3SF8.b
mkdcdisc -e $(TARGET) -o $(PROJECT_NAME)-no-repack.cdi -d $(REPACK_GTA_DIR)/ $(MKDCDISC_PAD_OPTION) -n DCA3 -a "the gang" mkdcdisc -e $(TARGET) -o $(PROJECT_NAME)-no-repack.cdi -d $(REPACK_GTA_DIR)/ $(MKDCDISC_PAD_OPTION) -n $(PROJECT_NAME) -a $(TEAM_NAME) -s $(DISC_SERIAL) -r $(RELEASE_DATE)
@echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo @echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo
$(PROJECT_NAME)-prebuilt.cdi: $(REPACK_DIR)/repacked $(REPACK_GTA_DIR)/GTA3SF8.b $(PROJECT_NAME)-prebuilt.cdi: $(REPACK_DIR)/repacked $(REPACK_GTA_DIR)/GTA3SF8.b
mkdcdisc -e $(TARGET) -o $(PROJECT_NAME).cdi -d $(REPACK_GTA_DIR)/ $(MKDCDISC_PAD_OPTION) -n DCA3 -a "the gang" mkdcdisc -e $(TARGET) -o $(PROJECT_NAME).cdi -d $(REPACK_GTA_DIR)/ $(MKDCDISC_PAD_OPTION) -n $(PROJECT_NAME) -a $(TEAM_NAME) -s $(DISC_SERIAL) -r $(RELEASE_DATE)
@echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo @echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo
endif endif

View File

@@ -2,283 +2,284 @@ GIT_VERSION := $(shell git describe --always --tags --long --dirty 2>/dev/null |
CI_JOB_ID ?= 00000000 CI_JOB_ID ?= 00000000
git-version.tmp: git-version/git-version.tmp:
@echo "Generating git-version.tmp with GIT_VERSION = \"$(GIT_VERSION)\"" @echo "Generating git-version.tmp with GIT_VERSION = \"$(GIT_VERSION)\""
@echo "#pragma once" > git-version.tmp @mkdir -p git-version
@echo "#ifndef VERSION_H" >> git-version.tmp @echo "#pragma once" > git-version/git-version.tmp
@echo "#define VERSION_H" >> git-version.tmp @echo "#ifndef VERSION_H" >> git-version/git-version.tmp
@echo "#define GIT_VERSION \"$(GIT_VERSION)\"" >> git-version.tmp @echo "#define VERSION_H" >> git-version/git-version.tmp
@echo "#define CI_JOB_ID \"$(CI_JOB_ID)\"" >> git-version.tmp @echo "#define GIT_VERSION \"$(GIT_VERSION)\"" >> git-version/git-version.tmp
@echo "#endif // VERSION_H" >> git-version.tmp @echo "#define CI_JOB_ID \"$(CI_JOB_ID)\"" >> git-version/git-version.tmp
@echo "#endif // VERSION_H" >> git-version/git-version.tmp
git-version.h: git-version.tmp git-version/git-version.h: git-version/git-version.tmp
@if [ ! -f git-version.h ] || ! cmp -s git-version.tmp git-version.h; then \ @if [ ! -f git-version/git-version.h ] || ! cmp -s git-version/git-version.tmp git-version/git-version.h; then \
echo "Updating git-version.h"; \ echo "Updating git-version.h"; \
cp git-version.tmp git-version.h; \ cp git-version/git-version.tmp git-version/git-version.h; \
else \ else \
echo "git-version.h is up to date. No change."; \ echo "git-version.h is up to date. No change."; \
fi fi
.PHONY: git-version.tmp .PHONY: git-version/git-version.tmp
../src/skel/dc/dc.cpp: git-version.h ../src/liberty/skel/dc/dc.cpp: git-version/git-version.h
# List all of your C files here, but change the extension to ".o" # List all of your C files here, but change the extension to ".o"
# Include "romdisk.o" if you want a rom disk. # Include "romdisk.o" if you want a rom disk.
RE3_OBJS = \ RE3_OBJS = \
../src/animation/AnimBlendAssocGroup.o \ ../src/liberty/animation/AnimBlendAssocGroup.o \
../src/animation/AnimBlendAssociation.o \ ../src/liberty/animation/AnimBlendAssociation.o \
../src/animation/AnimBlendClumpData.o \ ../src/liberty/animation/AnimBlendClumpData.o \
../src/animation/AnimBlendHierarchy.o \ ../src/liberty/animation/AnimBlendHierarchy.o \
../src/animation/AnimBlendNode.o \ ../src/liberty/animation/AnimBlendNode.o \
../src/animation/AnimBlendSequence.o \ ../src/liberty/animation/AnimBlendSequence.o \
../src/animation/AnimManager.o \ ../src/liberty/animation/AnimManager.o \
../src/animation/Bones.o \ ../src/liberty/animation/Bones.o \
../src/animation/CutsceneMgr.o \ ../src/liberty/animation/CutsceneMgr.o \
../src/animation/FrameUpdate.o \ ../src/liberty/animation/FrameUpdate.o \
../src/animation/RpAnimBlend.o \ ../src/liberty/animation/RpAnimBlend.o \
\ \
../src/buildings/Building.o \ ../src/liberty/buildings/Building.o \
../src/buildings/Treadable.o \ ../src/liberty/buildings/Treadable.o \
\ \
../src/collision/ColBox.o \ ../src/liberty/collision/ColBox.o \
../src/collision/ColLine.o \ ../src/liberty/collision/ColLine.o \
../src/collision/Collision.o \ ../src/liberty/collision/Collision.o \
../src/collision/ColModel.o \ ../src/liberty/collision/ColModel.o \
../src/collision/ColPoint.o \ ../src/liberty/collision/ColPoint.o \
../src/collision/ColSphere.o \ ../src/liberty/collision/ColSphere.o \
../src/collision/ColTriangle.o \ ../src/liberty/collision/ColTriangle.o \
../src/collision/TempColModels.o \ ../src/liberty/collision/TempColModels.o \
../src/collision/VuCollision.o \ ../src/liberty/collision/VuCollision.o \
\ \
../src/control/AutoPilot.o \ ../src/liberty/control/AutoPilot.o \
../src/control/Bridge.o \ ../src/liberty/control/Bridge.o \
../src/control/CarAI.o \ ../src/liberty/control/CarAI.o \
../src/control/CarCtrl.o \ ../src/liberty/control/CarCtrl.o \
../src/control/Curves.o \ ../src/liberty/control/Curves.o \
../src/control/Darkel.o \ ../src/liberty/control/Darkel.o \
../src/control/GameLogic.o \ ../src/liberty/control/GameLogic.o \
../src/control/Garages.o \ ../src/liberty/control/Garages.o \
../src/control/NameGrid.o \ ../src/liberty/control/NameGrid.o \
../src/control/OnscreenTimer.o \ ../src/liberty/control/OnscreenTimer.o \
../src/control/PathFind.o \ ../src/liberty/control/PathFind.o \
../src/control/Phones.o \ ../src/liberty/control/Phones.o \
../src/control/Pickups.o \ ../src/liberty/control/Pickups.o \
../src/control/PowerPoints.o \ ../src/liberty/control/PowerPoints.o \
../src/control/Record.o \ ../src/liberty/control/Record.o \
../src/control/Remote.o \ ../src/liberty/control/Remote.o \
../src/control/Replay.o \ ../src/liberty/control/Replay.o \
../src/control/Restart.o \ ../src/liberty/control/Restart.o \
../src/control/RoadBlocks.o \ ../src/liberty/control/RoadBlocks.o \
../src/control/SceneEdit.o \ ../src/liberty/control/SceneEdit.o \
../src/control/Script.o \ ../src/liberty/control/Script.o \
../src/control/Script2.o \ ../src/liberty/control/Script2.o \
../src/control/Script3.o \ ../src/liberty/control/Script3.o \
../src/control/Script4.o \ ../src/liberty/control/Script4.o \
../src/control/Script5.o \ ../src/liberty/control/Script5.o \
../src/control/Script6.o \ ../src/liberty/control/Script6.o \
../src/control/ScriptDebug.o \ ../src/liberty/control/ScriptDebug.o \
../src/control/TrafficLights.o \ ../src/liberty/control/TrafficLights.o \
\ \
../src/core/Accident.o \ ../src/liberty/core/Accident.o \
../src/core/Cam.o \ ../src/liberty/core/Cam.o \
../src/core/Camera.o \ ../src/liberty/core/Camera.o \
../src/core/CdStreamDC.o \ ../src/liberty/core/CdStreamDC.o \
../src/core/Clock.o \ ../src/liberty/core/Clock.o \
../src/core/ControllerConfig.o \ ../src/liberty/core/ControllerConfig.o \
../src/core/Debug.o \ ../src/liberty/core/Debug.o \
../src/core/Directory.o \ ../src/liberty/core/Directory.o \
../src/core/EventList.o \ ../src/liberty/core/EventList.o \
../src/core/FileLoader.o \ ../src/liberty/core/FileLoader.o \
../src/core/FileMgr.o \ ../src/liberty/core/FileMgr.o \
../src/core/Fire.o \ ../src/liberty/core/Fire.o \
../src/core/Frontend.o \ ../src/liberty/core/Frontend.o \
../src/core/FrontEndControls.o \ ../src/liberty/core/FrontEndControls.o \
../src/core/Frontend_PS2.o \ ../src/liberty/core/Frontend_PS2.o \
../src/core/Game.o \ ../src/liberty/core/Game.o \
../src/core/IniFile.o \ ../src/liberty/core/IniFile.o \
../src/core/Lists.o \ ../src/liberty/core/Lists.o \
../src/core/main.o \ ../src/liberty/core/main.o \
../src/core/MenuScreens.o \ ../src/liberty/core/MenuScreens.o \
../src/core/MenuScreensCustom.o \ ../src/liberty/core/MenuScreensCustom.o \
../src/core/obrstr.o \ ../src/liberty/core/obrstr.o \
../src/core/Pad.o \ ../src/liberty/core/Pad.o \
../src/core/Placeable.o \ ../src/liberty/core/Placeable.o \
../src/core/PlayerInfo.o \ ../src/liberty/core/PlayerInfo.o \
../src/core/Pools.o \ ../src/liberty/core/Pools.o \
../src/core/Profile.o \ ../src/liberty/core/Profile.o \
../src/core/Radar.o \ ../src/liberty/core/Radar.o \
../src/core/Range2D.o \ ../src/liberty/core/Range2D.o \
../src/core/Range3D.o \ ../src/liberty/core/Range3D.o \
../src/core/re3.o \ ../src/liberty/core/re3.o \
../src/core/References.o \ ../src/liberty/core/References.o \
../src/core/Stats.o \ ../src/liberty/core/Stats.o \
../src/core/Streaming.o \ ../src/liberty/core/Streaming.o \
../src/core/SurfaceTable.o \ ../src/liberty/core/SurfaceTable.o \
../src/core/timebars.o \ ../src/liberty/core/timebars.o \
../src/core/Timer.o \ ../src/liberty/core/Timer.o \
../src/core/TimeStep.o \ ../src/liberty/core/TimeStep.o \
../src/core/User.o \ ../src/liberty/core/User.o \
../src/core/Wanted.o \ ../src/liberty/core/Wanted.o \
../src/core/World.o \ ../src/liberty/core/World.o \
../src/core/ZoneCull.o \ ../src/liberty/core/ZoneCull.o \
../src/core/Zones.o \ ../src/liberty/core/Zones.o \
\ \
../src/entities/Dummy.o \ ../src/liberty/entities/Dummy.o \
../src/entities/Entity.o \ ../src/liberty/entities/Entity.o \
../src/entities/Physical.o \ ../src/liberty/entities/Physical.o \
\ \
../src/fakerw/fake.o \ ../src/liberty/fakerw/fake.o \
\ \
../src/math/math.o \ ../src/liberty/math/math.o \
../src/math/Matrix.o \ ../src/liberty/math/Matrix.o \
../src/math/Quaternion.o \ ../src/liberty/math/Quaternion.o \
../src/math/Rect.o \ ../src/liberty/math/Rect.o \
../src/math/Vector.o \ ../src/liberty/math/Vector.o \
\ \
../src/modelinfo/BaseModelInfo.o \ ../src/liberty/modelinfo/BaseModelInfo.o \
../src/modelinfo/ClumpModelInfo.o \ ../src/liberty/modelinfo/ClumpModelInfo.o \
../src/modelinfo/MloModelInfo.o \ ../src/liberty/modelinfo/MloModelInfo.o \
../src/modelinfo/ModelIndices.o \ ../src/liberty/modelinfo/ModelIndices.o \
../src/modelinfo/ModelInfo.o \ ../src/liberty/modelinfo/ModelInfo.o \
../src/modelinfo/PedModelInfo.o \ ../src/liberty/modelinfo/PedModelInfo.o \
../src/modelinfo/SimpleModelInfo.o \ ../src/liberty/modelinfo/SimpleModelInfo.o \
../src/modelinfo/TimeModelInfo.o \ ../src/liberty/modelinfo/TimeModelInfo.o \
../src/modelinfo/VehicleModelInfo.o \ ../src/liberty/modelinfo/VehicleModelInfo.o \
\ \
../src/objects/CutsceneHead.o \ ../src/liberty/objects/CutsceneHead.o \
../src/objects/CutsceneObject.o \ ../src/liberty/objects/CutsceneObject.o \
../src/objects/DummyObject.o \ ../src/liberty/objects/DummyObject.o \
../src/objects/Object.o \ ../src/liberty/objects/Object.o \
../src/objects/ObjectData.o \ ../src/liberty/objects/ObjectData.o \
../src/objects/ParticleObject.o \ ../src/liberty/objects/ParticleObject.o \
../src/objects/Projectile.o \ ../src/liberty/objects/Projectile.o \
\ \
../src/peds/CivilianPed.o \ ../src/liberty/peds/CivilianPed.o \
../src/peds/CopPed.o \ ../src/liberty/peds/CopPed.o \
../src/peds/EmergencyPed.o \ ../src/liberty/peds/EmergencyPed.o \
../src/peds/Gangs.o \ ../src/liberty/peds/Gangs.o \
../src/peds/Ped.o \ ../src/liberty/peds/Ped.o \
../src/peds/PedAI.o \ ../src/liberty/peds/PedAI.o \
../src/peds/PedChat.o \ ../src/liberty/peds/PedChat.o \
../src/peds/PedDebug.o \ ../src/liberty/peds/PedDebug.o \
../src/peds/PedFight.o \ ../src/liberty/peds/PedFight.o \
../src/peds/PedIK.o \ ../src/liberty/peds/PedIK.o \
../src/peds/PedPlacement.o \ ../src/liberty/peds/PedPlacement.o \
../src/peds/PedRoutes.o \ ../src/liberty/peds/PedRoutes.o \
../src/peds/PedType.o \ ../src/liberty/peds/PedType.o \
../src/peds/PlayerPed.o \ ../src/liberty/peds/PlayerPed.o \
../src/peds/Population.o \ ../src/liberty/peds/Population.o \
\ \
../src/renderer/Antennas.o \ ../src/liberty/renderer/Antennas.o \
../src/renderer/Clouds.o \ ../src/liberty/renderer/Clouds.o \
../src/renderer/Console.o \ ../src/liberty/renderer/Console.o \
../src/renderer/Coronas.o \ ../src/liberty/renderer/Coronas.o \
../src/renderer/Credits.o \ ../src/liberty/renderer/Credits.o \
../src/renderer/Draw.o \ ../src/liberty/renderer/Draw.o \
../src/renderer/Fluff.o \ ../src/liberty/renderer/Fluff.o \
../src/renderer/Font.o \ ../src/liberty/renderer/Font.o \
../src/renderer/Glass.o \ ../src/liberty/renderer/Glass.o \
../src/renderer/Hud.o \ ../src/liberty/renderer/Hud.o \
../src/renderer/Instance.o \ ../src/liberty/renderer/Instance.o \
../src/renderer/Lines.o \ ../src/liberty/renderer/Lines.o \
../src/renderer/MBlur.o \ ../src/liberty/renderer/MBlur.o \
../src/renderer/Particle.o \ ../src/liberty/renderer/Particle.o \
../src/renderer/ParticleMgr.o \ ../src/liberty/renderer/ParticleMgr.o \
../src/renderer/PlayerSkin.o \ ../src/liberty/renderer/PlayerSkin.o \
../src/renderer/PointLights.o \ ../src/liberty/renderer/PointLights.o \
../src/renderer/RenderBuffer.o \ ../src/liberty/renderer/RenderBuffer.o \
../src/renderer/Renderer.o \ ../src/liberty/renderer/Renderer.o \
../src/renderer/Rubbish.o \ ../src/liberty/renderer/Rubbish.o \
../src/renderer/Shadows.o \ ../src/liberty/renderer/Shadows.o \
../src/renderer/Skidmarks.o \ ../src/liberty/renderer/Skidmarks.o \
../src/renderer/SpecialFX.o \ ../src/liberty/renderer/SpecialFX.o \
../src/renderer/Sprite.o \ ../src/liberty/renderer/Sprite.o \
../src/renderer/Sprite2d.o \ ../src/liberty/renderer/Sprite2d.o \
../src/renderer/TexList.o \ ../src/liberty/renderer/TexList.o \
../src/renderer/Timecycle.o \ ../src/liberty/renderer/Timecycle.o \
../src/renderer/WaterCannon.o \ ../src/liberty/renderer/WaterCannon.o \
../src/renderer/WaterLevel.o \ ../src/liberty/renderer/WaterLevel.o \
../src/renderer/Weather.o \ ../src/liberty/renderer/Weather.o \
\ \
../src/rw/ClumpRead.o \ ../src/liberty/rw/ClumpRead.o \
../src/rw/Lights.o \ ../src/liberty/rw/Lights.o \
../src/rw/MemoryHeap.o \ ../src/liberty/rw/MemoryHeap.o \
../src/rw/MemoryMgr.o \ ../src/liberty/rw/MemoryMgr.o \
../src/rw/NodeName.o \ ../src/liberty/rw/NodeName.o \
../src/rw/RwHelper.o \ ../src/liberty/rw/RwHelper.o \
../src/rw/RwMatFX.o \ ../src/liberty/rw/RwMatFX.o \
../src/rw/RwPS2AlphaTest.o \ ../src/liberty/rw/RwPS2AlphaTest.o \
../src/rw/TexRead.o \ ../src/liberty/rw/TexRead.o \
../src/rw/TexturePools.o \ ../src/liberty/rw/TexturePools.o \
../src/rw/TxdStore.o \ ../src/liberty/rw/TxdStore.o \
../src/rw/VisibilityPlugins.o \ ../src/liberty/rw/VisibilityPlugins.o \
\ \
../src/skel/crossplatform.o \ ../src/liberty/skel/crossplatform.o \
../src/skel/events.o \ ../src/liberty/skel/events.o \
../src/skel/skeleton.o \ ../src/liberty/skel/skeleton.o \
../src/skel/dc/dc.o \ ../src/liberty/skel/dc/dc.o \
\ \
../src/text/Messages.o \ ../src/liberty/text/Messages.o \
../src/text/Pager.o \ ../src/liberty/text/Pager.o \
../src/text/Text.o \ ../src/liberty/text/Text.o \
\ \
../src/vehicles/Automobile.o \ ../src/liberty/vehicles/Automobile.o \
../src/vehicles/Boat.o \ ../src/liberty/vehicles/Boat.o \
../src/vehicles/CarGen.o \ ../src/liberty/vehicles/CarGen.o \
../src/vehicles/Cranes.o \ ../src/liberty/vehicles/Cranes.o \
../src/vehicles/DamageManager.o \ ../src/liberty/vehicles/DamageManager.o \
../src/vehicles/Door.o \ ../src/liberty/vehicles/Door.o \
../src/vehicles/Floater.o \ ../src/liberty/vehicles/Floater.o \
../src/vehicles/HandlingMgr.o \ ../src/liberty/vehicles/HandlingMgr.o \
../src/vehicles/Heli.o \ ../src/liberty/vehicles/Heli.o \
../src/vehicles/Plane.o \ ../src/liberty/vehicles/Plane.o \
../src/vehicles/Train.o \ ../src/liberty/vehicles/Train.o \
../src/vehicles/Transmission.o \ ../src/liberty/vehicles/Transmission.o \
../src/vehicles/Vehicle.o \ ../src/liberty/vehicles/Vehicle.o \
\ \
../src/weapons/BulletInfo.o \ ../src/liberty/weapons/BulletInfo.o \
../src/weapons/Explosion.o \ ../src/liberty/weapons/Explosion.o \
../src/weapons/ProjectileInfo.o \ ../src/liberty/weapons/ProjectileInfo.o \
../src/weapons/ShotInfo.o \ ../src/liberty/weapons/ShotInfo.o \
../src/weapons/Weapon.o \ ../src/liberty/weapons/Weapon.o \
../src/weapons/WeaponEffects.o \ ../src/liberty/weapons/WeaponEffects.o \
../src/weapons/WeaponInfo.o \ ../src/liberty/weapons/WeaponInfo.o \
\ \
../src/audio/AudioCollision.o \ ../src/liberty/audio/AudioCollision.o \
../src/audio/AudioLogic.o \ ../src/liberty/audio/AudioLogic.o \
../src/audio/AudioManager.o \ ../src/liberty/audio/AudioManager.o \
../src/audio/AudioScriptObject.o \ ../src/liberty/audio/AudioScriptObject.o \
../src/audio/DMAudio.o \ ../src/liberty/audio/DMAudio.o \
../src/audio/MusicManager.o \ ../src/liberty/audio/MusicManager.o \
../src/audio/PolRadio.o \ ../src/liberty/audio/PolRadio.o \
../src/audio/sampman_miles.o \ ../src/liberty/audio/sampman_miles.o \
../src/audio/sampman_oal.o \ ../src/liberty/audio/sampman_oal.o \
\ \
../src/save/Date.o \ ../src/liberty/save/Date.o \
../src/save/GenericGameStorage.o \ ../src/liberty/save/GenericGameStorage.o \
../src/save/MemoryCard.o \ ../src/liberty/save/MemoryCard.o \
../src/save/PCSave.o \ ../src/liberty/save/PCSave.o \
\ \
../src/extras/debugmenu.o \ ../src/liberty/extras/debugmenu.o \
../src/extras/frontendoption.o \ ../src/liberty/extras/frontendoption.o \
../src/extras/postfx.o \ ../src/liberty/extras/postfx.o \
../src/extras/screendroplets.o \ ../src/liberty/extras/screendroplets.o \
\ \
../src/vmu/vmu.o \ ../src/common/vmu/vmu.o \
../vendor/miniLZO/minilzo.o \ ../vendor/miniLZO/minilzo.o \
\ \
# Excluded \ # Excluded \
../src/extras/custompipes.o \ ../src/liberty/extras/custompipes.o \
../src/extras/custompipes_d3d9.o \ ../src/liberty/extras/custompipes_d3d9.o \
../src/extras/custompipes_gl.o \ ../src/liberty/extras/custompipes_gl.o \
../src/core/CdStream.o \ ../src/liberty/core/CdStream.o \
../src/core/CdStreamPosix.o \ ../src/liberty/core/CdStreamPosix.o \
../src/extras \ ../src/liberty/extras \
../src/extras/GitSHA1.cpp.in \ ../src/liberty/extras/GitSHA1.cpp.in \
../src/core/AnimViewer.o \ ../src/liberty/core/AnimViewer.o \
RW_OBJS = \ RW_OBJS = \
../vendor/librw/src/anim.o \ ../vendor/librw/src/anim.o \
@@ -351,36 +352,40 @@ RW_OBJS = \
../vendor/librw/src/ps2/ps2skin.o \ ../vendor/librw/src/ps2/ps2skin.o \
INCLUDE = \ INCLUDE = \
-I../src/animation \ -I../src/liberty/animation \
-I../src/audio \ -I../src/liberty/audio \
-I../src/buildings \ -I../src/liberty/buildings \
-I../src/collision \ -I../src/liberty/collision \
-I../src/control \ -I../src/liberty/control \
-I../src/core \ -I../src/liberty/core \
-I../src/entities \ -I../src/liberty/entities \
-I../src/extras \ -I../src/liberty/extras \
-I../src/fakerw \ -I../src/liberty/fakerw \
-I../src/math \ -I../src/liberty/math \
-I../src/modelinfo \ -I../src/liberty/modelinfo \
-I../src/objects \ -I../src/liberty/objects \
-I../src/peds \ -I../src/liberty/peds \
-I../src/renderer \ -I../src/liberty/renderer \
-I../src/rw \ -I../src/liberty/rw \
-I../src/save \ -I../src/liberty/save \
-I../src/skel \ -I../src/liberty/skel \
-I../src/text \ -I../src/liberty/text \
-I../src/vehicles \ -I../src/liberty/vehicles \
-I../src/weapons \ -I../src/liberty/weapons \
-I../src/audio/eax \ -I../src/liberty/audio/eax \
-I../src/audio/oal \ -I../src/liberty/audio/oal \
-I../src/extras/shaders \ -I../src/liberty/extras/shaders \
-I../src/extras/shaders/obj \ -I../src/liberty/extras/shaders/obj \
-I../src/skel/glfw \ -I../src/liberty/skel/glfw \
-I../src/skel/win \ -I../src/liberty/skel/win \
\ \
-I../vendor/librw \ -I../vendor/librw \
\ \
-I../vendor/miniLZO -I../vendor/miniLZO \
\
-I../src/common \
\
-Igit-version
DEFINES = -DRW_DC -DLIBRW $(if $(WITH_LOGGING),-DWITH_LOGGING) $(if $(WITH_DCLOAD),-DDC_CHDIR=/pc) \ DEFINES = -DRW_DC -DLIBRW $(if $(WITH_LOGGING),-DWITH_LOGGING) $(if $(WITH_DCLOAD),-DDC_CHDIR=/pc) \
$(if $(WITH_BEEPS),-DWITH_BEEPS) $(if $(WITH_BEEPS),-DWITH_BEEPS)

View File

@@ -1,9 +1,9 @@
Device Info : CD-ROM1/1 Device Info : CD-ROM1/1
Area Symbols : JUE Area Symbols : JUE
Peripherals : E000F10 Peripherals : E000F10
Product No : T0000 Product No : DCA-LIBERTY
Version : V1.000 Version : V2.000
Release Date : 20000627 Release Date : 20250401
Boot Filename : 1ST_READ.BIN Boot Filename : 1ST_READ.BIN
SW Maker Name : the gang SW Maker Name : the gang
Game Title : DCA3 Game Title : dca-liberty

View File

@@ -1,14 +1,11 @@
TARGET ?= dca3-sim.elf TARGET ?= dca-liberty-sim.elf
IS_MAC := $(shell uname -s | grep -i "darwin" > /dev/null && echo "yes" || echo "no")
all: $(TARGET) all: $(TARGET)
include common.mk include common.mk
OBJS = $(RE3_OBJS) $(RW_OBJS) \ OBJS = $(RE3_OBJS) $(RW_OBJS) \
../src/audio/sampman_null.o ../src/liberty/audio/sampman_null.o
OBJS_SIM=$(OBJS:.o=.sim.o) \ OBJS_SIM=$(OBJS:.o=.sim.o) \
../vendor/koshle/hlekos.sim.o \ ../vendor/koshle/hlekos.sim.o \
@@ -37,31 +34,17 @@ DEPS_SIM=$(DEPS_SIM1:.o3=.d)
CXXFLAGS+= -MMD -MP CXXFLAGS+= -MMD -MP
ifeq ($(IS_MAC), yes)
%.sim.o: %.c %.sim.o: %.c
$(CC) -c -O0 -g -fno-pic -no-pie -o $@ $(CFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -D_FILE_OFFSET_BITS=64 -DMACOS64 $< $(CC) -c -O0 -g -fno-pic -no-pie -o $@ $(CFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -DMACOS64 $<
%.sim.o: %.cpp %.sim.o: %.cpp
$(CXX) -c -O0 -g -fno-pic -no-pie -o $@ $(CXXFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -D_FILE_OFFSET_BITS=64 -DMACOS64 $< $(CXX) -c -O0 -g -fno-pic -no-pie -o $@ $(CXXFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -DMACOS64 $<
%.sim.o3: %.cpp %.sim.o3: %.cpp
$(CXX) -c -O3 -g -fno-pic -no-pie -o $@ $(CXXFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -D_FILE_OFFSET_BITS=64 -DMACOS64 $< $(CXX) -c -O3 -g -fno-pic -no-pie -o $@ $(CXXFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -DMACOS64 $<
else
# Using sse2 here for valgrind compatibility
%.sim.o: %.c
$(CC) -msse2 -mfpmath=sse -c -O0 -g -fno-pic -no-pie -o $@ $(CFLAGS) -I../vendor/koshle -I../vendor/emu -m32 -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -D_FILE_OFFSET_BITS=64 $<
%.sim.o: %.cpp
$(CXX) -msse2 -mfpmath=sse -c -O0 -g -fno-pic -no-pie -o $@ $(CXXFLAGS) -I../vendor/koshle -I../vendor/emu -m32 -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -D_FILE_OFFSET_BITS=64 $<
%.sim.o3: %.cpp
$(CXX) -msse2 -mfpmath=sse -c -O3 -g -fno-pic -no-pie -o $@ $(CXXFLAGS) -I../vendor/koshle -I../vendor/emu -m32 -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -D_FILE_OFFSET_BITS=64 $<
endif
clean: clean:
-rm -f $(OBJS_SIM) $(TARGET) -rm -f $(OBJS_SIM) $(TARGET)
ifeq ($(IS_MAC), yes)
$(TARGET): $(OBJS_SIM) $(TARGET): $(OBJS_SIM)
$(CXX) -fno-pic -no-pie -o $(TARGET) $(OBJS_SIM) -lX11 $(CXX) -fno-pic -no-pie -o $(TARGET) $(OBJS_SIM) -lX11
else
$(TARGET): $(OBJS_SIM)
$(CXX) -m32 -fno-pic -no-pie -o $(TARGET) $(OBJS_SIM) -lX11
endif
-include $(DEPS_SIM) -include $(DEPS_SIM)

View File

@@ -4,8 +4,11 @@
# #
# Put the filename of the output binary here # Put the filename of the output binary here
PROJECT_NAME = dca3 PROJECT_NAME = dca-miami
TARGET ?= dca3.elf TEAM_NAME ="the gang"
DISC_SERIAL = DCA-MIAMI
RELEASE_DATE = 20250401
TARGET ?= dca-miami.elf
HAVE_CDI4DC := $(shell which cdi4dc > /dev/null 2>&1 && echo "yes" || echo "no") HAVE_CDI4DC := $(shell which cdi4dc > /dev/null 2>&1 && echo "yes" || echo "no")
IS_MAC := $(shell uname -s | grep -i "darwin" > /dev/null && echo "yes" || echo "no") IS_MAC := $(shell uname -s | grep -i "darwin" > /dev/null && echo "yes" || echo "no")
@@ -113,7 +116,7 @@ KOS_CPPFLAGS += -fbuiltin -ffast-math -ffp-contract=fast \
-mfsrra -mfsca -mfsrra -mfsca
ifdef KOS_BASE ifdef KOS_BASE
include $(KOS_BASE)/Makefile.rules../.gitignore include $(KOS_BASE)/Makefile.rules
else else
$(warning "KOS_BASE is not set. Only prebuilt targets will work.") $(warning "KOS_BASE is not set. Only prebuilt targets will work.")
endif endif
@@ -166,7 +169,7 @@ $(OBJS_NO_FAST_MATH): %.o: %.cpp
$(TARGET): $(OBJS) $(TARGET): $(OBJS)
kos-c++ -o $(TARGET) $(OBJS) -Wl,--gc-sections -Wl,--as-needed -Wl,-Map,output.map \ kos-c++ -o $(TARGET) $(OBJS) -Wl,--gc-sections -Wl,--as-needed -Wl,-Map,output.map \
$(if $(WITH_IDE),-lkosfat) $(if $(WITH_SD),-lkosfat) -Wl,--build-id=sha1 $(if $(WITH_IDE),-lkosfat) $(if $(WITH_SD),-lkosfat) -Wl,--build-id=sha1
@echo && echo && echo "*** Build Completed Successfully ***" && echo && echo @echo && echo && echo "*** Build Completed Successfully ($(TARGET)) ***" && echo && echo
run: $(TARGET) run: $(TARGET)
$(KOS_LOADER) $(TARGET) $(KOS_LOADER) $(TARGET)
@@ -234,15 +237,15 @@ $(PROJECT_NAME)-prebuilt.cdi: $(PROJECT_NAME)-prebuilt.iso
@echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo @echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo
else else
$(PROJECT_NAME).cdi: $(TARGET) $(REPACK_DIR)/repacked $(REPACK_GTA_DIR)/GTA3SF8.b $(PROJECT_NAME).cdi: $(TARGET) $(REPACK_DIR)/repacked $(REPACK_GTA_DIR)/GTA3SF8.b
mkdcdisc -e $(TARGET) -o $(PROJECT_NAME).cdi -d $(REPACK_GTA_DIR)/ $(MKDCDISC_PAD_OPTION) -n DCA3 -a "the gang" mkdcdisc -e $(TARGET) -o $(PROJECT_NAME).cdi -d $(REPACK_GTA_DIR)/ $(MKDCDISC_PAD_OPTION) -n $(PROJECT_NAME) -a $(TEAM_NAME) -s $(DISC_SERIAL) -r $(RELEASE_DATE)
@echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo @echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo
$(PROJECT_NAME)-no-repack.cdi: $(TARGET) $(REPACK_GTA_DIR)/GTA3SF8.b $(PROJECT_NAME)-no-repack.cdi: $(TARGET) $(REPACK_GTA_DIR)/GTA3SF8.b
mkdcdisc -e $(TARGET) -o $(PROJECT_NAME)-no-repack.cdi -d $(REPACK_GTA_DIR)/ $(MKDCDISC_PAD_OPTION) -n DCA3 -a "the gang" mkdcdisc -e $(TARGET) -o $(PROJECT_NAME)-no-repack.cdi -d $(REPACK_GTA_DIR)/ $(MKDCDISC_PAD_OPTION) -n $(PROJECT_NAME) -a $(TEAM_NAME) -s $(DISC_SERIAL) -r $(RELEASE_DATE)
@echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo @echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo
$(PROJECT_NAME)-prebuilt.cdi: $(REPACK_DIR)/repacked $(REPACK_GTA_DIR)/GTA3SF8.b $(PROJECT_NAME)-prebuilt.cdi: $(REPACK_DIR)/repacked $(REPACK_GTA_DIR)/GTA3SF8.b
mkdcdisc -e $(TARGET) -o $(PROJECT_NAME).cdi -d $(REPACK_GTA_DIR)/ $(MKDCDISC_PAD_OPTION) -n DCA3 -a "the gang" mkdcdisc -e $(TARGET) -o $(PROJECT_NAME).cdi -d $(REPACK_GTA_DIR)/ $(MKDCDISC_PAD_OPTION) -n $(PROJECT_NAME) -a $(TEAM_NAME) -s $(DISC_SERIAL) -r $(RELEASE_DATE)
@echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo @echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo
endif endif

View File

@@ -4,6 +4,7 @@ CI_JOB_ID ?= 00000000
git-version/git-version.tmp: git-version/git-version.tmp:
@echo "Generating git-version.tmp with GIT_VERSION = \"$(GIT_VERSION)\"" @echo "Generating git-version.tmp with GIT_VERSION = \"$(GIT_VERSION)\""
@mkdir -p git-version
@echo "#pragma once" > git-version/git-version.tmp @echo "#pragma once" > git-version/git-version.tmp
@echo "#ifndef VERSION_H" >> git-version/git-version.tmp @echo "#ifndef VERSION_H" >> git-version/git-version.tmp
@echo "#define VERSION_H" >> git-version/git-version.tmp @echo "#define VERSION_H" >> git-version/git-version.tmp
@@ -398,6 +399,7 @@ INCLUDE = \
-I../vendor/miniLZO \ -I../vendor/miniLZO \
\ \
-I../src/common \ -I../src/common \
\
-Igit-version -Igit-version
DEFINES = -DRW_DC -DLIBRW $(if $(WITH_LOGGING),-DWITH_LOGGING) $(if $(WITH_DCLOAD),-DDC_CHDIR=/pc) \ DEFINES = -DRW_DC -DLIBRW $(if $(WITH_LOGGING),-DWITH_LOGGING) $(if $(WITH_DCLOAD),-DDC_CHDIR=/pc) \

View File

@@ -1,9 +1,9 @@
Device Info : CD-ROM1/1 Device Info : CD-ROM1/1
Area Symbols : JUE Area Symbols : JUE
Peripherals : E000F10 Peripherals : E000F10
Product No : T0000 Product No : DCA-MIAMI
Version : V1.000 Version : V1.000
Release Date : 20000627 Release Date : 20250401
Boot Filename : 1ST_READ.BIN Boot Filename : 1ST_READ.BIN
SW Maker Name : the gang SW Maker Name : the gang
Game Title : DCA3 Game Title : dca-miami

View File

@@ -1,14 +1,11 @@
TARGET ?= dca3-sim.elf TARGET ?= dca-miami-sim.elf
IS_MAC := $(shell uname -s | grep -i "darwin" > /dev/null && echo "yes" || echo "no")
all: $(TARGET) all: $(TARGET)
include common.mk include common.mk
OBJS = $(RE3_OBJS) $(RW_OBJS) \ OBJS = $(RE3_OBJS) $(RW_OBJS) \
../miami/audio/sampman_null.o ../src/miami/audio/sampman_null.o
OBJS_SIM=$(OBJS:.o=.sim.o) \ OBJS_SIM=$(OBJS:.o=.sim.o) \
../vendor/koshle/hlekos.sim.o \ ../vendor/koshle/hlekos.sim.o \
@@ -37,31 +34,17 @@ DEPS_SIM=$(DEPS_SIM1:.o3=.d)
CXXFLAGS+= -MMD -MP CXXFLAGS+= -MMD -MP
ifeq ($(IS_MAC), yes)
%.sim.o: %.c %.sim.o: %.c
$(CC) -c -O0 -g -fno-pic -no-pie -o $@ $(CFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -D_FILE_OFFSET_BITS=64 -DMACOS64 $< $(CC) -c -O0 -g -fno-pic -no-pie -o $@ $(CFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -DMACOS64 $<
%.sim.o: %.cpp %.sim.o: %.cpp
$(CXX) -c -O0 -g -fno-pic -no-pie -o $@ $(CXXFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -D_FILE_OFFSET_BITS=64 -DMACOS64 $< $(CXX) -c -O0 -g -fno-pic -no-pie -o $@ $(CXXFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -DMACOS64 $<
%.sim.o3: %.cpp %.sim.o3: %.cpp
$(CXX) -c -O3 -g -fno-pic -no-pie -o $@ $(CXXFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -D_FILE_OFFSET_BITS=64 -DMACOS64 $< $(CXX) -c -O3 -g -fno-pic -no-pie -o $@ $(CXXFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -DMACOS64 $<
else
# Using sse2 here for valgrind compatibility
%.sim.o: %.c
$(CC) -msse2 -mfpmath=sse -c -O0 -g -fno-pic -no-pie -o $@ $(CFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -D_FILE_OFFSET_BITS=64 $<
%.sim.o: %.cpp
$(CXX) -msse2 -mfpmath=sse -c -O0 -g -fno-pic -no-pie -o $@ $(CXXFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -D_FILE_OFFSET_BITS=64 $<
%.sim.o3: %.cpp
$(CXX) -msse2 -mfpmath=sse -c -O3 -g -fno-pic -no-pie -o $@ $(CXXFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -D_FILE_OFFSET_BITS=64 $<
endif
clean: clean:
-rm -f $(OBJS_SIM) $(TARGET) -rm -f $(OBJS_SIM) $(TARGET)
ifeq ($(IS_MAC), yes)
$(TARGET): $(OBJS_SIM) $(TARGET): $(OBJS_SIM)
$(CXX) -fno-pic -no-pie -o $(TARGET) $(OBJS_SIM) -lX11 $(CXX) -fno-pic -no-pie -o $(TARGET) $(OBJS_SIM) -lX11
else
$(TARGET): $(OBJS_SIM)
$(CXX) -fno-pic -no-pie -o $(TARGET) $(OBJS_SIM) -lX11
endif
-include $(DEPS_SIM) -include $(DEPS_SIM)

View File

@@ -1164,6 +1164,12 @@ bool re3RemoveLeastUsedModel() {
return CStreaming::RemoveLeastUsedModel(); return CStreaming::RemoveLeastUsedModel();
} }
bool re3EmergencyRemoveModel() {
auto usedmem = CStreaming::ms_memoryUsed;
CStreaming::DeleteRwObjectsBehindCamera(CStreaming::ms_memoryUsed-1);
return usedmem != CStreaming::ms_memoryUsed;
}
bool bool
CStreaming::RemoveLeastUsedModel(void) CStreaming::RemoveLeastUsedModel(void)
{ {

View File

@@ -3,7 +3,7 @@
#define _CRT_SECURE_NO_WARNINGS #define _CRT_SECURE_NO_WARNINGS
#define _USE_MATH_DEFINES #define _USE_MATH_DEFINES
#include "common_defines.h" #include "src/common_defines.h"
#ifdef __MWERKS__ #ifdef __MWERKS__
#define __STDC_LIMIT_MACROS // so we get UINT32_MAX etc #define __STDC_LIMIT_MACROS // so we get UINT32_MAX etc

View File

@@ -56,7 +56,7 @@
#include <stdarg.h> #include <stdarg.h>
#endif #endif
#include "../vmu/vmu.h" #include "vmu/vmu.h"
#ifdef RWLIBS #ifdef RWLIBS
extern "C" int vsprintf(char* const _Buffer, char const* const _Format, va_list _ArgList); extern "C" int vsprintf(char* const _Buffer, char const* const _Format, va_list _ArgList);

View File

@@ -1,6 +1,6 @@
#pragma once #pragma once
#include "common_defines.h" #include "src/common_defines.h"
#include <tuple> #include <tuple>
#include <dc/matrix.h> #include <dc/matrix.h>

View File

@@ -38,7 +38,7 @@
#include "World.h" #include "World.h"
#include "Zones.h" #include "Zones.h"
#include "../vmu/vmu.h" #include "vmu/vmu.h"
#define BLOCK_COUNT 20 #define BLOCK_COUNT 20
#define SIZE_OF_SIMPLEVARS 0xBC #define SIZE_OF_SIMPLEVARS 0xBC

View File

@@ -15,7 +15,7 @@
#include "minilzo.h" #include "minilzo.h"
#include "main.h" #include "main.h"
#include "../vmu/vmu.h" #include "vmu/vmu.h"
const char* _psGetUserFilesFolder(); const char* _psGetUserFilesFolder();

View File

@@ -1,6 +1,6 @@
#if defined RW_DC #if defined RW_DC
#include "../vmu/vmu.h" #include "vmu/vmu.h"
#include <dc/maple.h> #include <dc/maple.h>
#include <dc/maple/controller.h> #include <dc/maple/controller.h>
#include <map> #include <map>
@@ -8,7 +8,7 @@
#if !defined(DC_SIM) #if !defined(DC_SIM)
#include <kos.h> #include <kos.h>
KOS_INIT_FLAGS(INIT_IRQ | INIT_CONTROLLER | INIT_CDROM | INIT_VMU); KOS_INIT_FLAGS(INIT_IRQ | INIT_CONTROLLER | INIT_CDROM | INIT_VMU);
#include "../prof/profiler.h" #include "prof/profiler.h"
#endif #endif
#ifdef _WIN32 #ifdef _WIN32
@@ -62,7 +62,7 @@ long _dwOperatingSystemVersion;
#include "AnimViewer.h" #include "AnimViewer.h"
#include "Font.h" #include "Font.h"
#include "MemoryMgr.h" #include "MemoryMgr.h"
#include "../../dreamcast/git-version.h" #include "git-version.h"
#include "dc.h" #include "dc.h"
#include <kos/dbglog.h> #include <kos/dbglog.h>

View File

@@ -28,7 +28,7 @@ extern const char* currentFile;
#include "../rwrender.h" #include "../rwrender.h"
#include "rwdc.h" #include "rwdc.h"
#include "vq.h" #include "vq.h"
#include "tex-util.h"../src/miami/skel/dc/dc.cpp #include "tex-util.h"
#include <vector> #include <vector>
#include <set> #include <set>