8 Kingdoms
-
Programátorská dokumentace
Obsah
Úvod
?
1 Moduly a Programátorská rozhraní
?
1.1 Moduly
?
1.2 Adresářová struktura
?
1.3 Systém zpráv
?
1.4 Logování zpráv
?
1.5 Alokace paměti
?
1.6 Kompatibilita
?
1.7 Výjimky
?
1.8 Konfigurace před překladem
?
1.9 Použité knihovny
?
2 Uživatelské rozhraní
?
2.1 Úvod
?
2.2 Životní cyklus
?
2.3 Třída TGUI
?
2.4 Obrazovka
?
2.5 Kontexty
?
2.5.1 Kontext MainMenu
?
2.5.2 Kontext LocalMulti
?
2.5.3 Kontext MultiHost
?
2.5.4 Kontext MultiJoin
?
2.5.5 Kontext LoadingScreen
?
2.5.6 Kontext Game
?
2.5.7 Kontext FinalStatistics
?
2.6 Zprávy
?
2.7 Výjimečné stavy
?
2.8 Matematická knihovna
?
2.9 Křivky a plochy
?
2.10 Rastrová data
?
2.11 Fonty
?
2.12 2D Engine
?
2.12.1 ActiveObjecty
?
2.13 3D Engine
?
2.13.1 Graf scény
?
2.13.2 Rendering
?
2.13.3 Model světa
?
2.13.4 Import 3D Modelů
?
2.13.5 Kontrolery
?
2.13.6 Objekty na scéně
?
2.13.6.1 Jednotky
?
2.13.6.2 Budovy
?
2.13.6.3 Terénní objekty
?
2.13.6.4 Povrch
?
2.13.7 Kamera
?
2.13.8 Hierarchická Animace
?
2.13.9 Efekty
?
2.13.10 Scénáře
?
2.14 Zvuk
?
2.15 Příkazový řádek
?
3 WORLD - Modul pravidel
?
3.1 Úvod
?
3.2 Architektura
?
3.2.1 Rozdělení WORLD_CLIENT / WORLD_SERVER
?
3.2.2 Použití WORLD_ENGINE
?
3.2.3 Třída TWorld
?
3.2.4 Třídy TWorldEngine a TWorldServerEngine
?
3.3 Životní cyklus
?
3.4 Komunikace
?
3.4.1 Synchronizace
?
3.4.2 Komunikace s GUI
?
3.4.3 Spolupráce s AI
?
3.4.4 Spolupráce s RM
?
3.4.5 Spolupráce s NET
?
3.5 Skriptovací jazyk TCL
?
3.5.1 Uložení a načtení proměnných
?
3.5.2 Spuštění skriptu
?
3.5.3 Struktura TCL_SCRIPT
?
3.5.4 Volání zpráv
?
3.6 Struktury a třídy
?
3.6.1 Základ hierarchie tříd a šablon
?
3.6.2 Statická data
?
3.6.3 Dynamická data
?
3.7 Herní akce
?
3.7.1 Pohyb jednotek
?
3.7.2 Vidění
?
3.7.3 Boj
?
3.7.4 Střídání tahů
?
4 AI - Umělá inteligence
?
4.1 Úvod
?
4.2 Moduly AI a jejich vzájemné fungování
?
4.2.1 Vyhledávání cesty
?
4.2.1.1 A* algoritmus
?
4.2.1.2 Optimalizace A* pomocí hald
?
4.2.1.3 A* Flood algortimus
?
4.2.1.4 Módy transparence při vyhledávání cesty
?
4.2.1.5 Struktura a klíčová volání PathFind modulu
?
4.2.2 Diplomacie
?
4.2.3 Analyzátor mapy
?
4.2.3.1 Inicializace a princip fungování Analyzátoru mapy
?
4.2.3.2 Výběr nejvhodnější budovy pro výcvik jednotky daného typu
?
4.2.3.3 Výběr nejvhodnějšího místa pro stavbu produkční budovy
?
4.2.3.4 Nalezení pomyslného středu hráčova území
?
4.2.3.5 Analýza stavby mostu
?
4.2.3.6 Ostatní problémy řešené Analyzátorem mapy
?
4.2.4 Strategický plánovač
?
4.2.4.1 Zpracování plánu
?
4.2.4.2 Načítání a ukládání dat AI hráče
?
4.2.4.3 Obrana
?
4.2.4.4 Útočení
?
4.2.4.5 Expanze
?
4.3 Využití skriptů TCL
?
5 Síťová komunikace
?
5.1 Obecné informace o síti
?
5.2 Třídy
?
5.3 Inicializace
?
5.4 Dealokace
?
5.5 Přenášená data
?
6 XML
6.1 Uchování dat
?
6.2 Práce s daty
?
6.3 Práce s XML posílanými přes síť
?
7 Struktura XML dokumentů
7.1 Config.xml
?
7.2 Files.xml
?
7.3 Jednotky
?
7.4 Bonusy
?
7.5 Budovy
?
7.6 Terény
?
7.7 Symboly
?
7.8 TCL scripty
?
7.9 Textové řetězce
?
7.10 Mapy
?
7.11 Modifikace XML souborů
?
8 Správa zdrojů
8.1 Společné metody
?
8.2 Interface
?
8.3 Jednotlivé typy
?
8.4 Inicializace
?
9 Editor map
9.1 Architektura vrstev
?
9.2 Napojení na RM
?
9.3 Generování náhodných map
?
9.4 Vykreslování
?
9.5 Editace království
?
9.6 Editace měst
?
9.7 Nastavení diplomacie
?
Závěr
?