add libultra with ultra_reimplementation.c and mixer.c

add engine

still missing: audio and level data
This commit is contained in:
HengiFettlich 2020-05-08 14:23:30 +02:00
parent 14063afbd3
commit fcb651c0d5
6 changed files with 102 additions and 78 deletions

View File

@ -51,9 +51,11 @@ add_executable(${PROJECT_NAME} ${SOURCES})
add_subdirectory(include)
add_subdirectory(textures)
add_subdirectory(src/audio)
add_subdirectory(src/engine)
add_subdirectory(src/goddard)
add_subdirectory(src/pc)
add_subdirectory(src/menu)
add_subdirectory(src/game)
add_subdirectory(lib)
target_link_libraries(${PROJECT_NAME} game audio goddard pc menu ${LINK_LIBRARIES})
target_link_libraries(${PROJECT_NAME} libultra game audio goddard pc menu ${LINK_LIBRARIES})

71
lib/CMakeLists.txt Normal file
View File

@ -0,0 +1,71 @@
cmake_minimum_required(VERSION 3.12)
project(libultra)
file(GLOB_RECURSE SOURCES "*.c")
file(GLOB_RECURSE HEADERS "*.h")
list(REMOVE_ITEM SOURCES
${PROJECT_SOURCE_DIR}/src/sqrtf.c
${PROJECT_SOURCE_DIR}/src/string.c
${PROJECT_SOURCE_DIR}/src/sprintf.c
${PROJECT_SOURCE_DIR}/src/_Printf.c
${PROJECT_SOURCE_DIR}/src/kdebugserver.c
${PROJECT_SOURCE_DIR}/src/osInitialize.c
${PROJECT_SOURCE_DIR}/src/func_802F7140.c
${PROJECT_SOURCE_DIR}/src/func_802F71F0.c
${PROJECT_SOURCE_DIR}/src/func_802F4A20.c
${PROJECT_SOURCE_DIR}/src/EU_D_802f4330.c
${PROJECT_SOURCE_DIR}/src/D_802F4380.c
${PROJECT_SOURCE_DIR}/src/osLeoDiskInit.c
${PROJECT_SOURCE_DIR}/src/osCreateThread.c
${PROJECT_SOURCE_DIR}/src/osDestroyThread.c
${PROJECT_SOURCE_DIR}/src/osStartThread.c
${PROJECT_SOURCE_DIR}/src/osSetThreadPri.c
${PROJECT_SOURCE_DIR}/src/osPiStartDma.c
${PROJECT_SOURCE_DIR}/src/osPiRawStartDma.c
${PROJECT_SOURCE_DIR}/src/osPiRawReadIo.c
${PROJECT_SOURCE_DIR}/src/osPiGetCmdQueue.c
${PROJECT_SOURCE_DIR}/src/osJamMesg.c
${PROJECT_SOURCE_DIR}/src/osSendMesg.c
${PROJECT_SOURCE_DIR}/src/osRecvMesg.c
${PROJECT_SOURCE_DIR}/src/osSetEventMesg.c
${PROJECT_SOURCE_DIR}/src/osTimer.c
${PROJECT_SOURCE_DIR}/src/osSetTimer.c
${PROJECT_SOURCE_DIR}/src/osSetTime.c
${PROJECT_SOURCE_DIR}/src/osCreateViManager.c
${PROJECT_SOURCE_DIR}/src/osViSetSpecialFeatures.c
${PROJECT_SOURCE_DIR}/src/osVirtualToPhysical.c
${PROJECT_SOURCE_DIR}/src/osViBlack.c
${PROJECT_SOURCE_DIR}/src/osViSetEvent.c
${PROJECT_SOURCE_DIR}/src/osViSetMode.c
${PROJECT_SOURCE_DIR}/src/osViSwapBuffer.c
${PROJECT_SOURCE_DIR}/src/osSpTaskLoadGo.c
${PROJECT_SOURCE_DIR}/src/osCreatePiManager.c
${PROJECT_SOURCE_DIR}/src/osGetTime.c
${PROJECT_SOURCE_DIR}/src/osEepromProbe.c
${PROJECT_SOURCE_DIR}/src/osEepromWrite.c
${PROJECT_SOURCE_DIR}/src/osEepromLongWrite.c
${PROJECT_SOURCE_DIR}/src/osEepromRead.c
${PROJECT_SOURCE_DIR}/src/osEepromLongRead.c
${PROJECT_SOURCE_DIR}/src/osContInit.c
${PROJECT_SOURCE_DIR}/src/osContStartReadData.c
${PROJECT_SOURCE_DIR}/src/osAiGetLength.c
${PROJECT_SOURCE_DIR}/src/osAiSetFrequency.c
${PROJECT_SOURCE_DIR}/src/osAiSetNextBuffer.c
${PROJECT_SOURCE_DIR}/src/__osViInit.c
${PROJECT_SOURCE_DIR}/src/__osSyncPutChars.c
${PROJECT_SOURCE_DIR}/src/__osAtomicDec.c
${PROJECT_SOURCE_DIR}/src/__osSiRawStartDma.c
${PROJECT_SOURCE_DIR}/src/__osViSwapContext.c
${PROJECT_SOURCE_DIR}/src/__osViGetCurrentContext.c
${PROJECT_SOURCE_DIR}/src/__osDevMgrMain.c
)
list(APPEND SOURCES
${CMAKE_SOURCE_DIR}/src/pc/ultra_reimplementation.c
${CMAKE_SOURCE_DIR}/src/pc/mixer.c
)
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS})

