fix link errors on compilers with strict "extern" enforcement
[rofl0r-openbor.git] / README
blob0fb813c68fd498148cf4a7fef23bfb17c8845271
1 OpenBOR (anallyst edition)\r
2 --------------------------\r
3 \r
4 ABOUT THIS GIT REPO\r
5 ===================\r
6 this git-repository has both the anallyst version of\r
7 OpenBOR (branch master) and the "official" version\r
8 from Chronocrash (former Lavalit) from SVN in branch svn.\r
9 \r
10 The anallyst edition was forked off from SVN revision\r
11 3233 and was kept in sync with lavalit until rev 3318.\r
13 Differences:\r
14 the anallyst version is heavily optimized, debloated and \r
15 debugged and runs much faster than the lavalit version.\r
16 it has also a lot of platform-specific junk stripped off.\r
17 unlike the official version, this version is able to play\r
18 extracted mods directly from a directory.\r
19 this makes it much easier to debug and improve them.\r
21 the lavalit version has more bugs and some new features\r
22 which are not in mainstream usage.\r
23 some of the new features that were encountered in real-world\r
24 mods were backported to the anallyst version.\r
25 the anallyst edition should be able to play 99% of available\r
26 mods, after unpacking and repacking them with borpak from this\r
27 repo (see below).\r
30 the history of this git repo lasts back until SVN REV 3020,\r
31 at which point the repo was split into 2 parts.\r
32 the official svn repo is broken and it is not possible to\r
33 retrieve earlier commits.\r
34 the history was slightly edited with automatic tools to \r
35 remove all embedded binaries \r
36 (except of the required resources like .png's).\r
37 the original had a lot of cruft in the tools directory\r
38 (entire tarballs of toolchains, svn-setup.exe, etc.)\r
39 adding these to this git repo would make it about 100x bigger\r
40 and thus slower to use, so they were omitted.\r
41 also automatically generated changes to version.h, meta.xml\r
42 and Info.plist were removed from the commits (version numbers\r
43 generated by make), as those just make it harder to see the\r
44 relevant information.\r
47 BUILD\r
48 =====\r
49 just run:\r
51 make\r
53 an executable of the name "OpenBOR" will be created.\r
55 possible flags to make:\r
57 NO_GL=1 BUILD_DEBUG=1 make #will build without opengl but with debugging support\r
59 OpenBOR directory layout:\r
60       -> OpenBOR       (executable)\r
61       -> Paks/         (put paks or directories with extracted paks)\r
62       -> ScreenShots/\r
63       -> Logs/\r
64       -> Saves/\r
66 ABOUT\r
67 =====\r
69 OpenBOR is a continuation of the Beats Of Rage 2D game engine, which was originally\r
70 created by http://www.senileteam.com.\r
72 this is a fork of "official OpenBOR" (i.e. from lavalit forums) \r
73 by rofl0r aka anallyst, former "OpenBOR team" member.\r
75 his work on OpenBOR started back with SVN rev ~2900.\r
76 he left the lavalit team due to internal differences after SVN rev 3318 and \r
77 started his own fork.\r
79 instead of adding features over features, it is the intent to strip off\r
80 unnecesary stuff and simplify things,\r
81 while staying compatible to the existing mods and POSIX.\r
83 a possible idea is to add lua scripting support at some point in the future,\r
84 and the ugly and slow "C script" interpreter code can be removed and the\r
85 good mods be converted to lua.\r
87 Current Situation/Comparison with "official" OpenBOR\r
88 ====================================================\r
89 PAKS:\r
90   since the commit tagged "pak-change" the internal layout of\r
91   .pak files has changed to simplify things.\r
92   filenames are stored in unix fashion (/) and lowercase only.\r
93   to make old pak files compatible, they have to be "converted":\r
95   extract them using the borpak tool in tools/borpak,\r
96   then repack them using the same tool.\r
97   this results in a fresh pak in the required format.\r
99   this change made it possible to use extracted paks in a directory.\r
100   you can simply create a directory in the Paks dir for each game\r
101   (i.e. Paks/MyGame/data/)\r
103 BLOAT:\r
104   OpenBOR (anallyst edition) x64 binary           :  750 KB\r
105   OpenBOR (lavalit edition, rev 3320)  x64 binary : 1250 KB\r
106   OpenBOR (lavalit edition, rev 3600+) x64 binary : probably 1.5 MB+\r
108 SPEED:\r
109   anallysts work on OpenBOR made for huge speed improvements in loading times.\r
110   most mods now load in an instant and took several seconds (up to minutes (!))\r
111   formerly.\r
112   this improvements have gone into the lavalit version as well, but some team\r
113   members there prefer seeing a moving loading bar between levels over instant\r
114   loading, so some of the optimisations has been removed by them.\r
115   it's likely that the lavalit version will get slower and slower over time.\r
116   \r
117   this fork is currently the fastest openbor version available.\r
118   \r
119 MOD COMPATIBILITY:\r
120   some upstream features have been ported so mods relying on OpenBOR 36xx features\r
121   should work exactly as intended.\r
123   compatibility to older mods should be even better as the lavalit version\r
124   as some bugs have been fixed that prevented some mods to work with anything\r
125   newer than rev 28xx.\r
127 PLATFORMS:\r
128   support for any non-posix compatible game console has been removed.\r
129   this fork builds well on any posix compatible platform that has ports\r
130   of libogg/vorbis and SDL.\r
131   this means it should build on any linux based device, *BSD, etc.\r
132   possibly even mingw.\r
133   we're taking the stance that instead of buying a commercial game console to\r
134   crack it for homebrew usage, you should rather buy products that are intended\r
135   for homebrewers and thus support the companies producing them.\r