From df49ea88a332340f7d4af35ed7b5da4dfe2abf2d Mon Sep 17 00:00:00 2001 From: Stefanos Kornilios Mitsis Poiitidis Date: Sun, 9 Mar 2025 13:33:04 +0200 Subject: [PATCH] Update gitignore, ci, working main and sim builds --- .gitignore | 34 +- .gitlab-ci.yml | 127 +++++- liberty/Makefile | 19 +- liberty/common.mk | 539 ++++++++++++------------ liberty/ip.txt | 8 +- liberty/sim.mk | 29 +- miami/Makefile | 17 +- miami/common.mk | 2 + miami/ip.txt | 6 +- miami/sim.mk | 29 +- src/liberty/core/Streaming.cpp | 6 + src/liberty/core/common.h | 2 +- src/liberty/core/re3.cpp | 2 +- src/liberty/math/maths.h | 2 +- src/liberty/save/GenericGameStorage.cpp | 2 +- src/liberty/save/PCSave.cpp | 2 +- src/liberty/skel/dc/dc.cpp | 6 +- vendor/librw/src/dc/rwdc.cpp | 2 +- 18 files changed, 448 insertions(+), 386 deletions(-) diff --git a/.gitignore b/.gitignore index 3c2d6bfa..758c1bf8 100644 --- a/.gitignore +++ b/.gitignore @@ -369,16 +369,12 @@ src/extras/GitSHA1.cpp liberty/1ST_READ.BIN liberty/IP.BIN -liberty/re3.cdi -liberty/re3.iso -liberty/re3.elf -liberty/re3.elf.bin -liberty/re3-sim.elf -liberty/dca3.cdi -liberty/dca3.iso -liberty/dca3.elf -liberty/dca3.elf.bin -liberty/dca3-sim.elf +liberty/dca-liberty.cdi +liberty/dca-liberty.iso +liberty/dca-liberty.ds.iso +liberty/dca-liberty.elf +liberty/dca-liberty.elf.bin +liberty/dca-liberty-sim.elf liberty/texconv* liberty/imgtool* liberty/extract-sfx* @@ -387,21 +383,16 @@ liberty/analyze-profile* liberty/aud2adpcm* liberty/repack-data liberty/output.map -liberty/dca3.ds.iso liberty/git-version miami/1ST_READ.BIN miami/IP.BIN -miami/re3.cdi -miami/re3.iso -miami/re3.elf -miami/re3.elf.bin -miami/re3-sim.elf -miami/dca3.cdi -miami/dca3.iso -miami/dca3.elf -miami/dca3.elf.bin -miami/dca3-sim.elf +miami/dca-miami.cdi +miami/dca-miami.iso +miami/dca-miami.ds.iso +miami/dca-miami.elf +miami/dca-miami.elf.bin +miami/dca-miami-sim.elf miami/texconv* miami/imgtool* miami/extract-sfx* @@ -410,7 +401,6 @@ miami/analyze-profile* miami/aud2adpcm* miami/repack-data miami/output.map -miami/dca3.ds.iso miami/git-version .DS_Store diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index deb86975..d8bc4d36 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,7 @@ image: name: ghcr.io/kos-builds/kos-dc:latest-14.1.0 entrypoint: ["/bin/sh", "-c", 'echo gitlab command: "$@" && /bin/bash -c "$@"'] -build-dreamcast: +build-dreamcast-liberty: variables: CCACHE_BASEDIR: $CI_PROJECT_DIR 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 -j $(nproc) script: - - cd dreamcast + - cd liberty - make -j $(nproc) artifacts: paths: - - dreamcast/dca3.elf + - liberty/dca-liberty.elf -build-dreamcast-ide-32mb: +build-dreamcast-miami: variables: CCACHE_BASEDIR: $CI_PROJECT_DIR 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 -j $(nproc) script: - - cd dreamcast - - make -j $(nproc) WITH_IDE=1 WITH_32MB=1 TARGET=dca3-ide-32mb.elf + - cd miami + - make -j $(nproc) artifacts: paths: - - dreamcast/dca3-ide-32mb.elf + - miami/dca-liberty.elf -build-texconv: +build-texconv-liberty: variables: CCACHE_BASEDIR: $CI_PROJECT_DIR CCACHE_DIR: $CI_PROJECT_DIR/ccache @@ -68,13 +68,13 @@ build-texconv: - update-ccache-symlinks script: - export PATH="/usr/lib/ccache:$PATH" - - cd dreamcast + - cd liberty - make texconv -j $(nproc) artifacts: paths: - - dreamcast/texconv + - liberty/texconv -build-texconv-clang: +build-texconv-liberty-clang: variables: CCACHE_BASEDIR: $CI_PROJECT_DIR CCACHE_DIR: $CI_PROJECT_DIR/ccache @@ -89,14 +89,57 @@ build-texconv-clang: - update-ccache-symlinks script: - export PATH="/usr/lib/ccache:$PATH" - - cd dreamcast + - cd liberty - CC=clang CXX=clang++ make texconv -j $(nproc) - mv texconv texconv-clang artifacts: 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: CCACHE_BASEDIR: $CI_PROJECT_DIR CCACHE_DIR: $CI_PROJECT_DIR/ccache @@ -112,13 +155,13 @@ build-sim: - update-ccache-symlinks script: - export PATH="/usr/lib/ccache:$PATH" - - cd dreamcast + - cd liberty - make -f sim.mk -j $(nproc) artifacts: paths: - - dreamcast/dca3-sim.elf + - liberty/dca-liberty-sim.elf -build-sim-clang: +build-sim-liberty-clang: variables: CCACHE_BASEDIR: $CI_PROJECT_DIR CCACHE_DIR: $CI_PROJECT_DIR/ccache @@ -134,11 +177,55 @@ build-sim-clang: - update-ccache-symlinks script: - export PATH="/usr/lib/ccache:$PATH" - - cd dreamcast - - CC=clang CXX=clang++ make -f sim.mk -j $(nproc) TARGET=dca3-sim-clang.elf + - cd liberty + - CC=clang CXX=clang++ make -f sim.mk -j $(nproc) TARGET=dca-liberty-sim-clang.elf artifacts: 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: stage: deploy diff --git a/liberty/Makefile b/liberty/Makefile index 04594f02..4dcf2101 100644 --- a/liberty/Makefile +++ b/liberty/Makefile @@ -4,8 +4,11 @@ # # Put the filename of the output binary here -PROJECT_NAME = dca3 -TARGET ?= dca3.elf +PROJECT_NAME = dca-liberty +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") IS_MAC := $(shell uname -s | grep -i "darwin" > /dev/null && echo "yes" || echo "no") @@ -45,8 +48,8 @@ all: $(TARGET) include common.mk OBJS = $(RE3_OBJS) $(RW_OBJS) \ - ../src/audio/sampman_dc.o \ - ../src/prof/profiler.o + ../src/liberty/audio/sampman_dc.o \ + ../src/common/prof/profiler.o OBJS_TEXCONV = $(RW_OBJS:.o=.texconv.o) OBJS_TEXCONV += \ @@ -159,7 +162,7 @@ $(OBJS_NO_FAST_MATH): %.o: %.cpp $(TARGET): $(OBJS) 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 - @echo && echo && echo "*** Build Completed Successfully ***" && echo && echo + @echo && echo && echo "*** Build Completed Successfully ($(TARGET)) ***" && echo && echo run: $(TARGET) $(KOS_LOADER) $(TARGET) @@ -227,15 +230,15 @@ $(PROJECT_NAME)-prebuilt.cdi: $(PROJECT_NAME)-prebuilt.iso @echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo else $(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 $(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 $(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 endif diff --git a/liberty/common.mk b/liberty/common.mk index 2a0365eb..d372495a 100644 --- a/liberty/common.mk +++ b/liberty/common.mk @@ -2,283 +2,284 @@ GIT_VERSION := $(shell git describe --always --tags --long --dirty 2>/dev/null | CI_JOB_ID ?= 00000000 -git-version.tmp: +git-version/git-version.tmp: @echo "Generating git-version.tmp with GIT_VERSION = \"$(GIT_VERSION)\"" - @echo "#pragma once" > git-version.tmp - @echo "#ifndef VERSION_H" >> git-version.tmp - @echo "#define VERSION_H" >> git-version.tmp - @echo "#define GIT_VERSION \"$(GIT_VERSION)\"" >> git-version.tmp - @echo "#define CI_JOB_ID \"$(CI_JOB_ID)\"" >> git-version.tmp - @echo "#endif // VERSION_H" >> git-version.tmp + @mkdir -p git-version + @echo "#pragma once" > 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 GIT_VERSION \"$(GIT_VERSION)\"" >> git-version/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 - @if [ ! -f git-version.h ] || ! cmp -s git-version.tmp git-version.h; then \ +git-version/git-version.h: git-version/git-version.tmp + @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"; \ - cp git-version.tmp git-version.h; \ + cp git-version/git-version.tmp git-version/git-version.h; \ else \ echo "git-version.h is up to date. No change."; \ 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" # Include "romdisk.o" if you want a rom disk. RE3_OBJS = \ - ../src/animation/AnimBlendAssocGroup.o \ - ../src/animation/AnimBlendAssociation.o \ - ../src/animation/AnimBlendClumpData.o \ - ../src/animation/AnimBlendHierarchy.o \ - ../src/animation/AnimBlendNode.o \ - ../src/animation/AnimBlendSequence.o \ - ../src/animation/AnimManager.o \ - ../src/animation/Bones.o \ - ../src/animation/CutsceneMgr.o \ - ../src/animation/FrameUpdate.o \ - ../src/animation/RpAnimBlend.o \ + ../src/liberty/animation/AnimBlendAssocGroup.o \ + ../src/liberty/animation/AnimBlendAssociation.o \ + ../src/liberty/animation/AnimBlendClumpData.o \ + ../src/liberty/animation/AnimBlendHierarchy.o \ + ../src/liberty/animation/AnimBlendNode.o \ + ../src/liberty/animation/AnimBlendSequence.o \ + ../src/liberty/animation/AnimManager.o \ + ../src/liberty/animation/Bones.o \ + ../src/liberty/animation/CutsceneMgr.o \ + ../src/liberty/animation/FrameUpdate.o \ + ../src/liberty/animation/RpAnimBlend.o \ \ - ../src/buildings/Building.o \ - ../src/buildings/Treadable.o \ + ../src/liberty/buildings/Building.o \ + ../src/liberty/buildings/Treadable.o \ \ - ../src/collision/ColBox.o \ - ../src/collision/ColLine.o \ - ../src/collision/Collision.o \ - ../src/collision/ColModel.o \ - ../src/collision/ColPoint.o \ - ../src/collision/ColSphere.o \ - ../src/collision/ColTriangle.o \ - ../src/collision/TempColModels.o \ - ../src/collision/VuCollision.o \ + ../src/liberty/collision/ColBox.o \ + ../src/liberty/collision/ColLine.o \ + ../src/liberty/collision/Collision.o \ + ../src/liberty/collision/ColModel.o \ + ../src/liberty/collision/ColPoint.o \ + ../src/liberty/collision/ColSphere.o \ + ../src/liberty/collision/ColTriangle.o \ + ../src/liberty/collision/TempColModels.o \ + ../src/liberty/collision/VuCollision.o \ \ - ../src/control/AutoPilot.o \ - ../src/control/Bridge.o \ - ../src/control/CarAI.o \ - ../src/control/CarCtrl.o \ - ../src/control/Curves.o \ - ../src/control/Darkel.o \ - ../src/control/GameLogic.o \ - ../src/control/Garages.o \ - ../src/control/NameGrid.o \ - ../src/control/OnscreenTimer.o \ - ../src/control/PathFind.o \ - ../src/control/Phones.o \ - ../src/control/Pickups.o \ - ../src/control/PowerPoints.o \ - ../src/control/Record.o \ - ../src/control/Remote.o \ - ../src/control/Replay.o \ - ../src/control/Restart.o \ - ../src/control/RoadBlocks.o \ - ../src/control/SceneEdit.o \ - ../src/control/Script.o \ - ../src/control/Script2.o \ - ../src/control/Script3.o \ - ../src/control/Script4.o \ - ../src/control/Script5.o \ - ../src/control/Script6.o \ - ../src/control/ScriptDebug.o \ - ../src/control/TrafficLights.o \ + ../src/liberty/control/AutoPilot.o \ + ../src/liberty/control/Bridge.o \ + ../src/liberty/control/CarAI.o \ + ../src/liberty/control/CarCtrl.o \ + ../src/liberty/control/Curves.o \ + ../src/liberty/control/Darkel.o \ + ../src/liberty/control/GameLogic.o \ + ../src/liberty/control/Garages.o \ + ../src/liberty/control/NameGrid.o \ + ../src/liberty/control/OnscreenTimer.o \ + ../src/liberty/control/PathFind.o \ + ../src/liberty/control/Phones.o \ + ../src/liberty/control/Pickups.o \ + ../src/liberty/control/PowerPoints.o \ + ../src/liberty/control/Record.o \ + ../src/liberty/control/Remote.o \ + ../src/liberty/control/Replay.o \ + ../src/liberty/control/Restart.o \ + ../src/liberty/control/RoadBlocks.o \ + ../src/liberty/control/SceneEdit.o \ + ../src/liberty/control/Script.o \ + ../src/liberty/control/Script2.o \ + ../src/liberty/control/Script3.o \ + ../src/liberty/control/Script4.o \ + ../src/liberty/control/Script5.o \ + ../src/liberty/control/Script6.o \ + ../src/liberty/control/ScriptDebug.o \ + ../src/liberty/control/TrafficLights.o \ \ - ../src/core/Accident.o \ - ../src/core/Cam.o \ - ../src/core/Camera.o \ - ../src/core/CdStreamDC.o \ - ../src/core/Clock.o \ - ../src/core/ControllerConfig.o \ - ../src/core/Debug.o \ - ../src/core/Directory.o \ - ../src/core/EventList.o \ - ../src/core/FileLoader.o \ - ../src/core/FileMgr.o \ - ../src/core/Fire.o \ - ../src/core/Frontend.o \ - ../src/core/FrontEndControls.o \ - ../src/core/Frontend_PS2.o \ - ../src/core/Game.o \ - ../src/core/IniFile.o \ - ../src/core/Lists.o \ - ../src/core/main.o \ - ../src/core/MenuScreens.o \ - ../src/core/MenuScreensCustom.o \ - ../src/core/obrstr.o \ - ../src/core/Pad.o \ - ../src/core/Placeable.o \ - ../src/core/PlayerInfo.o \ - ../src/core/Pools.o \ - ../src/core/Profile.o \ - ../src/core/Radar.o \ - ../src/core/Range2D.o \ - ../src/core/Range3D.o \ - ../src/core/re3.o \ - ../src/core/References.o \ - ../src/core/Stats.o \ - ../src/core/Streaming.o \ - ../src/core/SurfaceTable.o \ - ../src/core/timebars.o \ - ../src/core/Timer.o \ - ../src/core/TimeStep.o \ - ../src/core/User.o \ - ../src/core/Wanted.o \ - ../src/core/World.o \ - ../src/core/ZoneCull.o \ - ../src/core/Zones.o \ + ../src/liberty/core/Accident.o \ + ../src/liberty/core/Cam.o \ + ../src/liberty/core/Camera.o \ + ../src/liberty/core/CdStreamDC.o \ + ../src/liberty/core/Clock.o \ + ../src/liberty/core/ControllerConfig.o \ + ../src/liberty/core/Debug.o \ + ../src/liberty/core/Directory.o \ + ../src/liberty/core/EventList.o \ + ../src/liberty/core/FileLoader.o \ + ../src/liberty/core/FileMgr.o \ + ../src/liberty/core/Fire.o \ + ../src/liberty/core/Frontend.o \ + ../src/liberty/core/FrontEndControls.o \ + ../src/liberty/core/Frontend_PS2.o \ + ../src/liberty/core/Game.o \ + ../src/liberty/core/IniFile.o \ + ../src/liberty/core/Lists.o \ + ../src/liberty/core/main.o \ + ../src/liberty/core/MenuScreens.o \ + ../src/liberty/core/MenuScreensCustom.o \ + ../src/liberty/core/obrstr.o \ + ../src/liberty/core/Pad.o \ + ../src/liberty/core/Placeable.o \ + ../src/liberty/core/PlayerInfo.o \ + ../src/liberty/core/Pools.o \ + ../src/liberty/core/Profile.o \ + ../src/liberty/core/Radar.o \ + ../src/liberty/core/Range2D.o \ + ../src/liberty/core/Range3D.o \ + ../src/liberty/core/re3.o \ + ../src/liberty/core/References.o \ + ../src/liberty/core/Stats.o \ + ../src/liberty/core/Streaming.o \ + ../src/liberty/core/SurfaceTable.o \ + ../src/liberty/core/timebars.o \ + ../src/liberty/core/Timer.o \ + ../src/liberty/core/TimeStep.o \ + ../src/liberty/core/User.o \ + ../src/liberty/core/Wanted.o \ + ../src/liberty/core/World.o \ + ../src/liberty/core/ZoneCull.o \ + ../src/liberty/core/Zones.o \ \ - ../src/entities/Dummy.o \ - ../src/entities/Entity.o \ - ../src/entities/Physical.o \ + ../src/liberty/entities/Dummy.o \ + ../src/liberty/entities/Entity.o \ + ../src/liberty/entities/Physical.o \ \ - ../src/fakerw/fake.o \ + ../src/liberty/fakerw/fake.o \ \ - ../src/math/math.o \ - ../src/math/Matrix.o \ - ../src/math/Quaternion.o \ - ../src/math/Rect.o \ - ../src/math/Vector.o \ + ../src/liberty/math/math.o \ + ../src/liberty/math/Matrix.o \ + ../src/liberty/math/Quaternion.o \ + ../src/liberty/math/Rect.o \ + ../src/liberty/math/Vector.o \ \ - ../src/modelinfo/BaseModelInfo.o \ - ../src/modelinfo/ClumpModelInfo.o \ - ../src/modelinfo/MloModelInfo.o \ - ../src/modelinfo/ModelIndices.o \ - ../src/modelinfo/ModelInfo.o \ - ../src/modelinfo/PedModelInfo.o \ - ../src/modelinfo/SimpleModelInfo.o \ - ../src/modelinfo/TimeModelInfo.o \ - ../src/modelinfo/VehicleModelInfo.o \ + ../src/liberty/modelinfo/BaseModelInfo.o \ + ../src/liberty/modelinfo/ClumpModelInfo.o \ + ../src/liberty/modelinfo/MloModelInfo.o \ + ../src/liberty/modelinfo/ModelIndices.o \ + ../src/liberty/modelinfo/ModelInfo.o \ + ../src/liberty/modelinfo/PedModelInfo.o \ + ../src/liberty/modelinfo/SimpleModelInfo.o \ + ../src/liberty/modelinfo/TimeModelInfo.o \ + ../src/liberty/modelinfo/VehicleModelInfo.o \ \ - ../src/objects/CutsceneHead.o \ - ../src/objects/CutsceneObject.o \ - ../src/objects/DummyObject.o \ - ../src/objects/Object.o \ - ../src/objects/ObjectData.o \ - ../src/objects/ParticleObject.o \ - ../src/objects/Projectile.o \ + ../src/liberty/objects/CutsceneHead.o \ + ../src/liberty/objects/CutsceneObject.o \ + ../src/liberty/objects/DummyObject.o \ + ../src/liberty/objects/Object.o \ + ../src/liberty/objects/ObjectData.o \ + ../src/liberty/objects/ParticleObject.o \ + ../src/liberty/objects/Projectile.o \ \ - ../src/peds/CivilianPed.o \ - ../src/peds/CopPed.o \ - ../src/peds/EmergencyPed.o \ - ../src/peds/Gangs.o \ - ../src/peds/Ped.o \ - ../src/peds/PedAI.o \ - ../src/peds/PedChat.o \ - ../src/peds/PedDebug.o \ - ../src/peds/PedFight.o \ - ../src/peds/PedIK.o \ - ../src/peds/PedPlacement.o \ - ../src/peds/PedRoutes.o \ - ../src/peds/PedType.o \ - ../src/peds/PlayerPed.o \ - ../src/peds/Population.o \ + ../src/liberty/peds/CivilianPed.o \ + ../src/liberty/peds/CopPed.o \ + ../src/liberty/peds/EmergencyPed.o \ + ../src/liberty/peds/Gangs.o \ + ../src/liberty/peds/Ped.o \ + ../src/liberty/peds/PedAI.o \ + ../src/liberty/peds/PedChat.o \ + ../src/liberty/peds/PedDebug.o \ + ../src/liberty/peds/PedFight.o \ + ../src/liberty/peds/PedIK.o \ + ../src/liberty/peds/PedPlacement.o \ + ../src/liberty/peds/PedRoutes.o \ + ../src/liberty/peds/PedType.o \ + ../src/liberty/peds/PlayerPed.o \ + ../src/liberty/peds/Population.o \ \ - ../src/renderer/Antennas.o \ - ../src/renderer/Clouds.o \ - ../src/renderer/Console.o \ - ../src/renderer/Coronas.o \ - ../src/renderer/Credits.o \ - ../src/renderer/Draw.o \ - ../src/renderer/Fluff.o \ - ../src/renderer/Font.o \ - ../src/renderer/Glass.o \ - ../src/renderer/Hud.o \ - ../src/renderer/Instance.o \ - ../src/renderer/Lines.o \ - ../src/renderer/MBlur.o \ - ../src/renderer/Particle.o \ - ../src/renderer/ParticleMgr.o \ - ../src/renderer/PlayerSkin.o \ - ../src/renderer/PointLights.o \ - ../src/renderer/RenderBuffer.o \ - ../src/renderer/Renderer.o \ - ../src/renderer/Rubbish.o \ - ../src/renderer/Shadows.o \ - ../src/renderer/Skidmarks.o \ - ../src/renderer/SpecialFX.o \ - ../src/renderer/Sprite.o \ - ../src/renderer/Sprite2d.o \ - ../src/renderer/TexList.o \ - ../src/renderer/Timecycle.o \ - ../src/renderer/WaterCannon.o \ - ../src/renderer/WaterLevel.o \ - ../src/renderer/Weather.o \ + ../src/liberty/renderer/Antennas.o \ + ../src/liberty/renderer/Clouds.o \ + ../src/liberty/renderer/Console.o \ + ../src/liberty/renderer/Coronas.o \ + ../src/liberty/renderer/Credits.o \ + ../src/liberty/renderer/Draw.o \ + ../src/liberty/renderer/Fluff.o \ + ../src/liberty/renderer/Font.o \ + ../src/liberty/renderer/Glass.o \ + ../src/liberty/renderer/Hud.o \ + ../src/liberty/renderer/Instance.o \ + ../src/liberty/renderer/Lines.o \ + ../src/liberty/renderer/MBlur.o \ + ../src/liberty/renderer/Particle.o \ + ../src/liberty/renderer/ParticleMgr.o \ + ../src/liberty/renderer/PlayerSkin.o \ + ../src/liberty/renderer/PointLights.o \ + ../src/liberty/renderer/RenderBuffer.o \ + ../src/liberty/renderer/Renderer.o \ + ../src/liberty/renderer/Rubbish.o \ + ../src/liberty/renderer/Shadows.o \ + ../src/liberty/renderer/Skidmarks.o \ + ../src/liberty/renderer/SpecialFX.o \ + ../src/liberty/renderer/Sprite.o \ + ../src/liberty/renderer/Sprite2d.o \ + ../src/liberty/renderer/TexList.o \ + ../src/liberty/renderer/Timecycle.o \ + ../src/liberty/renderer/WaterCannon.o \ + ../src/liberty/renderer/WaterLevel.o \ + ../src/liberty/renderer/Weather.o \ \ - ../src/rw/ClumpRead.o \ - ../src/rw/Lights.o \ - ../src/rw/MemoryHeap.o \ - ../src/rw/MemoryMgr.o \ - ../src/rw/NodeName.o \ - ../src/rw/RwHelper.o \ - ../src/rw/RwMatFX.o \ - ../src/rw/RwPS2AlphaTest.o \ - ../src/rw/TexRead.o \ - ../src/rw/TexturePools.o \ - ../src/rw/TxdStore.o \ - ../src/rw/VisibilityPlugins.o \ + ../src/liberty/rw/ClumpRead.o \ + ../src/liberty/rw/Lights.o \ + ../src/liberty/rw/MemoryHeap.o \ + ../src/liberty/rw/MemoryMgr.o \ + ../src/liberty/rw/NodeName.o \ + ../src/liberty/rw/RwHelper.o \ + ../src/liberty/rw/RwMatFX.o \ + ../src/liberty/rw/RwPS2AlphaTest.o \ + ../src/liberty/rw/TexRead.o \ + ../src/liberty/rw/TexturePools.o \ + ../src/liberty/rw/TxdStore.o \ + ../src/liberty/rw/VisibilityPlugins.o \ \ - ../src/skel/crossplatform.o \ - ../src/skel/events.o \ - ../src/skel/skeleton.o \ - ../src/skel/dc/dc.o \ + ../src/liberty/skel/crossplatform.o \ + ../src/liberty/skel/events.o \ + ../src/liberty/skel/skeleton.o \ + ../src/liberty/skel/dc/dc.o \ \ - ../src/text/Messages.o \ - ../src/text/Pager.o \ - ../src/text/Text.o \ + ../src/liberty/text/Messages.o \ + ../src/liberty/text/Pager.o \ + ../src/liberty/text/Text.o \ \ - ../src/vehicles/Automobile.o \ - ../src/vehicles/Boat.o \ - ../src/vehicles/CarGen.o \ - ../src/vehicles/Cranes.o \ - ../src/vehicles/DamageManager.o \ - ../src/vehicles/Door.o \ - ../src/vehicles/Floater.o \ - ../src/vehicles/HandlingMgr.o \ - ../src/vehicles/Heli.o \ - ../src/vehicles/Plane.o \ - ../src/vehicles/Train.o \ - ../src/vehicles/Transmission.o \ - ../src/vehicles/Vehicle.o \ + ../src/liberty/vehicles/Automobile.o \ + ../src/liberty/vehicles/Boat.o \ + ../src/liberty/vehicles/CarGen.o \ + ../src/liberty/vehicles/Cranes.o \ + ../src/liberty/vehicles/DamageManager.o \ + ../src/liberty/vehicles/Door.o \ + ../src/liberty/vehicles/Floater.o \ + ../src/liberty/vehicles/HandlingMgr.o \ + ../src/liberty/vehicles/Heli.o \ + ../src/liberty/vehicles/Plane.o \ + ../src/liberty/vehicles/Train.o \ + ../src/liberty/vehicles/Transmission.o \ + ../src/liberty/vehicles/Vehicle.o \ \ - ../src/weapons/BulletInfo.o \ - ../src/weapons/Explosion.o \ - ../src/weapons/ProjectileInfo.o \ - ../src/weapons/ShotInfo.o \ - ../src/weapons/Weapon.o \ - ../src/weapons/WeaponEffects.o \ - ../src/weapons/WeaponInfo.o \ + ../src/liberty/weapons/BulletInfo.o \ + ../src/liberty/weapons/Explosion.o \ + ../src/liberty/weapons/ProjectileInfo.o \ + ../src/liberty/weapons/ShotInfo.o \ + ../src/liberty/weapons/Weapon.o \ + ../src/liberty/weapons/WeaponEffects.o \ + ../src/liberty/weapons/WeaponInfo.o \ \ - ../src/audio/AudioCollision.o \ - ../src/audio/AudioLogic.o \ - ../src/audio/AudioManager.o \ - ../src/audio/AudioScriptObject.o \ - ../src/audio/DMAudio.o \ - ../src/audio/MusicManager.o \ - ../src/audio/PolRadio.o \ - ../src/audio/sampman_miles.o \ - ../src/audio/sampman_oal.o \ + ../src/liberty/audio/AudioCollision.o \ + ../src/liberty/audio/AudioLogic.o \ + ../src/liberty/audio/AudioManager.o \ + ../src/liberty/audio/AudioScriptObject.o \ + ../src/liberty/audio/DMAudio.o \ + ../src/liberty/audio/MusicManager.o \ + ../src/liberty/audio/PolRadio.o \ + ../src/liberty/audio/sampman_miles.o \ + ../src/liberty/audio/sampman_oal.o \ \ - ../src/save/Date.o \ - ../src/save/GenericGameStorage.o \ - ../src/save/MemoryCard.o \ - ../src/save/PCSave.o \ + ../src/liberty/save/Date.o \ + ../src/liberty/save/GenericGameStorage.o \ + ../src/liberty/save/MemoryCard.o \ + ../src/liberty/save/PCSave.o \ \ - ../src/extras/debugmenu.o \ - ../src/extras/frontendoption.o \ - ../src/extras/postfx.o \ - ../src/extras/screendroplets.o \ + ../src/liberty/extras/debugmenu.o \ + ../src/liberty/extras/frontendoption.o \ + ../src/liberty/extras/postfx.o \ + ../src/liberty/extras/screendroplets.o \ \ - ../src/vmu/vmu.o \ + ../src/common/vmu/vmu.o \ ../vendor/miniLZO/minilzo.o \ \ # Excluded \ - ../src/extras/custompipes.o \ - ../src/extras/custompipes_d3d9.o \ - ../src/extras/custompipes_gl.o \ - ../src/core/CdStream.o \ - ../src/core/CdStreamPosix.o \ - ../src/extras \ - ../src/extras/GitSHA1.cpp.in \ - ../src/core/AnimViewer.o \ + ../src/liberty/extras/custompipes.o \ + ../src/liberty/extras/custompipes_d3d9.o \ + ../src/liberty/extras/custompipes_gl.o \ + ../src/liberty/core/CdStream.o \ + ../src/liberty/core/CdStreamPosix.o \ + ../src/liberty/extras \ + ../src/liberty/extras/GitSHA1.cpp.in \ + ../src/liberty/core/AnimViewer.o \ RW_OBJS = \ ../vendor/librw/src/anim.o \ @@ -351,36 +352,40 @@ RW_OBJS = \ ../vendor/librw/src/ps2/ps2skin.o \ INCLUDE = \ --I../src/animation \ --I../src/audio \ --I../src/buildings \ --I../src/collision \ --I../src/control \ --I../src/core \ --I../src/entities \ --I../src/extras \ --I../src/fakerw \ --I../src/math \ --I../src/modelinfo \ --I../src/objects \ --I../src/peds \ --I../src/renderer \ --I../src/rw \ --I../src/save \ --I../src/skel \ --I../src/text \ --I../src/vehicles \ --I../src/weapons \ --I../src/audio/eax \ --I../src/audio/oal \ --I../src/extras/shaders \ --I../src/extras/shaders/obj \ --I../src/skel/glfw \ --I../src/skel/win \ +-I../src/liberty/animation \ +-I../src/liberty/audio \ +-I../src/liberty/buildings \ +-I../src/liberty/collision \ +-I../src/liberty/control \ +-I../src/liberty/core \ +-I../src/liberty/entities \ +-I../src/liberty/extras \ +-I../src/liberty/fakerw \ +-I../src/liberty/math \ +-I../src/liberty/modelinfo \ +-I../src/liberty/objects \ +-I../src/liberty/peds \ +-I../src/liberty/renderer \ +-I../src/liberty/rw \ +-I../src/liberty/save \ +-I../src/liberty/skel \ +-I../src/liberty/text \ +-I../src/liberty/vehicles \ +-I../src/liberty/weapons \ +-I../src/liberty/audio/eax \ +-I../src/liberty/audio/oal \ +-I../src/liberty/extras/shaders \ +-I../src/liberty/extras/shaders/obj \ +-I../src/liberty/skel/glfw \ +-I../src/liberty/skel/win \ \ -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) \ $(if $(WITH_BEEPS),-DWITH_BEEPS) diff --git a/liberty/ip.txt b/liberty/ip.txt index 8cfb4b37..e0a10cf4 100644 --- a/liberty/ip.txt +++ b/liberty/ip.txt @@ -1,9 +1,9 @@ Device Info : CD-ROM1/1 Area Symbols : JUE Peripherals : E000F10 -Product No : T0000 -Version : V1.000 -Release Date : 20000627 +Product No : DCA-LIBERTY +Version : V2.000 +Release Date : 20250401 Boot Filename : 1ST_READ.BIN SW Maker Name : the gang -Game Title : DCA3 +Game Title : dca-liberty diff --git a/liberty/sim.mk b/liberty/sim.mk index 9a2b78f4..75334842 100644 --- a/liberty/sim.mk +++ b/liberty/sim.mk @@ -1,14 +1,11 @@ -TARGET ?= dca3-sim.elf - -IS_MAC := $(shell uname -s | grep -i "darwin" > /dev/null && echo "yes" || echo "no") - +TARGET ?= dca-liberty-sim.elf all: $(TARGET) include common.mk OBJS = $(RE3_OBJS) $(RW_OBJS) \ - ../src/audio/sampman_null.o + ../src/liberty/audio/sampman_null.o OBJS_SIM=$(OBJS:.o=.sim.o) \ ../vendor/koshle/hlekos.sim.o \ @@ -37,31 +34,17 @@ DEPS_SIM=$(DEPS_SIM1:.o3=.d) CXXFLAGS+= -MMD -MP -ifeq ($(IS_MAC), yes) %.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 - $(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 - $(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 $< -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 + $(CXX) -c -O3 -g -fno-pic -no-pie -o $@ $(CXXFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -DMACOS64 $< clean: -rm -f $(OBJS_SIM) $(TARGET) -ifeq ($(IS_MAC), yes) $(TARGET): $(OBJS_SIM) $(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) \ No newline at end of file diff --git a/miami/Makefile b/miami/Makefile index 14199a47..1626b752 100644 --- a/miami/Makefile +++ b/miami/Makefile @@ -4,8 +4,11 @@ # # Put the filename of the output binary here -PROJECT_NAME = dca3 -TARGET ?= dca3.elf +PROJECT_NAME = dca-miami +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") 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 ifdef KOS_BASE -include $(KOS_BASE)/Makefile.rules../.gitignore +include $(KOS_BASE)/Makefile.rules else $(warning "KOS_BASE is not set. Only prebuilt targets will work.") endif @@ -166,7 +169,7 @@ $(OBJS_NO_FAST_MATH): %.o: %.cpp $(TARGET): $(OBJS) 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 - @echo && echo && echo "*** Build Completed Successfully ***" && echo && echo + @echo && echo && echo "*** Build Completed Successfully ($(TARGET)) ***" && echo && echo run: $(TARGET) $(KOS_LOADER) $(TARGET) @@ -234,15 +237,15 @@ $(PROJECT_NAME)-prebuilt.cdi: $(PROJECT_NAME)-prebuilt.iso @echo && echo && echo "*** CDI Baked Successfully ***" && echo && echo else $(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 $(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 $(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 endif diff --git a/miami/common.mk b/miami/common.mk index 6908a752..552b958e 100644 --- a/miami/common.mk +++ b/miami/common.mk @@ -4,6 +4,7 @@ CI_JOB_ID ?= 00000000 git-version/git-version.tmp: @echo "Generating git-version.tmp with GIT_VERSION = \"$(GIT_VERSION)\"" + @mkdir -p git-version @echo "#pragma once" > git-version/git-version.tmp @echo "#ifndef 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../src/common \ +\ -Igit-version DEFINES = -DRW_DC -DLIBRW $(if $(WITH_LOGGING),-DWITH_LOGGING) $(if $(WITH_DCLOAD),-DDC_CHDIR=/pc) \ diff --git a/miami/ip.txt b/miami/ip.txt index 8cfb4b37..3f79a605 100644 --- a/miami/ip.txt +++ b/miami/ip.txt @@ -1,9 +1,9 @@ Device Info : CD-ROM1/1 Area Symbols : JUE Peripherals : E000F10 -Product No : T0000 +Product No : DCA-MIAMI Version : V1.000 -Release Date : 20000627 +Release Date : 20250401 Boot Filename : 1ST_READ.BIN SW Maker Name : the gang -Game Title : DCA3 +Game Title : dca-miami diff --git a/miami/sim.mk b/miami/sim.mk index 9338f024..ced1fe22 100644 --- a/miami/sim.mk +++ b/miami/sim.mk @@ -1,14 +1,11 @@ -TARGET ?= dca3-sim.elf - -IS_MAC := $(shell uname -s | grep -i "darwin" > /dev/null && echo "yes" || echo "no") - +TARGET ?= dca-miami-sim.elf all: $(TARGET) include common.mk OBJS = $(RE3_OBJS) $(RW_OBJS) \ - ../miami/audio/sampman_null.o + ../src/miami/audio/sampman_null.o OBJS_SIM=$(OBJS:.o=.sim.o) \ ../vendor/koshle/hlekos.sim.o \ @@ -37,31 +34,17 @@ DEPS_SIM=$(DEPS_SIM1:.o3=.d) CXXFLAGS+= -MMD -MP -ifeq ($(IS_MAC), yes) %.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 - $(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 - $(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 $< -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 + $(CXX) -c -O3 -g -fno-pic -no-pie -o $@ $(CXXFLAGS) -I../vendor/koshle -I../vendor/emu -U_WIN32 -UWIN32 -UWINNT -Ui386 -DDC_SIM -DMACOS64 $< clean: -rm -f $(OBJS_SIM) $(TARGET) -ifeq ($(IS_MAC), yes) $(TARGET): $(OBJS_SIM) $(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) \ No newline at end of file diff --git a/src/liberty/core/Streaming.cpp b/src/liberty/core/Streaming.cpp index d9f22245..b6dedc32 100644 --- a/src/liberty/core/Streaming.cpp +++ b/src/liberty/core/Streaming.cpp @@ -1164,6 +1164,12 @@ bool re3RemoveLeastUsedModel() { return CStreaming::RemoveLeastUsedModel(); } +bool re3EmergencyRemoveModel() { + auto usedmem = CStreaming::ms_memoryUsed; + CStreaming::DeleteRwObjectsBehindCamera(CStreaming::ms_memoryUsed-1); + return usedmem != CStreaming::ms_memoryUsed; +} + bool CStreaming::RemoveLeastUsedModel(void) { diff --git a/src/liberty/core/common.h b/src/liberty/core/common.h index f1b9cada..3f2e5b2a 100644 --- a/src/liberty/core/common.h +++ b/src/liberty/core/common.h @@ -3,7 +3,7 @@ #define _CRT_SECURE_NO_WARNINGS #define _USE_MATH_DEFINES -#include "common_defines.h" +#include "src/common_defines.h" #ifdef __MWERKS__ #define __STDC_LIMIT_MACROS // so we get UINT32_MAX etc diff --git a/src/liberty/core/re3.cpp b/src/liberty/core/re3.cpp index 0a1f8629..4f3e50ef 100644 --- a/src/liberty/core/re3.cpp +++ b/src/liberty/core/re3.cpp @@ -56,7 +56,7 @@ #include #endif -#include "../vmu/vmu.h" +#include "vmu/vmu.h" #ifdef RWLIBS extern "C" int vsprintf(char* const _Buffer, char const* const _Format, va_list _ArgList); diff --git a/src/liberty/math/maths.h b/src/liberty/math/maths.h index 35e34806..9959bf61 100644 --- a/src/liberty/math/maths.h +++ b/src/liberty/math/maths.h @@ -1,6 +1,6 @@ #pragma once -#include "common_defines.h" +#include "src/common_defines.h" #include #include diff --git a/src/liberty/save/GenericGameStorage.cpp b/src/liberty/save/GenericGameStorage.cpp index 84238082..e4ba7472 100644 --- a/src/liberty/save/GenericGameStorage.cpp +++ b/src/liberty/save/GenericGameStorage.cpp @@ -38,7 +38,7 @@ #include "World.h" #include "Zones.h" -#include "../vmu/vmu.h" +#include "vmu/vmu.h" #define BLOCK_COUNT 20 #define SIZE_OF_SIMPLEVARS 0xBC diff --git a/src/liberty/save/PCSave.cpp b/src/liberty/save/PCSave.cpp index e8ff416a..723f5698 100644 --- a/src/liberty/save/PCSave.cpp +++ b/src/liberty/save/PCSave.cpp @@ -15,7 +15,7 @@ #include "minilzo.h" #include "main.h" -#include "../vmu/vmu.h" +#include "vmu/vmu.h" const char* _psGetUserFilesFolder(); diff --git a/src/liberty/skel/dc/dc.cpp b/src/liberty/skel/dc/dc.cpp index 4f2e8ccb..31bf8db0 100644 --- a/src/liberty/skel/dc/dc.cpp +++ b/src/liberty/skel/dc/dc.cpp @@ -1,6 +1,6 @@ #if defined RW_DC -#include "../vmu/vmu.h" +#include "vmu/vmu.h" #include #include #include @@ -8,7 +8,7 @@ #if !defined(DC_SIM) #include KOS_INIT_FLAGS(INIT_IRQ | INIT_CONTROLLER | INIT_CDROM | INIT_VMU); -#include "../prof/profiler.h" +#include "prof/profiler.h" #endif #ifdef _WIN32 @@ -62,7 +62,7 @@ long _dwOperatingSystemVersion; #include "AnimViewer.h" #include "Font.h" #include "MemoryMgr.h" -#include "../../dreamcast/git-version.h" +#include "git-version.h" #include "dc.h" #include diff --git a/vendor/librw/src/dc/rwdc.cpp b/vendor/librw/src/dc/rwdc.cpp index b4073460..5addd4ad 100644 --- a/vendor/librw/src/dc/rwdc.cpp +++ b/vendor/librw/src/dc/rwdc.cpp @@ -28,7 +28,7 @@ extern const char* currentFile; #include "../rwrender.h" #include "rwdc.h" #include "vq.h" -#include "tex-util.h"../src/miami/skel/dc/dc.cpp +#include "tex-util.h" #include #include