File: state_instructions.cpp

package info (click to toggle)
supertransball2 1.5-6
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 1,336 kB
  • ctags: 477
  • sloc: cpp: 5,665; makefile: 45
file content (171 lines) | stat: -rw-r--r-- 6,578 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#ifdef _WIN32
#include "windows.h"
#else
#include <stddef.h>
#include <sys/types.h>
#include <dirent.h>
#include "ctype.h"
#endif

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "SDL/SDL.h"
#include "SDL_mixer.h"
#include "SDL_image.h"

#include "fonts.h"
#include "list.h"
#include "auxiliar.h"

#include "tiles.h"
#include "maps.h"
#include "transball.h"

#include "encoder.h"

extern int NLEVELS;
extern int SCREEN_X,SCREEN_Y;
extern int STATE,SUBSTATE,SUBSTATE2;
extern int level,timer;
extern int ship_type;
extern int fuelfactor[3];
extern int used_fuel,remaining_fuel;
extern int n_shots,n_hits,enemies_destroyed;
extern int previous_high;
extern TRANSBALL *game;
extern int frames_per_sec;
extern FILE *replayfile;
extern int replaynum;
extern int replay_source;
extern SDLKey THRUST_KEY,ANTITHRUST_KEY,LEFT_KEY,RIGHT_KEY;
extern SDLKey FIRE_KEY,ATRACTOR_KEY;
extern SDLKey PAUSE_KEY;
extern bool pause2;
extern unsigned char old_keyboard[SDLK_LAST];
extern SDL_Surface *image,*image2;
extern char edit_text[80];
extern int edit_position;
extern List<char> files;
extern int act_file;
extern int first_file;
extern bool refind_files;
extern int demotimer;
extern bool demoon;
extern int tittle_alpha;
extern List<char> levelpacks;
extern int act_levelpack;
extern char levelpack[256];


