First real upload of the files used for developing

git-svn-id: https://clonekeenplus.svn.sourceforge.net/svnroot/clonekeenplus/cgenius/trunk@5 4df4b0f3-56ce-47cb-b001-ed939b7d65a6
This commit is contained in:
gerstrong
2009-06-06 19:24:55 +00:00
commit 563103b890
310 changed files with 42607 additions and 0 deletions
+125
View File
@@ -0,0 +1,125 @@
#define MAX_COMMANDS 8
#define MAX_SOUND_LENGTH 1024
#define MAX_SOUNDS 50
#define MAX_STRING_LENGTH 256
#define OPT_FULLYAUTOMATIC 0
#define OPT_SUPERPOGO 1
#define OPT_ALLOWPKING 2
#define OPT_CHEATS 3
#define OPT_TWOBUTTON 4
#define OPT_KEYCARDSTACK 5
#define OPT_ANALOGJOYSTICK 6
#define NUM_OPTIONS 7
#define OPT_MEAN 7 // This isn't part of the options menu anymore
#define MAX_NUMBER_OF_FILES 100
typedef struct stOption
{
char *name;
char value;
} stOption;
typedef struct stDisplay
{
unsigned int Width;
unsigned int Height;
unsigned short Depth;
short Mode;
short Fullscreen;
short Filtermode;
short Zoom;
unsigned short FrameSkip;
} stDisplay;
typedef struct stDevice
{
SDL_Joystick *Joystick;
SDL_Event Event;
} stDevice;
typedef struct stLevelControl
{
// level control
int command; // used to give a command to playgame_levelmanager()
int chglevelto; // parameter to LVLC_CHANGE_LEVEL
int tobonuslevel; // if 1 player will warp to bonus level on return to WM (for ep1)
// data about current level
int curlevel; // number of current level
char success; // 1 if level was finished, 0 if he died
char isfinallevel; // 1 if this is the final level
char canexit; // 1 if player is allowed to use the exit door
char gameovermode; // 1 if "Game Over" is displayed
char dokeensleft; // 1 if we need to do the "Keens Left"
char dark; // 1 if level is currently dark (lights are out)
int episode; // which episode we're playing (1-3)
// array of which levels have been completed (have "Done" tiles over them
// on the world map)
int levels_completed[MAX_LEVELS+1];
// exitXpos: the X pixel position (not <<CSFed) of the frame of the exit
// door. when walking out the door, keen's sprite will not be drawn past
// this point.
unsigned int level_done, level_done_timer;
unsigned int level_finished_by; // index of player that finished level
unsigned int exitXpos;
} stLevelControl;
typedef struct stControl
{
short eseq; // see only the ending sequence
short dtm; // go direct to map.
short storyboard; // go to storyboard
short skipstarting; // Skip Startmenu, Intro and Mainmenu.
stLevelControl levelcontrol;
} stControl;
typedef struct stGameData
{
char DataDirectory[MAX_STRING_LENGTH];
short Episode;
char Name[MAX_STRING_LENGTH];
char FileList[MAX_NUMBER_OF_FILES][MAX_STRING_LENGTH];
} stGameData;
typedef struct stResources
{
unsigned short GameSelected;
} stResources;
typedef struct stJoyevent
{
unsigned short button;
short axis;
} stJoyevent;
typedef struct stCommand
{
char name[10];
char description[80];
Uint8 eventtype;
SDL_KeyboardEvent key;
SDL_MouseMotionEvent motion;
SDL_MouseButtonEvent button;
SDL_JoyAxisEvent jaxis;
SDL_JoyBallEvent jball;
SDL_JoyHatEvent jhat;
SDL_JoyButtonEvent jbutton;
short state;
} stCommand;
typedef struct stNewPlayer
{
stCommand Command;
} stNewPlayer;
+41
View File
@@ -0,0 +1,41 @@
/*
* enemyai.h
*
* Created on: 17.01.2009
* Author: gerstrong
*/
// .ai functions
// ep1
void yorp_ai(int o, stLevelControl levelcontrol);
void garg_ai(int o, stCloneKeenPlus *pCKP);
void vort_ai(int o, stCloneKeenPlus *pCKP, stLevelControl levelcontrol);
void butler_ai(int o);
void tank_ai(int o);
void ray_ai(int o, stCloneKeenPlus *pCKP, stLevelControl levelcontrol);
void door_ai(int o);
void icechunk_ai(int o);
void icebit_ai(int o);
void teleporter_ai(int o, stLevelControl levelcontrol);
void rope_ai(int o);
// ep2
void walker_ai(int o, stLevelControl levelcontrol);
void tankep2_ai(int o, stCloneKeenPlus *pCKP);
void platform_ai(int o, stLevelControl levelcontrol);
void bear_ai(int o, stLevelControl levelcontrol, stCloneKeenPlus *pCKP);
void se_ai(int o, stCloneKeenPlus *pCKP);
void baby_ai(int o, stLevelControl levelcontrol);
void explosion_ai(int o);
void earthchunk_ai(int o);
// ep3
void foob_ai(int o, stCloneKeenPlus *pCKP);
void ninja_ai(int o, stCloneKeenPlus *pCKP);
void meep_ai(int o, stLevelControl levelcontrol);
void sndwave_ai(int o, stCloneKeenPlus *pCKP);
void mother_ai(int o, stLevelControl levelcontrol);
void fireball_ai(int o, stCloneKeenPlus *pCKP);
void ballandjack_ai(int o, stCloneKeenPlus *pCKP);
void platvert_ai(int o);
void nessie_ai(int o);
void gamedo_enemyai(stCloneKeenPlus *pCKP);
+11
View File
@@ -0,0 +1,11 @@
/*
* eseq_ep1.h
*
* Created on: 02.01.2009
* Author: gerstrong
*/
int eseq1_ShipFlys(stCloneKeenPlus *pCKP);
void eseq_ToBeContinued(stCloneKeenPlus *pCKP);
int eseq1_ReturnsToShip(stCloneKeenPlus *pCKP);
int eseq1_BackAtHome(stCloneKeenPlus *pCKP);
+14
View File
@@ -0,0 +1,14 @@
/*
* eseq_ep2.h
*
* Created on: 02.01.2009
* Author: gerstrong
*/
int eseq2_LimpsHome(stCloneKeenPlus *pCKP);
int eseq2_TantalusRay(stCloneKeenPlus *pCKP);
void eseq2_vibrate(stCloneKeenPlus *pCKP);
int eseq2_HeadsForEarth(stCloneKeenPlus *pCKP);
int eseq2_SnowedOutside(stCloneKeenPlus *pCKP);
void eseq_showmsg(char *text, int boxleft, int boxtop, int boxwidth, int boxheight, char autodismiss, stCloneKeenPlus *pCKP);
+9
View File
@@ -0,0 +1,9 @@
/*
* eseq_ep3.h
*
* Created on: 02.01.2009
* Author: gerstrong
*/
void eseq3_Mortimer(stCloneKeenPlus *pCKP);
char eseq3_AwardBigV(stCloneKeenPlus *pCKP);
+12
View File
@@ -0,0 +1,12 @@
/*
* fileio.h
*
* Created on: 09.01.2009
* Author: gerstrong
*/
unsigned int loadmap(char filename[MAX_STRING_LENGTH], char *path, int lvlnum, int isworldmap, stCloneKeenPlus *pCKP);
void addmaptile(unsigned int t);
void addenemytile(unsigned int t, stCloneKeenPlus *pCKP);
short checkConsistencyofGameData(stGameData *p_GameData);
void formatPathString(char *output, const char *path);
+14
View File
@@ -0,0 +1,14 @@
/*
* lzexe.h
*
* Created on: 24.01.2009
* Author: gerstrong
*/
#include <stdio.h>
int get_bit(int *p_bit_count, FILE **fin); /* only used for the conversion of sounds from episode 2 and 3 by sound_extraction_of_exe_files */
int unlzexe(FILE *fin, unsigned char *outbuffer);
int getEXEVersion(int episode, int bufsize);
+8
View File
@@ -0,0 +1,8 @@
/*
* rle.h
*
* Created on: 29.01.2009
* Author: gerstrong
*/
int unRLEW(FILE *fp, unsigned int *filebuf);
+8
View File
@@ -0,0 +1,8 @@
/*
* story.h
*
* Created on: 07.02.2009
* Author: gerstrong
*/
int readStoryText(char **ptext, int episode, char *path);
+229
View File
@@ -0,0 +1,229 @@
// various states we go through when a level is completed
// to do the walking out the exit door animation
#define LEVEL_NOT_DONE 0 // not completed
#define LEVEL_DONE_WALK 1 // walking through exit door
#define LEVEL_DONE_WAIT 2 // finished walk through door, wait a bit
#define LEVEL_DONE_FADEOUT 3 // fading out
#define LEVEL_COMPLETE 4 // on to the next level!
// width of the player sprite, used for walking "behind" the exit door frame
#define PLAYERSPRITE_WIDTH 16
// at STOPWALKING time after starting the exit door animation,
// keen stops walking and we go to LEVEL_DONE_WAIT.
#define LEVEL_DONE_STOPWALKING_TIME 450
// at TOTAL_WAIT_TIME, LEVEL_DONE_FADEOUT is initiated.
#define LEVEL_DONE_TOTAL_WAIT_TIME 1000
// for ankh shield...
// stage1 is no flicker of the shield, changes colors
// in stage2 the shield flickers fast, changes colors
// in stage3 the shield flashes slow, no color change
#define ANKH_STAGE1_TIME 3000
#define ANKH_STAGE2_TIME 1500
#define ANKH_STAGE3_TIME 500
#define PLAY_ANKH_TIME (ANKH_STAGE1_TIME+ANKH_STAGE2_TIME+ANKH_STAGE3_TIME)
// these correspond stage 1,2 and 3 respectively
#define ANKH_STATE_NOFLICKER 0
#define ANKH_STATE_FLICKERFAST 1
#define ANKH_STATE_FLICKERSLOW 2
// rate at which the periodically firing guns in ep3 will fire
#define GUN_FIRE_FREQ 800
// rate at which the ice cannons in ep1 will fire
#define ICECANNON_FIRE_FREQ 400
// direction defines used for various things
#define RIGHT 0
#define LEFT 1
#define UP 2
#define DOWN 3
#define ANKH_SHIELD_FRAME 61
// upon starting to walk, keen will quickly increase to
// PFASTINCMAXSPEED. keen can, at a slower rate,
// reach up to PMAXSPEED (increased every walk anim frame)
#define PFASTINCMAXSPEED 9
#define PMAXSPEED 13
#define PJUMPINERTIA 30 // The higher, the value, the more difficult it is to jump or pogo
#define PFASTINCRATE 16 // accel delay rate up to PFASTINCMAXSPEED
#define PFASTINCRATE_POGO 50 // rate when pogo stick is out
// rates at which player slows down
#define PFRICTION_RATE_INAIR 25 //8
#define PFRICTION_RATE_ONGROUND 5 //2
#define PFRICTION_RATE_WM 1 // on world map
// rate at which player walking animation is shown
#define PWALKANIMRATE 40
// speed at which player walks through the exit door
#define PMAXEXITDOORSPEED 3
// the various jump states
#define PNOJUMP 0 // not jumping
#define PPREPAREJUMP 1 // doing the jump animation
#define PJUMPUP 2 // jumping
#define PJUMPED 3 // Player has jumped
#define PPREPAREPOGO 4 // "pogo compressed" anim frame
#define PPOGOING 5 // pogoing
// the different jumping frames. when CTRL is held down the player will
// go from frame PPREPAREJUMPFRAME to PJUMP_PREPARE_LAST_FRAME at a rate
// of PJUMP_PREPARE_ANIM_RATE until either CTRL is released or the player
// reaches the last frame. How far he got will select one of the various
// jump heights, defined below.
#define PPREPAREJUMPFRAME 8
#define PJUMP_PREPARE_LAST_FRAME 13
#define PJUMP_PREPARE_ANIM_RATE 11
// time to show player in his "pogo compressed" frame before jumping
#define PPOGO_PREPARE_TIME 50
#define PFIREFRAME 20 // raygun frame index
#define PFIRE_SHOWFRAME_TIME 100 // minimum time to show raygun frame
#define PFIRE_LIMIT_SHOT_FREQ 30 // maximum speed player can shoot
#define PFIRE_LIMIT_SHOT_FREQ_FA 50 // fully automatic version
// player frame indexes for world map
#define PMAPRIGHTFRAME 32
#define PMAPDOWNFRAME 36
#define PMAPLEFTFRAME 40
#define PMAPUPFRAME 44
// player dieing states
#define PDIE_NODIE 0
#define PDIE_DYING 1
#define PDIE_DEAD 2
#define PDIE_FELLOFFMAP 3
#define DIE_ANIM_RATE 50
#define DIE_TILL_FLY_TIME 320
#define PDIE_RISE_SPEED -20
#define DIE_MAX_XVECT 10
// initial negative inertia to provide player at
// start of a normal jump and a (high) pogo jump
#define PJUMPUP_SPEED 20
#define PPOGOUP_SPEED 24
// These control the various jump heights.
// one of these pairs is selected depending on how
// long the CTRL key was held down while Keen
// was preparing to jump. #1 causes the highest
// jump and they get lower from there.
// NORMAL_TIME is the amount of time keen will
// jump straight up at speed -PJUMPUP_SPEED.
// when expired his jump slows down at a rate
// of DECREASERATE.
#define PJUMP_NORMALTIME_1 6
#define PJUMP_UPDECREASERATE_1 6
#define PJUMP_NORMALTIME_2 5
#define PJUMP_UPDECREASERATE_2 5
#define PJUMP_NORMALTIME_3 4
#define PJUMP_UPDECREASERATE_3 4
#define PJUMP_NORMALTIME_4 3
#define PJUMP_UPDECREASERATE_4 2
#define PJUMP_NORMALTIME_5 2
#define PJUMP_UPDECREASERATE_5 1
#define PJUMP_NORMALTIME_6 1
#define PJUMP_UPDECREASERATE_6 0
// for short pogo jumps, uses -PJUMPUP_SPEED
#define PJUMP_NORMALTIME_POGO_SHORT 6
#define PJUMP_UPDECREASERATE_POGO_SHORT 6
// for high pogo jumps, uses -PPOGOUP_SPEED
//#define PJUMP_NORMALTIME_POGO_LONG 25
//#define PJUMP_UPDECREASERATE_POGO_LONG 12
#define PJUMP_NORMALTIME_POGO_LONG 36
#define PJUMP_UPDECREASERATE_POGO_LONG 6
// for the super-pogo option
#define PPOGOUP_SPEED_SUPER 40
#define PJUMP_NORMALTIME_POGO_LONG_SUPER 10
#define PJUMP_UPDECREASERATE_POGO_LONG_SUPER 4
// pogo frames
#define PFRAME_POGO 24
#define PFRAME_POGOBOUNCE 25
// frame and animation speed for frozen keen (ep1) and stunned keen (ep2&3)
#define PFRAME_FROZEN 28
#define PFROZENANIMTIME 100
// how long keen should stay frozen when hit by an ice chunk
#define PFROZEN_TIME 1000
#define PFROZEN_THAW 100
// when falling keen's Y inertia increases at INCREASERATE up to MAXSPEED
#define PFALL_INCREASERATE 3
#define PFALL_MAXSPEED 19
// friction when player is pushed by yorp's, ball's, etc.
#define PLAYPUSH_DECREASERATE 1
// uses by the key processing function which changes CTRL, ALT, and CTRL+ALT
// into JUMP, POGO, and FIRE.
#define CTRLALT_DEBOUNCETIME 20
#define PDIEFRAME 22
// various tile indexes
#define BG_GRAY 143
#define BG_GRAY_PRIORITY 304
#define BG_BLACK 155
#define BG_DARK_EP2 147
#define TILE_FELLOFFMAP_EP1 582
#define TILE_FELLOFFMAP_EP3 0
#define TILE_ICE_LEFTCORNER 403
#define TILE_ICE_RIGHTCORNER 404
#define TILE_ICE 405
#define TILE_ICE_CUBE 394
#define TILE_GLOWCELL 241
#define DOOR_YELLOW 2
#define DOOR_RED 3
#define DOOR_GREEN 4
#define DOOR_BLUE 5
#define DOOR_RED_SPRITE (MAX_SPRITES-5)
#define DOOR_GREEN_SPRITE (MAX_SPRITES-4)
#define DOOR_BLUE_SPRITE (MAX_SPRITES-3)
#define DOOR_YELLOW_SPRITE (MAX_SPRITES-2)
#define YORPSTATUEHEAD 22
#define YORPSTATUEHEADUSED 485
#define YORPSTATUEBOTTOM 22
#define ENEMYRAY 109
#define ENEMYRAYEP2 123
#define ENEMYRAYEP3 103
#define RAY_VERT_EP3 104
// if player[].psupportingtile contains this value the player is actually
// supported by an object and you should look in player[].psupportingobj
// for it's index.
#define PSUPPORTEDBYOBJECT 0
void gameloop(stCloneKeenPlus *pCKP);
void gameloop_initialize(stCloneKeenPlus *pCKP);
void initsprites(stCloneKeenPlus *pCKP, int s);
void keen_get_goodie(int px, int py, int theplayer, stCloneKeenPlus *pCKP);
void procgoodie(int t, int mpx, int mpy, int theplayer, stCloneKeenPlus *pCKP);
void initgame(stCloneKeenPlus *pCKP);
int initgamefirsttime(stCloneKeenPlus *pCKP, int s);
void open_door(int doortile, int doorsprite, int mpx, int mpy, int cp, stCloneKeenPlus *pCKP);
void killplayer(int theplayer, stCloneKeenPlus *pCKP);
void PlayerTouchedExit(int theplayer, stCloneKeenPlus *pCKP);
void endlevel(int success, stCloneKeenPlus *pCKP);
void SetGameOver(stCloneKeenPlus *pCKP);
char checkissolidl(int x, int y, int cp, stCloneKeenPlus *pCKP);
char checkissolidr(int x, int y, int cp, stCloneKeenPlus *pCKP);
+7
View File
@@ -0,0 +1,7 @@
void gamedo_RenderScreen(stCloneKeenPlus *pCKP);
void gamedo_frameskipping(stCloneKeenPlus *pCKP);
void gamedo_HandleFKeys(stCloneKeenPlus *pCKP);
void gamedo_frameskipping_blitonly(stCloneKeenPlus *pCKP);
void gamedo_getInput(stCloneKeenPlus *pCKP);
void gamedo_render_drawobjects(stCloneKeenPlus *pCKP);
+27
View File
@@ -0,0 +1,27 @@
void gamepdo_StatusBox(int cp, stCloneKeenPlus *pCKP);
void gamepdo_HandlePlayer(int cp, stCloneKeenPlus *pCKP);
void gamepdo_getgoodies(int cp, stCloneKeenPlus *pCKP);
void gamepdo_falling(int cp, stCloneKeenPlus *pCKP);
void gamepdo_ProcessInput(unsigned int cp, stCloneKeenPlus *pCKP);
//void gamepdo_HandlePlayer(int cp);
void gamepdo_walkbehindexitdoor(int cp, stCloneKeenPlus *pCKP);
void gamepdo_dieanim(int cp, stCloneKeenPlus *pCKP);
void gamepdo_keencicle(int cp, stCloneKeenPlus *pCKP);
void gamepdo_setdir(int cp, stCloneKeenPlus *pCKP);
void gamepdo_setblockedlru(unsigned int cp, stCloneKeenPlus *pCKP);
//void gamepdo_getgoodies(int cp);
void gamepdo_walkinganim(int cp, stCloneKeenPlus *pCKP);
void gamepdo_walking(int cp, stCloneKeenPlus *pCKP);
void gamepdo_playpushed(int cp, stCloneKeenPlus *pCKP);
void gamepdo_JumpAndPogo(int cp, stCloneKeenPlus *pCKP);
void gamepdo_Jump(int cp, stCloneKeenPlus *pCKP);
//void gamepdo_falling(int cp, stCommand command[MAX_COMMANDS]);
void gamepdo_raygun(int cp, stCloneKeenPlus *pCKP);
void gamepdo_special(int cp, stCloneKeenPlus *pCKP);
void gamepdo_SelectFrame(int cp, stCloneKeenPlus *pCKP);
void gamepdo_checkcollision(int cp, stCloneKeenPlus *pCKP);
void gamepdo_moveplayer(int cp, stCloneKeenPlus *pCKP);
void gamepdo_ankh(int cp);
//void gamepdo_StatusBox(int cp);
+9
View File
@@ -0,0 +1,9 @@
void gamepdo_wm_HandlePlayer(int cp, stCloneKeenPlus *pCKP);
void gamepdo_InertiaAndFriction_Y(int cp, stCloneKeenPlus *pCKP);
void gamepdo_InertiaAndFriction_X(unsigned int cp, stCloneKeenPlus *pCKP);
void gamepdo_wm_AllowEnterLevel(int cp, stCloneKeenPlus *pCKP);
void gamepdo_wm_SelectFrame(int cp, stCloneKeenPlus *pCKP);
void gamepdo_wm_setblockedlrud(int cp, stCloneKeenPlus *pCKP);
void gamepdo_wm_setdir(int cp, stCloneKeenPlus *pCKP);
+12
View File
@@ -0,0 +1,12 @@
/*
* graphics.h
*
* Created on: 16.01.2009
* Author: gerstrong
*/
char allocmem();
char Graphics_Start(void);
void sb_blit(void);
void update_screen(void);
+57
View File
@@ -0,0 +1,57 @@
/*
* dialog.h
*
* This file contains structures for dialog items that
* are created with a function, which read the structure and allocates automatically the dialog
*
* Created on: 21.01.2009
* Author: gerstrong
*/
#define STARTER_SAVE 1
#define STARTER_ESCAPE 2
#define STARTER_SOUNDOPT 3
#define STARTER_DISPLAYOPT 4
#define STARTER_GAMEOPT 5
typedef struct stTextLine
{
char *Text;
short ID; // items are orded by ID
} stTextLine;
typedef struct stSeparator
{
short ID; // items are orded by ID
} stSeparator;
typedef struct stOptionSwitch
{
char *Name;
char **Option;
short selected;
short numSel;
short ID; // items are orded by ID
} stOptionSwitch;
typedef struct stStarterSwitch
{
char *Name;
int numFunctionToLaunch;
short ID; // items are sorted by IDs
} stStarterSwitch;
typedef struct stDlgStruct // imagine every substructure as typical control
{
stTextLine *TextLine;
stOptionSwitch *OptionSwitch;
stStarterSwitch *StarterSwitch;
stSeparator *Separator;
short num_TextLines;
short num_OptionSwitches;
short num_StarterSwitch;
short num_Separators;
} stDlgStruct;
+21
View File
@@ -0,0 +1,21 @@
/*
* main.h
*
* Created on: 13.01.2009
* Author: gerstrong
*/
short loadDriverConfiguration(stCloneKeenPlus *pCKP);
short saveDriverConfiguration(stCloneKeenPlus *pCKP);
void startTheWholeGame(stCloneKeenPlus *pCKP);
short readCommandLine(int argc, char *argv[], stCloneKeenPlus *pCKP);
void preallocateCKP(stCloneKeenPlus *pCKP);
short loadGamesConfig(stOption *Option);
short loadResourcesforGame(stCloneKeenPlus *pCKP);
short runGameCycle(stCloneKeenPlus *pCKP, CGame *Game);
short abortCKP(stCloneKeenPlus *pCKP);
void cleanupResources(stCloneKeenPlus *pCKP);
short closeCKP(stCloneKeenPlus *pCKP);
void createDefaultSettings(stOption *Option);
short loadCKPDrivers(stCloneKeenPlus *pCKP);
void SaveConfig(stOption *Option);
+26
View File
@@ -0,0 +1,26 @@
#define TWIRL_SPEED_SLOW 100
#define TWIRL_SPEED_FAST 20
#define MENUS_Y 32
#define MAINMENU_X 32
#define STORYBOARD_X 672
#define STORYBOARD_Y 32
#define FONT_TWIRL 9
#define TWIRL_SPEED 30
#define TWIRL_NUM_FRAMES 5
#include "../CGame.h"
char controlsmenu(stCloneKeenPlus *pCKP);
int mainmenu(stCloneKeenPlus *pCKP,int defaultopt);
char configmenu(stCloneKeenPlus *pCKP);
short loadStartMenu(stCloneKeenPlus *pCKP);
void keensleft(stCloneKeenPlus *pCKP);
int intro(stCloneKeenPlus *pCKP);
void showmapatpos(int level, int xoff, int yoff, int wm, stCloneKeenPlus *pCKP);
short loadResourcesforStartMenu(stCloneKeenPlus *pCKP, CGame *Game);
int getDifficulty(stCloneKeenPlus *pCKP);
void showPage(char *text, stCloneKeenPlus *pCKP, int textsize);
+15
View File
@@ -0,0 +1,15 @@
void cleanup(stCloneKeenPlus *CKP);
void showinventory(int p, stCloneKeenPlus *pCKP);
void YourShipNeedsTheseParts(stCloneKeenPlus *pCKP);
void ShipEp3(stCloneKeenPlus *pCKP);
int endsequence(stCloneKeenPlus *pCKP);
void youseeinyourmind(int mpx, int mpy, stCloneKeenPlus *pCKP);
void VorticonElder(int mpx, int mpy, stCloneKeenPlus *pCKP);
char save_slot_box(int issave, stCloneKeenPlus *pCKP);
void game_save_interface(stCloneKeenPlus *pCKP);
int VerifyQuit(stCloneKeenPlus *pCKP);
char gameiswon(stCloneKeenPlus *pCKP);
void game_save(char *fname, stCloneKeenPlus *pCKP);
int game_load(char *fname, stCloneKeenPlus *pCKP);
void showTextMB(int lines, char **text, stCloneKeenPlus *pCKP);
+21
View File
@@ -0,0 +1,21 @@
/*
* playeraction.h
*
* Created on: 09.02.2009
* Author: gerstrong
*/
/* These are the actions, one player can perform according to the controls and some physical defines*/
#define PA_X 0
#define PA_Y 1
#define PA_JUMP 2
#define PA_POGO 3
#define PA_FIRE 4
#define PA_STATUS 5
#define PA_MAX_ACTIONS 6
#define MAX_SPEED 7000
#define MAX_BOOST 200
#define TIME_DIVIDER 500 // For speed and acceleration
+12
View File
@@ -0,0 +1,12 @@
/*
* oggsupport.h
*
* Created on: 06.01.2009
* Author: gerstrong
*/
#ifdef BUILD_WITH_OGG
short openOGGSound(FILE *fp, SDL_AudioSpec *pspec, stHQSound *psound);
#endif