11
src/engine/CMakeLists.txt Normal file
View File

@ -0,0 +1,11 @@
cmake_minimum_required(VERSION 3.12)
project(engine)
file(GLOB SOURCES "*.c")
file(GLOB HEADERS "*.h")
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS})
target_link_libraries(${PROJECT_NAME} menu game)

View File

@ -2,10 +2,15 @@ cmake_minimum_required(VERSION 3.12)
project(game)
file(GLOB SOURCES "*.c")
file(GLOB_RECURSE SOURCES "*.c")
file(GLOB HEADERS "*.h")
file(GLOB_RECURSE HEADERS "*.h")
list(REMOVE_ITEM SOURCES ${PROJECT_SOURCE_DIR}/main.c)
list(APPEND SOURCES ${CMAKE_SOURCE_DIR}/data/behavior_data.c)
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS})
target_link_libraries(${PROJECT_NAME} engine)

View File

@ -2,46 +2,12 @@ cmake_minimum_required(VERSION 3.12)
project(goddard)
set(SOURCES
debug_utils.c
draw_objects.c
dynlist_proc.c
gd_main.c
gd_math.c
gd_memory.c
joints.c
objects.c
old_menu.c
particles.c
renderer.c
sfx.c
shape_helper.c
skin.c
skin_movement.c
)
file(GLOB_RECURSE SOURCES "*.c")
set(HEADERS
bad_declarations.h
debug_utils.h
draw_objects.h
dynlist_proc.h
gd_macros.h
gd_main.h
gd_math.h
gd_memory.h
gd_tex_dl.h
gd_types.h
joints.h
objects.h
old_menu.h
particles.h
renderer.h
sfx.h
shape_helper.h
skin.h
skin_movement.h
)
file(GLOB_RECURSE HEADERS "*.h")
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS})
add_dependencies(${PROJECT_NAME} textures)
add_dependencies(${PROJECT_NAME} libultra textures)
target_link_libraries(${PROJECT_NAME} libultra)

View File

@ -4,41 +4,10 @@ project(pc)
include_directories(audio controller gfx)
set(SOURCES
pc_main.c
configfile.c
mixer.c
ultra_reimplementation.c
audio/audio_sdl.c
audio/audio_null.c
gfx/gfx_pc.c
gfx/gfx_opengl.c
gfx/gfx_sdl2.c
controller/controller_emscripten_keyboard.c
controller/controller_entry_point.c
controller/controller_keyboard.c
controller/controller_recorded_tas.c
controller/controller_sdl.c
)
file(GLOB_RECURSE SOURCES "*.c")
set(HEADERS
configfile.h
mixer.h
audio/audio_api.h
audio/audio_sdl.h
audio/audio_null.h
gfx/gfx_pc.h
gfx/gfx_cc.h
gfx/gfx_opengl.h
gfx/gfx_screen_config.h
gfx/gfx_rendering_api.h
gfx/gfx_sdl.h
gfx/gfx_window_manager_api.h
controller/controller_api.h
controller/controller_emscripten_keyboard.h
controller/controller_keyboard.h
controller/controller_recorded_tas.h
controller/controller_sdl.h
)
file(GLOB_RECURSE HEADERS "*.h")
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS})
list(REMOVE_ITEM SOURCES ${PROJECT_SOURCE_DIR}/pc_main.c)
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS})