diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2021-10-24 03:24:55 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2022-03-30 08:20:20 +0200 |
| commit | c9e6ae44a9aeb89b3f48f3443d6baa80103f7445 (patch) | |
| tree | 5e24054a1ee5c2e575d7fa6ec606489c600e86e5 | |
| parent | 3c6bf289c70768b7493def907fa5c88c697cceb1 (diff) | |
| download | jancity-c9e6ae44a9aeb89b3f48f3443d6baa80103f7445.tar.gz | |
Add project resources
| -rw-r--r-- | res/CMakeLists.txt | 283 |
1 files changed, 283 insertions, 0 deletions
diff --git a/res/CMakeLists.txt b/res/CMakeLists.txt new file mode 100644 index 0000000..b99f2e6 --- /dev/null +++ b/res/CMakeLists.txt @@ -0,0 +1,283 @@ +function(sprite) + set(options "") + set(multiValueArgs "") + set(oneValueArgs NAME X Y TRANSPARENT BPP CX CY) + cmake_parse_arguments(SPRITE "${options}" "${oneValueArgs}" + "${multiValueArgs}" ${ARGN}) + + if(PS1_BUILD) + if(${SPRITE_TRANSPARENT}) + set(trans -mpink) + endif() + + if(NOT "${SPRITE_BPP}" STREQUAL "16") + set(clut "-clut=${SPRITE_CX},${SPRITE_CY}") + endif() + + add_custom_target(${SPRITE_NAME}_img ALL + bmp2tim ${SPRITE_NAME}.bmp ${CMAKE_CURRENT_BINARY_DIR}/${SPRITE_NAME} + ${SPRITE_BPP} -org=${SPRITE_X},${SPRITE_Y} ${clut} ${trans} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + DEPENDS ${SPRITE_NAME}.bmp + BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${SPRITE_NAME}) + add_dependencies(iso ${SPRITE_NAME}_img) + elseif(SDL1_2_BUILD) + add_custom_target(${SPRITE_NAME}_img ALL + cp ${SPRITE_NAME}.bmp ${CMAKE_CURRENT_BINARY_DIR}/${SPRITE_NAME} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + DEPENDS ${SPRITE_NAME}.bmp + BYPRODUCTS ${SPRITE_NAME}) + add_dependencies(${PROJECT_NAME} ${SPRITE_NAME}_img) + endif() +endfunction() + +function(sound) + set(options "") + set(multiValueArgs "") + set(oneValueArgs NAME LOOP) + cmake_parse_arguments(SOUND "${options}" "${oneValueArgs}" + "${multiValueArgs}" ${ARGN}) + + if(PS1_BUILD) + if(${SOUND_LOOP}) + set(loop -L) + endif() + + add_custom_target(${SOUND_NAME}_snd ALL + wav2vag ${SOUND_NAME}.wav + ${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME} ${loop} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + DEPENDS ${SOUND_NAME}.wav + BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME}) + add_dependencies(iso ${SOUND_NAME}_snd) + elseif(SDL1_2_BUILD) + add_custom_target(${SOUND_NAME}_snd ALL + #ffmpeg -y -i ${SOUND_NAME}.wav + # -loglevel error + # -c:a libvorbis + # ${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME} + cp ${SOUND_NAME}.wav ${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + DEPENDS ${SOUND_NAME}.wav + BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME}) + add_dependencies(${PROJECT_NAME} ${SOUND_NAME}_snd) + endif() +endfunction() + +function(container) + set(options "") + set(multiValueArgs SPRITES SOUNDS) + set(oneValueArgs NAME) + cmake_parse_arguments(CONTAINER "${options}" "${oneValueArgs}" + "${multiValueArgs}" ${ARGN}) + + add_custom_target(${CONTAINER_NAME}_container ALL + container ${CONTAINER_SPRITES} ${CONTAINER_SOUNDS} + ${cdroot}/${CONTAINER_NAME}.cnt + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + BYPRODUCTS ${cdroot}/${CONTAINER_NAME}.cnt) + + foreach(sprite ${CONTAINER_SPRITES}) + add_dependencies(${CONTAINER_NAME}_container ${sprite}_img) + endforeach() + + foreach(sound ${CONTAINER_SOUNDS}) + add_dependencies(${CONTAINER_NAME}_container ${sound}_snd) + endforeach() + + if(PS1_BUILD) + add_dependencies(iso ${CONTAINER_NAME}_container) + endif() +endfunction() + +sprite(NAME worker_n + X 384 + Y 0 + BPP 4 + CX 384 + CY 31 + TRANSPARENT TRUE) + +sprite(NAME worker_ne + X 384 + Y 32 + BPP 4 + CX 384 + CY 63 + TRANSPARENT TRUE) + +sprite(NAME worker_e + X 384 + Y 64 + BPP 4 + CX 384 + CY 97 + TRANSPARENT TRUE) + +sprite(NAME worker_se + X 384 + Y 98 + BPP 4 + CX 384 + CY 129 + TRANSPARENT TRUE) + +sprite(NAME worker_s + X 384 + Y 130 + BPP 4 + CX 384 + CY 163 + TRANSPARENT TRUE) + +sprite(NAME grass + X 368 + Y 0 + BPP 4 + CX 368 + CY 510 + TRANSPARENT FALSE) + +sprite(NAME cursor + X 368 + Y 32 + BPP 4 + CX 368 + CY 509 + TRANSPARENT TRUE) + +sprite(NAME barracks + X 384 + Y 180 + BPP 4 + CX 368 + CY 508 + TRANSPARENT TRUE) + +sprite(NAME gui_bar_left + X 376 + Y 0 + BPP 4 + CX 368 + CY 507 + TRANSPARENT TRUE) + +sprite(NAME gui_bar_mid + X 472 + Y 168 + BPP 4 + CX 368 + CY 506 + TRANSPARENT TRUE) + +sprite(NAME gui_bar_right + X 376 + Y 56 + BPP 4 + CX 368 + CY 505 + TRANSPARENT TRUE) + +sprite(NAME sel_up_left + X 368 + Y 64 + BPP 4 + CX 368 + CY 504 + TRANSPARENT TRUE) + +sprite(NAME sel_up_right + X 372 + Y 64 + BPP 4 + CX 368 + CY 503 + TRANSPARENT TRUE) + +sprite(NAME sel_down_left + X 368 + Y 52 + BPP 4 + CX 368 + CY 502 + TRANSPARENT TRUE) + +sprite(NAME sel_down_right + X 372 + Y 52 + BPP 4 + CX 368 + CY 501 + TRANSPARENT TRUE) + +sprite(NAME sel_mid + X 376 + Y 52 + BPP 4 + CX 368 + CY 500 + TRANSPARENT TRUE) + +sprite(NAME sel_mid_v + X 382 + Y 0 + BPP 4 + CX 368 + CY 499 + TRANSPARENT TRUE) + +sprite(NAME font + X 472 + Y 0 + BPP 4 + CX 368 + CY 498 + TRANSPARENT TRUE) + +sprite(NAME gold_mine + X 448 + Y 0 + BPP 4 + CX 368 + CY 497 + TRANSPARENT TRUE) + +sprite(NAME tree + X 368 + Y 76 + BPP 4 + CX 368 + CY 496 + TRANSPARENT TRUE) + +sound(NAME acknowledge_01) +sound(NAME acknowledge_02) +sound(NAME selected_01) + +container(NAME rts + SPRITES + barracks + worker_n + worker_ne + worker_e + worker_se + worker_s + font + grass + cursor + tree + gui_bar_left + gui_bar_mid + gui_bar_right + gold_mine + sel_up_left + sel_up_right + sel_down_left + sel_down_right + sel_mid + sel_mid_v + SOUNDS + acknowledge_01 + acknowledge_02 + selected_01 + ) |
