Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revisionLast revisionBoth sides next revision | ||
op2_sdk:programming_scenario_dlls [2016/02/16 22:27] – vagabond | op2_sdk:programming_scenario_dlls [2017/01/03 05:55] – Added Operating System Compatibility Link vagabond | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Programming a Scenario ====== | ====== Programming a Scenario ====== | ||
- | Each Outpost 2 mission or scenario requires 3 files: | + | A complete |
- | * **DLL (Dynamic Link Library) File (.DLL)**: Contains the logic behind the scenario such as victory conditions, frequency of disasters, starting resources, etc. Each DLL file represents a single scenario. | + | ===== Scenario Programming Index ===== |
- | | + | **Develop Environment Setup** |
+ | | ||
+ | * [[op2_sdk: | ||
+ | * [[op2_sdk: | ||
+ | * [[op2_sdk: | ||
+ | * [[opu: | ||
+ | * [[outpost_2: | ||
- | | + | **Scenario Setup** |
- | + | | |
- | Below is an overview of these three files and how they relate. Each section contains links to more detailed information. | + | * [[op2_SDK: |
- | + | ||
- | ===== Scenario DLL overview ===== | + | |
- | + | ||
- | Each scenarios is stored in .DLL (Dynamic Link Library) file. A DLL file contains code that can be linked into from other applications, | + | |
- | + | ||
- | Code is usually written in special text editors that have knowledge of the programming language. Notepad++ is a good example. After writing the code, you have to find a compiler to compile the code into a DLL (or other file type). | + | |
- | + | ||
- | Text editors designed for coding are also included in an Integrated Development Environment (IDE). IDEs are software packages that usually contain both a special text editor and a compiler. This allows you to write the code and compile the program in the same application. A good example of an IDE is Microsoft Visual Studio. | + | |
- | + | ||
- | The Outpost 2 SDK comes packaged in a Microsoft Visual Studio 2015 C++ solution. Unless you are already knowledgeable enough to transfer the SDK to another IDE, it is recommended that you use Visual Studio since it will be easier to start coding without worrying about compiler setup requirements. Microsoft Visual Studio is free to use. | + | |
- | + | ||
- | ==== Scenario Programming Index ==== | + | |
- | + | ||
- | **Initial Game Setup** | + | |
* [[op2_sdk: | * [[op2_sdk: | ||
- | * [[op2_sdk: | ||
* [[op2_sdk: | * [[op2_sdk: | ||
+ | * [[op2_sdk: | ||
**Environmentals** | **Environmentals** | ||
Line 43: | Line 35: | ||
**AI Programming** | **AI Programming** | ||
* Vehicle Groups | * Vehicle Groups | ||
+ | * Setting Patrol Routes | ||
+ | |||
+ | **In Game Dialog Boxes** | ||
+ | * [[op2_sdk: | ||
+ | * Yes/No Dialog Box | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Scenario DLL overview ===== | ||
+ | |||
+ | The required code for a scenario is stored in its own DLL (Dynamic Link Library) file. A DLL file contains code that can be linked into from other applications, | ||
+ | |||
+ | Code is usually written in special text editors that have knowledge of the programming language. Notepad++ is a good example. After writing the code, you have to find a compiler to compile the code into a DLL (or other file type). | ||
+ | |||
+ | Text editors designed for coding are also included in an Integrated Development Environment (IDE). IDEs are software packages that usually contain both a special text editor and a compiler. This allows you to write the code and compile the program in the same application. A good example of an IDE is Microsoft Visual Studio. | ||
+ | |||
+ | The Outpost 2 SDK comes packaged in a Microsoft Visual Studio 2015 C++ solution. Unless you are already knowledgeable enough to transfer the SDK to another IDE, it is recommended that you use Visual Studio since it will be easier to start coding without worrying about compiler setup requirements. Microsoft Visual Studio is free to use. | ||
+ | |||
+ | The filename of a scenario DLL must follow strict naming conventions to be recognized by Outpost 2. See the [[op2_sdk: | ||
+ | |||
+ | ===== Scenario Administration ===== | ||
+ | |||
+ | Programming Outpost 2 scenarios requires detailed knowledge of Integrated Development Environment (IDE) setup. The best way to share your scenario source code and access other Outpost Universe source code is through the Outpost Universe Repository. | ||
+ | |||
+ | ==== Development Environment Settings ==== | ||
+ | |||
+ | Typically, Outpost 2 scenarios are created using an Integrated Development Environment (IDE). Since new scenarios must be compatible with the Outpost 2 executable, which was compiled in 1997, several unusual IDE Project and compiler settings must be selected. See the [[op2_sdk: | ||
- | ===== MAP File Overview ===== | + | Once you have an Integrated Development Environment (IDE) installed and editing scenario DLLs, review [[op2_sdk: |
- | Each scenario will require a supporting .MAP file. With the OP2Mapper, you can create new maps or modify existing maps. Also, pre-existing maps may be used for new scenarios with no modifications. For inspiration, | + | ==== Outpost Universe Repository ==== |
- | **WARNING: | + | Source code meant for public access should be stored on the Outpost Universe Repository under the Outpost2 folder. For more information on how to use the repository, go to the [[opu: |
- | ===== Technology Tree File Overview ===== | + | Outpost2 Repository Location: [[https:// |
- | Each scenario requires a tech tree. Scenarios can use an already created tech tree, such as the one used by the Outpost 2 campaigns, or customize a tech tree. Tech trees are created in .TXT files and are human readable. Syntax must be followed closely to ensure Outpost 2 can properly parse the tech tree. | + | ==== Project Management ==== |
- | **WARNING: | + | The Outpost 2 SDK project management is handled on the Outpost Universe Redmine site. Reporting bugs or requesting new features can be made here. Read more at the [[opu: |
---- | ---- | ||
- //Go Back to [[op2_sdk: | - //Go Back to [[op2_sdk: | ||
- //Go Back to [[outpost_2: | - //Go Back to [[outpost_2: | ||
- | - //Go Back to [[http:// | + | - //Go Back to [[http:// |