====== Jak na vlastní build Chocolate Doom ====== ===== Co budeme potřebovat za SW ===== * Visual Studio, nebo jiný nástroj pro kompilaci (návod počítá s VS 2019) * CMake ([[https://cmake.org/download/]]) - buď nainstalovaný v systému, nebo rozbalený někde na vašem disku * Git [[https://git-scm.com/]] ===== Postup ===== - Někde na disku si vytvoříme složku. Já si vytvořil //C:/Development/ChocolateDoom//. Ve škole použijte nějakou specifičtější složku kde můžete zapisovat - např. někde ve vašem profilu. Do této složky budeme umisťovat všechny následující potřebné soubory. Budeme ji nazývat naším pracovním adresářem. - Stáhneme si knihovny [[https://www.libsdl.org/download-2.0.php|SDL2]], [[https://www.libsdl.org/projects/SDL_net/|SDL2_net]] a [[https://www.libsdl.org/projects/SDL_mixer/|SDL2_mixer]]. Všechny tři stahujeme jako **Development Libraries**, verze **Windows**, zip, který má na konci **-VC.zip** - Tyto knihovny rozbalíme do samostatných složek ve složce vytvořené v bodě 1. **Pozor:** Je nutné dát si při rozbalování pozor, aby nebyla složka dvojitá. Často se stane (speciálně u Windows), že se vytvoří složka s názvem zipu, v ní složka s názvem knihovny a teprve v ní samotné soubory. Pokud se tak stane, musíte dávat bedlivý pozor v dalších krocích, případně soubory přesunou o jednu úroveň výše. - Ukázka pracovní složky a obsah jedné složky s knihovnou {{:ccpp:snimek_obrazovky_2021-09-06_084748.png?direct&200|}} {{:ccpp:snimek_obrazovky_2021-09-06_084812.png?direct&200|}} - Otevřeme si Git (Git Bash Here) v našem pracovním adresáři a naklonujeme si zdrojový kód Chocolate Doom příkazem: ''git clone https://github.com/chocolate-doom/chocolate-doom.git''. Pokud vše projde úspěšně, můžeme Git zavřít. Na obrázku je ukázka naklonovaného repozitářem se zdrojovým kódem. {{:ccpp:chocolate-doom-clone.png?direct&200|}} {{:ccpp:chocolate-doom-repo.png?direct&200|}} - Spustíme program CMake (cmake-gui). **Where is the source code** nastavíme do složky se zdrojovým kódem, která se vytvořila v předchozím bodu. - V našem pracovním adresáři si vytvoříme složku **build**. - **Where to build the binaries** nastavíme na složku **build** vytvořenou v předchozím kroku. {{:ccpp:cmake-init-directories.png?direct&200|}} - Klikneme na **Configure**. V dialogovém okně vybereme náš kompilátor - **Visual Studio 16 2019**. A **Optional platform generator** nastavím na **Win32**. Viz obrázek. Po nastavené dáme Finish. **{{:ccpp:cmake-generator.png?direct&200|}}** - Dojde k několika "chybám", že nebyly nalezeny knihovny, které jsme dříve rozbalily. Musíme na ně uvést cesty ve střední části okna. Jedná se o řádky **SDL2_DIR**, **SDL2_MIXER_DIR** a **SDL2_NET_DIR**. Použijeme k tomu kopii (CTRL+C a CTRL+V) vesty z průzkumníka. Na obrázku ukázka výsledného nastavení. {{:ccpp:cmake-sdl2-libs.png?direct&200|}} - Znovu klikneme na **Configure**, ve spodní části by měl poslední řádek říkat **Configuring done**. - Klikneme na **Generate**, ve spodní části by měl poslední řádek říkat **Generating done**. - Klikneme na **Open Project**. Mělo by se otevřít Visual Studio s naším Chocolate Doom projektem. CMake aplikaci můžeme následně zavřít. - Sestavíme projekt (CTRL+SHIFT+B) - Výsledná aplikace bude ve složce **ChocolateDoom\build\src\Release**, nebo **ChocolateDoom\build\src\Debug** v závislosti na nastavení typu sestavení. {{:ccpp:chocolate-doom-built.png?direct&200|}} ===== Spuštění ===== Pro spuštění jsou za potřebí data samotné hry (grafiku, zvuky, levely) jedná se o **.wad** soubory. Tato data jsou chráněna autorským právem a k originálnímu Doom, nebo DoomII nejsou volně k dispozici. Pokud originální hru vlastníte, můžete se odkázat/ použít její wad soubor. Existuje však [[https://freedoom.github.io/download.html|Free Doom]] jehož .wad soubor můžete použít. Projekt je nastavený tak, že na systému Windows, nemůže automaticky najít knihovny potřebné pro spuštění. Nejjednodušší řešení je jejich manuální nakopírování z rozbalených složek do složky s **chocolate-doom.exe**. jedná se o soubory **SDL2.dll**, **SDL2_net.dll**, **SDL2_mixer.dll** Pro načtení .wad souboru je nejjednodušší ho zkopírovat do složky s **chocolate-doom.exe** a ten následně spustit.