# 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/item.c src/level.c src/main.c src/map.c src/menu.c src/pathfinding.c src/player.c src/render.c src/skills.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 # Menu assets-cg/menu_title.png assets-cg/menu_arrows.png # HUD assets-cg/hud.png assets-cg/hud_delay.png assets-cg/hud_flag.png assets-cg/hud_itemslots.png assets-cg/hud_life.png assets-cg/hud_panel.png assets-cg/hud_xp.ase assets-cg/skillicons.png assets-cg/font_hud.png # Items assets-cg/items/life.aseprite assets-cg/items/chest.aseprite assets-cg/items/potion_atk.aseprite assets-cg/items/potion_cooldown.aseprite assets-cg/items/potion_def.aseprite assets-cg/items/potion_frz.aseprite assets-cg/items/potion_hp.aseprite assets-cg/items/potion_spd.aseprite assets-cg/items/stick1.aseprite assets-cg/items/stick2.aseprite assets-cg/items/sword1.aseprite assets-cg/items/sword2.aseprite assets-cg/items/armor1.aseprite # 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/launch.aseprite assets-cg/skills/magic_up.aseprite assets-cg/skills/magic_right.aseprite assets-cg/skills/magic_down.aseprite assets-cg/skills/magic_left.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 # Enemies: Albinos Bat assets-cg/enemies/albinos_bat_left.txt assets-cg/enemies/albinos_bat_right.txt # Enemies: Chemical Slime assets-cg/enemies/chemical_slime_left.txt assets-cg/enemies/chemical_slime_right.txt # Enemies: Crimson Bat assets-cg/enemies/crimson_bat_left.txt assets-cg/enemies/crimson_bat_right.txt # Enemies: Water Slime assets-cg/enemies/water_slime_left.txt assets-cg/enemies/water_slime_right.txt # Enemies: GB Gunslinger assets-cg/enemies/gb_gunslinger_left.txt assets-cg/enemies/gb_gunslinger_right.txt # Enemies: Master Gunslinger assets-cg/enemies/master_gunslinger_left.txt assets-cg/enemies/master_gunslinger_right.txt # Enemies: Tifucile assets-cg/enemies/tifucile_left.aseprite assets-cg/enemies/tifucile_right.aseprite # Enemies: Washing machine assets-cg/enemies/washing_machine_left.aseprite assets-cg/enemies/washing_machine_right.aseprite # 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 -O3) 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)