-
Notifications
You must be signed in to change notification settings - Fork 0
/
LevelMain.cpp
64 lines (51 loc) · 2.8 KB
/
LevelMain.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <Outpost2DLL/Outpost2DLL.h> // Main Outpost 2 header to interface with the game
#include <OP2Helper/OP2Helper.h> // Optional header to make level building easier
// Note: These exports are required by Outpost2.exe from every level
// DLL. They give values for the map and tech trees used by the
// level and a description to place in the level listbox. The
// last export is used to define characteristics of the level.
// See RequiredExports.h for more details.
// ** Be sure to set these when you build your own level**
// Required data exports (Description, Map, TechTree, GameType, NumPlayers)
ExportLevelDetails("Test Colony Game", "cm02.map", "MULTITEK.TXT", MissionTypes::Colony, 1)
// Alternative style allowing more advanced settings such as AI players and max tech level:
// Required data exports (Description, Map, TechTree, GameType, NumPlayers, maxTechLevel, bUnitOnlyMission, numAIPlayers)
// ExportLevelDetailsFullEx("5P, LoS, '<map name>'", "on6_01.map", "MULTITEK.TXT", MultiLastOneStanding, 6, 12, false, 1)
// Note: Place any global variables in the following struct so that your
// level works right when saving and loading.
// Note: Feel free to rename the following struct and variable declaration to whatever you want
// Holder for global script variables (for Saved game files)
struct ScriptGlobal
{
} scriptGlobal;
// This macro automatically generates the GetSaveRegions export which tells Outpost2.exe about
// the scriptGlobal variable. Data in this struct is preserved during game save/load.
// Note: This implies all level data must be statically sized.
ExportSaveLoadData(scriptGlobal);
// Note: The following function is called once by Outpost2.exe when the
// level is first initialized. This is where you want to create
// all the initial units and structures as well as setup any
// map/level environment settings such as day and night.
// Note: Returns true if level loaded successfully and is playable, false to abort
Export int InitProc()
{
// **TODO**: Add your own code here.
return true; // Level loaded successfully
}
// Note: The following function seems to be intended for use in
// controlling an AI. It is called once every game cycle.
// Use it for whatever code needs to run on a continual basis.
// Note: The standard level DLLs released by Sierra leave this function
// empty and handle all AI controls through triggers.
Export void AIProc()
{
}
// Note: This is a trigger callback function. This function is
// intentionally left empty and is used as the trigger
// callback function for triggers that don't want or need
// any special callback function.
// Note: The use of Export is used by all trigger functions
// to ensure they are exported correctly.
Export void NoResponseToTrigger()
{
}