|
Vítejte u prvníhno dílu ze série o VHLT. Dnes si povíme, co to VHLT je, jak se liší od ZHLT, jeho výhody a řekneme si, jak ho stáhnout a nastavit.
Upozornění: Tento článek je určen pokročilejším mapperům, takže pokud s mappingem teprve začínáte, tak ho vůbec nečtěte, hrozí, že si akorát rozhasíte nastavení VHE.
Co je to VHLT?
VHLT = Vluzacn's Half-life tools. Jistý programátor jménem Vluzacn prostě vzal zdrojáky ZHLT, opravil bugy a přidal spoustu vymožeností. Za to mu mnohokrát děkujeme. Uvedu pár vylepšení které Vluzacn do svých nástrojů zabudoval:
- můžete tvořit mapu větší než +/-4096 hu
- blokové entity můžou vrhat stín a ten stín se dá vypínat/zapínat (třeba tlačítkem)
- "modré" textury propouštějí světlo, tam kde jsou "modré"
- nedělají se ošklivé stíny když používáte light_environment
- můžete použít více light_environmentů
- brushe odráží barevné světlo podle jejich textury
- a spousta dalších funkcí...
V dalších dílech této série o VHLT, bych ty nejužitečnější chtěl probrat.
VHLT má snad jedinou nevýhodu, a to, že kompilace světel (RAD) trvá podstatně déle. Avšak výsledek stojí za to!
A nyní se pojďme vrhnout na začátek, tedy stažení a nastavení.
Stažení
Veškeré info a podrobnosti naleznete na fóru Seven co-op. Nejnovější verzi (v době psaní článku) naleznete asi na páté straně, ale odkaz na stažení najdete hned v prvním přízpěvku nahoře.
Klikněte na download a .zip balíček si někam stáhněte. Uvnitř najdete src.zip, což jsou zdrojové soubory toolů. To se vás nejspíš netýká. Dále tam je changelog.txt, bohužel je v čínšině (nebo co to je), takže taky nic. Dále je tam readme.txt, které je v angličtině, ale číst ho stejně nemusíte, protože jsem to udělal za vás a všechno vám tu po lopatě vysvětlím.
Dále je tu složka tools, ta je nejdůležitější. Takže vlezte do složky, kde máte VHE (třeba C:\hammer) a vytvořte tam složku VHLT, takže C:\hammer\VHLT. Do této složky přesuňte všechny soubory z tools.
Nastavení v Hammeru
Otevřeme si hammer a zvolíme Tools->Options. A teď se musíte rozhodnout, jesli chcete mít nastavení 2x, jednou ZHLT a jednou VHLT, tzn. nastavit vše znova pro VHLT. Anebo použít nastavení, které máte (ZHLT) a pouze ho upravit pro VHLT.
Ať tak, či onak, já popíšu v rychlosti vše. Kdybyste si nebyli něčím jisti, mrkněte se na článek Začínáme hammerovat - 2. díl.
Takže začneme záložkou game configurations. Pokud vytváříte nové nastavení, klikněte vpravo nahoře na edit a add, napište název konfigurace (třeba "cs vhlt") a klikněte na ok. Do game data files hodíme fgd, které máme z našeho balíčku ("cs16expert-hex805.fgd") a k němu přihodíme fgd, které jsme si stáhli ve VHLT ("VHLT\zhlt.fgd"). Nové fgd obsahuje pár entit navíc, které se dají použít.
Dále tu není nic nového, nastavte si výchozí pointovou a brushovou entitu a cesty k Half-lifu jako takovém, ke složce \cstrike, \valve a cestu, kde máte mapy .rmf.
Další je na řadě build programs. To je asi nejdůležitější část, tady se nastavují cesty ke kompilačním toolům. Pokud nastavujete nové nastavení, nezapomeňte si ho vybrat z roletkového menu nahoře!
Takže jdeme na to, Game executable zůstává stejné, je to cesta k vašemu hl.exe. Dále nastavujeme naši čtveřici kompilačních nástrojů. Pokud máte hammera z balíčku a VHLT jste vybalili, jak jsem napsal, mělo by se u cesty pouze přibýt \VHLT. Tedy CSG executable bude VHLT\hlcsg.exe (např. C:\hammer\VHLT\hlcsg.exe namísto C:\hammer\hlcsg.exe), BSP executable bude VHLT\hlbsp.exe. Analogicky VIS a RAD.
Poslední položka zůstane stejná, je to místo, kam se kopírují skompilované .bsp mapy.
Poslení věcí, co v hammeru nastavíme je, že na kartě Textures vyhodíme z textur zhlt.wad (pokud ho tam máme) a přidáme tam nový VHLT\zhlt.wad.
Nastavení kompilačních toolů jako takových
Tak, teď máme nastavený Hammer, aby při kompilaci použil VHLT, ale VHLT má pár nových funkcí, které si vyžadují vlastní speciální nastavení. Naštěstí to není nic složitého. Vlezeme do složky /VHLT a v poznámkovém bloku (nebo jiném textovém editoru) otevřeme soubor settings.txt. Tam se nastavují parametry se kterými se defaultně budou kompilační tooly spouštět. Což je výhodné, nemusíme je všechny vypisovat, když kompilujeme na expert.
Takhle nějak by měl soubor settings.txt vypadat:
// !!!! Set wad pathes here for hlrad. (no need for wad files that have been included into bsp)
#ifdef <hlrad>
#define -waddir "C:Half-Lifevalve"
#define -waddir "C:Half-Lifevalve_schinese"
#define -waddir "C:Half-Lifecstrike"
#define -waddir "C:Half-Lifecstrike_schinese"
#endif
// What is this file designed for :
// It provides a simple way of adding custom settings such as pathes and changing default behaviors of the compiler.
// This file is not a must since you can always set any argument through command line.
// How does this file works :
// It modifies command line arguments directly when the program starts.
// Each word begins with '#' is a command which can be followed with some parameters (denote as A B C).
// List of commands:
// #ifdef A B C If there is a sequence of parameters in the command line that matches A B C, execute the following commands till an '#else' or '#endif'.
// #ifndef A B C If there is not a sequence of parameters in the command line that matches A B C, execute the following commands till an '#else' or '#endif'.
// #else If previous commands has been skipped, execute the following commands till an '#else' or '#endif'.
// #define A B C Add parameters A B C to the end of the command line.
// #undef A B C Remove any sequence of patamenters in the command line that matches A B C.
// Special kinds of parameters:
// First character '*' Match a parameter as long as it ends with specific string.
// Last character '*' Match a parameter as long as it begins with specific string.
// <program name> Match program name.
// List of frequently used parameters:
//
// Shared:
// -low
// -estimate
// -chart
//
// HLCSG:
// -onlyents
// -wadautodetect
// -nowadtextures
// -wadinclude #
//
// HLBSP:
// -maxnodesize #
//
// HLVIS:
// -full
// -fast
//
// HLRAD:
// -waddir #
// -extra
// -sparse
// -nomatrix
// -bounce #
// -smooth #
// -smooth3 #
// -chop #
// -texchop #
// -coring #
//
// RIPENT:
// -export
// -import
// -parse
#ifndef <ripent> // CSGBSPVISRAD
#ifndef -high
#define -low
#endif
//#define -estimate
#endif
#ifdef <hlcsg> // CSG
//#define -onlyents
#define -wadautodetect
//#define -nowadtextures
#endif
#ifdef <hlbsp> // BSP
#endif
#ifdef <hlvis> // VIS
//#define -fast
#ifndef -fast
//#define -full
#endif
#endif
#ifdef <hlrad> // RAD
//#define -extra
//#define -sparse
#endif
#ifdef <ripent> // RIPENT
//#define -parse
#ifndef -import
#ifndef -export
#define -pause
#define -chart
#ifdef *.bsp
#define -export
#endif
#ifdef *.ent
#define -import
#endif
#ifdef *.tex
#define -import
#endif
#ifdef *.wad
#define -import
#endif
#endif
#endif
#endif
Jedinou věc, co zde musíme udělat povinně, je, že nastavíme cesty k texturám (wadům), které používáme. Je to nutné, protože nový HLRAD umí vrhat stín zkrz textury, co začínají na { a odražené světlo textury taky ovlivňují. Takže asi na třetí řádce je napsáno #ifdef <hlrad> a pod tím jsou čtyři definice začínající #define -waddir .... Takže nejdřív si musíme uvědomit, jaké textury používáme. Nejspíš to budou textury z Half-lifu, tedy ze složky \valve a Counter-striku, tzn \cstrike. Tyto cesty se programu hlrad předávají parametrem -waddir. Vlastně celé to znamená, že pokud se právě kompiluje RAD (#ifdef <hlrad>), tak se přidají tyto parametry (#define -waddir ...).
Takže až si uvědomíme, odkud bereme textury, tak upravíme předepsané cesty. Například první řádek bude #define -waddir "C:\Csko\valve", druhý bude #define -waddir "C:\Csko\cstrike" a třetí a čtvrtý smažeme. Celá větev příkazů se ukončí #endif.
Pokud chcete, můžete se podívat dál, přečíst si legendu a přidat pár vlastních nastavení. Ale já to považuji za celkem zbytečné, protože všechny parametry se dají přidat, když kompilujete na expert.
Takže jsme s nastavením hotovi, nezapomeňte soubor uložit.
Závěr
A to je vše. Doufám, že jste tento trochu nudný, ale nutný díl přežili, ale slibuji, že od příště to bude jenom zábava a zajímavé efekty.
Kdybyste náhodou něco nepochopili, tak se ptejte v komentářích pod článkem.
↓ příkladová mapa ↓
|
|