#!/usr/bin/env python3
# SPDX-FileCopyrightText: 2011-2024 Filipe Coelho <falktx@falktx.com>
# SPDX-License-Identifier: GPL-2.0-or-later

# ----------------------------------------------------------------------------------------------------------------------
# Imports (Custom Stuff)

from carla_app import (
    CarlaApplication,
)

from carla_host import (
    HostWindow,
    initHost,
    loadHostSettings,
)

from carla_shared import (
    handleInitialCommandLineArguments,
    setUpSignals,
)

# ----------------------------------------------------------------------------------------------------------------------
# Main

if __name__ == '__main__':
    import resources_rc

    # ------------------------------------------------------------------------------------------------------------------
    # Read CLI args

    initName, libPrefix = handleInitialCommandLineArguments(__file__ if "__file__" in dir() else None)

    # ------------------------------------------------------------------------------------------------------------------
    # App initialization

    app = CarlaApplication("Carla2", libPrefix)

    # ------------------------------------------------------------------------------------------------------------------
    # Set-up custom signal handling

    setUpSignals()

    # ------------------------------------------------------------------------------------------------------------------
    # Init host backend

    host = initHost(initName, libPrefix, False, False, True)
    loadHostSettings(host)

    # ------------------------------------------------------------------------------------------------------------------
    # Create GUI

    gui = HostWindow(host, True)

    # ------------------------------------------------------------------------------------------------------------------
    # Show GUI

    gui.showIfNeeded()

    # ------------------------------------------------------------------------------------------------------------------
    # App-Loop

    app.exit_exec()
