#include "openal_wrapper.h"
#include "Settings.h"
#include "Input.h"
+#include "Animation.h"
using namespace std;
extern int environment;
extern float texscale;
extern Terrain terrain;
-extern OPENAL_SAMPLE *samp[100];
extern int channels[100];
extern int kTextureSize;
extern float screenwidth,screenheight;
extern float slomodelay;
extern bool floatjump;
extern float volume;
-extern Animation animation[animation_count];
extern Light light;
extern float texdetail;
extern GLubyte bloodText[512*512*3];
}
/********************> Tick() <*****/
-extern void ScreenShot(const char * fname);
+extern bool save_image(const char * fname);
void Screenshot (void)
{
char temp[1024];
#else
mkdir("Screenshots", S_IRWXU);
#endif
-
- ScreenShot(temp);
+
+ save_image(temp);
}
LoadTexture(":Data:Textures:bouldersnow.jpg",&objects.rocktextureptr,1,0);
LoadTexture(":Data:Textures:snowbox.jpg",&objects.boxtextureptr,1,0);
- OPENAL_Sample_Free(samp[footstepsound]);
- OPENAL_Sample_Free(samp[footstepsound2]);
- OPENAL_Sample_Free(samp[footstepsound3]);
- OPENAL_Sample_Free(samp[footstepsound4]);
- samp[footstepsound] = OPENAL_Sample_Load(OPENAL_FREE, ConvertFileName(":Data:Sounds:footstepsnow1.ogg"), OPENAL_HW3D, 0, 0);
- samp[footstepsound2] = OPENAL_Sample_Load(OPENAL_FREE, ConvertFileName(":Data:Sounds:footstepsnow2.ogg"), OPENAL_HW3D, 0, 0);
- samp[footstepsound3] = OPENAL_Sample_Load(OPENAL_FREE, ConvertFileName(":Data:Sounds:footstepstone1.ogg"), OPENAL_HW3D, 0, 0);
- samp[footstepsound4] = OPENAL_Sample_Load(OPENAL_FREE, ConvertFileName(":Data:Sounds:footstepstone2.ogg"), OPENAL_HW3D, 0, 0);
- OPENAL_Sample_SetMinMaxDistance(samp[footstepsound], 4.0f, 1000.0f);
- OPENAL_Sample_SetMinMaxDistance(samp[footstepsound2], 4.0f, 1000.0f);
- OPENAL_Sample_SetMinMaxDistance(samp[footstepsound3], 4.0f, 1000.0f);
- OPENAL_Sample_SetMinMaxDistance(samp[footstepsound4], 4.0f, 1000.0f);
+ footstepsound = footstepsn1;
+ footstepsound2 = footstepsn2;
+ footstepsound3 = footstepst1;
+ footstepsound4 = footstepst2;
LoadTexture(":Data:Textures:snow.jpg",&terraintexture,1,0);
OPENAL_SetVolume(channels[stream_desertambient], 256);
}
- OPENAL_Sample_Free(samp[footstepsound]);
- OPENAL_Sample_Free(samp[footstepsound2]);
- OPENAL_Sample_Free(samp[footstepsound3]);
- OPENAL_Sample_Free(samp[footstepsound4]);
- samp[footstepsound] = OPENAL_Sample_Load(OPENAL_FREE, ConvertFileName(":Data:Sounds:footstepsnow1.ogg"), OPENAL_HW3D, 0, 0);
- samp[footstepsound2] = OPENAL_Sample_Load(OPENAL_FREE, ConvertFileName(":Data:Sounds:footstepsnow2.ogg"), OPENAL_HW3D, 0, 0);
- samp[footstepsound3] = OPENAL_Sample_Load(OPENAL_FREE, ConvertFileName(":Data:Sounds:footstepsnow1.ogg"), OPENAL_HW3D, 0, 0);
- samp[footstepsound4] = OPENAL_Sample_Load(OPENAL_FREE, ConvertFileName(":Data:Sounds:footstepsnow2.ogg"), OPENAL_HW3D, 0, 0);
- OPENAL_Sample_SetMinMaxDistance(samp[footstepsound], 4.0f, 1000.0f);
- OPENAL_Sample_SetMinMaxDistance(samp[footstepsound2], 4.0f, 1000.0f);
- OPENAL_Sample_SetMinMaxDistance(samp[footstepsound3], 4.0f, 1000.0f);
- OPENAL_Sample_SetMinMaxDistance(samp[footstepsound4], 4.0f, 1000.0f);
+ footstepsound = footstepsn1;
+ footstepsound2 = footstepsn2;
+ footstepsound3 = footstepsn1;
+ footstepsound4 = footstepsn2;
LoadTexture(":Data:Textures:sand.jpg",&terraintexture,1,0);
OPENAL_SetVolume(channels[stream_wind], 100);
}
- OPENAL_Sample_Free(samp[footstepsound]);
- OPENAL_Sample_Free(samp[footstepsound2]);
- OPENAL_Sample_Free(samp[footstepsound3]);
- OPENAL_Sample_Free(samp[footstepsound4]);
- samp[footstepsound] = OPENAL_Sample_Load(OPENAL_FREE, ConvertFileName(":Data:Sounds:footstepgrass1.ogg"), OPENAL_HW3D, 0, 0);
- samp[footstepsound2] = OPENAL_Sample_Load(OPENAL_FREE, ConvertFileName(":Data:Sounds:footstepgrass2.ogg"), OPENAL_HW3D, 0, 0);
- samp[footstepsound3] = OPENAL_Sample_Load(OPENAL_FREE, ConvertFileName(":Data:Sounds:footstepstone1.ogg"), OPENAL_HW3D, 0, 0);
- samp[footstepsound4] = OPENAL_Sample_Load(OPENAL_FREE, ConvertFileName(":Data:Sounds:footstepstone2.ogg"), OPENAL_HW3D, 0, 0);
- OPENAL_Sample_SetMinMaxDistance(samp[footstepsound], 4.0f, 1000.0f);
- OPENAL_Sample_SetMinMaxDistance(samp[footstepsound2], 4.0f, 1000.0f);
- OPENAL_Sample_SetMinMaxDistance(samp[footstepsound3], 4.0f, 1000.0f);
- OPENAL_Sample_SetMinMaxDistance(samp[footstepsound4], 4.0f, 1000.0f);
+ footstepsound = footstepgr1;
+ footstepsound2 = footstepgr2;
+ footstepsound3 = footstepst1;
+ footstepsound4 = footstepst2;
LoadTexture(":Data:Textures:grassdirt.jpg",&terraintexture,1,0);
won=0;
//campaign=0;
- animation[bounceidleanim].Load((char *)":Data:Animations:Idle",middleheight,neutral);
+ animation[bounceidleanim].Load((char *)"Idle",middleheight,neutral);
numdialogues=0;
player[i].proportionlegs.z=0;
}
- player[i].tempanimation.Load((char *)":Data:Animations:Tempanim",0,0);
+ player[i].tempanimation.Load((char *)"Tempanim",0,0);
player[i].headmorphness=0;
player[i].targetheadmorphness=1;
if(mainmenu&&endgame==1)mainmenu=10;
if( (Input::isKeyDown(SDLK_ESCAPE)||(mainmenu==0&&((Input::isKeyDown(jumpkey)||Input::isKeyDown(SDLK_SPACE)||(campaign)))&&!oldjumpkeydown&&campaign&&winfreeze))
&& !mainmenutogglekeydown
- && (!mainmenu||gameon||mainmenu==3||mainmenu==4||mainmenu==5||mainmenu==6||(mainmenu==7&&!entername)||mainmenu==9||mainmenu==11||mainmenu==13||mainmenu==17||mainmenu==10)
+ && (!mainmenu||gameon||mainmenu==3||mainmenu==4||mainmenu==5||mainmenu==6||(mainmenu==7&&!entername)||mainmenu==9||mainmenu==10)
) { // go back
selected=-1;
if(mainmenu==1||mainmenu==2||mainmenu==0){
SaveSettings(*this);
}
- if(mainmenu==4||mainmenu==5||mainmenu==6||mainmenu==7||mainmenu==9||mainmenu==13||mainmenu==10||mainmenu==11||mainmenu==100){
+ if(mainmenu==4||mainmenu==5||mainmenu==6||mainmenu==7||mainmenu==9||mainmenu==10||mainmenu==100){
fireSound();
flash();
if(mainmenu==6)mainmenu=5;
if(mainmenu==7)mainmenu=1;
if(mainmenu==9)mainmenu=5;
- if(mainmenu==11)mainmenu=5;
- if(mainmenu==13)mainmenu=12;
if(mainmenu==10)mainmenu=5;
if(mainmenu==100){
mainmenu=5;
}
}
- /*static bool minimaptogglekeydown;
- if(Input::isKeyDown(SDLK_TAB)&&!minimaptogglekeydown){
- minimap=1-minimap;
- minimaptogglekeydown=1;
- }
- if(!Input::isKeyDown(SDLK_TAB)){
- minimaptogglekeydown=0;
- }
- */
-
static bool minimaptogglekeydown;
if(Input::isKeyDown(SDLK_TAB)&&!minimaptogglekeydown&&tutoriallevel){
if(tutorialstage!=51)
gameon=1;
OPENAL_SetPaused(channels[stream_music3], true);
}
- if(Input::Button()&&!oldbutton&&(selected-7>=accountactive->getCampaignChoicesMade())){//selected>=7&&(selected-7<=campaignnumchoices)){
+ if(Input::Button()&&!oldbutton&&(selected-7>=accountactive->getCampaignChoicesMade())){
fireSound();
flash();
mainmenu=5;
}
}
- if(mainmenu==11){
- if(Input::Button()&&!oldbutton&&selected<numchallengelevels&&selected>=0&&selected<=accountactive->getProgress()){
- fireSound();
-
- flash();
-
- startbonustotal=0;
-
- loading=2;
- loadtime=0;
- targetlevel=selected;
- if(firstload) {
- TickOnceAfter();
- Loadlevel(selected);
- } else
- LoadStuff();
- campaign=0;
-
- mainmenu=0;
- gameon=1;
- OPENAL_SetPaused(channels[stream_music3], true);
- }
- if(Input::Button()&&!oldbutton&&selected==numchallengelevels){
- fireSound();
-
- flash();
-
- mainmenu=5;
- }
- }
if(mainmenu==10){
endgame=2;
if(Input::Button()&&!oldbutton&&selected==3){
player[numplayers].proportionlegs.z=0;
}
- player[numplayers].tempanimation.Load((char *)":Data:Animations:Tempanim",0,0);
+ player[numplayers].tempanimation.Load((char *)"Tempanim",0,0);
player[numplayers].damagetolerance=200;