(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->radius=1.0f;
e->mass=1.0f; e->mass=1.0f;
e->elast=0.0f; e->elast=0.0f;
e->fric_static=0.5f; e->fric_static=0.0f;
e->fric_dynamic=0.0f; e->fric_dynamic=0.0f;
//e->img=NULL; //e->img=NULL;

View File

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

View File

@@ -44,5 +44,10 @@ extern Entity *ent_savepoint_1;
extern Entity *ent_savepoint_2; extern Entity *ent_savepoint_2;
extern Entity *ent_savepoint_3; extern Entity *ent_savepoint_3;
extern Entity *ent_savepoint_4; 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 #endif

View File

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

View File

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

View File

@@ -1,16 +1,58 @@
100 100 100 100
######### ##############
#...1...# #SSSSm.1.mSSS#
#.......# #SSSSm...mSSS#
#.......# #SSSSm...mSSS#
#.SSSSSS# #SSSSmBm.mSSS#
#.......# #S..SSB..mSSS#
#SSSSSS.# #S.SSmmmmmSSS#
#.......# #S.SSSSSSSSSS#
#.B.SSSS# #S.....BSSB.S#
#SSSmmmm# #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.....# #mmm.mmm# #....L.....#
m.m #..L.L.S..<# m.m #..L.L.S..<#
m.m #..L.L.S...# m.m #..L.L.S...#
@@ -21,31 +63,4 @@
m....L.S...# m....L.S...#
m.>..L.S...######## m.>..L.S...########
m.B....S..........# m.B....S..........#
mmmmmmmmmmmmmmmmm.# 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#

2
main.c
View File

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