# Končni Projekt za 3. Letnik - PRAP ## Uporabljene knjižnice - SDL3 ## Build gcc compiler + cmake ```bash mkdir build cd build cmake .. make -j ``` (Za Windows uporabite MSYS2 MINGW64 terminal) ## Delovanje ### Master Thread (Rendering Thread) Ta nit/thread ustvari glavno okno in kliče metode za renderiranje. Prav tako obdeluje dogodke (events) in posodablja stanje igre. ### Game Thread (Slave Thread) Ta nit/thread izvaja glavno zanko igre, posodablja stanje igre in entitete. Odgovarja za logiko igre, medtem ko master thread skrbi za renderiranje in dogodke. ### Sinhronizacija Med tema dvema nitoma se uporablja `std::shared_mutex` za sinhronizacijo dostopa do skupnih virov, kot so entitete v `GameState`. Master thread uporablja `std::shared_lock` za branje entitet med renderiranjem, medtem ko game thread uporablja `std::unique_lock` za posodabljanje entitet. ## Licenca Vsa izvorna koda (razen kadar je drugače navedeno ali uporabljeno) je licencirana pod "Lesser General Public License v2.1" edino (okrajšano na "LGPL v2.1-only"). Več informacij o licenci najdete v datoteki LICENSE. Vse slike (v direktorijo resources/) so podane pod "Creative Commons Attribution-ShareAlike" (CC BY-SA) licenco. Font "Roboto" je licenciran pod "SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007" (Na voljo na spletu). ## Avtorske pravice Vse avtorske pravice (copyright) so rezervirane k avtorju te izvorne kode/slik.