-
Notifications
You must be signed in to change notification settings - Fork 0
/
doc_howitworks.htp
124 lines (85 loc) · 2.81 KB
/
doc_howitworks.htp
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="robots" content="all">
<title> OBLIGE : How It Works </title>
<script type="text/javascript"></script>
<style type="text/css" title="currentStyle">
@import "new.css";
</style>
</head>
<body>
<h1> OBLIGE Level Maker </h1>
<h2>Advanced random map generator for classic FPS games</h2>
<div class="menu">
<img src="top_L.png" class="floatL" alt="" width="24" height="24">
<img src="top_R.png" class="floatR" alt="" width="24" height="24">
<a href="http://oblige.sourceforge.net/">Home</a>
<a href="doc_user.html">DOCUMENTATION</a>
<a href="old_ver2.html">Older Version</a>
</div>
<div class="submenu">
<a href="doc_user.html">User Guide</a>
<a href="doc_modding.html">MODDING GUIDE</a>
<a href="doc_history.html">History</a>
</div>
<div class="rest">
<h3>HOW IT WORKS</h3>
Oblige consists of three pieces: (1) the code which plans the levels,
deciding where to put everything such as walls and monsters,
and (2) the code which draws the user interface
<p>
The programming language Lua is used for all the level building
logic. Since Lua is a scripting language, you can edit the ".lua"
files directly, and those changes will work (hopefully) the next
time Oblige is started. This is very convenient.
<p>
The GUI code is written in the C++ programming language.
Any changes here means the program must be re-compiled,
and setting everything up for compilation is far from easy.
Certain things are done in C++ because it is much faster than Lua,
such as the CSG processing.
The C++ / GUI code is beyond the scope of this document.
FOLDERS
gui/ has the C++ code for the EXE that you run
scripts/ has the Lua code for level building
games/ has Lua code describing each game (DOOM, Heretic etc)
engines/ has Lua code for each engine (Boom, EDGE, ZDoom etc)
mods/ contains the Lua code for modules
data/ various data files (e.g. wads for prebuilt levels)
LOADING PROCESS
FILES IN scripts/
oblige.lua
quests.lua
planner.lua
connect.lua
layout.lua
rooms.lua
monsters.lua
builder.lua
fight.lua
naming.lua
ht_fabs.lua
tiler.lua
defs.lua
seeds.lua
util.lua
a_star.lua
</div class="rest">
<div class="bottomcurve">
<img src="bottom_L.png" class="floatL" alt="" width="24" height="24">
<img src="bottom_R.png" class="floatR" alt="" width="24" height="24">
</div>
<br>
<div class="floatR">
<a HREF="http://sourceforge.net/projects/oblige">
<img src="http://sourceforge.net/sflogo.php?group_id=176314&type=3"
width="125" height="37" alt="SourceForge.net"
align="MIDDLE" border="0" hspace="1">
</a>
</div>
<span style="font-size: smaller"> © 2009 Andrew Apted </span>
</body>
</html>