(20111223) 00:00

This commit is contained in:
2011-12-23 00:00:00 +01:00
parent 123dfa03cd
commit f1b89a72b5
7 changed files with 110 additions and 48 deletions

View File

@@ -35,7 +35,7 @@ Entity *Entity_New(){
e->radius=1.0f;
e->mass=1.0f;
e->elast=0.0f;
e->fric_static=0.5f;
e->fric_static=0.0f;
e->fric_dynamic=0.0f;
//e->img=NULL;

View File

@@ -70,6 +70,11 @@ Entity *ent_savepoint_1;
Entity *ent_savepoint_2;
Entity *ent_savepoint_3;
Entity *ent_savepoint_4;
Entity *ent_savepoint_5;
Entity *ent_savepoint_6;
Entity *ent_savepoint_7;
Entity *ent_savepoint_8;
Entity *ent_savepoint_9;
Entity *ent_fire;
Entity *ent_player_broken;
@@ -394,6 +399,7 @@ void GameEnts_Init(){
ent_player->type=Ent_Player;
ent_player->radius=16.0f;
ent_player->mass=70.0f;
ent_player->fric_static=0.5f;
AnimPlay_SetImg(&ent_player->anim,img_player_down);
//AnimPlay_SetAnim(&ent_player->anim,anim_fire);
ent_player->proc=player_proc;
@@ -403,6 +409,7 @@ void GameEnts_Init(){
ent_barrel->type=Ent_Barrel;
ent_barrel->radius=16.0f;
ent_barrel->mass=100.0f;
ent_barrel->fric_static=0.5f;
ent_barrel->proc=barrel_proc;
AnimPlay_SetImg(&ent_barrel->anim,img_barrel);
@@ -458,7 +465,6 @@ void GameEnts_Init(){
ent_arrow_up->type=Ent_Arrow;
ent_arrow_up->flags=EntityFlag_Collision;
ent_arrow_up->radius=7;
ent_arrow_up->fric_static=0;
ent_arrow_up->collision=arrow_collision;
ent_arrow_up->proc=timeoutent_proc;
ent_arrow_up->A=120;
@@ -510,6 +516,16 @@ void GameEnts_Init(){
ent_savepoint_3->A=3;
ent_savepoint_4=Entity_Copy(ent_savepoint_1);
ent_savepoint_4->A=4;
ent_savepoint_5=Entity_Copy(ent_savepoint_1);
ent_savepoint_5->A=5;
ent_savepoint_6=Entity_Copy(ent_savepoint_1);
ent_savepoint_6->A=6;
ent_savepoint_7=Entity_Copy(ent_savepoint_1);
ent_savepoint_7->A=7;
ent_savepoint_8=Entity_Copy(ent_savepoint_1);
ent_savepoint_8->A=8;
ent_savepoint_9=Entity_Copy(ent_savepoint_1);
ent_savepoint_9->A=9;
ent_exitpoint=Entity_New();

View File

@@ -44,5 +44,10 @@ extern Entity *ent_savepoint_1;
extern Entity *ent_savepoint_2;
extern Entity *ent_savepoint_3;
extern Entity *ent_savepoint_4;
extern Entity *ent_savepoint_5;
extern Entity *ent_savepoint_6;
extern Entity *ent_savepoint_7;
extern Entity *ent_savepoint_8;
extern Entity *ent_savepoint_9;
#endif

View File

@@ -395,7 +395,7 @@ void GameLib_ForEachEnt(int (*func)(Entity *ent)){
//
//
void GameLib_PlaySound(AudioSnd snd,int x,int y){
float vleft,vright,vcen;
float vleft,vright,dx,dy;
int r,cx,cy,off;
// Get the screen context
@@ -410,11 +410,12 @@ void GameLib_PlaySound(AudioSnd snd,int x,int y){
off=r/10.0f;
// Calculate volumes
vcen=1.0f-(abs(y-cy)/(float)r);
vright=1.0f-(abs(x-(cx+off))/(float)r);
vleft=1.0f-(abs(x-(cx-off))/(float)r);
vright*=vcen;
vleft*=vcen;
dx=x-(cx+off);
dy=y-(cy);
vright=1.0f-(sqrtf(dx*dx+dy*dy)/(float)r);
dx=x-(cx-off);
dy=y-(cy);
vleft=1.0f-(sqrtf(dx*dx+dy*dy)/(float)r);
// Clamp to 0
if(vleft<0.0f)

View File

@@ -60,6 +60,11 @@ int GameMapAux_IsFloor(char c){
c=='2' ||
c=='3' ||
c=='4' ||
c=='5' ||
c=='6' ||
c=='7' ||
c=='8' ||
c=='9' ||
c=='E' ||
c=='F' ||
c=='A' ||
@@ -162,6 +167,26 @@ int GameMap_CreateLevel(int level,int point){
// Save point 4
GameMapAux_CreateEnt(ent_savepoint_4,i,j);
}else
if(line[i]=='5'){
// Save point 5
GameMapAux_CreateEnt(ent_savepoint_5,i,j);
}else
if(line[i]=='6'){
// Save point 6
GameMapAux_CreateEnt(ent_savepoint_6,i,j);
}else
if(line[i]=='7'){
// Save point 7
GameMapAux_CreateEnt(ent_savepoint_7,i,j);
}else
if(line[i]=='8'){
// Save point 8
GameMapAux_CreateEnt(ent_savepoint_8,i,j);
}else
if(line[i]=='9'){
// Save point 9
GameMapAux_CreateEnt(ent_savepoint_9,i,j);
}else
if(line[i]=='E'){
// Exit point
GameMapAux_CreateEnt(ent_exitpoint,i,j);

View File

@@ -1,16 +1,58 @@
100 100
#########
#...1...#
#.......#
#.......#
#.SSSSSS#
#.......#
#SSSSSS.#
#.......#
#.B.SSSS#
#SSSmmmm#
#.......# ############
##############
#SSSSm.1.mSSS#
#SSSSm...mSSS#
#SSSSm...mSSS#
#SSSSmBm.mSSS#
#S..SSB..mSSS#
#S.SSmmmmmSSS#
#S.SSSSSSSSSS#
#S.....BSSB.S#
#SSSSS.SSSSSS#
#mmmmm.mmmmmm#
mBm
mBm
mBm
mBm
mBm
######B#######
#SSSSm2..SSSS#
#SSSSmBm.SSSS#
#S..SSB..SSSS#
#S.SSSSSSSSSS#
#S.SSSSSSSSSS#
#S.....BSSB.S#
#SSSSS.SSSSSS#
#mmmmm.mmmmmm#
m.m
m.m
m.m
m.m
m.m
m.m
######.######
#.....3.....#
#.B.B...B.B.#
#...........#
#LLLSSSSSLLL#
#...A...A...#
#mmmmm.mmmmm#
m.m
m.m
m.m
m.m
m.m
######.######
#.....4.....#
#.B.B...B.B.#
#...........#
#LLLLLSLLLLL#
#...A...A...#
#mmmmmmmmmmm#
############
#mmm.mmm# #....L.....#
m.m #..L.L.S..<#
m.m #..L.L.S...#
@@ -21,31 +63,4 @@
m....L.S...#
m.>..L.S...########
m.B....S..........#
mmmmmmmmmmmmmmmmm.#
m.#
m.#
m.#
m.#
######.######
#.....3.....#
#.B.B...B.B.#
#...........#
#LLLSSSSSLLL#
#...A...A...#
#...........#
#...........#
#mmmmm.mmmmm#
m.m
m.m
m.m
m.m
m.m
######.######
#.....4.....#
#.B.B...B.B.#
#...........#
#LLLLLSLLLLL#
#...A...A...#
#...........#
#.....F.....#
#mmmmmmmmmmm#
mmmmmmmmmmmmmmmmm

2
main.c
View File

@@ -126,7 +126,7 @@ int main(int argc,char *argv[]){
int pos[2]={0,0};
GameLib_SetPos(pos);
game_level=3;
game_level_point=2;
game_level_point=1;
game_level_reset=0;
GameMap_CreateLevel(game_level,game_level_point);
}