annotate 3x666.c @ 44:e6cb35183ace default tip

Create object file target directory automatically.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 19 Mar 2013 07:23:05 +0200
parents 5714d6494163
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
1 #include <SDL.h>
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
2 #include <math.h>
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
3 #include <stdlib.h>
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
4 #include <unistd.h>
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
5 #include <string.h>
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
6 #include <stdarg.h>
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
7 #include "config.h"
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
8 #include "3xfont.h"
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
9
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
10
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
11 #if !defined(FALSE) && !defined(TRUE) && !defined(BOOL)
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
12 typedef enum { FALSE = 0, TRUE = 1 } BOOL;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
13 #endif
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
14
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
15 #ifndef BOOL
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
16 # ifdef bool
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
17 # define BOOL bool
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
18 # else
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
19 # define BOOL int
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
20 # endif
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
21 #endif
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
22
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
23
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
24 struct
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
25 {
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
26 int tickLen;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
27 int frameTime, frameCount,
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
28 startTime, endTime;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
29
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
30 BOOL exitFlag;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
31
19
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
32 int mixFill, mixBufSize;
21
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
33 Sint32 *mixBuf;
19
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
34
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
35 int optScrWidth, optScrHeight, optVFlags;
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
36 SDL_Surface *screen;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
37 SDL_Event event;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
38 SDL_AudioSpec optAfmt;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
39 } engine;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
40
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
41
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
42
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
43 typedef struct
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
44 {
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
45 int x, y, z;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
46 } vec3d;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
47
7
Matti Hamalainen <ccr@tnsp.org>
parents: 3
diff changeset
48
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
49 int *ballz;
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
50
17
972054c118f9 Add setpal() prototype.
Matti Hamalainen <ccr@tnsp.org>
parents: 16
diff changeset
51 void setpal(void);
972054c118f9 Add setpal() prototype.
Matti Hamalainen <ccr@tnsp.org>
parents: 16
diff changeset
52
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
53
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
54
31
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
55 static void dmPrintVA(int level, const char *fmt, va_list ap)
14
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
56 {
37
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
57 (void) level;
26
7f7330567277 Silence some build warnings.
Matti Hamalainen <ccr@tnsp.org>
parents: 25
diff changeset
58 #ifdef __WIN32
7f7330567277 Silence some build warnings.
Matti Hamalainen <ccr@tnsp.org>
parents: 25
diff changeset
59 (void) fmt;
7f7330567277 Silence some build warnings.
Matti Hamalainen <ccr@tnsp.org>
parents: 25
diff changeset
60 (void) ap;
7f7330567277 Silence some build warnings.
Matti Hamalainen <ccr@tnsp.org>
parents: 25
diff changeset
61 #else
14
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
62 vfprintf(stderr, fmt, ap);
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
63 #endif
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
64 }
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
65
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
66
31
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
67 static void dmPrint(int level, const char *fmt, ...)
14
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
68 {
26
7f7330567277 Silence some build warnings.
Matti Hamalainen <ccr@tnsp.org>
parents: 25
diff changeset
69 #ifdef __WIN32
7f7330567277 Silence some build warnings.
Matti Hamalainen <ccr@tnsp.org>
parents: 25
diff changeset
70 (void) fmt;
7f7330567277 Silence some build warnings.
Matti Hamalainen <ccr@tnsp.org>
parents: 25
diff changeset
71 #else
14
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
72 va_list ap;
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
73
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
74 va_start(ap, fmt);
31
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
75 dmPrintVA(level, fmt, ap);
14
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
76 va_end(ap);
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
77 #endif
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
78 }
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
79
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
80
31
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
81 static inline int dmClamp(const int v, const int min, const int max)
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
82 {
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
83 return (v < min ? min : (v > max ? max : v));
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
84 }
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
85
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
86
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
87 void dmErrorVA(const char *fmt, va_list ap)
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
88 {
14
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
89 fprintf(stderr, SET_PROG_NAME ": ");
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
90 vfprintf(stderr, fmt, ap);
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
91 }
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
92
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
93
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
94 void dmError(const char *fmt, ...)
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
95 {
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
96 va_list ap;
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
97
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
98 va_start(ap, fmt);
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
99 dmErrorVA(fmt, ap);
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
100 va_end(ap);
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
101 }
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
102
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
103
31
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
104 static int engineGetTick()
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
105 {
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
106 return ((engine.frameTime - engine.startTime) * SET_DEMOHZ) / 1000;
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
107 }
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
108
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
109
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
110 static BOOL engineInitializeVideo()
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
111 {
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
112 SDL_FreeSurface(engine.screen);
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
113
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
114 engine.screen = SDL_SetVideoMode(engine.optScrWidth, engine.optScrHeight, 8, engine.optVFlags);
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
115 if (engine.screen == NULL)
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
116 {
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
117 dmError("Can't SDL_SetVideoMode(): %s\n", SDL_GetError());
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
118 return FALSE;
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
119 }
16
e846eda89058 (Re)Set palette when (re)initializing video - aka fs/window.
Matti Hamalainen <ccr@tnsp.org>
parents: 15
diff changeset
120
e846eda89058 (Re)Set palette when (re)initializing video - aka fs/window.
Matti Hamalainen <ccr@tnsp.org>
parents: 15
diff changeset
121 setpal();
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
122 return TRUE;
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
123 }
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
124
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
125
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
126 /**************** tEXT dRAWiNG rOUTiNES **********
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
127
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
128 bitmaps are for lamers :) let's use a little 12-segment calculator font...
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
129 ascii chars 32..90, 16 bits per char unpacked -> 114 bytes for the whole
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
130 font ;) let's credit karl/nooon for the original idea. */
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
131
18
ea16e1b51284 Rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 17
diff changeset
132 void txtDrawSegment(int y, int x, int w, int h)
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
133 {
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
134 /* clip clip clip */
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
135 if (x + w > engine.optScrWidth)
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
136 w = engine.optScrWidth - x;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
137 if (x < 0)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
138 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
139 w += x;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
140 x = 0;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
141 }
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
142 if (y + h > engine.optScrHeight)
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
143 h = engine.optScrHeight - y;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
144 if (y < 0)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
145 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
146 h += y;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
147 y = 0;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
148 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
149 if (w > 0 && h > 0)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
150 {
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
151 Uint8 *b = engine.screen->pixels + (y * engine.screen->pitch) + x;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
152 for (; h; h--)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
153 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
154 memset(b, 122, w);
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
155 b += engine.screen->pitch;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
156 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
157 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
158 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
159
18
ea16e1b51284 Rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 17
diff changeset
160 void txtDrawChar(int x, int y, int c, int xunit, int yunit)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
161 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
162 x -= xunit * 2;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
163 y -= yunit * 3;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
164 for (;;)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
165 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
166 if (!c)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
167 break;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
168
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
169 if (c & 1)
18
ea16e1b51284 Rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 17
diff changeset
170 txtDrawSegment(y, x + 1, xunit * 2 - 2, yunit);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
171 if (c & 2)
18
ea16e1b51284 Rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 17
diff changeset
172 txtDrawSegment(y, x + 1 + xunit * 2, xunit * 2 - 2, yunit);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
173 y++;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
174
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
175 c >>= 2;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
176 if (!c)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
177 break;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
178
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
179 if (c & 1)
18
ea16e1b51284 Rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 17
diff changeset
180 txtDrawSegment(y, x, xunit, yunit * 3 - 2);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
181 if (c & 2)
18
ea16e1b51284 Rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 17
diff changeset
182 txtDrawSegment(y, x + ((xunit * 3) >> 1), xunit, yunit * 3 - 2);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
183 if (c & 4)
18
ea16e1b51284 Rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 17
diff changeset
184 txtDrawSegment(y, x + xunit * 3, xunit, yunit * 3 - 2);
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
185
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
186 y += yunit * 2;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
187 c >>= 3;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
188 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
189 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
190
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
191 void drawtxtscr(char *str)
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
192 {
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
193 int x = engine.optScrWidth >> 4, y = engine.optScrHeight >> 3;
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
194 while (*str)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
195 {
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
196 if (*str >= 32)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
197 {
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
198 txtDrawChar(x, y, phont[*str - 32], engine.optScrWidth / 50, engine.optScrWidth / 80);
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
199 x += engine.optScrWidth / 10;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
200 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
201 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
202 {
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
203 x = engine.optScrWidth >> 4;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
204 y += engine.optScrWidth / 10;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
205 }
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
206 str++;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
207 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
208 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
209
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
210
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
211 void flashtxt(char *str)
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
212 {
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
213 int x = (engine.optScrWidth >> 1) - (strlen(str) + 1) * 3 * engine.optScrWidth / 80;
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
214 while (*str)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
215 {
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
216 txtDrawChar(x, engine.optScrHeight >> 1, phont[*str++ - 32], engine.optScrWidth / 50, engine.optScrWidth / 80);
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
217 x += engine.optScrWidth / 10;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
218 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
219 }
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
220
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
221 /*************************** DA PHONGBALL HEAVEN **************
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
222
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
223 A short course on phongball theory!
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
224
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
225 A sphere: x^2+y^2+z^2=R^2
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
226
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
227 Diffuse shading: intensity = dotproduct(surfacenormal,lightvector)
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
228
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
229 (doing this for every drawn point of the surface is sometimes called
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
230 phong shading even if the normals aren't actually interpolated)
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
231
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
232 For a sphere, a normal vector at a point of the surface == constant *
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
233 the coordinates of the point (if center == origo).
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
234
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
235 Thus, the function for the intensity of a 2d-projected phongball can be
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
236 stated as
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
237
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
238 intensity(x,y) = l.x*x + l.y*y + l.z*z, z = sqrt(R^2-x^2-y^2)
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
239
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
240 The first two muls can be eliminated easily. (and will be eliminated by
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
241 a good compiler even if you are lazy)
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
242
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
243 The third mul can be eliminated by approximating l.z*z with a function
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
244 of the form f(x)=a*x^2+c. This approximation makes the ball look a bit
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
245 "twisty" but who cares, it just looks damn cool ;)
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
246
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
247 ***/
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
248
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
249 struct
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
250 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
251 int *tab;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
252 signed int R;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
253 } balltab[50];
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
254
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
255 void preball()
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
256 {
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
257 int maxR = (engine.optScrHeight < engine.optScrWidth) ?
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
258 (engine.optScrHeight >> 1) : (engine.optScrWidth >> 1);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
259 unsigned int rR;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
260 signed int R;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
261
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
262 for (rR = 0; rR < 48; rR++)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
263 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
264 int R2, *d;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
265 signed int y;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
266 R = (maxR * (rR + 4)) / 52;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
267 if (R < 2)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
268 R = 2;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
269 R2 = R * R;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
270 balltab[rR].R = R;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
271 d = balltab[rR].tab = malloc(R * 2 * sizeof(int));
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
272 for (y = -R + 1; y < R - 1; y++)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
273 *d++ = sqrt(R2 - y * y);
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
274 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
275
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
276 balltab[49].R = balltab[48].R = balltab[47].R;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
277 balltab[49].tab = balltab[48].tab = balltab[47].tab;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
278 }
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
279
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
280
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
281 void drawball_inloop(Uint8 *d, int dotxyz, int ddot, int dddot, int x)
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
282 {
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
283 for (; x; x--)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
284 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
285 dotxyz += ddot;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
286 ddot += dddot;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
287 *d++ = dotxyz >> 16;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
288 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
289 }
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
290
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
291 void drawball(SDL_Surface *screen, vec3d * l, int relR)
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
292 {
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
293 int R = balltab[relR].R, *s = balltab[relR].tab;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
294
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
295 signed int doty = (-(R - 1) * l->y);
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
296 signed int y = R * 2 - 2;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
297
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
298 Uint8 *dp = screen->pixels + (engine.optScrWidth >> 1) - R + ((engine.optScrHeight >> 1) - R) * screen->pitch;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
299
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
300 for (; y; y--)
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
301 {
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
302 int halfw = *s++;
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
303 if (halfw)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
304 {
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
305 drawball_inloop(dp + R - halfw,
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
306 (doty - (l->x * halfw)) << 8,
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
307 (l->x + l->z) << 8,
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
308 0 - ((l->z << 8) / halfw), halfw << 1);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
309 }
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
310 dp += screen->pitch;
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
311 doty += l->y;
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
312 }
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
313 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
314
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
315 /* some extra for freaks: a plasma made with the phongball innerloop :)
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
316 looks ugly.
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
317
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
318 void drawplasma(char *d,float t)
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
319 {
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
320 int y=engine.optScrHeight; float u=0,du=500/engine.optScrHeight;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
321
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
322 for(;y;y--){
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
323 drawball_inloop(d,
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
324 sin(t*0.02+0+u*0.033)*65536*256,
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
325 cos(t*0.04+1+u*0.022)*65536*4096/engine.optScrWidth,
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
326 -2*cos(t*0.04+1+u*0.022)*65536*4096/(engine.optScrWidth*engine.optScrWidth), engine.optScrWidth);
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
327 d+=engine.optScrWidth;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
328 u+=du;
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
329 }
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
330 }
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
331 */
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
332
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
333 /************************ oTHA FX ***************/
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
334
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
335 void rotochess(SDL_Surface *screen, int du, int dv, int iu, int iv)
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
336 {
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
337 int hu = iu - (dv * (engine.optScrHeight >> 1)) - (du * (engine.optScrWidth >> 1)),
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
338 hv = iv + (du * (engine.optScrHeight >> 1)) - (dv * (engine.optScrWidth >> 1));
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
339
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
340 int y;
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
341 Uint8 *dp = screen->pixels;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
342
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
343 for (y = engine.optScrHeight; y; y--)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
344 {
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
345 Uint8 *d = dp;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
346 int u = hu, v = hv, x;
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
347 for (x = engine.optScrWidth; x; x--)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
348 {
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
349 u += du;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
350 v += dv;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
351 *d++ = ((u ^ v) >> 8) & 0xb1;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
352 }
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
353 dp += screen->pitch;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
354 hu += dv;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
355 hv -= du;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
356 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
357 }
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
358
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
359 /***************************************************************/
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
360
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
361
17
972054c118f9 Add setpal() prototype.
Matti Hamalainen <ccr@tnsp.org>
parents: 16
diff changeset
362 void setpal(void)
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
363 {
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
364 SDL_Color pal[SET_VID_COLORS];
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
365 int i, a = 3, b = 0;
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
366
24
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
367 for (i = SET_VID_COLORS - 1; i >= 0; i--)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
368 {
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
369 int n = (i + 128) & 255;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
370 pal[n].r = (abs(i - 140) >> a) & 255;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
371 pal[n].g = ((abs(i - 128) >> b) & 255) ^ 1;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
372 pal[n].b = (abs(i - 96) >> b) & 255;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
373 if (i == 128)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
374 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
375 a = 0;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
376 b = 1;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
377 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
378 }
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
379
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
380 SDL_SetColors(engine.screen, pal, 0, SET_VID_COLORS);
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
381 }
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
382
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
383
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
384 void unitvec(vec3d * v, float a, float b, float c, float m)
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
385 {
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
386 float cam = cos(a) * m, sam = sin(a) * m, sbcam = sin(b) * cam;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
387
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
388 v->x = cos(b) * cam;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
389 v->y = cos(c) * sam - sin(c) * sbcam;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
390 v->z = cos(c) * sbcam + sin(c) * sam;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
391 }
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
392
27
3f8f518905db Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 26
diff changeset
393
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
394 /************************* MUSiC cODE **************************/
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
395
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
396 /* This table was ripped (and reduced and rudely integerized) from the
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
397 Maube tracker by K .. keep on the good work man! ;) */
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
398
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
399 const Sint16 noterate[3 * 12] =
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
400 {
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
401 1000, 1059, 1122, 1189, 1259, 1334,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
402 1414, 1498, 1587, 1681, 1781, 1887,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
403
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
404 2000, 2118, 2244, 2378, 2519, 2669,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
405 2828, 2996, 3174, 3363, 3563, 3775,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
406
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
407 4000, 4237, 4489, 4756, 5039, 5339,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
408 5656, 5993, 6349, 6727, 7127, 7550
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
409 };
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
410
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
411 /* 64 bytes of pure musical power ;)
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
412 Originally composed with Scream Tracker. */
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
413
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
414 const char basstrak[32] =
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
415 {
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
416 12, 0, 24, 12,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
417 12, 24, 12, 24,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
418 12, 0, 24, 12,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
419 12, 24, 12, 24,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
420 15, 0, 27, 15,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
421 15, 27, 15, 27,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
422 14, 0, 26, 14,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
423 15, 27, 17, 29
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
424 };
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
425
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
426 const char melody[32] =
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
427 {
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
428 24, 12, 19, 15,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
429 24, 0, 19, 0,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
430 24, 12, 19, 15,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
431 24, 0, 15, 19,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
432 15, 19, 15, 19,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
433 22, 0, 15, 19,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
434 14, 17, 21, 14,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
435 22, 17, 17, 22
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
436 };
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
437
24
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
438 int *drum0 = NULL,
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
439 *drum1 = NULL;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
440
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
441
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
442 /* sampling sucks! */
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
443 void audio_precalcs()
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
444 {
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
445 int drumlgt = engine.tickLen * SET_ROWTIX * 4;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
446 int *d = drum0 = malloc(drumlgt * sizeof(int)),
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
447 *e = drum1 = malloc(drumlgt * sizeof(int)), i,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
448 vol = 24680, dvol = 35000 / (float) drumlgt;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
449 int o = 0, oo = 0;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
450 float a = 0, da = 386 / (float) drumlgt, dda = da / (float) drumlgt;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
451
31
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
452 dmPrint(0, "aCtIvATiNg 303 eMuLAtOR\n");
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
453
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
454 for (i = drumlgt; i; i--)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
455 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
456 o = (o >> 1) + (rand() % vol) - (rand() % vol);
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
457 oo = (oo * 2 + ((rand() % vol) - (rand() % vol))) / 3;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
458
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
459 o *= sin(a);
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
460 oo *= sin(a);
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
461
15
e5603b03732b Some more work.
Matti Hamalainen <ccr@tnsp.org>
parents: 14
diff changeset
462 *d++ = (vol * sin((a / 2) + ((float) dmClamp(o * 2, -65535, 65535)) / 80000));
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
463 *e++ = (vol * sin(a + ((float) oo) / 60000));
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
464
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
465 a += da;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
466 da -= dda;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
467 vol -= dvol;
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
468 }
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
469 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
470
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
471
24
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
472 void audio_close()
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
473 {
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
474 if (drum0) free(drum0);
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
475 if (drum1) free(drum1);
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
476 }
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
477
27
3f8f518905db Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 26
diff changeset
478
21
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
479 static int engineRenderAudio(Sint32 *stream)
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
480 {
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
481 static int rowno = 0;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
482 static signed int delta = -5;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
483 static char ismelody = 0, silend = 0;
15
e5603b03732b Some more work.
Matti Hamalainen <ccr@tnsp.org>
parents: 14
diff changeset
484 int i, rowlgt = engine.tickLen * SET_ROWTIX;
21
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
485 Sint32 *d = stream, note;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
486
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
487 /* BASS (sawtooth ofcoz) */
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
488 note = basstrak[(rowno >> 1) & 31];
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
489
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
490 if (!note)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
491 note = basstrak[((rowno >> 1) & 31) - 1];
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
492 else
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
493 if (rowno & 1)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
494 note = 0;
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
495
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
496 if ((rowno & 3) == 3)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
497 note = 0;
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
498
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
499 if (note)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
500 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
501 int ps = 16384, dps;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
502 note += delta;
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
503 dps = ((noterate[note] << 10) / SET_AUDIO_FREQ);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
504 for (i = rowlgt; i; i--)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
505 {
21
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
506 *d++ = ps;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
507 ps = (ps + dps) & 32767;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
508 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
509 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
510 else
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
511 {
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
512 for (i = rowlgt; i; i--)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
513 *d++ = 16384;
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
514 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
515
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
516 /* MELODY (sawtooth as well :) */
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
517 if (!(silend && ((rowno & 63) > 47)))
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
518 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
519 if (ismelody)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
520 {
21
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
521 d = stream;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
522 if (rowno & 1)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
523 note = 0;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
524 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
525 note = melody[(rowno >> 1) & 31];
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
526 if (note)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
527 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
528 int ps = 16384, dps; /* this loop is different */
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
529 note += delta;
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
530 dps = ((noterate[note] << 12) / engine.optAfmt.freq);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
531 for (i = rowlgt; i; i--)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
532 {
21
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
533 *d++ += ps;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
534 ps = (ps + dps) & 32767;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
535 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
536 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
537 }
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
538
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
539 /* DRUMS (rave on!!!) */
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
540 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
541 int *s = drum1;
21
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
542 d = stream;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
543 if (rowno & 4)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
544 s = drum0;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
545 s += (rowno & 3) * rowlgt;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
546
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
547 for (i = rowlgt; i; i--)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
548 *d++ += *s++;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
549 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
550 }
21
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
551
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
552 /* PATTERN SHIFT */
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
553 rowno++;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
554
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
555 /* no switch+case? just check out how gcc handles them!
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
556 it's 1024+ bytes for every phukken switch statement!
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
557 in this case we can prefer size to speed, can't we? */
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
558
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
559 if ((rowno & 63) == 0)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
560 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
561 int r = rowno >> 6;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
562 if (r == 2)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
563 delta = 0;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
564 if (r == 4)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
565 ismelody = 1;
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
566 if (r == 6 || r == 10)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
567 delta = 5;
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
568 if (r == 7 || r == 11)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
569 silend = 1;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
570 if (r == 8)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
571 delta = silend = 0;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
572 if (r == 12)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
573 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
574 rowno = ismelody = silend = 0;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
575 delta = -5;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
576 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
577 }
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
578
15
e5603b03732b Some more work.
Matti Hamalainen <ccr@tnsp.org>
parents: 14
diff changeset
579 return rowlgt;
e5603b03732b Some more work.
Matti Hamalainen <ccr@tnsp.org>
parents: 14
diff changeset
580 }
e5603b03732b Some more work.
Matti Hamalainen <ccr@tnsp.org>
parents: 14
diff changeset
581
e5603b03732b Some more work.
Matti Hamalainen <ccr@tnsp.org>
parents: 14
diff changeset
582
e5603b03732b Some more work.
Matti Hamalainen <ccr@tnsp.org>
parents: 14
diff changeset
583 static void engineAudioCallback(void *userdata, Uint8 *stream, int len)
e5603b03732b Some more work.
Matti Hamalainen <ccr@tnsp.org>
parents: 14
diff changeset
584 {
e5603b03732b Some more work.
Matti Hamalainen <ccr@tnsp.org>
parents: 14
diff changeset
585 (void) userdata;
31
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
586
19
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
587 // We inherently assume mono here, as the audio code is not
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
588 // capable of producing stereo anyway (for now, at least.)
21
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
589 int i, need = len / sizeof(Sint16);
19
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
590
31
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
591 // fprintf(stderr, "%p : %p @ %d -> %d\n", userdata, stream, len, need);
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
592 // fflush(stderr);
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
593
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
594 #if 1
19
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
595 // The audio rendering handling is a bit silly due to the way
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
596 // the original code works (assumes that it can always render
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
597 // a certain amount/duration of data, instead of being given
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
598 // the buffer duration/size to render. So we cope with that here.
25
f896fe6a98da Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
599 if (need >= engine.mixBufSize)
f896fe6a98da Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
600 need = engine.mixBufSize;
f896fe6a98da Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
601
31
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
602 while (engine.mixFill < need)
19
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
603 {
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
604 int got = engineRenderAudio(engine.mixBuf + engine.mixFill);
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
605 engine.mixFill += got;
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
606 }
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
607
21
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
608 Sint16 *dp = (Sint16 *) stream;
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
609 Sint32 *sp = engine.mixBuf;
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
610 for (i = 0; i < need; i++)
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
611 *dp++ = dmClamp(*sp++, -32767, 32767);
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
612
19
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
613 engine.mixFill -= need;
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
614 if (engine.mixFill > 0)
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
615 {
21
19fccd4a7404 Now works (or at least sounds like it sounds like it should sound like) :D ..
Matti Hamalainen <ccr@tnsp.org>
parents: 19
diff changeset
616 memmove(engine.mixBuf, engine.mixBuf + need, engine.mixFill * sizeof(Sint32));
19
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
617 }
25
f896fe6a98da Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
618 #endif
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
619 }
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
620
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
621
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
622 /**************** tEXT gENERATORS eTC ***************/
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
623
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
624 char skrtxt[] =
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
625 {
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
626 " HI THERE ! THIS IS THE FIRST OCSA RELEASE FOR LINUX ! "
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
627 "IT'S A STUPID INTRO CALLED 3X666 ! "
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
628 };
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
629
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
630
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
631 #define CHTIME 16
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
632 #define CHPSCR 8
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
633
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
634 void plainscroll(int t)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
635 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
636 int chno = t / CHTIME;
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
637 int x = 0 - ((t % CHTIME) * (engine.optScrWidth / CHPSCR)) / CHTIME;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
638 int h = (abs((t % 48) - 24) * engine.optScrHeight) / 256, i;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
639 char *c = skrtxt + chno;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
640
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
641 for (i = 0; i < CHPSCR + 1; i++)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
642 {
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
643 txtDrawChar(x, (engine.optScrHeight * 3) / 4, phont[*c++ - 32], engine.optScrWidth / (6 * CHPSCR), h);
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
644 x += engine.optScrWidth / CHPSCR;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
645 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
646 }
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
647
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
648 char *lyrix(void)
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
649 {
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
650 static int phinext = 0, philast;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
651 int phiwsty;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
652 char *phiword;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
653
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
654 phiwsty = phinext;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
655
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
656 if (!phiwsty)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
657 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
658 if (!(rand() & 3))
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
659 phiwsty = 13;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
660 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
661 phiwsty = 1 + (rand() & 1);
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
662 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
663 if (phiwsty == 1)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
664 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
665 char *w[] = { "HERE", "THERE", "NOW", "TOMORROW", "TODAY", "NEVER" };
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
666 phiword = w[rand() % 6];
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
667 if (rand() & 1)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
668 phinext = 2;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
669 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
670 phinext = 12;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
671 }
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
672 else
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
673 if (phiwsty == 2)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
674 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
675 char nx[] = { 5, 10, 7, 3, 11 };
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
676 philast = rand() & 1;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
677 if (!philast)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
678 phiword = "YOU";
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
679 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
680 phiword = "I";
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
681 phinext = nx[rand() % 5];
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
682 }
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
683 else
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
684 if (phiwsty == 3)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
685 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
686 char *w[] = { "DON'T", "CAN'T", "WON'T", "COULDN'T" };
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
687 phiword = w[rand() % 4];
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
688 phinext = 7 + (rand() & 4);
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
689 }
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
690 else
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
691 if (phiwsty == 4)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
692 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
693 if (rand() & 1)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
694 phiword = "YOU";
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
695 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
696 phiword = "ME";
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
697 if (rand() & 1)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
698 phinext = 6;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
699 else if (rand() & 1)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
700 phinext = 0;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
701 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
702 phinext = 11;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
703 }
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
704 else
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
705 if (phiwsty == 5)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
706 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
707 if (philast)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
708 phiword = "AM";
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
709 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
710 phiword = "ARE";
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
711 if (rand() & 1)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
712 phinext = 6;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
713 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
714 phinext = 12 + (rand() & 1);
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
715 }
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
716 else
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
717 if (phiwsty == 6)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
718 {
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
719 char *w[] = {
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
720 "FALLING", "THINKING", "DREAMING", "CRYING",
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
721 "LYING", "REACHING", "BREATHING", "BURNING", "RUNNING"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
722 };
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
723 phiword = w[rand() % 9];
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
724 if (rand() & 1)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
725 phinext = 9;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
726 else if (rand() & 1)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
727 phinext = 0;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
728 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
729 phinext = 13;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
730 }
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
731 else
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
732 if (phiwsty == 7)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
733 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
734 char nx[] = { 8, 4, 12 };
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
735 if (rand() & 1)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
736 phiword = "NEED";
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
737 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
738 phiword = "WANT";
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
739 phinext = nx[rand() % 3];
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
740 }
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
741 else
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
742 if (phiwsty == 8)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
743 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
744 phiword = "TO";
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
745 phinext = 11;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
746 }
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
747 else
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
748 if (phiwsty == 9)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
749 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
750 char *w[] = { "DOWN", "OFF", "OUT", "UP", "ABOUT" };
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
751 phiword = w[rand() % 5];
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
752 if (rand() & 1)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
753 phinext = rand() & 4;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
754 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
755 phinext = 12 + (rand() & 1);
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
756 }
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
757 else
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
758 if (phiwsty == 10)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
759 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
760 char *w[] = { "CAN", "COULD", "WOULD", "MAY", "MIGHT" };
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
761 phiword = w[rand() % 5];
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
762 if (rand() & 1)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
763 phinext = 11;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
764 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
765 phinext = 12;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
766 }
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
767 else
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
768 if (phiwsty == 11)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
769 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
770 char *w[] = { "SEE", "HEAR", "FEEL", "THINK" };
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
771 phiword = w[rand() % 4];
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
772 if (rand() & 1)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
773 phinext = 12;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
774 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
775 phinext = rand() & 4;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
776 }
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
777 else
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
778 if (phiwsty == 12)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
779 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
780 char *w[] = { "WHAT", "SOMETHING", "NOTHING", "THINGS", "WHATEVER" };
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
781 phiword = w[rand() % 5];
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
782 phinext = 2;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
783 }
8
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
784 else
bbc901af24fb More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
785 if (phiwsty == 13)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
786 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
787 phiword = "THE";
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
788 phinext = 14;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
789 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
790 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
791 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
792 char *w[] = { "WAY", "EYES", "WORLD", "ROBOT", "FREEDOM", "HATE" };
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
793 phiword = w[rand() % 6];
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
794 phinext = 0;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
795 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
796 return phiword;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
797 }
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
798
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
799 char *dotxtscr(void)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
800 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
801 static int cnt = 0;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
802 cnt++;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
803 if (cnt == 1)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
804 return "WHERES THE\n" "DESIGN?\n\n" "WHERES THE\n" "ATTITUDE?!";
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
805
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
806 if (cnt == 2)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
807 return "NOTHING\n" "HAPPENED\n" "IN 1997";
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
808
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
809 if (cnt == 3)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
810 return "PERHAPS\n" "IT IS TIME\n" "FOR A NEW\n" "PROPHECY?";
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
811
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
812 if (cnt == 4)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
813 return "IN 1998,\n" "SCENE WILL\n" "DIE !!!!!";
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
814
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
815 if (cnt == 5)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
816 return "PHONGBALLS\n" "WILL\n" "INVADE\n" "THE WORLD";
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
817
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
818 if ((cnt == 6) || (cnt == 7))
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
819 return "HALUU OLLA\n" "APPELSIINI";
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
820
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
821 return NULL;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
822 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
823
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
824 const char *endscroll =
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
825 "THAT'S ALL\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
826 "FOLKS !\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
827 "\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
828 "ALL CODING +\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
829 "COMPOSING\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
830 "BY VIZNUT !\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
831 "\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
832 "WHAT A\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
833 "MARVELOUS\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
834 "PALETTE !\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
835 "WHAT A\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
836 "SUPERB TUNE !\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
837 "\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
838 "BUT IT'S ALL\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
839 "BELOW 10 KB\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
840 "AND RUNS\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
841 "SMOOTHLY ON\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
842 "A 386\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
843 "\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
844 "GREETINGS TO\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
845 "ALL THE\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
846 "LINUX SCENE !\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
847 "\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
848 "LET'S MAKE\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
849 "THIS WORLD A\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
850 "BETTER PLACE\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
851 "TO LIVE IN !\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
852 "\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
853 "THIS IS JUST\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
854 "A PIECE OF\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
855 "SHITTY CODE\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
856 "BUT IT'S ALL\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
857 "YOURS !\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
858 "\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
859 "RIP OFF\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
860 "EVERYTHING !\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
861 "USE IT FOR\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
862 "SOMETHING\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
863 "CREATIVE !\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
864 "\n"
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
865 "\n\n\nOCSA 1998";
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
866
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
867
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
868 void doendscroll(int t)
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
869 {
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
870 const char *s = endscroll;
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
871 int y = engine.optScrHeight - (engine.optScrHeight * t / 512), x = engine.optScrWidth / 24;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
872
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
873 while (*s)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
874 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
875 if (*s < 32)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
876 {
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
877 x = engine.optScrWidth / 24;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
878 y += engine.optScrHeight / 8;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
879 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
880 else
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
881 if (y >= 0 - (engine.optScrHeight / 8) && y < engine.optScrHeight)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
882 {
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
883 txtDrawChar(x, y, phont[*s - 32], engine.optScrWidth / 60, engine.optScrHeight / 60);
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
884 x += engine.optScrWidth / 13;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
885 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
886 s++;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
887 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
888 }
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
889
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
890 /********************** tHA kORE bEGiNS *********************/
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
891
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
892 #define BLACKBG 0x0001
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
893 #define FLASHBG 0x0002
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
894 #define OCSALOGO 0x0004
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
895 #define SCROLL0 0x0008
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
896 #define BALLIE 0x0010
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
897 #define BALLJUMPS 0x0020
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
898 #define COUNTAH 0x0040
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
899 #define CHESSBG 0x0080
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
900 #define PLASMABG 0x0100
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
901 #define FLASHTXT 0x0200
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
902 #define TXTSCR 0x0400
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
903 #define ENDSCR 0x0800
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
904 #define DEMOEND 0x1000
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
905
14
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
906 const Uint16 dezign[] = {
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
907 0 , BLACKBG | OCSALOGO | SCROLL0,
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
908 256 , FLASHBG | BALLIE | BALLJUMPS | COUNTAH,
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
909 384 , BLACKBG | BALLIE | BALLJUMPS | COUNTAH | OCSALOGO,
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
910 400 , BLACKBG | BALLIE | COUNTAH | OCSALOGO,
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
911 416 , BLACKBG | BALLIE,
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
912 448 , BLACKBG | BALLIE | TXTSCR,
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
913 512 , CHESSBG | BALLIE | BALLJUMPS | TXTSCR,
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
914 576 , CHESSBG | BALLIE | BALLJUMPS | TXTSCR,
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
915 640 , CHESSBG | BALLIE | BALLJUMPS | TXTSCR,
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
916 704 , CHESSBG | BALLIE | BALLJUMPS | TXTSCR,
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
917 768 , FLASHBG | FLASHTXT,
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
918 896 , FLASHBG | FLASHTXT | TXTSCR,
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
919 962 , FLASHBG | FLASHTXT | TXTSCR | BALLIE | BALLJUMPS,
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
920 1024, BLACKBG | BALLIE | ENDSCR,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
921 1152, CHESSBG | BALLIE | BALLJUMPS | ENDSCR,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
922 1344, FLASHBG | BALLIE | BALLJUMPS | ENDSCR,
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
923 1536, DEMOEND
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
924 };
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
925
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
926
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
927 /* don't look at the rest of the code, it just sucks :) */
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
928
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
929 int main(int argc, char *argv[])
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
930 {
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
931 BOOL initSDL = FALSE;
14
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
932 const Uint16 *dez = dezign;
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
933 int flagz = 0, flixtim = 0, argn, tmp;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
934 char *phiword = NULL, *dizainword = NULL;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
935
24
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
936 memset(&engine, 0, sizeof(engine));
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
937
31
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
938 dmPrint(0,
14
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
939 SET_PROG_NAME " by Ocsa (PWP) (c) 1998\n"
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
940 "libSDL port by ccr/TNSP^PWP (c) 2013\n");
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
941
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
942 // Initialize audio parts
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
943 engine.optScrWidth = SET_VID_BUFW;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
944 engine.optScrHeight = SET_VID_BUFH;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
945
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
946 engine.optAfmt.freq = SET_AUDIO_FREQ;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
947 engine.optAfmt.format = AUDIO_S16SYS;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
948 engine.optAfmt.channels = SET_AUDIO_CHN;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
949 engine.optAfmt.samples = engine.optAfmt.freq / 16;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
950 engine.optAfmt.callback = engineAudioCallback;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
951
14
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
952 // Parse commandline options
37
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
953 for (argn = 1; argn < argc; argn++)
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
954 {
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
955 char *arg = argv[argn];
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
956 if (arg[0] == '-')
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
957 switch (arg[1])
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
958 {
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
959 case 'f':
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
960 engine.optVFlags |= SDL_FULLSCREEN;
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
961 break;
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
962
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
963 case 'v':
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
964 switch (arg[2])
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
965 {
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
966 case '0':
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
967 engine.optScrWidth = 320;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
968 engine.optScrHeight = 200;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
969 break;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
970
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
971 case '1':
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
972 engine.optScrWidth = 640;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
973 engine.optScrHeight = 480;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
974 break;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
975
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
976 case '2':
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
977 engine.optScrWidth = 1280;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
978 engine.optScrHeight = 720;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
979 break;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
980
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
981 default:
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
982 dmError("Invalid video option '%s'.\n", arg);
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
983 goto error_exit;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
984 }
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
985 break;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
986
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
987 case 's':
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
988 if (sscanf(arg+2, "%d", &tmp) != 1)
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
989 {
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
990 dmError("Invalid audio frequency setting '%s'.\n", arg);
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
991 goto error_exit;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
992 }
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
993 if (tmp < 8000 || tmp > 96000)
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
994 {
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
995 dmError("Unsupported audio frequency %d Hz, must be %d < x < %d.\n",
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
996 tmp, SET_MIN_FREQ, SET_MAX_FREQ);
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
997 }
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
998 engine.optAfmt.freq = tmp;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
999 break;
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1000
37
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1001 case '?':
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1002 case 'h':
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1003 dmPrint(0,
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1004 "Usage: %s [options]\n"
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1005 "\n"
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1006 " -f Start in full screen\n"
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1007 " -h/-? Show this help\n"
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1008 " -v<0-2> Video 0=320x200, 1=640x480 (default), 2=1280x720 (ws)\n"
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1009 " -s<freq> Audio frequency (44100)\n"
37
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1010 "\n", argv[0]);
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1011 goto error_exit;
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1012
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1013 default:
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1014 dmError("Invalid option '%s'.\n", arg);
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1015 goto error_exit;
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1016 }
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1017 else
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1018 {
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1019 dmError("Invalid argument '%s'.\n", arg);
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1020 goto error_exit;
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1021 }
38b7583302c3 Add commandline parsing and help.
Matti Hamalainen <ccr@tnsp.org>
parents: 33
diff changeset
1022 }
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1023
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1024
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1025 // Initialize SDL components
31
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
1026 dmPrint(0, "Engine initializing ..\n");
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1027 if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER) != 0)
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1028 {
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1029 dmError("Could not initialize SDL: %s\n", SDL_GetError());
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1030 goto error_exit;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1031 }
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1032 initSDL = TRUE;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1033
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1034
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1035 // Initialize SDL audio
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1036 if (SDL_OpenAudio(&engine.optAfmt, NULL) < 0)
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1037 {
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1038 dmError("Couldn't open SDL audio: %s\n", SDL_GetError());
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1039 }
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1040
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1041 // Initialize SDL video
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1042 if (!engineInitializeVideo())
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1043 goto error_exit;
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1044
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1045 SDL_ShowCursor(SDL_DISABLE);
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1046 SDL_WM_SetCaption(SET_WIN_NAME, SET_WIN_NAME);
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1047
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1048 // Initialize effects
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1049 preball();
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1050 srand(0);
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1051
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1052 engine.tickLen = engine.optAfmt.freq / SET_DEMOHZ;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1053 audio_precalcs();
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1054 setpal();
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1055
33
dca4b72dc2e0 Fix audio buffer size.
Matti Hamalainen <ccr@tnsp.org>
parents: 32
diff changeset
1056 engine.mixBufSize = engine.optAfmt.freq * sizeof(Sint32) * 2;
19
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
1057 engine.mixBuf = malloc(engine.mixBufSize);
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1058 int U = engine.optScrWidth / 40;
19
16efabca7e04 Some work on making the audio work .. there is sound, but it's not correct.
Matti Hamalainen <ccr@tnsp.org>
parents: 18
diff changeset
1059
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1060 // Start audio, enter main loop
32
21a8993f3127 Fix the previous commit.
Matti Hamalainen <ccr@tnsp.org>
parents: 31
diff changeset
1061 dmPrint(0, "We are go.\n");
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1062 SDL_LockAudio();
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1063 SDL_PauseAudio(0);
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1064 SDL_UnlockAudio();
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1065 engine.startTime = SDL_GetTicks();
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1066
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1067 while (!engine.exitFlag)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1068 {
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1069 // Handle SDL events
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1070 while (SDL_PollEvent(&engine.event))
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1071 switch (engine.event.type)
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1072 {
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1073 case SDL_KEYDOWN:
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1074 switch (engine.event.key.keysym.sym)
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1075 {
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1076 case SDLK_ESCAPE:
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1077 engine.exitFlag = TRUE;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1078 break;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1079
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1080 case SDLK_f:
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1081 engine.optVFlags ^= SDL_FULLSCREEN;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1082 if (!engineInitializeVideo())
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1083 goto error_exit;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1084 break;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1085
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1086 case SDLK_RETURN:
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1087 if (engine.event.key.keysym.mod & KMOD_ALT)
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1088 {
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1089 engine.optVFlags ^= SDL_FULLSCREEN;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1090 if (!engineInitializeVideo())
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1091 goto error_exit;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1092 }
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1093 break;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1094
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1095 default:
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1096 break;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1097 }
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1098
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1099 break;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1100
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1101 case SDL_VIDEOEXPOSE:
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1102 break;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1103
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1104 case SDL_QUIT:
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1105 engine.exitFlag = TRUE;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1106 break;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1107 }
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1108
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1109 // Draw frame
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1110 engine.frameTime = SDL_GetTicks();
39
da3a7c376a84 Fix a warning.
Matti Hamalainen <ccr@tnsp.org>
parents: 37
diff changeset
1111 int qt = engineGetTick();
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1112
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1113 if (SDL_MUSTLOCK(engine.screen) != 0 && SDL_LockSurface(engine.screen) != 0)
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1114 {
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1115 dmError("Can't lock surface.\n");
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1116 goto error_exit;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1117 }
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1118
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1119 // Main rendering code
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1120 while ((qt / SET_ROWTIX >= *dez) && (flagz & DEMOEND) == 0)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1121 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1122 dez++;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1123 flagz = *dez++;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1124 if (flagz & FLASHTXT)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1125 flixtim = *(dez - 2);
14
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
1126
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1127 if (flagz & TXTSCR)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1128 dizainword = dotxtscr();
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1129 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1130
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1131 if (flagz & FLASHTXT)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1132 {
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1133 while ((qt / SET_ROWTIX) >= flixtim)
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1134 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1135 phiword = lyrix();
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1136 flixtim += 4;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1137 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1138 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1139
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1140 if (flagz & DEMOEND)
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1141 engine.exitFlag = TRUE;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1142
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1143 if (flagz & BLACKBG)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1144 {
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1145 SDL_FillRect(engine.screen, NULL, 0);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1146 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1147 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1148 if (flagz & FLASHBG)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1149 {
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1150 unsigned char col = 130 + (qt % 48) * 2;
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1151 SDL_FillRect(engine.screen, NULL, col);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1152 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1153
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1154 if (flagz & CHESSBG)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1155 {
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1156 int zoom = (10 + abs(((qt >> 1) % 96) - 48)) * 4096 / engine.optScrWidth;
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1157 rotochess(engine.screen, sin(qt * 0.03) * zoom, cos(qt * 0.03) * zoom, 0, 0);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1158 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1159
14
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
1160 //if(flagz&PLASMABG) drawplasma(ruutu, qt);
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1161
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1162 if (flagz & OCSALOGO)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1163 {
18
ea16e1b51284 Rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 17
diff changeset
1164 txtDrawChar(U * 6, U * 4, phont['O' - 32], U + U * sin(qt * 0.10 + 3),
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1165 U);
18
ea16e1b51284 Rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 17
diff changeset
1166 txtDrawChar(U * 14, U * 4, phont['C' - 32], U,
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1167 U + U * sin(qt * 0.11 + 3));
18
ea16e1b51284 Rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 17
diff changeset
1168 txtDrawChar(U * 22, U * 4, phont['S' - 32], U,
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1169 U + U * sin(qt * 0.12 + 3));
18
ea16e1b51284 Rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 17
diff changeset
1170 txtDrawChar(U * 30, U * 4, phont['A' - 32],
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1171 U + U * sin(qt * 0.13 + 3), U);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1172 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1173
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1174 if (flagz & SCROLL0)
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1175 plainscroll(qt);
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1176
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1177 if (flagz & BALLIE)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1178 {
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1179 int zoom;
14
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
1180 vec3d joo;
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1181 if (flagz & BALLJUMPS)
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1182 zoom = abs((qt % 96) - 48);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1183 else
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1184 zoom = 47;
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1185
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1186 zoom = dmClamp(zoom, 0, 47);
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1187
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1188 unitvec(&joo, 0.038 * qt, 0.023 * qt, 0.011 * qt,
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1189 32000 / balltab[zoom].R);
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1190 joo.z <<= 1;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1191
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1192 drawball(engine.screen, &joo, zoom);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1193 }
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1194
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1195 if (flagz & FLASHTXT)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1196 flashtxt(phiword);
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
1197
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1198 if ((flagz & TXTSCR) && ((qt / SET_ROWTIX) & 2))
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
1199 drawtxtscr(dizainword);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1200
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1201 if (flagz & ENDSCR)
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1202 doendscroll(qt - 1024 * SET_ROWTIX);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1203
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1204 if (flagz & COUNTAH)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1205 {
13
3a358d053ffc Runs now, audio does not work yet and the pace seems slightly too fast (not
Matti Hamalainen <ccr@tnsp.org>
parents: 11
diff changeset
1206 int n = ((qt * 50 / 48) - 256 * 6);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1207 int dis = (rand() % U) >> 1;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1208 if (n > 666)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1209 n = 666;
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1210
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1211 if (n > 600)
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1212 {
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1213 txtDrawChar(U * 12 + dis, (engine.optScrHeight >> 1) + dis + U * 6,
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1214 phont['X' - 32], U, U);
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1215 txtDrawChar(U * 22 + dis, (engine.optScrHeight >> 1) + dis + U * 6,
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1216 phont['3' - 32], U, U);
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1217 }
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1218
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1219 txtDrawChar(U * 28 + dis, engine.optScrHeight >> 1, phont[16 + (n % 10)], U, U);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1220 n /= 10;
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1221 txtDrawChar(U * 18 + dis, engine.optScrHeight >> 1, phont[16 + (n % 10)], U, U);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1222 n /= 10;
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1223 txtDrawChar(U * 8 + dis, engine.optScrHeight >> 1, phont[16 + (n % 10)], U, U);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1224 n /= 10;
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1225 }
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1226
14
2663b7bb23b9 Touchups.
Matti Hamalainen <ccr@tnsp.org>
parents: 13
diff changeset
1227 // Flip screen, increase frame count, wait
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1228 if (SDL_MUSTLOCK(engine.screen) != 0)
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1229 SDL_UnlockSurface(engine.screen);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1230
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1231 engine.frameCount++;
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1232 SDL_Flip(engine.screen);
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1233 SDL_Delay(20);
3
4dd2b0c81ad2 Cleanups, removing cruft, re-indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1234 }
9
84d7bc7dfaeb More cleanup work.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
1235
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1236 error_exit:
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1237 // Shutdown
31
03ef1b48e380 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
1238 dmPrint(0, "Shutting down.\n");
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1239 if (engine.frameCount > 0 && engine.frameTime - engine.startTime > 0)
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1240 {
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1241 dmPrint(1, "%d frames in %d ms, %1.2f fps\n",
28
9f72bd464802 Add fps information.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
1242 engine.frameCount,
9f72bd464802 Add fps information.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
1243 engine.frameTime - engine.startTime,
9f72bd464802 Add fps information.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
1244 (float) (engine.frameCount * 1000.0f) / (float) (engine.frameTime - engine.startTime)
9f72bd464802 Add fps information.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
1245 );
42
5714d6494163 Add more configuration options via commandline.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
1246 }
28
9f72bd464802 Add fps information.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
1247
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1248 SDL_ShowCursor(SDL_ENABLE);
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1249 if (engine.screen)
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1250 SDL_FreeSurface(engine.screen);
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1251
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1252 SDL_LockAudio();
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1253 SDL_PauseAudio(1);
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1254 SDL_UnlockAudio();
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1255
24
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
1256 audio_close();
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
1257
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1258 if (initSDL)
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1259 SDL_Quit();
24
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
1260
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
1261 if (engine.mixBuf)
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
1262 free(engine.mixBuf);
7c314ac342f4 Cleanups and plug some memory leaks.
Matti Hamalainen <ccr@tnsp.org>
parents: 22
diff changeset
1263
11
fcae85b39931 Slowly getting closer. Does not compile yet, and it's messy.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
1264 return 0;
0
0e4f2da58161 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1265 }