mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-16 22:00:05 -04:00
change how randomizer is included
This commit is contained in:
+3
-2
@@ -18,7 +18,6 @@ set(AURORA_ENABLE_CARD ON CACHE BOOL "Enable CARD API support" FORCE)
|
||||
add_subdirectory(extern/aurora EXCLUDE_FROM_ALL)
|
||||
|
||||
add_subdirectory(libs/freeverb)
|
||||
add_subdirectory(src/dusk/randomizer)
|
||||
|
||||
option(DUSK_BUILD_WARNINGS "If off, compiler warnings will be suppressed")
|
||||
option(DUSK_SELECTED_OPT "If on, selected parts of the project will be compiled with optimizations on Debug, intending to make the game run at 30 FPS. Note for MSVC: you will need to remove '/RTC1' from your debug flags in CMake.")
|
||||
@@ -121,6 +120,8 @@ if (DUSK_MOVIE_SUPPORT_REAL)
|
||||
list(APPEND GAME_COMPILE_DEFS MOVIE_SUPPORT=1)
|
||||
endif ()
|
||||
|
||||
include(src/dusk/randomizer/randomizer.cmake)
|
||||
|
||||
# game_debug is for game code files that we know work when compiled with DEBUG=1
|
||||
# Of course, if building a release build, this distinction is irrelevant
|
||||
add_library(game_debug OBJECT ${JSYSTEM_DEBUG_FILES} ${SSYSTEM_FILES}
|
||||
@@ -161,7 +162,7 @@ target_link_libraries(game PUBLIC ${GAME_LIBS})
|
||||
add_executable(dusk src/dusk/main.cpp)
|
||||
target_compile_definitions(dusk PRIVATE TARGET_PC AVOID_UB=1 VERSION=0)
|
||||
target_include_directories(dusk PRIVATE include)
|
||||
target_link_libraries(dusk PRIVATE game aurora::main freeverb randomizer)
|
||||
target_link_libraries(dusk PRIVATE game aurora::main freeverb)
|
||||
|
||||
add_custom_command(TARGET dusk POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
|
||||
+74
@@ -1372,4 +1372,78 @@ set(DUSK_FILES
|
||||
src/dusk/OSContext.cpp
|
||||
src/dusk/OSThread.cpp
|
||||
src/dusk/OSMutex.cpp
|
||||
# Randomizer files
|
||||
src/dusk/randomizer/logic/area.cpp
|
||||
src/dusk/randomizer/logic/area.hpp
|
||||
src/dusk/randomizer/logic/dungeon.cpp
|
||||
src/dusk/randomizer/logic/dungeon.hpp
|
||||
src/dusk/randomizer/logic/entrance.cpp
|
||||
src/dusk/randomizer/logic/entrance.hpp
|
||||
src/dusk/randomizer/logic/entrance_shuffle.cpp
|
||||
src/dusk/randomizer/logic/entrance_shuffle.hpp
|
||||
src/dusk/randomizer/logic/fill.cpp
|
||||
src/dusk/randomizer/logic/fill.hpp
|
||||
src/dusk/randomizer/logic/flatten/bits.cpp
|
||||
src/dusk/randomizer/logic/flatten/bits.hpp
|
||||
src/dusk/randomizer/logic/flatten/flatten.cpp
|
||||
src/dusk/randomizer/logic/flatten/flatten.hpp
|
||||
src/dusk/randomizer/logic/flatten/simplify_algebraic.cpp
|
||||
src/dusk/randomizer/logic/flatten/simplify_algebraic.hpp
|
||||
src/dusk/randomizer/logic/generate.cpp
|
||||
src/dusk/randomizer/logic/generate.hpp
|
||||
src/dusk/randomizer/logic/item.cpp
|
||||
src/dusk/randomizer/logic/item.hpp
|
||||
src/dusk/randomizer/logic/item_pool.cpp
|
||||
src/dusk/randomizer/logic/item_pool.hpp
|
||||
src/dusk/randomizer/logic/location.cpp
|
||||
src/dusk/randomizer/logic/location.hpp
|
||||
src/dusk/randomizer/logic/plandomizer.cpp
|
||||
src/dusk/randomizer/logic/plandomizer.hpp
|
||||
src/dusk/randomizer/logic/requirement.cpp
|
||||
src/dusk/randomizer/logic/requirement.hpp
|
||||
src/dusk/randomizer/logic/search.cpp
|
||||
src/dusk/randomizer/logic/search.hpp
|
||||
src/dusk/randomizer/logic/spoiler_log.cpp
|
||||
src/dusk/randomizer/logic/spoiler_log.hpp
|
||||
src/dusk/randomizer/logic/world.cpp
|
||||
src/dusk/randomizer/logic/world.hpp
|
||||
src/dusk/randomizer/randomizer.cpp
|
||||
src/dusk/randomizer/randomizer.hpp
|
||||
src/dusk/randomizer/seedgen/config.cpp
|
||||
src/dusk/randomizer/seedgen/config.hpp
|
||||
src/dusk/randomizer/seedgen/packed_bits.hpp
|
||||
src/dusk/randomizer/seedgen/seed.cpp
|
||||
src/dusk/randomizer/seedgen/seed.hpp
|
||||
src/dusk/randomizer/seedgen/settings.cpp
|
||||
src/dusk/randomizer/seedgen/settings.hpp
|
||||
src/dusk/randomizer/test/test.cpp
|
||||
src/dusk/randomizer/test/test.hpp
|
||||
src/dusk/randomizer/utility/color.cpp
|
||||
src/dusk/randomizer/utility/color.hpp
|
||||
src/dusk/randomizer/utility/common.cpp
|
||||
src/dusk/randomizer/utility/common.hpp
|
||||
src/dusk/randomizer/utility/container.hpp
|
||||
src/dusk/randomizer/utility/endian.cpp
|
||||
src/dusk/randomizer/utility/endian.hpp
|
||||
src/dusk/randomizer/utility/exception.hpp
|
||||
src/dusk/randomizer/utility/file.cpp
|
||||
src/dusk/randomizer/utility/file.hpp
|
||||
src/dusk/randomizer/utility/general.hpp
|
||||
src/dusk/randomizer/utility/log.cpp
|
||||
src/dusk/randomizer/utility/log.hpp
|
||||
src/dusk/randomizer/utility/math.hpp
|
||||
src/dusk/randomizer/utility/path.cpp
|
||||
src/dusk/randomizer/utility/path.hpp
|
||||
src/dusk/randomizer/utility/platform.cpp
|
||||
src/dusk/randomizer/utility/platform.hpp
|
||||
src/dusk/randomizer/utility/random.cpp
|
||||
src/dusk/randomizer/utility/random.hpp
|
||||
src/dusk/randomizer/utility/string.cpp
|
||||
src/dusk/randomizer/utility/string.hpp
|
||||
src/dusk/randomizer/utility/text.cpp
|
||||
src/dusk/randomizer/utility/text.hpp
|
||||
src/dusk/randomizer/utility/thread_local.hpp
|
||||
src/dusk/randomizer/utility/time.cpp
|
||||
src/dusk/randomizer/utility/time.hpp
|
||||
src/dusk/randomizer/utility/yaml.hpp
|
||||
)
|
||||
|
||||
@@ -3,51 +3,45 @@ cmake_minimum_required(VERSION 3.16)
|
||||
set(RANDOMIZER_ONLY "0" CACHE STRING "Runs only the randomizer generator")
|
||||
set(RANDO_SAVE_PATH "${CMAKE_BINARY_DIR}/randomizer/")
|
||||
|
||||
add_compile_definitions(RANDO_SAVE_PATH="${RANDO_SAVE_PATH}"
|
||||
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} RANDO_SAVE_PATH="${RANDO_SAVE_PATH}"
|
||||
LOGS_PATH="${RANDO_SAVE_PATH}logs/"
|
||||
DATA_PATH="${RANDO_SAVE_PATH}data/")
|
||||
|
||||
if(WRITE_ERROR_LOG)
|
||||
if(RANDO_ERROR_LOG)
|
||||
message("Error Log will be saved")
|
||||
add_compile_definitions(WRITE_ERROR_LOG)
|
||||
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} RANDO_ERROR_LOG)
|
||||
endif()
|
||||
|
||||
if(ENABLE_TIMING)
|
||||
message("Some events will be timed")
|
||||
|
||||
add_compile_definitions(ENABLE_TIMING)
|
||||
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} ENABLE_TIMING)
|
||||
endif()
|
||||
|
||||
if(DRY_RUN)
|
||||
message("Game patching will be skipped")
|
||||
|
||||
add_compile_definitions(DRY_RUN)
|
||||
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} DRY_RUN)
|
||||
endif()
|
||||
|
||||
if(RANDO_DEBUG)
|
||||
add_compile_definitions(RANDO_DEBUG)
|
||||
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} RANDO_DEBUG)
|
||||
endif()
|
||||
|
||||
if(LOGIC_TESTS)
|
||||
message("Configuring for Logic Tests")
|
||||
|
||||
add_compile_definitions(LOGIC_TESTS)
|
||||
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} LOGIC_TESTS)
|
||||
|
||||
if(TEST_COUNT)
|
||||
message("Test Count: " ${TEST_COUNT})
|
||||
add_compile_definitions(TEST_COUNT=${TEST_COUNT})
|
||||
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} TEST_COUNT=${TEST_COUNT})
|
||||
endif()
|
||||
add_compile_definitions(SETTINGS_PATH="${RANDO_SAVE_PATH}randomizer_settings.yaml.test" PREFERENCES_PATH="${RANDO_SAVE_PATH}randomizer_preferences.yaml.test")
|
||||
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} SETTINGS_PATH="${RANDO_SAVE_PATH}randomizer_settings.yaml.test" PREFERENCES_PATH="${RANDO_SAVE_PATH}randomizer_preferences.yaml.test")
|
||||
else()
|
||||
add_compile_definitions(SETTINGS_PATH="${RANDO_SAVE_PATH}randomizer_settings.yaml" PREFERENCES_PATH="${RANDO_SAVE_PATH}randomizer_preferences.yaml")
|
||||
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} SETTINGS_PATH="${RANDO_SAVE_PATH}randomizer_settings.yaml" PREFERENCES_PATH="${RANDO_SAVE_PATH}randomizer_preferences.yaml")
|
||||
endif()
|
||||
|
||||
string(LENGTH "${CMAKE_SOURCE_DIR}/" SOURCE_PATH_SIZE)
|
||||
add_compile_definitions(SOURCE_PATH_SIZE=${SOURCE_PATH_SIZE})
|
||||
|
||||
# Put data files together for easier manipulation
|
||||
file(COPY "./data/" DESTINATION "${CMAKE_BINARY_DIR}/randomizer/data/" REGEX "^.*example.*$" EXCLUDE) # World, macros, and location info
|
||||
|
||||
message(STATUS "randomizer: Fetching yaml-cpp")
|
||||
FetchContent_Declare(
|
||||
yaml-cpp
|
||||
@@ -72,6 +66,12 @@ FetchContent_Declare(
|
||||
)
|
||||
FetchContent_MakeAvailable(zlib-ng)
|
||||
|
||||
file(GLOB_RECURSE CODE_SOURCES CONFIGURE_DEPENDS "*.cpp" "*.hpp")
|
||||
add_library(randomizer OBJECT ${CODE_SOURCES})
|
||||
target_link_libraries(randomizer yaml-cpp::yaml-cpp zlib base64pp)
|
||||
|
||||
string(LENGTH "${CMAKE_SOURCE_DIR}/" SOURCE_PATH_SIZE)
|
||||
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} SOURCE_PATH_SIZE=${SOURCE_PATH_SIZE})
|
||||
set(GAME_LIBS ${GAME_LIBS} yaml-cpp::yaml-cpp zlib base64pp)
|
||||
|
||||
# Put data files together for easier manipulation
|
||||
file(COPY "${CMAKE_SOURCE_DIR}/src/dusk/randomizer/data/" DESTINATION "${CMAKE_BINARY_DIR}/randomizer/data/" REGEX "^.*example.*$" EXCLUDE) # World, macros, and location info
|
||||
|
||||
|
||||
Reference in New Issue
Block a user