Skip to content

Commit a093ddd

Browse files
committed
first upload
1 parent 58aee6f commit a093ddd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+15573
-1
lines changed

CHANGELOG

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
0.8.0
2+
Not released yet
3+
This version contains a working adlib emulator (from the chocolate-doom project), and audio is
4+
implemented. Various bugfixes.
5+
6+
0.7.0
7+
23.10.11
8+
This version contains a complete game engine, and should be almost identical to the original game.
9+
This version doesn't support audio.
10+
11+
0.6.0
12+
15.09.11
13+
This snapshot is based on 0.4.0 (C code). What's new is a working game engine, made after deep
14+
analysis of TTF's original game engine. The engine does appearently handle player, objects, gates
15+
and elevators flawlessly. This snapshot is tested mostly with Titus, and it should handle Moktar as
16+
well. What's remaining is the enemies, and the adlib audio.
17+
18+
0.5.0
19+
Engine rewritten in C++, discontinued.
20+
21+
0.4.0
22+
01.03.09
23+
This is the first audio-enabled version. It can play amiga modules by now, by using LibMikMod or
24+
SDL-mixer. I haven't looked at Atari and Amstrad yet. Adlib audio is difficult to achieve, because
25+
a good adlib emulator is required. The best emulator by now is the MAME adlib emulator, but that is
26+
covered by the MAME license, and thus makes it difficult to include in OpenTitus. Audio is
27+
pauseable by using F3. LibMikMod can play music in the same process (which reduces the framerate to
28+
8FPS), or it can play in a separate process (recommanded). SDL-mixer will also play music in a
29+
separate process. It is possible to do some basic compile-time configuration by manually editing
30+
config.h. I have added a very basic movement engine. This is the last version programmed in C. The
31+
next will be C++. This version is also possible to load in NetBeans.
32+
33+
0.3.0
34+
24.12.08
35+
This version successfully loads the level in a TITUS_level structure and displays the levels by
36+
reading from this structure. It is also possible to move titus "noclip" style to examine the levels.
37+
What's left is animation and the movement engine, and music. The "levelviewer" executable is not
38+
compatible with the new functions, and is simply skipped in the makefile. This will be the first
39+
version on Sourceforge. This version also contains Jesses' documentations.
40+
41+
0.2.1
42+
29.11.08
43+
Jesse modified the makefile to compile all, and he confirmed that the project still compiled in
44+
MinGW in windows, by using the makefile.
45+
46+
0.2
47+
27.11.08
48+
A snapshot. This is not a separate version because of an achieved goal, but to show the progress.
49+
What's new is the "opentitus" executable. The source have a better structure now, and the main
50+
functions should be easier to understand and debug. I have written a new function that extracts
51+
the font used in the game, and correctly prints it on the screen. After some playing with alpha
52+
(or transparency) settings and keyboard handling routines, I have successfully cloned the intro of
53+
the game and the menu. To be specific: Intro text, titus logo, game image, menu, password prompting
54+
and the pre-level screen. This game is now also fully functional with Moktar (by modifying the
55+
titus.conf setting file). This snapshot also includes a level structure, which should make the game
56+
quite configurable (extendable enemy-, object-, gate-, elevator- and bonus records count, and
57+
extendable level width and height, and possibility to use custom sprites and background tiles with
58+
custom size and bit depth). What the program misses now is the game engine and music. I haven't
59+
made anything new regarding the level viewer, except cleaning the source file by moving functions
60+
in separate source files. As usual, I have only compiled the source in Linux, so I can't guarantee
61+
any windows functionality; however, Jesse told me that version 0.1 did compile successfully in MinGW.
62+
63+
0.1
64+
16.11.08
65+
First "official" version. The project isn't released to the public yet.
66+
This version includes a program that extracts SQZ files, and a level viewer. This is not interactive;
67+
only the upper left part of the level is displayed (read prior 0.1). The project also have a simple
68+
config file, with possibilities to change resolution and video mode, and the location of the original
69+
data files. This version is only compatible with Titus the Fox (Moktar doesn't work yet) in a Linux
70+
environment.
71+
72+
Prior 0.1
73+
22.09.08 - 15.11.08
74+
The project starts with a function that extracts the SQZ files. Functions that extracts background
75+
tiles, bonuses, elevators, enemies, objects and Titus himself is made, one by one, and finally this
76+
is displayed on the screen using SDL, which results in version 0.1.

COMPILING

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Compile instructions for OpenTitus
2+
3+
OpenTitus doesn't use autobuild packages (yet), instead there are preconfigured makefiles for every system.
4+
5+
Compile time dependencies:
6+
LibSDL development headers
7+
LibSDLMixer library
8+
Chocolate-Doom (1.6.0)'s OPL library (opl/libopl_*.a), check out opl/opl_readme.txt for further details
9+
10+
11+
System specific instructions is provided in
12+
COMPILING_dingux
13+
COMPILING_linux
14+
COMPILING_win32
15+
16+
17+
To test out your build, copy it into the game folder and follow the instructions inside game/README

COMPILING_dingux

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
Compiling instructions for Dingux
2+
OpenTitus 0.8.0
3+
4+
OpenTitus is released under the Gnu GPL version 3 or (at your option) any later version of the license, and it is released "as is"; without any warranty.
5+
6+
7+
Install the toolchain, found at http://code.google.com/p/dingoo-linux/downloads/list
8+
9+
Compile time dependencies:
10+
LibSDL development headers
11+
LibSDLMixer library
12+
Chocolate-Doom (1.6.0)'s OPL library (opl/libopl_dingux.a), check out opl/opl_readme.txt for further details
13+
14+
To compile, use the following commands:
15+
16+
All:
17+
make -f Makefile_dingux
18+
19+
20+
Clean:
21+
make -f Makefile_dingux clean
22+
23+
24+
The Makefile will define the compile-time constant "_DINGUX". It is used in /opentitus.c (videomode), and in /include/globals.h (keys).
25+
26+
Copy the executable, titus.conf and titus/moktar folder to the same folder on the card (such as /local/), and launch it via applications/Explorer.
27+
28+
Keys:
29+
B: Pick up/throw (space)
30+
X: Jump, helpful for kneestand+jump (up)
31+
A: Health display (E), additional press displays the status page (F4)
32+
Start: Pause (P)
33+
Select: Exit (Esc)
34+
Development keys:
35+
Left shoulder button: Toggles godmode and noclip
36+
Right shoulder button + left shoulder button: Skip to next level

COMPILING_linux

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Compiling instructions for Linux
2+
OpenTitus 0.8.0
3+
4+
OpenTitus is released under the Gnu GPL version 3 or (at your option) any later version of the license, and it is released "as is"; without any warranty.
5+
6+
7+
Compile time dependencies:
8+
LibSDL development headers
9+
LibSDLMixer library
10+
Chocolate-Doom (1.6.0)'s OPL library (opl/libopl_linux.a), check out opl/opl_readme.txt for further details
11+
12+
To compile, use the following commands:
13+
14+
All:
15+
make -f Makefile_linux
16+
17+
18+
Clean:
19+
make -f Makefile_linux clean

COMPILING_win32

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Compiling instructions for MinGW/Windows
2+
OpenTitus 0.8.0
3+
4+
OpenTitus is released under the Gnu GPL version 3 or (at your option) any later version of the license, and it is released "as is"; without any warranty.
5+
6+
7+
Compile time dependencies:
8+
LibSDL development headers
9+
LibSDLMixer library (rename SDL_mixer.lib from the devel-VC package to libSDL_mixer.a, or use extras/libSDL_mixer.a)
10+
Chocolate-Doom (1.6.0)'s OPL library (opl/libopl_win32.a), check out opl/opl_readme.txt for further details
11+
12+
To compile, use the following commands:
13+
14+
All:
15+
make -f Makefile_win32
16+
17+
18+
Clean:
19+
make -f Makefile_win32 clean

Changelog.txt

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
0.8.0
2+
Not released yet
3+
This version contains a working adlib emulator (from the chocolate-doom project), and audio is
4+
implemented. Various bugfixes.
5+
6+
0.7.0
7+
23.10.11
8+
This version contains a complete game engine, and should be almost identical to the original game.
9+
This version doesn't support audio.
10+
11+
0.6.0
12+
15.09.11
13+
This snapshot is based on 0.4.0 (C code). What's new is a working game engine, made after deep
14+
analysis of TTF's original game engine. The engine does appearently handle player, objects, gates
15+
and elevators flawlessly. This snapshot is tested mostly with Titus, and it should handle Moktar as
16+
well. What's remaining is the enemies, and the adlib audio.
17+
18+
0.5.0
19+
Engine rewritten in C++, discontinued.
20+
21+
0.4.0
22+
01.03.09
23+
This is the first audio-enabled version. It can play amiga modules by now, by using LibMikMod or
24+
SDL-mixer. I haven't looked at Atari and Amstrad yet. Adlib audio is difficult to achieve, because
25+
a good adlib emulator is required. The best emulator by now is the MAME adlib emulator, but that is
26+
covered by the MAME license, and thus makes it difficult to include in OpenTitus. Audio is
27+
pauseable by using F3. LibMikMod can play music in the same process (which reduces the framerate to
28+
8FPS), or it can play in a separate process (recommanded). SDL-mixer will also play music in a
29+
separate process. It is possible to do some basic compile-time configuration by manually editing
30+
config.h. I have added a very basic movement engine. This is the last version programmed in C. The
31+
next will be C++. This version is also possible to load in NetBeans.
32+
33+
0.3.0
34+
24.12.08
35+
This version successfully loads the level in a TITUS_level structure and displays the levels by
36+
reading from this structure. It is also possible to move titus "noclip" style to examine the levels.
37+
What's left is animation and the movement engine, and music. The "levelviewer" executable is not
38+
compatible with the new functions, and is simply skipped in the makefile. This will be the first
39+
version on Sourceforge. This version also contains Jesses' documentations.
40+
41+
0.2.1
42+
29.11.08
43+
Jesse modified the makefile to compile all, and he confirmed that the project still compiled in
44+
MinGW in windows, by using the makefile.
45+
46+
0.2
47+
27.11.08
48+
A snapshot. This is not a separate version because of an achieved goal, but to show the progress.
49+
What's new is the "opentitus" executable. The source have a better structure now, and the main
50+
functions should be easier to understand and debug. I have written a new function that extracts
51+
the font used in the game, and correctly prints it on the screen. After some playing with alpha
52+
(or transparency) settings and keyboard handling routines, I have successfully cloned the intro of
53+
the game and the menu. To be specific: Intro text, titus logo, game image, menu, password prompting
54+
and the pre-level screen. This game is now also fully functional with Moktar (by modifying the
55+
titus.conf setting file). This snapshot also includes a level structure, which should make the game
56+
quite configurable (extendable enemy-, object-, gate-, elevator- and bonus records count, and
57+
extendable level width and height, and possibility to use custom sprites and background tiles with
58+
custom size and bit depth). What the program misses now is the game engine and music. I haven't
59+
made anything new regarding the level viewer, except cleaning the source file by moving functions
60+
in separate source files. As usual, I have only compiled the source in Linux, so I can't guarantee
61+
any windows functionality; however, Jesse told me that version 0.1 did compile successfully in MinGW.
62+
63+
0.1
64+
16.11.08
65+
First "official" version. The project isn't released to the public yet.
66+
This version includes a program that extracts SQZ files, and a level viewer. This is not interactive;
67+
only the upper left part of the level is displayed (read prior 0.1). The project also have a simple
68+
config file, with possibilities to change resolution and video mode, and the location of the original
69+
data files. This version is only compatible with Titus the Fox (Moktar doesn't work yet) in a Linux
70+
environment.
71+
72+
Prior 0.1
73+
22.09.08 - 15.11.08
74+
The project starts with a function that extracts the SQZ files. Functions that extracts background
75+
tiles, bonuses, elevators, enemies, objects and Titus himself is made, one by one, and finally this
76+
is displayed on the screen using SDL, which results in version 0.1.

Makefile_dingux

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
CC = mipsel-linux-gcc
2+
INCLUDE = -I./include -I./opl
3+
CFLAGS = -g $(INCLUDE) -D_DINGUX
4+
UNSQZ_TARG := unsqz
5+
# LEVELVIEWER_TARG := levelviewer
6+
OPENTITUS_TARG := opentitus_0.7.0.dge
7+
UNSQZ_OBJS := \
8+
unsqz.o \
9+
src/sqz.o
10+
# LEVELVIEWER_OBJS := \
11+
# levelviewer.o \
12+
# src/sqz.o \
13+
# src/settings.o \
14+
# src/sprites.o
15+
OPENTITUS_OBJS := \
16+
opentitus.o \
17+
src/audio.o \
18+
src/common.o \
19+
src/draw.o \
20+
src/enemies.o \
21+
src/engine.o \
22+
src/elevators.o \
23+
src/fonts.o \
24+
src/gates.o \
25+
src/keyboard.o \
26+
src/level.o \
27+
src/menu.o \
28+
src/objects.o \
29+
src/original.o \
30+
src/player.o \
31+
src/reset.o \
32+
src/scroll.o \
33+
src/settings.o \
34+
src/sprites.o \
35+
src/sqz.o \
36+
src/tile_animation.o \
37+
src/viewimage.o \
38+
opl/libopl_dingux.a
39+
DIRS = \
40+
. \
41+
src \
42+
src/opl
43+
44+
# all : $(UNSQZ_TARG) $(LEVELVIEWER_TARG) $(OPENTITUS_TARG)
45+
# all : $(UNSQZ_TARG) $(OPENTITUS_TARG)
46+
all : $(OPENTITUS_TARG)
47+
48+
$(UNSQZ_TARG) : $(UNSQZ_OBJS)
49+
$(CC) $(CFLAGS) -o $(UNSQZ_TARG) $(UNSQZ_OBJS)
50+
51+
# $(LEVELVIEWER_TARG) : $(LEVELVIEWER_OBJS)
52+
# $(CC) $(CFLAGS) -o $(LEVELVIEWER_TARG) $(LEVELVIEWER_OBJS) `sdl-config --cflags --libs`
53+
54+
$(OPENTITUS_TARG) : $(OPENTITUS_OBJS)
55+
$(CC) -I/opt/mipsel-linux-uclibc/include/SDL -I/opt/mipsel-linux-uclibc/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -O2 -Wall -L/opt/mipsel-linux-uclibc/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lSDL_gfx -lSDL_image $(CFLAGS) -o $(OPENTITUS_TARG) $(OPENTITUS_OBJS) -lm -lSDL_mixer
56+
57+
clean :
58+
rm -f $(foreach dir,$(DIRS),$(foreach suffix,/*.o, $(addsuffix $(suffix),$(dir))))

Makefile_linux

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
INCLUDE = -I./include -I./opl
2+
CFLAGS = -g $(INCLUDE)
3+
UNSQZ_TARG := unsqz
4+
# LEVELVIEWER_TARG := levelviewer
5+
OPENTITUS_TARG := opentitus
6+
UNSQZ_OBJS := \
7+
unsqz.o \
8+
src/sqz.o
9+
# LEVELVIEWER_OBJS := \
10+
# levelviewer.o \
11+
# src/sqz.o \
12+
# src/settings.o \
13+
# src/sprites.o
14+
OPENTITUS_OBJS := \
15+
opentitus.o \
16+
src/audio.o \
17+
src/common.o \
18+
src/draw.o \
19+
src/enemies.o \
20+
src/engine.o \
21+
src/elevators.o \
22+
src/fonts.o \
23+
src/gates.o \
24+
src/keyboard.o \
25+
src/level.o \
26+
src/menu.o \
27+
src/objects.o \
28+
src/original.o \
29+
src/player.o \
30+
src/reset.o \
31+
src/scroll.o \
32+
src/settings.o \
33+
src/sprites.o \
34+
src/sqz.o \
35+
src/tile_animation.o \
36+
src/viewimage.o \
37+
opl/libopl_linux.a
38+
DIRS = \
39+
. \
40+
src \
41+
src/opl
42+
43+
# all : $(UNSQZ_TARG) $(LEVELVIEWER_TARG) $(OPENTITUS_TARG)
44+
# all : $(UNSQZ_TARG) $(OPENTITUS_TARG)
45+
all : $(OPENTITUS_TARG)
46+
47+
$(UNSQZ_TARG) : $(UNSQZ_OBJS)
48+
$(CC) $(CFLAGS) -o $(UNSQZ_TARG) $(UNSQZ_OBJS)
49+
50+
# $(LEVELVIEWER_TARG) : $(LEVELVIEWER_OBJS)
51+
# $(CC) $(CFLAGS) -o $(LEVELVIEWER_TARG) $(LEVELVIEWER_OBJS) `sdl-config --cflags --libs`
52+
53+
$(OPENTITUS_TARG) : $(OPENTITUS_OBJS)
54+
$(CC) $(CFLAGS) -o $(OPENTITUS_TARG) $(OPENTITUS_OBJS) `sdl-config --cflags --libs` -lm -lSDL_mixer
55+
56+
clean :
57+
rm -f $(foreach dir,$(DIRS),$(foreach suffix,/*.o, $(addsuffix $(suffix),$(dir))))

0 commit comments

Comments
 (0)