1.4 KiB
Končni Projekt za 3. Letnik - PRAP
Uporabljene knjižnice
- SDL3
Build
gcc compiler + cmake
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.