op2_sdk:programming_scenario_dlls

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
op2_sdk:programming_scenario_dlls [2016/11/03 04:15] vagabondop2_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 ======
  
-A complete Outpost 2 scenario (sometimes called mission requires 3 files: a DLLs, a MAP file, and a tech tree file. This page focuses on programming the DLL file. Outpost 2 scenarios are coded in C++ and require using legacy features of the language. See the [[op2_sdk:Software_Development_Kit_SDK|Software Development Kit Page]] for an overview of the MAP file and Tech tree file+A complete Outpost 2 scenario (or missionrequires 3 files to work: a DLL, a MAP file, and a tech tree file. This page focuses on programming the DLL file. Outpost 2 scenarios are coded in C++ and require using legacy features of the language. See the [[op2_sdk:Software_Development_Kit_SDK|Software Development Kit Page]] for an overview of the MAP file and Tech tree file.
- +
-===== 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, like Outpost2.exe. DLLs are created by compilers that take code files and compiles them into and intermediate language or directly into assembly language. While many different programming languages can be compiled into DLLs, Outpost 2 scenarios are coded in C++.  +
- +
-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 Naming Conventions|Scenario Naming Conventions Page]] for details.+
  
 ===== Scenario Programming Index ===== ===== Scenario Programming Index =====
  
-**Initial Game Setup** +**Develop Environment Setup** 
-  * [[op2_sdk:Setting Resources|Setting Resources]] +  * [[op2_sdk:ProjectCreation|Visual Studio Project Creation]] 
-  * [[op2_sdk:Placing Units|Placing Units]]+  * [[op2_sdk:ProjectSettings|Advanced Visual Studio Project Settings]] 
 +  * [[op2_sdk:Scenario Naming Conventions|Scenario Naming Conventions]] 
 +  * [[op2_sdk:Debugging Scenarios]] 
 +  * [[opu:repository|Outpost Universe Repository]] 
 +  * [[outpost_2:technical_review:operating_system_compatibility|Operating System Compatibility]] 
 + 
 +**Scenario Setup**
   * [[op2_SDK:PlayerColor|Player Color]]   * [[op2_SDK:PlayerColor|Player Color]]
 +  * [[op2_SDK:Setting Alliances|Setting Alliances]]
 +  * [[op2_sdk:Setting Resources|Setting Resources]]
   * [[op2_sdk:TubesAndWalls|Placing Tubes and Walls]]   * [[op2_sdk:TubesAndWalls|Placing Tubes and Walls]]
 +  * [[op2_sdk:Placing Units|Placing Units]]
  
 **Environmentals** **Environmentals**
Line 46: Line 43:
 ---- ----
  
-====== Scenario Administration ======+===== 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, like Outpost2.exe. DLLs are created by compilers that take code files and compiles them into and intermediate language or directly into assembly language. While many different programming languages can be compiled into DLLs, Outpost 2 scenarios are coded in C++.  
 + 
 +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 Naming Conventions|Scenario Naming Conventions Page]] for details. 
 + 
 +===== 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. 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.
  • op2_sdk/programming_scenario_dlls.txt
  • Last modified: 2021/01/05 07:51
  • by blackbox222