1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-21 17:17:06 +02:00

Added navigation to player and modders docs

This commit is contained in:
Ivan Savenko 2023-09-01 13:09:01 +03:00
parent a75d9860db
commit 704772d6ce
46 changed files with 151 additions and 63 deletions

View File

@ -35,7 +35,6 @@ Please see corresponding installation guide articles for details for your platfo
- [Game mechanics](players/Game_Mechanics.md)
- [Bug reporting guidelines](players/Bug_Reporting_Guidelines.md)
- [Cheat codes](players/Cheat_Codes.md)
- [Cheat codes](players/Client_Commands.md)
- [Privacy Policy](players/Privacy_Policy.md)
## Documentation and guidelines for game modders

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / [Modding](Readme.md) / Animation Format
VCMI allows overriding HoMM3 .def files with .json replacement. Compared
to .def this format allows:

View File

@ -1,3 +1,6 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / [Bonus Format](../Bonus_Format.md) / Bonus Duration Types
Bonus may have any of these durations. They acts in disjunction.
## List of all bonus duration types

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / [Bonus Format](../Bonus_Format.md) / Bonus Limiters
## Predefined Limiters
The limiters take no parameters:

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / [Bonus Format](../Bonus_Format.md) / Bonus Propagators
## Available propagators
- BATTLE_WIDE

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / [Bonus Format](../Bonus_Format.md) / Bonus Range Types
# List of all Bonus range types
- NO_LIMIT

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / [Bonus Format](../Bonus_Format.md) / Bonus Sources
# List of all possible bonus sources
- ARTIFACT

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / [Bonus Format](../Bonus_Format.md) / Bonus Types
The bonuses were grouped according to their original purpose. The bonus
system allows them to propagate freely betwen the nodes, however they
may not be recognized properly beyond the scope of original use.

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / [Bonus Format](../Bonus_Format.md) / Bonus Updaters
# List of Bonus Updaters
Updaters come in two forms: simple and complex. Simple updaters take no

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / [Bonus Format](../Bonus_Format.md) / Bonus Value Types
Total value of Bonus is calculated using the following:
- For each bonus source type we calculate new source value (for all

View File

@ -1,4 +1,4 @@
Enumerative parameters are described in HeroBonus.h file.
< [Documentation](../Readme.md) / [Modding](Readme.md) / Bonus Format
## Full format

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / [Modding](Readme.md) / Building Bonuses
Work-in-progress page do describe all bonuses provided by town buildings
for future configuration.

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / [Modding](Readme.md) / Campaign Format
# Introduction
Starting from version 1.3, VCMI supports its own campaign format.

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / Entities Format / Artifact Format
Artifact bonuses use [Bonus Format](../Bonus_Format.md)
TODO:

View File

@ -1 +1,3 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / Entities Format / Battle Obstacle Format
TODO

View File

@ -1 +1,3 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / Entities Format / Battlefield Format
TODO

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / Entities Format / Creature Format
## Required data
In order to make functional creature you also need:

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / Entities Format / Faction Format
## Required data
In order to make functional town you also need:

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / Entities Format / Hero Class Format
## Required data
In order to make functional hero class you also need:

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / Entities Format / Hero Type Format
## Required data
In order to make functional hero you also need:

View File

@ -1 +1,3 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / Entities Format / River Format
TODO

View File

@ -1 +1,3 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / Entities Format / Road Format
TODO

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / Entities Format / Secondary Skill Format
## Main format
``` javascript

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / Entities Format / Spell Format
# Main format
``` javascript

View File

@ -1 +1,3 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / Entities Format / Terrain Format
TODO

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / [Modding](Readme.md) / Map Editor
# Interface
<img width="738" src="https://user-images.githubusercontent.com/9308612/188775648-8551107d-9f0b-4743-8980-56c2c1c58bbc.png">

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / [Modding](Readme.md) / Map Object Format
## Description
Full object consists from 3 parts:

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / [Map Object Format](../Map_Object_Format.md) / Creature Bank
This is description of fields for creature banks, part of [Object
Format](Object_Format "wikilink")

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / [Map Object Format](../Map_Object_Format.md) / Dwelling
This is description of fields for creature banks, part of [Object
Format](Object_Format "wikilink")

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / [Map Object Format](../Map_Object_Format.md) / Market
# Market schema
Since VCMI-1.3 it's possible to create customizable markets on adventure map.

View File

@ -1,3 +1,5 @@
< [Documentation](../../Readme.md) / [Modding](../Readme.md) / [Map Object Format](../Map_Object_Format.md) / Rewardable
## Table of Contents
- [Base object definition](#base-object-definition)
- [Configurable object definition](#configurable-object-definition)

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / [Modding](Readme.md) / Mod File Format
## Fields with description of mod
``` javascript

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / [Modding](Readme.md) / Random Map Template Format
## Template format
``` javascript

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / Modding
# Creating mod
To make your own mod you need to create subdirectory in **<data dir>/Mods/** with name that will be used as identifier for your mod.
@ -44,8 +46,10 @@ In order to create new object use following steps:
### List of supported new object types
Random Map Generator:
- [Random Map Template](Entities_Format/Random_Map_Template.md)
Game Entities:
- [Artifact](Entities_Format/Artifact_Format.md)
- [Creature](Entities_Format/Creature_Format.md)
- [Faction](Entities_Format/Faction_Format.md)
@ -54,13 +58,15 @@ In order to create new object use following steps:
- [Spell](Entities_Format/Spell_Format.md)
- [Secondary Skill](Entities_Format/Object_Format.md)
- [Map Objects](Entities_Format/Map_Object_Format.md)
Map objects:
- [Map Objects](Map_Object_Format.md)
- - [Rewardable](Map_Objects/Rewardable.md)
- - [Creature Bank](Map_Objects/Creature_Bank.md)
- - [Dwelling](Map_Objects/Dwelling.md)
- - [Market](Map_Objects/Markets.md)
- - [Boat](Map_Objects/Boat.md)
Other:
- [Terrain](Entities_Format/Terrain_Format.md)
- [River](Entities_Format/River_Format.md)
- [Road](Entities_Format/Road_Format.md)
@ -71,17 +77,13 @@ In order to create new object use following steps:
VCMI uses strings to reference objects. Examples:
- Referencing H3 objects: `"nativeTerrain" : "sand"`.
Note: All mods can freely access any existing objects from H3 data.
- Referencing H3 objects: `"nativeTerrain" : "sand"`. All mods can freely access any existing objects from H3 data.
- Referencing object from another mod: `"nativeTerrain" : "asphalt"`
Note: Mods can only reference object from mods that are marked as dependencies
- Referencing object from another mod: `"nativeTerrain" : "asphalt"`. Mods can only reference object from mods that are marked as dependencies
- Referencing objects in bonus system: `"subtype" : "creature.archer"`
Note: Bonus system requires explicit definition of object type since different bonuses may require different identifier class.
- Referencing objects in bonus system: `"subtype" : "creature.archer"`. Bonus system requires explicit definition of object type since different bonuses may require different identifier class.
- Referencing object from specific mod: `"nativeTerrain" : "hota.cove:sorceress"`
Note: In some cases, for example to resolve conflicts when multiple mods use same object name you might need to explicitly specify mod in which game needs to look up an identifier. Alternatively, you can use this form for clarity if you want to clearly specify that object comes from another mod.
- Referencing object from specific mod: `"nativeTerrain" : "hota.cove:sorceress"`. In some cases, for example to resolve conflicts when multiple mods use same object name you might need to explicitly specify mod in which game needs to look up an identifier. Alternatively, you can use this form for clarity if you want to clearly specify that object comes from another mod.
### Modifying existing objects

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / [Modding](Readme.md) / Translations
## For translators
### Adding new languages
New languages require minor changes in the source code. Please contact someone from vcmi team if you wish to translate game into a new language

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / Bug Reporting Guidelines
First of all, thanks for your support! If you report a bug we can fix it. But keep in mind that reporting your bugs appropriately makes our (developers') lifes easier. Here are a few guidelines that will help you write good bug reports.
# Github bugtracker

View File

@ -1,10 +1,12 @@
See also: [Client Commands](Client_Commands.md)
< [Documentation](../Readme.md) / Cheat Codes
# Cheat Codes
Similar to H3, VCMI provides cheat codes to make testing game more convenient.
To use cheat code, press `Tab` key or click/tap on status bar to open game chat and enter code. Most cheat codes have several alternative names, including name of this cheat code in H3:SoD
## List of cheat codes
## List of Cheat Codes
### Spells
@ -80,4 +82,55 @@ Note: These commands are not a cheats, and can be used in multiplayer by host pl
- `game exit/quit/end` - finish the game
- `game save <filename>` - save the game into the specified file
- `game kick red/blue/tan/green/orange/purple/teal/pink` - kick player of specified color from the game
- `game kick 0/1/2/3/4/5/6/7/8` - kick player of specified ID from the game (_zero indexed!_) (`0: red, 1: blue, tan: 2, green: 3, orange: 4, purple: 5, teal: 6, pink: 7`)
- `game kick 0/1/2/3/4/5/6/7/8` - kick player of specified ID from the game (_zero indexed!_) (`0: red, 1: blue, tan: 2, green: 3, orange: 4, purple: 5, teal: 6, pink: 7`)
# Client Commands
Client commands are set of predefined commands that are supported by VCMI, but unlike cheats they perform utility actions that do not alter state of the gameplay. As of release 1.2 client commands can work by typing them in-game like cheats, preceded by symbol / (for example `/controlai blue`)
Alternative way, the only one working for older releases is typing them in console:
Console is separated from game window on desktop versions of VCMI Client.
Windows builds of VCMI run separate console window by default, on other platforms you can access it by running VCMI Client from command line.
Below a list of supported commands, with their arguments wrapped in `<>`
#### Game Commands
`die, fool` - quits game
`save <filename>` - saves game in given file (at the moment doesn't work)
`mp` - on adventure map with a hero selected, shows heroes current movement points, max movement points on land and on water
`bonuses` - shows bonuses of currently selected adventure map object
#### Extract commands
`convert txt` - save game texts into json files
`get config` - save game objects data into json files
`get scripts` - dumps lua script stuff into files (currently inactive due to scripting disabled for default builds)
`get txt` - save game texts into .txt files matching original heroes 3 files
`def2bmp <.def file name>` - extract .def animation as BMP files
`extract <relative file path>` - export file into directory used by other extraction commands
#### AI commands
`setBattleAI <ai name>` - change battle AI used by neutral creatures to the one specified, persists through game quit
`gosolo` - AI takes over until the end of turn (unlike original H3 currently causes AI to take over until typed again)
`controlai <[red][blue][tan][green][orange][purple][teal][pink]>` - gives you control over specified AI player. If none is specified gives you control over all AI players
`autoskip` - Toggles autoskip mode on and off. In this mode, player turns are automatically skipped and only AI moves. However, GUI is still present and allows to observe AI moves. After this option is activated, you need to end first turn manually. Press `[Shift]` before your turn starts to not skip it
#### Settings
`set <command> <on/off>` - sets special temporary settings that reset on game quit. Below some of the most notable commands:
-`autoskip` - identical to `autoskip` option
-`onlyAI` - run without human player, all players will be _default AI_
-`headless` - run without GUI, implies `onlyAI` is set
-`showGrid` - display a square grid overlay on top of adventure map
-`showBlocked` - show blocked tiles on map
-`showVisitable` - show visitable tiles on map
-`hideSystemMessages` - suppress server messages in chat
#### Developer Commands
`crash` - force a game crash. It is sometimes useful to generate memory dump file in certain situations, for example game freeze
`gui` - displays tree view of currently present VCMI common GUI elements
`activate <0/1/2>` - activate game windows (no current use, apparently broken long ago)
`redraw` - force full graphical redraw
`screen` - show value of screenBuf variable, which prints "screen" when adventure map has current focus, "screen2" otherwise, and dumps values of both screen surfaces to .bmp files
`unlock pim` - unlocks specific mutex known in VCMI code as "pim"
`not dialog` - set the state indicating if dialog box is active to "no"
`tell hs <hero ID> <artifact slot ID>` - write what artifact is present on artifact slot with specified ID for hero with specified ID. (must be called during gameplay)

View File

@ -1,49 +0,0 @@
See also: [Cheat Codes](Cheat_Codes.md)
Client commands are set of predefined commands that are supported by VCMI, but unlike cheats they perform utility actions that do not alter state of the gameplay. As of release 1.2 client commands can work by typing them in-game like cheats, preceded by symbol / (for example `/controlai blue`)
Alternative way, the only one working for older releases is typing them in console:
Console is separated from game window on desktop versions of VCMI Client.
Windows builds of VCMI run separate console window by default, on other platforms you can access it by running VCMI Client from command line.
Below a list of supported commands, with their arguments wrapped in `<>`
#### Game Commands
`die, fool` - quits game
`save <filename>` - saves game in given file (at the moment doesn't work)
`mp` - on adventure map with a hero selected, shows heroes current movement points, max movement points on land and on water
`bonuses` - shows bonuses of currently selected adventure map object
#### Extract commands
`convert txt` - save game texts into json files
`get config` - save game objects data into json files
`get scripts` - dumps lua script stuff into files (currently inactive due to scripting disabled for default builds)
`get txt` - save game texts into .txt files matching original heroes 3 files
`def2bmp <.def file name>` - extract .def animation as BMP files
`extract <relative file path>` - export file into directory used by other extraction commands
#### AI commands
`setBattleAI <ai name>` - change battle AI used by neutral creatures to the one specified, persists through game quit
`gosolo` - AI takes over until the end of turn (unlike original H3 currently causes AI to take over until typed again)
`controlai <[red][blue][tan][green][orange][purple][teal][pink]>` - gives you control over specified AI player. If none is specified gives you control over all AI players
`autoskip` - Toggles autoskip mode on and off. In this mode, player turns are automatically skipped and only AI moves. However, GUI is still present and allows to observe AI moves. After this option is activated, you need to end first turn manually. Press `[Shift]` before your turn starts to not skip it
#### Settings
`set <command> <on/off>` - sets special temporary settings that reset on game quit. Below some of the most notable commands:
-`autoskip` - identical to `autoskip` option
-`onlyAI` - run without human player, all players will be _default AI_
-`headless` - run without GUI, implies `onlyAI` is set
-`showGrid` - display a square grid overlay on top of adventure map
-`showBlocked` - show blocked tiles on map
-`showVisitable` - show visitable tiles on map
-`hideSystemMessages` - suppress server messages in chat
#### Developer Commands
`crash` - force a game crash. It is sometimes useful to generate memory dump file in certain situations, for example game freeze
`gui` - displays tree view of currently present VCMI common GUI elements
`activate <0/1/2>` - activate game windows (no current use, apparently broken long ago)
`redraw` - force full graphical redraw
`screen` - show value of screenBuf variable, which prints "screen" when adventure map has current focus, "screen2" otherwise, and dumps values of both screen surfaces to .bmp files
`unlock pim` - unlocks specific mutex known in VCMI code as "pim"
`not dialog` - set the state indicating if dialog box is active to "no"
`tell hs <hero ID> <artifact slot ID>` - write what artifact is present on artifact slot with specified ID for hero with specified ID. (must be called during gameplay)

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / Game Mechanics
# List of features added in VCMI
Some of game features have already been extended in comparison to Shadow of Death:

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / Installation on Android
## Step 1: Download and install VCMI
**This app requires original heroes 3 sod / complete files to operate, they are not supplied with this installer. it is recommended to purchase version from gog.com. Heroes 3 "hd edition" (steam version) files are not supported !!!**

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / Installation on Linux
VCMI requires data from original Heroes 3: Shadow of Death or Complete editions. Data from native Linux version made by LOKI will not work.
# Step 1: Binaries installation

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / Installation on Windows
# Step 1: Download and install VCMI
Install one of following into new folder, same as when installing new game:

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / Installation on iOS
You can run VCMI on iOS 12.0 and later, all devices are supported. If you wish to run on iOS 10 or 11, you should build from source, see [How to build VCMI (iOS)](How_to_build_VCMI_(iOS) "wikilink").
## Step 1: Download and install VCMI

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / Installation on macOS
**For iOS installation look here:
<https://wiki.vcmi.eu/Installation_on_iOS>**

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / Manual
# 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.

View File

@ -1,3 +1,5 @@
< [Documentation](../Readme.md) / Privacy Policy
**Last Updated: 24th December, 2022**
### Glossary