Skip to content

Commit 25eb5f9

Browse files
committed
Better notes
1 parent 26ec228 commit 25eb5f9

4 files changed

Lines changed: 42 additions & 32 deletions

File tree

mkdocs/docs/editor/asset-manager.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ title: "Asset Manager"
44

55
## Overview
66

7+
The below example is for all asset types besides **Code**, which is covered below in the [Code & Build Management](#code-build-management) section.
8+
79
<figure>
810
<img src="../img/editor/asset-manager.png" alt="Asset Manager Dock Window">
911
<figcaption>Your source code is also considered assets! Along with textures and audio. </figcaption>
@@ -39,4 +41,37 @@ title: "Asset Manager"
3941

4042
Right-clicking an asset and selecting **Properties...** will open the **Asset Properties** dialog.
4143

44+
## Code & Build Management
45+
46+
When you select the **Code** tab in the **Asset Manager**, you'll see a list of your game's C++ source code files. These files are organized into **Builds**, which are configurations that determine how your code is compiled and linked.
47+
48+
### Build Settings
49+
50+
With the desired **Project** active, you can open the **Build Settings** in the menu `Project > Build Settings`
51+
52+
![Build Settings Dialog](../img/editor/dlg_build_settings.png)
53+
54+
**Output Name** is the name of the final executable file created when building your game.
55+
56+
Below that you can choose which 3rd party vendors Harmony will use if you have a preference. The **Extras** require you to manually install them in the respective `HarmonyEngine/Engine/extras/` directory. Follow the instructions in the `README.txt` file included in each extra's folder.
57+
58+
### Adding Additional Library Dependencies
59+
60+
If you need certain code libraries/dependencies to be included in your build click the ![Add Button](../img/editor/generic-add.png) **Add library dependency** button.
61+
62+
![Library dependency widgets](../img/editor/dlg_build_settings_dependency.png)
63+
64+
The library dependency must be a CMake compatible package. You must specify the following two fields:
65+
66+
- **CMakeLists.txt Project Name**: The library target name used within the `add_library()` command.
67+
- **Library relative location**: Use the "Browse..." button to select the folder where the library's root `CMakeLists.txt` is located
68+
69+
**Options** can be left blank, but is useful if you want to override default options or inject CMake scripting code. The options are parsed (and cached) before the library is included.
70+
71+
> If you already have an existing compatible build, CMake may try to update the environment automatically when you try to compile. On occasion you may need to recreate your build after adding dependencies.
72+
73+
## Creating New Builds
74+
75+
With your **Build Settings** determined, you can create a new build of your game by selecting `Project > New Build` from the menu, or by pressing `Ctrl+Shift+B`.
4276

77+
Any existing source code is independent of your builds, so removing the **Project**'s `/build/` folder can be done freely.

mkdocs/docs/editor/projects.md

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ To create a new Project in the Project Explorer you can:
2020
**Code Name** will be used to create the main C++ class, and must be compliant with standard naming conventions.
2121

2222
The final **Project Location** (where all the project files will be dumped) is assembled by what's specified in the text field PLUS whether **Create game directory at location** is checked.
23-
> If you want to specify a common location for multiple game projects, specify that root location the text field and keep **Create game directory at location** checked.
23+
24+
!!! note "Example Setup"
25+
If you want to specify a common location for multiple game projects, specify that root location the text field and keep **Create game directory at location** checked.
2426

2527
Within **Advanced** you can customize how the project folders (like the assets or source code) reside and what they're named. You can even specify locations outside the **Project Location**. For each entry, specify the relative path from the **Project Location**, and the name of the directory itself.
2628

@@ -39,33 +41,3 @@ Within **Advanced** you can customize how the project folders (like the assets o
3941

4042
Under Development - Dialog tool meant to edit the game's .hyproj file
4143

42-
## Build Settings
43-
44-
With the desired **Project** active, you can open the **Build Settings** in the menu `Project > Build Settings`
45-
46-
![Build Settings Dialog](../img/editor/dlg_build_settings.png)
47-
48-
**Output Name** is the name of the final executable file created when building your game.
49-
50-
Below that you can choose which 3rd party vendors Harmony will use if you have a preference. The **Extras** require you to manually install them in the respective `HarmonyEngine/Engine/extras/` directory. Follow the instructions in the `README.txt` file included in each extra's folder.
51-
52-
### Adding Additional Library Dependencies
53-
54-
If you need certain code libraries/dependencies to be included in your build click the ![Add Button](../img/editor/generic-add.png) **Add library dependency** button.
55-
56-
![Library dependency widgets](../img/editor/dlg_build_settings_dependency.png)
57-
58-
The library dependency must be a CMake compatible package. You must specify the following two fields:
59-
60-
- **CMakeLists.txt Project Name**: The library target name used within the `add_library()` command.
61-
- **Library relative location**: Use the "Browse..." button to select the folder where the library's root `CMakeLists.txt` is located
62-
63-
**Options** can be left blank, but is useful if you want to override default options or inject CMake scripting code. The options are parsed (and cached) before the library is included.
64-
65-
> If you already have an existing compatible build, CMake may try to update the environment automatically when you try to compile. On occasion you may need to recreate your build after adding dependencies.
66-
67-
## Creating New Builds
68-
69-
With your **Build Settings** determined, you can create a new build of your game by selecting `Project > New Build` from the menu, or by pressing `Ctrl+Shift+B`.
70-
71-
Any existing source code is independent of your builds, so removing the **Project**'s `/build/` folder can be done freely.

mkdocs/docs/getting-started/index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ hide: toc
1010
- Want a code-first workflow without the overhead of large general-purpose engines.
1111
- Need builds that are performant, lightweight, and cross-platform (including the web browser with optional WebAssembly deployment)
1212

13-
> Itermediate C++ knowledge is recommended, but Harmony is also a great way to learn C/C++ for those with the aptitude.
13+
!!! note
14+
Basic C++ knowledge including pointers and lambdas is recommended, but Harmony is also a great way to learn C/C++ for those wanting to learn.
1415

1516
The Harmony Engine consists of two main projects.
1617
The editor tool (**HyEditor**) that manages projects, assets, and scenes. And the engine itself (**HyEngine**) which is a static library that links into your game application.

mkdocs/mkdocs.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ markdown_extensions:
5151
pygments_lang_class: true
5252
- pymdownx.inlinehilite
5353
- pymdownx.snippets
54+
- admonition
55+
- pymdownx.details
5456
- pymdownx.superfences
5557

5658
extra_css:

0 commit comments

Comments
 (0)