aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2021-10-24 03:24:55 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2022-03-30 08:20:20 +0200
commitc9e6ae44a9aeb89b3f48f3443d6baa80103f7445 (patch)
tree5e24054a1ee5c2e575d7fa6ec606489c600e86e5
parent3c6bf289c70768b7493def907fa5c88c697cceb1 (diff)
downloadjancity-c9e6ae44a9aeb89b3f48f3443d6baa80103f7445.tar.gz
Add project resources
-rw-r--r--res/CMakeLists.txt283
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
+ )