jak-project/game/CMakeLists.txt

272 lines
10 KiB
CMake
Raw Normal View History

2020-08-23 02:30:12 +00:00
# We define our own compilation flags here.
2020-10-03 22:36:02 +00:00
set(CMAKE_CXX_STANDARD 17)
# Set a more convenient ARM flag
if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
set(ARM64_ARCH TRUE)
message(STATUS "ARM64 architecture detected")
else()
set(ARM64_ARCH FALSE)
message(STATUS "Non-ARM64 architecture detected")
endif()
if(ARM64_ARCH)
# Add your ARM64-specific configuration or build options here
set(OG_ASM_FUNCS_FILE kernel/asm_funcs_arm64.s)
enable_language(ASM)
set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS ${CMAKE_ASM_SOURCE_FILE_EXTENSIONS} s)
# set(CMAKE_ASM_COMPILE_OBJECT "${CMAKE_ASM_COMPILER} -o <OBJECT> <SOURCE>")
set_source_files_properties(${OG_ASM_FUNCS_FILE} PROPERTIES COMPILE_FLAGS "-g")
else()
set(OG_ASM_FUNCS_FILE kernel/asm_funcs_x86_64.asm)
enable_language(ASM_NASM)
set(CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS ${CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS} asm)
set(CMAKE_ASM_NASM_COMPILE_OBJECT "<CMAKE_ASM_NASM_COMPILER> <INCLUDES> -f ${CMAKE_ASM_NASM_OBJECT_FORMAT} -o <OBJECT> <SOURCE>")
set_source_files_properties(${OG_ASM_FUNCS_FILE} PROPERTIES COMPILE_FLAGS "-g")
endif()
2020-08-23 02:30:12 +00:00
set(RUNTIME_SOURCE
external/discord_jak1.cpp
external/discord_jak2.cpp
i18n: subtitle code cleanup and update new subtitle JSON files to be compatible with Crowdin (#2802) The main thing that was done here was to slightly modify the new subtitle-v2 JSON schema to be more similar to the existing one so that it can properly be used in Crowdin. Draft while I double-check the diff myself Along the way the following was also done (among other things): - got rid of as much duplication as was feasible in the serialization and editor code - separated the text serialization code from the subtitle code for better organization - simplified "base language" in the editor. The new subtitle format has built-in support for defining a base language so the editor doesn't have to be used as a crutch. Also, cutscenes only defined in the base come first in the list now as that is generally the order you'd work from (what you havn't done first) - got rid of the GOAL subtitle format code completely - switched jak 2 text translations to the JSON format as well - found a few mistakes in the jak 1 subtitle metadata files - added a couple minor features to the editor - consolidate and removed complexity, ie. recently all jak 1 hints were forced to the `named` type, so I got rid of the two types as there isn't a need anymore. - removed subtitle editor groups for jak 1, the only reason they existed was so when the GOAL file was manually written out they were somewhat organized, the editor has a decent filter control, there's no need for them. - removed the GOAL -> JSON python script helper, it's been a month or so and no one has come forward with existing translations that they need help with migrating. If they do need it, the script will be in the git history. I did some reasonably through testing in Jak1/Jak 2 and everything seemed to work. But more testing is always a good idea. --------- Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com>
2023-07-09 01:53:39 +00:00
external/discord.cpp
graphics/display.cpp
graphics/gfx_test.cpp
i18n: subtitle code cleanup and update new subtitle JSON files to be compatible with Crowdin (#2802) The main thing that was done here was to slightly modify the new subtitle-v2 JSON schema to be more similar to the existing one so that it can properly be used in Crowdin. Draft while I double-check the diff myself Along the way the following was also done (among other things): - got rid of as much duplication as was feasible in the serialization and editor code - separated the text serialization code from the subtitle code for better organization - simplified "base language" in the editor. The new subtitle format has built-in support for defining a base language so the editor doesn't have to be used as a crutch. Also, cutscenes only defined in the base come first in the list now as that is generally the order you'd work from (what you havn't done first) - got rid of the GOAL subtitle format code completely - switched jak 2 text translations to the JSON format as well - found a few mistakes in the jak 1 subtitle metadata files - added a couple minor features to the editor - consolidate and removed complexity, ie. recently all jak 1 hints were forced to the `named` type, so I got rid of the two types as there isn't a need anymore. - removed subtitle editor groups for jak 1, the only reason they existed was so when the GOAL file was manually written out they were somewhat organized, the editor has a decent filter control, there's no need for them. - removed the GOAL -> JSON python script helper, it's been a month or so and no one has come forward with existing translations that they need help with migrating. If they do need it, the script will be in the git history. I did some reasonably through testing in Jak1/Jak 2 and everything seemed to work. But more testing is always a good idea. --------- Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com>
2023-07-09 01:53:39 +00:00
graphics/gfx.cpp
graphics/jak2_texture_remap.cpp
graphics/opengl_renderer/background/background_common.cpp
graphics/opengl_renderer/background/Shrub.cpp
graphics/opengl_renderer/background/TFragment.cpp
graphics/opengl_renderer/background/Tie3.cpp
graphics/opengl_renderer/BlitDisplays.cpp
graphics/opengl_renderer/BucketRenderer.cpp
graphics/opengl_renderer/CollideMeshRenderer.cpp
graphics/opengl_renderer/debug_gui.cpp
graphics/opengl_renderer/DepthCue.cpp
graphics/opengl_renderer/DirectRenderer.cpp
graphics/opengl_renderer/DirectRenderer2.cpp
graphics/opengl_renderer/dma_helpers.cpp
graphics/opengl_renderer/EyeRenderer.cpp
graphics/opengl_renderer/foreground/Generic2_Build.cpp
graphics/opengl_renderer/foreground/Generic2_DMA.cpp
graphics/opengl_renderer/foreground/Generic2_OpenGL.cpp
graphics/opengl_renderer/foreground/Generic2.cpp
graphics/opengl_renderer/foreground/Generic2BucketRenderer.cpp
graphics/opengl_renderer/foreground/Merc2.cpp
graphics/opengl_renderer/foreground/Merc2BucketRenderer.cpp
graphics/opengl_renderer/foreground/Shadow2.cpp
graphics/opengl_renderer/loader/Loader.cpp
graphics/opengl_renderer/loader/LoaderStages.cpp
graphics/opengl_renderer/ocean/CommonOceanRenderer.cpp
graphics/opengl_renderer/ocean/OceanMid_PS2.cpp
graphics/opengl_renderer/ocean/OceanMid.cpp
graphics/opengl_renderer/ocean/OceanMidAndFar.cpp
graphics/opengl_renderer/ocean/OceanNear_PS2.cpp
graphics/opengl_renderer/ocean/OceanNear.cpp
graphics/opengl_renderer/ocean/OceanTexture_PC.cpp
graphics/opengl_renderer/ocean/OceanTexture.cpp
graphics/opengl_renderer/opengl_utils.cpp
graphics/opengl_renderer/OpenGLRenderer.cpp
graphics/opengl_renderer/Profiler.cpp
graphics/opengl_renderer/ProgressRenderer.cpp
graphics/opengl_renderer/Shader.cpp
graphics/opengl_renderer/Shadow_PS2.cpp
graphics/opengl_renderer/ShadowRenderer.cpp
graphics/opengl_renderer/SkyBlendCPU.cpp
graphics/opengl_renderer/SkyBlendGPU.cpp
graphics/opengl_renderer/SkyRenderer.cpp
graphics/opengl_renderer/sprite/GlowRenderer.cpp
graphics/opengl_renderer/sprite/Sprite3_Distort.cpp
graphics/opengl_renderer/sprite/Sprite3_Glow.cpp
graphics/opengl_renderer/sprite/Sprite3.cpp
graphics/opengl_renderer/TextureAnimator.cpp
graphics/opengl_renderer/TextureUploadHandler.cpp
graphics/opengl_renderer/VisDataHandler.cpp
graphics/opengl_renderer/Warp.cpp
graphics/pipelines/opengl.cpp
graphics/sceGraphicsInterface.cpp
graphics/texture/jak1_tpage_dir.cpp
graphics/texture/jak2_tpage_dir.cpp
graphics/texture/TextureConverter.cpp
graphics/texture/TexturePool.cpp
${OG_ASM_FUNCS_FILE}
kernel/common/fileio.cpp
kernel/common/kboot.cpp
kernel/common/kdgo.cpp
kernel/common/kdsnetm.cpp
kernel/common/klink.cpp
kernel/common/klisten.cpp
kernel/common/kmachine.cpp
kernel/common/kmalloc.cpp
kernel/common/kmemcard.cpp
kernel/common/kprint.cpp
kernel/common/kscheme.cpp
kernel/common/ksocket.cpp
kernel/common/ksound.cpp
kernel/jak1/fileio.cpp
kernel/jak1/kboot.cpp
kernel/jak1/kdgo.cpp
kernel/jak1/klink.cpp
kernel/jak1/klisten.cpp
kernel/jak1/kmachine.cpp
kernel/jak1/kprint.cpp
kernel/jak1/kscheme.cpp
kernel/jak1/ksound.cpp
kernel/jak2/fileio.cpp
kernel/jak2/kboot.cpp
kernel/jak2/kdgo.cpp
kernel/jak2/klink.cpp
kernel/jak2/klisten.cpp
kernel/jak2/kmachine.cpp
kernel/jak2/kmalloc.cpp
kernel/jak2/kprint.cpp
kernel/jak2/kscheme.cpp
kernel/jak2/ksound.cpp
kernel/jak3/fileio.cpp
kernel/jak3/kboot.cpp
kernel/jak3/kdgo.cpp
kernel/jak3/kdsnetm.cpp
kernel/jak3/klink.cpp
kernel/jak3/klisten.cpp
kernel/jak3/kmachine.cpp
kernel/jak3/kmalloc.cpp
kernel/jak3/kmemcard.cpp
kernel/jak3/kprint.cpp
kernel/jak3/kscheme.cpp
kernel/jak3/ksocket.cpp
kernel/jak3/ksound.cpp
mips2c/jak1_functions/bones.cpp
mips2c/jak1_functions/collide_cache.cpp
mips2c/jak1_functions/collide_edge_grab.cpp
mips2c/jak1_functions/collide_func.cpp
mips2c/jak1_functions/collide_mesh.cpp
mips2c/jak1_functions/collide_probe.cpp
mips2c/jak1_functions/draw_string.cpp
mips2c/jak1_functions/generic_effect.cpp
mips2c/jak1_functions/generic_effect2.cpp
mips2c/jak1_functions/generic_merc.cpp
mips2c/jak1_functions/generic_tie.cpp
mips2c/jak1_functions/joint.cpp
mips2c/jak1_functions/merc_blend_shape.cpp
mips2c/jak1_functions/ocean_vu0.cpp
mips2c/jak1_functions/ocean.cpp
mips2c/jak1_functions/ripple.cpp
mips2c/jak1_functions/shadow.cpp
mips2c/jak1_functions/sky_tng.cpp
mips2c/jak1_functions/sparticle_launcher.cpp
mips2c/jak1_functions/sparticle.cpp
mips2c/jak1_functions/test_func.cpp
mips2c/jak1_functions/texture.cpp
mips2c/jak1_functions/tfrag.cpp
mips2c/jak1_functions/tie_methods.cpp
mips2c/jak1_functions/time_of_day.cpp
2022-12-01 03:36:09 +00:00
mips2c/jak2_functions/bones.cpp
mips2c/jak2_functions/collide_cache.cpp
2022-10-30 19:54:10 +00:00
mips2c/jak2_functions/collide_edge_grab.cpp
mips2c/jak2_functions/collide_func.cpp
mips2c/jak2_functions/collide_hash.cpp
2022-10-30 19:54:10 +00:00
mips2c/jak2_functions/collide_mesh.cpp
mips2c/jak2_functions/debug.cpp
mips2c/jak2_functions/font.cpp
2022-12-01 03:36:09 +00:00
mips2c/jak2_functions/foreground.cpp
2023-04-16 22:05:35 +00:00
mips2c/jak2_functions/generic_effect.cpp
mips2c/jak2_functions/generic_merc.cpp
mips2c/jak2_functions/joint.cpp
mips2c/jak2_functions/lights.cpp
mips2c/jak2_functions/merc_blend_shape.cpp
mips2c/jak2_functions/nav_control.cpp
mips2c/jak2_functions/nav_mesh.cpp
mips2c/jak2_functions/ocean_vu0.cpp
mips2c/jak2_functions/ocean.cpp
mips2c/jak2_functions/ripple.cpp
mips2c/jak2_functions/shadow.cpp
mips2c/jak2_functions/sky.cpp
mips2c/jak2_functions/sparticle_launcher.cpp
mips2c/jak2_functions/sparticle.cpp
2022-11-11 21:23:26 +00:00
mips2c/jak2_functions/spatial_hash.cpp
mips2c/jak2_functions/squid.cpp
mips2c/jak2_functions/texture.cpp
mips2c/jak2_functions/vortex.cpp
mips2c/jak3_functions/collide_func.cpp
mips2c/jak3_functions/lights.cpp
mips2c/mips2c_table.cpp
overlord/common/dma.cpp
overlord/common/fake_iso.cpp
overlord/common/iso_api.cpp
overlord/common/iso.cpp
overlord/common/isocommon.cpp
overlord/common/overlord.cpp
overlord/common/sbank.cpp
overlord/common/soundcommon.cpp
overlord/common/srpc.cpp
overlord/common/ssound.cpp
overlord/jak1/dma.cpp
overlord/jak1/fake_iso.cpp
overlord/jak1/iso_api.cpp
overlord/jak1/iso_queue.cpp
overlord/jak1/iso.cpp
overlord/jak1/isocommon.cpp
overlord/jak1/overlord.cpp
overlord/jak1/ramdisk.cpp
overlord/jak1/srpc.cpp
overlord/jak1/ssound.cpp
overlord/jak1/stream.cpp
overlord/jak2/dma.cpp
overlord/jak2/iso_api.cpp
overlord/jak2/iso_cd.cpp
overlord/jak2/iso_queue.cpp
overlord/jak2/iso.cpp
overlord/jak2/list.cpp
overlord/jak2/overlord.cpp
overlord/jak2/pages.cpp
overlord/jak2/spustreams.cpp
overlord/jak2/srpc.cpp
overlord/jak2/ssound.cpp
overlord/jak2/stream.cpp
overlord/jak2/streamlfo.cpp
overlord/jak2/streamlist.cpp
overlord/jak2/vag.cpp
runtime.cpp
sce/deci2.cpp
sce/iop.cpp
sce/libcdvd_ee.cpp
sce/libdma.cpp
sce/libgraph.cpp
sce/libpad.cpp
sce/libscf.cpp
sce/sif_ee_memcard.cpp
sce/sif_ee.cpp
sce/stubs.cpp
settings/settings.cpp
system/background_worker.cpp
system/Deci2Server.cpp
system/hid/devices/game_controller.cpp
system/hid/devices/keyboard.cpp
system/hid/devices/mouse.cpp
system/hid/display_manager.cpp
system/hid/input_bindings.cpp
system/hid/input_manager.cpp
system/hid/sdl_util.cpp
system/IOP_Kernel.cpp
system/iop_thread.cpp
system/SystemThread.cpp
tools/filter_menu/filter_menu.cpp
i18n: subtitle code cleanup and update new subtitle JSON files to be compatible with Crowdin (#2802) The main thing that was done here was to slightly modify the new subtitle-v2 JSON schema to be more similar to the existing one so that it can properly be used in Crowdin. Draft while I double-check the diff myself Along the way the following was also done (among other things): - got rid of as much duplication as was feasible in the serialization and editor code - separated the text serialization code from the subtitle code for better organization - simplified "base language" in the editor. The new subtitle format has built-in support for defining a base language so the editor doesn't have to be used as a crutch. Also, cutscenes only defined in the base come first in the list now as that is generally the order you'd work from (what you havn't done first) - got rid of the GOAL subtitle format code completely - switched jak 2 text translations to the JSON format as well - found a few mistakes in the jak 1 subtitle metadata files - added a couple minor features to the editor - consolidate and removed complexity, ie. recently all jak 1 hints were forced to the `named` type, so I got rid of the two types as there isn't a need anymore. - removed subtitle editor groups for jak 1, the only reason they existed was so when the GOAL file was manually written out they were somewhat organized, the editor has a decent filter control, there's no need for them. - removed the GOAL -> JSON python script helper, it's been a month or so and no one has come forward with existing translations that they need help with migrating. If they do need it, the script will be in the git history. I did some reasonably through testing in Jak1/Jak 2 and everything seemed to work. But more testing is always a good idea. --------- Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com>
2023-07-09 01:53:39 +00:00
tools/subtitle_editor/subtitle_editor_db.cpp
tools/subtitle_editor/subtitle_editor_repl_client.cpp
tools/subtitle_editor/subtitle_editor.cpp
)
2020-08-23 02:30:12 +00:00
2022-05-19 20:54:36 +00:00
add_subdirectory(sound)
# we build the runtime as a static library.
add_library(runtime STATIC ${RUNTIME_SOURCE} "../third-party/glad/src/glad.c")
2020-08-23 02:30:12 +00:00
target_link_libraries(runtime common fmt SDL2::SDL2 imgui discord-rpc sound stb_image libco libcurl)
if(WIN32)
target_link_libraries(runtime mman)
else()
target_link_libraries(runtime pthread dl)
endif()
add_executable(gk main.cpp)
target_link_libraries(gk runtime)