bool state_instructions_cycle(SDL_Surface *screen,int sx,int sy,unsigned char *keyboard)
{
	if (SUBSTATE==0) {
		if (image!=0) SDL_FreeSurface(image);
		image=IMG_Load("graphics/tittle.pcx");
	} /* if */ 
	SDL_BlitSurface(image,0,screen,0);
	surface_fader(screen,0.5F,0.5F,0.5F,-1,0);
	if (SUBSTATE<64) {
		font_print(16,10,"              SUPER TRANSBALL 2 V1.5",screen);

		font_print(16,30,"  THE FUTURE, THE SUN DOES NOT SHINE ANYMORE",screen);
		font_print(16,40,"AND THE ONLY ENERGY SOURCE ARE \"THE SPHERES\".",screen);
		font_print(16,50,"THE SPHERES CONTAIN ENOUGH ENERGY FOR A PLANET",screen);
		font_print(16,60,"TO SURVIVE. THEY ARE CHARGED WITH THE ENERGY",screen);
		font_print(16,70,"OF OTHER STARS.",screen);
		font_print(16,90,"  AS THE HUMANS ARE HIGHLY DEPENDENT ON THE",screen);
		font_print(16,100,"SPHERES, AN OPORTUNIST CIVILIZATION HAS STOLEN",screen);
		font_print(16,110,"ALL THE CHARGED SPHERES FROM THE EARTH EXPECTING",screen);
		font_print(16,120,"TO COLONIZE THE PLANET. AS A LAST CHANCE, THE",screen);
		font_print(16,130,"LAST ENERGY HAS BEEN TRANSFERED TO A SCOUT SHIP",screen);
		font_print(16,140,"AND SENT TO RECOVER THE SPHERES...",screen);

		font_print(16,160,"YOU COMMAND THIS SHIP, YOU ARE THE LAST CHANCE",screen);
		font_print(16,170,"FOR THE SURVIVAL OF THE HUMAN RACE...",screen);
	} /* if */ 
	if (SUBSTATE>64 && SUBSTATE<128) {
		font_print(16,10,"              SUPER TRANSBALL 2 V1.5",screen);

		font_print(16,30,"  THE CONTROLS OF THE SHIP ARE [REDEFINIBLE]:",screen);
		font_print(16,50,"    Q   - PROPULSORS",screen);
		font_print(16,60,"    A   - RETROPROPULSORS [NOT ALL THE SHIPS]",screen);
		font_print(16,70,"    O   - TURN LEFT",screen);
		font_print(16,80,"    P   - TURN RIGHT",screen);
		font_print(16,90,"  SPACE - FIRE",screen);
		font_print(16,100,"  ENTER - BALL ATRACTOR",screen);

		font_print(16,120,"TO ACHIEVE YOUR GOAL, YOU CAN CHOOSE BETWEEN",screen);
		font_print(16,130,"THREE DIFFERENT SHIPS, EACH ONE WITH ITS OWN",screen);
		font_print(16,140,"CHARACTERISTICS:",screen);
		font_print(16,160," THE SHADOW RUNNER: HIGH SPEED, FEW WEAPONS",screen);
		font_print(16,170," THE V-PANTHER 2  : MEDIUM SPEED, MEDIUM WEAPONS",screen);
		font_print(16,180," THE X-TERMINATOR : LOW SPEED, DEFINITIVE WEAPONS",screen);
	} /* if */ 

	if (SUBSTATE>128 && SUBSTATE<192) {
		font_print(16,10,"              SUPER TRANSBALL 2 V1.5",screen);

		font_print(16,30, "GUIDE[1]:",screen);
		font_print(16,50, " - YOUR SHIP IS UNDER THE EFFECT OF THE GRAVITY.",screen);
		font_print(16,60, " - WITH YOUR THRUSTER, YOU MUST AVOID TO COLLIDE",screen);
		font_print(16,70, "   WITH THE BACKGROUND.",screen);
		font_print(16,80, " - YOU MUST FIND THE WHITE BALL, THEN USE THE",screen);
		font_print(16,90, "   ATRACTOR OVER IT DURING A WHILE. IT WILL TURN",screen);
		font_print(16,100,"   BLUE. ",screen);
		font_print(16,110," - WHEN THE BALL IS BLUE, YOUR SHIP ATRACTS IT.",screen);
		font_print(16,120," - TO COMPLETE A LEVEL YOU MUST CARRY THE BALL",screen);
		font_print(16,130,"   TO THE UPPER PART.",screen);
		font_print(16,140," - YOU CAN KILL THE MANY ENEMIES YOU WILL FIND",screen);
		font_print(16,150,"   USING YOUR CANONS, SEVERAL SHOTS ARE NEEDED",screen);
		font_print(16,160,"   TO KILL THE ENEMIES [DEPENDING ON THE SHIP].",screen);
	} /* if */ 

	if (SUBSTATE>192 && SUBSTATE<256) {
		font_print(16,10,"              SUPER TRANSBALL 2 V1.5",screen);

		font_print(16,30, "GUIDE[2]:",screen);
		font_print(16,50, " - YOU WILL FIND DOORS THAT OPEN OR CLOSE WHEN",screen);
		font_print(16,60, "   YOU TAKE THE BALL.",screen);
		font_print(16,70, " - SOME OTHER DOORS ARE ACTIVATED BY SWITCHES.",screen);
		font_print(16,80, " - TO PRESS A SWITCH, YOU MUST MAKE THE BALL TO",screen);
		font_print(16,90, "   BOUNCE ON IT.",screen);
		font_print(16,100," - YOUR THRUSTER AND WEAPONS USE FUEL, YOU MUST ",screen);
		font_print(16,110,"   RECHARGE IT WHENEVER POSSIBLE.",screen);
		font_print(16,120," - SOME LEVELS MAY SEEM VERY DIFFICULT THE FIRST",screen);
		font_print(16,130,"   TIME, BUT WITH PRACTICE, EVERY LEVEL BECOMES",screen);
		font_print(16,140,"   EASY... :]",screen);
	} /* if */ 

	if (SUBSTATE>256 && SUBSTATE<320) {
		font_print(16,10,"              SUPER TRANSBALL 2 V1.5",screen);

		font_print(16,30,"THIS GAME IS INSPIRED ON THARA ZHRUSTA FOR THE",screen);
		font_print(16,40,"AMIGA 500, BUT UNFORTUNATELY CANNOT COMPARE WITH",screen);
		font_print(16,50,"IT...",screen);

		font_print(16,100,"                BRAIN 2002-2005",screen);
		font_print(16,110,"             SANTI ONTA~ON VILLAR",screen);
		font_print(16,120,"         SEE README FILE FOR MORE INFO",screen);
	} /* if */ 
	if ((SUBSTATE%64)<32) {
		surface_fader(screen,float((SUBSTATE%64))/32.0F,float((SUBSTATE%64))/32.0F,float((SUBSTATE%64))/32.0F,-1,0);
		SUBSTATE++;
	} /* if */ 
	if ((SUBSTATE%64)==32) {
		if (keyboard[FIRE_KEY] && !old_keyboard[FIRE_KEY]) SUBSTATE++;
	} /* if */ 
	if ((SUBSTATE%64)>32) {
		surface_fader(screen,float(64-(SUBSTATE%64))/32.0F,float(64-(SUBSTATE%64))/32.0F,float(64-(SUBSTATE%64))/32.0F,-1,0);
		SUBSTATE++;
		if (SUBSTATE==320) {
			SDL_FreeSurface(image);
			image=0;

			STATE=1;
			SUBSTATE=0;
		} /* if */ 
	} /* if */ 

	return true;
} /* state_instructions_cycle */