\documentclass[a4size,final]{article}
\usepackage{fullpage}
%\usepackage{graphicx}
\usepackage[usenames,dvipsnames]{color}
\usepackage{hyperref}
\hypersetup{
    colorlinks,
    citecolor=black,
    filecolor=black,
    linkcolor=ForestGreen,
    urlcolor=blue
}
\begin{document}
\normalsize
\pagestyle{plain}
\setcounter{secnumdepth}{1}
\title{\Huge VCMI 0.90 player manual}
\author{The Team}
\maketitle
\section{Introduction}
The purpose of VCMI project is to rewrite entire HoMM3: WoG engine from scratch, giving it new and extended possibilities. We are hoping to support mods and new towns already made by fans, but abandoned because of game code limitations.\\
VCMI is a fan-made open-source project in progress. We already allow support for maps of any sizes, higher resolutions and extended engine limits. However, although working, the game is not finished. There are still many features and functionalities to add, both old and brand new.\smallskip\\
Learn more about VCMI Project at \href{http://wiki.vcmi.eu/index.php?title=VCMI}{Wiki}.\\
Check \href{http://spreadsheets.google.com/ccc?key=pRhYM0YkAF9lIpLe4raNAWA&hl=pl}{google docs} for the list of already implemented objects, spells and artifacts.
\section{Installation}
VCMI requires Heroes of Might \& Magic 3 complete + WoG 3.58f installation and will not run properly without their files. We strongly recommend using English version, other languages may cause unexpected errors or bizzare font glitches.\\
If you don't have Wake of Gods 3.58f yet, click \href{http://www.maps4heroes.com/heroes3/files/allinone_358f.zip}{here}.\\
For English language files, extract \href{http://download.vcmi.eu/dataEN.7z}{this package} to your \texttt{Data} folder.\bigskip\\
Starting from 0.90, VCMI can be also installed on H3 + ERA setups.
\subsection{Windows}
To install VCMI, simply unzip downloaded archive to main HoMM3 directory. To launch it, click \texttt{VCMI\_client} icon. Server mode is inactive yet.\medskip\\
\subsection{Linux}
Visit \href{http://wiki.vcmi.eu/index.php?title=Installation_on_Linux}{Wiki article} for Linux packages and installation guidelines.\\
\newpage
\section{New features}
A number of enchancements had been introduced thorough new versions of VCMI. In this section you can learn about all of them.
\subsection{High resolutions}
VCMI supports resolutions higher than original 800x600. Namely these are:
\begin{itemize}
\item 1024x600
\item 1024x768
\item 1280x960
\item 1280x1024
\item 1366x768 %\footnote{May cause bugs on old video cards}
\item 1440x900
\item 1600x1050
\item 1600x1200
\item 1920x1080
\end{itemize}
Switching resolution may not only change visible area of map, but also alters some interface features such as \hyperref[Stack_Queue]{Stack Queue.}\\
To change resolution or full screen mode use System Options menu when in game. Changes in resolution will take place when you restart VCMI. \\
Fullscreen mode can be toggled anytime using F4 hotkey.
\end{itemize}
\label{Mods}
\subsection{Game modification}
Since 0.9, there is a possibility to edit gameplay settings with config file. You may turn some options on/off or adjust certain values in \texttt{config/defaultMods.json} file. This file is read at game launch and the settings are stored in savegame file, so editing config won't break existing games.\\
Files placed in \texttt{Mods} subfolders will override all default files and settings.
\label{Stack_Experience}
\subsection{New creature info window}
In 0.85, new stack experience interface has been merged with regular creature window. Among old functionalities, it includes new useful info:
\begin{itemize}
\item Click experience icon to see detailed info about creature rank and experience needed for next level. This window works only if stack experience module is enabled (true by default).
\item Stack Artifact. As yet creature artifacts are not handled, so this place is unused. You can choose enabled artifact with arrow buttons. There is also additional button below to pass currently selected artifact back to hero.
\item Abilities description contain information about actual values and types of bonuses received by creature - be it default ability, stack experience, artifact or other effect. These descriptions use custom text files which have not been translated.
\end{itemize}
By default new window is used. In order to switch back to original creature window, use system setting dialog or type \texttt{switchCreWin} in console\\
\label{Commanders}
\subsection{Commanders}
VCMI offers native support for Commanders. By default, they resemble original WoG behaviour with basic "Commanders: script enabled.
\label{Stack_Artifacts}
\subsection{Stack artifacts}
The possibility to equip creatures with artifacts has been extended - now a number of artifacts can be potentially equipped. By default, there artifacts are not possible to use by hero itself. Drag them from backpack onto Stack portrait to equip.\\
Current list of Stack Artifacts available for testing:
\begin{itemize}
\item Warlord's banner
\item Magic Wand
\item Gold Tower Arrow
\item Monster's Power
\end{itemize}
\label{Stack_Queue}
\subsection{Stack Queue}
Stack queue is a feature coming straight from HoMM5, which allows you to see order of stacks on the battlefield, sorted from left to right. To toggle in on/off, press `Q' during the battle.\\
There is smaller and bigger version of it, the second one is avaliable only in higher resolutions.
\subsection{Pathfinder}
VCMI introduces improved pathfinder, which may find the way on adventure map using ships and subterranean gates. Simply click your destination on another island or level and the proposed path will be displayed.
\label{Quest_Log}
\subsection{Quest log}
In 0.9 new quest log was introduced. It can display info about Seer Hut or Quest Guard mission, but also handle Borderguard and Border Gate missions. When you choose a quest from the list on the left, it's description is shown. Additionally, on inner minimap you can see small icons indicating locations of quest object. Clicking these objects immediately centers adventure map on desired location.
\subsection{Attack range}
In combat, some creatures, such as Dragon or Cerberi, may attack enemies on multiple hexes. All such attacked stacks will be highlighted if the attack cursor is hovered over correct destination tile.\\
Whenever battle stack is hovered, its movement range is highlighted in darker shade. This can help when you try to avoid attacks of melee units.
\subsection{Power rating}
When hovering cursor over neutral stack on adventure map, you may notice additional info about relative threat this stack poses to selected hero. This feature has been introduced in Heroes of Might and Magic V and is planned to be extended to all kinds of armed objects.\\
Custom text file is in use, so using localized version of data files will not change text in your game. It is not a bug, but lack of new translated files.
\subsection{FPS counter}
VCMI 0.85 introduces new feature for testing, the FPS counter. To enable it, edit this line in config/settings.txt file:\\
\colorbox{SpringGreen}{\texttt{showFPS=0;}}\\
Value of 1 enables simple FPS counter which may be useful to test graphical performance on mobile platforms.
\subsection{Custom menu graphics}
Since 0.9, it is possible to use any background graphics in main menu. Open \texttt{config/mainmenu.json} file for that reason and edit this line:\\
\colorbox{SpringGreen}{\texttt{"background" : "background-file-name"}}\\
Place the background file in \texttt{Data} folder.
\subsection{Minor improvements}
\subsubsection{Linux directory}
In Linux-based sysems, files placed in \texttt{$\sim$/.vcmi} directory will override data files with the same name.
\subsection{New controls}
VCMI introduces several minor improvements and new keybinds in user interface.
\subsubsection{Pregame - Scenario / Saved Game list}
\begin{itemize}
\item Mouse wheel - scroll through the Scenario list.
\item Home - move to the top of the list.
\item End - move to the bottom of the list.
\item NumPad keys can be used in the Save Game screen (they didn't work in H3).
\end{itemize}
\subsubsection{Adventure Map} 
\begin{itemize}
\item CTRL + R - Quick restart of current scenario.
\item CTRL + Arrows - scrolls Adventure Map behind an open window.
\item CTRL pressed blocks Adventure Map scrolling (it allows us to leave the application window without losing current focus).
\item NumPad 5 - centers view on selected hero.
\item NumPad Enter functions same as normal Enter in the game (it didn't in H3).
\end{itemize}
\subsubsection{Spellbook}
\begin{itemize}
\item ALT + 1-10 or `-' or `=' on main pad - cast 1st to 12th visible spell
\item ALT + 1-10 or `-' or `+' on NumPad - cast 1st to 12th spell
\end{itemize}
\subsubsection{Miscellaneous}
\begin{itemize}
\item Numbers for components in selection window - for example Treasure Chest, skill choice dialog and more yet to come.
\item Type numbers in the Split Stack screen (for example 25 will split the stacks as such that there are 25 creatures in the second stack).
\item `Q' - Toggles the \hyperref[Stack_Queue]{Stack Queue} display (so it can be enabled/disabled with single key press).
\item During Tactics phase, click on any of your stack to instantly activate it. No need to scroll trough entire army anymore.
\end{itemize}
\subsection{Cheat codes}
Following cheat codes have been implemented in VCMI. Type them in console:
\begin{itemize}
\item \texttt{vcmiistari} - Gives all spells and 999 mana to currently selected hero
\item \texttt{vcmiainur} - Gives 5 Archangels to every empty slot of currently selected hero
\item \texttt{vcmiangband} - Gives 10 Black Knights into each slot
\item \texttt{vcmiarmenelos} - Build all structures in currently selected town
\item \texttt{vcminoldor} - All war machines
\item \texttt{vcminahar} - 1000000 movement points
\item \texttt{vcmiformenos} - Give resources (100 wood, ore and rare resources and 20000 gold)
\item \texttt{vcmieagles} - Reveals fog of war
\item \texttt{vcmiglorfindel} - Advances currently selected hero to the next level
\item \texttt{vcmisilmaril} - Player wins
\item \texttt{vcmimelkor} - Player loses
\item \texttt{vcmiforgeofnoldorking} - Hero gets all artifacts except spell book, spell scrolls and war machines
\end{itemize}
\subsection{Command line}
It is possible to save a starting configuration (such as map and options) in pregame by typing \"\texttt{sinfo} filename\". Then VCMI can be started with option \texttt{-i --start=fname} and it will automatically start the game.\\
\texttt{--onlyAI} command line option allows to run AI-on-AI game (without GUI). Also, typing \texttt{onlyai} in pregame triggers that mode.
\newpage
\section{Release notes}
\begin{itemize}
\item In 0.89 \hyperref[Commanders]{Commanders} and \hyperref[Stack_Artifacts]{Stack Artifacts} were implemented and enabled by default. There are four Stack Artifacts avaliable. Their behaviour has been altered for testing purpose only.
\item \hyperref[Stack_Experience]{Stack Experience} is enabled by default. It's an optional feature, but needs complex tesing. Mechanics and tables from original WoG 3.58f were used for this purpose. Note that not all of WoG creature abilities are handled.
\item Online game, random map generator as well as some other parts of the game are not yet implemented. Do not worry if nothing happens when you click them, please report only actual bugs and game crashes.
\item It is possible to start the campaign, althought heroes will not carry over to subsequent scenarios.
\end{itemize}
\subsection{Android port}
Android port, despite some rumours, is not complete and may crash at random. The port is work of a Peyla - volunteer outside of VCMI team, who abandoned it. Any Android support is beyond our scope.
\label{Feedback}
\section{Feedback}
Our project is open and its sources are avaliable for everyone to browse and download. We do our best to inform community of Heroes fans with all the details and development progress. We also look forward to your comments, support and advice.\medskip\\
A good place to start is \href{http://wiki.vcmi.eu/index.php?title=Main_Page}{VCMI Wiki} which contains all neccessary information for developers, testers and the people who would like to get familiar with our project.
If you want to report a bug, use \href{http://bugs.vcmi.eu/bug_report_advanced_page.php}{Mantis Bugtracker}.\\
Make sure the issue is not already mentioned on \href{http://bugs.vcmi.eu/view_all_bug_page.php}{the list} unless you can provide additional details for it.\\
Please do not report as bugs features not yet implemented. For proposing new ideas and requests, visit \href{http://forum.vcmi.eu/index.php}{our board}.\medskip\\
VCMI comes with its own bug handlers: the console which prints game log \texttt{(server\_log, VCMI\_Client\_log, VCMI\_Server\_log)} and memory dump file (\texttt{.dmp}) created on crash on Windows systems. These may be very helpful when the nature of bug is not obvious, please attach them if necessary.\medskip\\
To resolve an issue, we must be able to reproduce it on our computers. Please put down all circumstances in which a bug occured and what did you do before, especially if it happens rarely or is not clearly visible. The better report, the better chance to track the bug quickly.
\subsubsection{Linux notes}
On *nix-like systems logs can be found in \texttt{$\sim$/.vcmi} directory. \\
When reporting compilation issues please specify name and version of your distribution.
\section{FAQ}
\subsection{When will the final version be released?}
When it is finished, which is another year at least. Exact date is impossible to predict.\\
Development tempo depends mostly on free time of active programmers and community members, there is no exact shedule. You may expect new version every three months. Of course, joining the project will speed things up.
\subsection{Are you going to add / change X?}
VCMI recreates basic H3:TSoD + WoG engine and does not add new content or modify original mechanics by default. Only engine and interface improvements are likely to be supported now. The list of possible features is placed on \href{http://wiki.vcmi.eu/index.php?title=TODO_list}{Wiki TODO list}.
If you want something specific to be done, please present detailed project on \href{http://forum.vcmi.eu/index.php}{our board}. Of course you are free to contribute with anything you can do.
\subsection{Will it be possible to do Y?}
Removing engine restrictions and allowing flexible modding of game is the main aim of the project.\\
As yet modification of game is not supported.
\subsection{The game is not working, it crashes and I get strange console messages.}
Report your bug. Details are described \hyperref[Feedback]{here}. The sooner you tell the team about the problem, the sooner it will be resolved. Many problems come just from improper installation or system settings.
\subsection{What is the current status of the project?}
Check \href{http://wiki.vcmi.eu/index.php?title=VCMI}{Wiki}, \href{http://forum.vcmi.eu/viewforum.php?f=1}{release notes} or \href{https://vcmi.svn.sourceforge.net/svnroot/vcmi/trunk/ChangeLog}{changelog}. The best place to watch current changes as they are committed is the \href{http://sourceforge.net/apps/trac/vcmi/timeline}{Sourceforge Trac}. The game is quite playable by now, although many important features are missing.
\subsection{I have a great idea!}
Share it on \href{http://forum.vcmi.eu/index.php}{VCMI forum} so all team members can see it and share their thoughts. Remember, brainstorming is good for your health.
\subsection{Are you going to support Horn of The Abyss / Wog 3.59 / Grove Town etc.?}
Yes, of course. VCMI is designed as a base for any further mods and uses own executables, so the compatibility is not an issue. The team is not going to compete, but to cooperate with the community of creative modders.
\subsection{I don't like Wake of Gods at all. Can I disable it?}
Most WoG features already implemented are just for testing purposes and can be disabled in \hyperref[Mods]{mod settings}.
\subsection{Can I help VCMI Project in any way?}
If you are C++ programmer, graphican, tester or just have tons of ideas, do not hesistate - your help is needed. The game is huge and many different ares of activity are still waiting for someone like you. See \href{http://wiki.vcmi.eu/index.php?title=TODO_list}{Wiki TODO list} for more info.
\subsection{I would like to join development team.}
You are always welcome. Contact the core team via \href{http://forum.vcmi.eu/index.php}{our board}. In the meantime, read `building VCMI' guide at \href{http://wiki.vcmi.eu/index.php?title=Main_Page}{Wiki}.\\
The usual way to join the team is to post your patch for review on our board. If the patch is positively rated by core team members, you will be given access to SVN repository.
\section{Credits}
Visit
\href{http://forum.vcmi.eu/index.php}{VCMI board}
for additional support.
\bigskip\\
\begin{center}
This manual will be updated with every new release.
\end{center}
\end{document}
