# Party Games Box - 组件 CMake 配置
#
# 中文字体配置:
#   1. 运行 tools/gen_font.ps1 (或 gen_font.sh) 生成字体文件
#   2. 生成的文件放在 main/fonts/font_zh_14.c 和 font_zh_20.c
#   3. 字体文件存在时自动启用中文字体
#   4. 不存在时回退到 Montserrat (仅英文/数字)

# 检查中文字体文件是否存在
set(FONT_ZH_14 "${CMAKE_CURRENT_LIST_DIR}/fonts/font_zh_14.c")
set(FONT_ZH_20 "${CMAKE_CURRENT_LIST_DIR}/fonts/font_zh_20.c")

set(GAME_SRCS
    "main.c"
    "game_common.c"
    "game_dice.c"
    "game_rps.c"
    "game_coin.c"
    "game_guess.c"
    "game_bomb.c"
    "game_roulette.c"
    "game_truth.c"
    "game_penalty.c"
    "game_never.c"
    "game_king.c"
    "game_react.c"
    "game_twotruth.c"
    "game_drawcard.c"
    "game_picktwo.c"
    "game_likely.c"
    "game_wordbomb.c"
    "game_simon.c"
    "game_telepathy.c"
    "game_story.c"
    "game_spy.c"
)

set(USE_ZH_FONT OFF)

# 如果中文字体文件存在, 加入编译并定义 USE_ZH_FONT
if(EXISTS "${FONT_ZH_14}" AND EXISTS "${FONT_ZH_20}")
    message(STATUS "Chinese font files found - enabling USE_ZH_FONT")
    list(APPEND GAME_SRCS "fonts/font_zh_14.c" "fonts/font_zh_20.c")
    set(USE_ZH_FONT ON)
else()
    message(STATUS "Chinese font files not found - using Montserrat fallback")
    message(STATUS "To enable Chinese, run: python tools/extract_chars.py && bash tools/gen_font.sh")
endif()

idf_component_register(
    SRCS ${GAME_SRCS}
    INCLUDE_DIRS "."
    REQUIRES bsp
    PRIV_REQUIRES esp_timer
)

if(USE_ZH_FONT)
    target_compile_definitions(${COMPONENT_LIB} PUBLIC USE_ZH_FONT)
endif()
