# Game state reimplemented from the original: entities and their placement. Standard library only.
add_library(dgen_game STATIC
    checkpoint.cpp
    conversation.cpp
    demo_playback.cpp
    demo_session.cpp
    entity_renderer.cpp
    entity_types.cpp
    item_menu.cpp
    occlusion.cpp
    original_text.cpp
    palette_cycle.cpp
    movement.cpp
    people.cpp
    room_exit.cpp
    player.cpp
    player_stats.cpp
    game_state.cpp
    story.cpp
    room.cpp
    room_entities.cpp
    sound.cpp
    sprite_library.cpp
    status_bar.cpp
    text.cpp
    dos_font.cpp
    dos_font_glyphs.cpp
    talk.cpp
    terminal.cpp
    targeting.cpp
    walls.cpp
    # Each entity type's methods (Room::behaviour).
    entities/anm.cpp
    entities/art.cpp
    entities/bar.cpp
    entities/derrida.cpp
    entities/door.cpp
    entities/electrocution.cpp
    entities/explosion.cpp
    entities/furniture.cpp
    entities/grenade.cpp
    entities/head.cpp
    entities/jetpack.cpp
    entities/laser.cpp
    entities/lift.cpp
    entities/mutant.cpp
    entities/orb.cpp
    entities/panel.cpp
    entities/person.cpp
    entities/player.cpp
    entities/props.cpp
    entities/squash.cpp
    entities/switch.cpp
    entities/teleporter.cpp
    entities/tub.cpp
    entities/turret.cpp
    entities/vent.cpp)
target_include_directories(dgen_game PUBLIC ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(dgen_game PUBLIC dgen_data dgen_render)
dgen_set_warnings(dgen_game)
