# Configure with [fxsdk build-fx] or [fxsdk build-cg], which provide the # toolchain file and module path of the fxSDK cmake_minimum_required(VERSION 3.15) project(RogueLife) include(GenerateG1A) include(GenerateG3A) include(Fxconv) find_package(Gint 2.5.2 REQUIRED) find_package(LibProf 2.4 REQUIRED) if("${FXSDK_PLATFORM_LONG}" STREQUAL fx9860G) message(FATAL_ERROR "This game does not support the fx-9860G!") endif() set(SOURCES src/anim.c src/aoe.c src/enemies.c src/game.c src/geometry.c src/main.c src/map.c src/pathfinding.c src/player.c src/render.c src/util.c src/comp/entity.c src/comp/fighter.c src/comp/mechanical.c src/comp/particle.c src/comp/physical.c src/comp/visible.c ) set(ASSETS # Tilesets assets-cg/tilesets/cavern.tsx assets-cg/tilesets/lab.tsx # Levels assets-cg/levels/lv1.tmx assets-cg/levels/lv1.txt assets-cg/levels/lv2.tmx assets-cg/levels/lv2.txt # HUD assets-cg/hud.png assets-cg/hud_life.png assets-cg/hud_stars.png assets-cg/hud_window.png assets-cg/hud_xp.png assets-cg/skillicons.png assets-cg/font_hud.png # Player animations assets-cg/player/player_up.aseprite assets-cg/player/player_right.aseprite assets-cg/player/player_down.aseprite assets-cg/player/player_left.aseprite # Skill animations assets-cg/skills/swing_up.aseprite assets-cg/skills/swing_right.aseprite assets-cg/skills/swing_down.aseprite assets-cg/skills/swing_left.aseprite assets-cg/skills/impale_up.aseprite assets-cg/skills/impale_right.aseprite assets-cg/skills/impale_down.aseprite assets-cg/skills/impale_left.aseprite assets-cg/skills/bullet_up.aseprite assets-cg/skills/bullet_right.aseprite assets-cg/skills/bullet_down.aseprite assets-cg/skills/bullet_left.aseprite assets-cg/skills/hit.aseprite assets-cg/skills/judgement.aseprite assets-cg/skills/teleport.aseprite assets-cg/skills/shock.aseprite assets-cg/skills/projectile_left.aseprite assets-cg/skills/projectile_right.aseprite # Enemies: Slime assets-cg/enemies/slime_left.aseprite assets-cg/enemies/slime_right.aseprite # Enemies: Bat assets-cg/enemies/bat_left.aseprite assets-cg/enemies/bat_right.aseprite # Enemies: Gunslinger assets-cg/enemies/gunslinger_left.aseprite assets-cg/enemies/gunslinger_right.aseprite # Enemies: Fire Slime assets-cg/enemies/fire_slime_left.txt assets-cg/enemies/fire_slime_right.txt # Misc assets-cg/font_damage_red.png assets-cg/font_damage_white.png assets-cg/font_rogue.png ) fxconv_declare_assets(${ASSETS} ${ASSETS} WITH_METADATA) fxconv_declare_converters(assets-cg/converters.py) add_executable(addin ${SOURCES} ${ASSETS}) target_compile_options(addin PRIVATE -Wall -Wextra -Os) target_include_directories(addin PRIVATE src) target_link_libraries(addin LibProf::LibProf Gint::Gint) target_link_options(addin PRIVATE -Wl,-Map=map) generate_g3a(TARGET addin OUTPUT "RogueLif.g3a" NAME "Rogue Life" ICONS assets-cg/icon-uns.png assets-cg/icon-sel.png)