(20120108) 00:00

This commit is contained in:
2012-01-08 00:00:00 +01:00
parent 69a05d943d
commit f9a9171a19
17 changed files with 348 additions and 370 deletions

View File

@@ -241,7 +241,6 @@ int Entity_Collide(Entity *b1,Entity *b2){
float t;
vec2 n;
vec2 vel;
Entity *b_aux;
//if(!(b1->flags&EntityFlag_Collision) || !(b2->flags&EntityFlag_Collision))
// return(0);
@@ -296,7 +295,6 @@ int Entity_Collide(Entity *b1,Entity *b2){
//
void Entity_Overlaps(Entity *b1,Entity *b2){
vec2 len;
float dist;
// if(!(b1->flags&EntityFlag_Overlap) || !(b2->flags&EntityFlag_Overlap))
// return;
@@ -415,7 +413,7 @@ void Entity_SetLight(Entity *e,float r,float g,float b,float rad){
void Entity_Iluminate(Entity *e,Entity **elist,int n){
int i;
vec2 vdist;
float qdist,dist,f;
float qdist,f;
float qrad;
if(!(e->flags&EntityFlag_Light)){

View File

@@ -71,15 +71,7 @@ Entity *ent_arrow_left;
Entity *ent_arrow_right;
Entity *ent_exitpoint;
Entity *ent_endpoint;
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_savepoint;
Entity *ent_fire;
Entity *ent_player_broken;
@@ -570,32 +562,15 @@ void GameEnts_Init(){
ent_arrowshooter_right->child=ent_arrow_right;
ent_savepoint_1=Entity_Copy(ent);
ent_savepoint_1->type=Ent_SavePoint;
ent_savepoint_1->zorder=0;
ent_savepoint_1->flags=EntityFlag_Overlap|EntityFlag_Light;
ent_savepoint_1->radius=20;
Entity_SetLight(ent_savepoint_1,0.0f,0.0f,0.5f,2*32.0f);
AnimPlay_SetImg(&ent_savepoint_1->anim,img_savepoint);
ent_savepoint_1->overlap=savepoint_overlap;
ent_savepoint_1->ondelete=savepoint_ondelete;
ent_savepoint_1->A=1;
ent_savepoint_2=Entity_Copy(ent_savepoint_1);
ent_savepoint_2->A=2;
ent_savepoint_3=Entity_Copy(ent_savepoint_1);
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_savepoint=Entity_Copy(ent);
ent_savepoint->type=Ent_SavePoint;
ent_savepoint->zorder=0;
ent_savepoint->flags=EntityFlag_Overlap|EntityFlag_Light;
ent_savepoint->radius=20;
Entity_SetLight(ent_savepoint,0.0f,0.0f,0.5f,2*32.0f);
AnimPlay_SetImg(&ent_savepoint->anim,img_savepoint);
ent_savepoint->overlap=savepoint_overlap;
ent_savepoint->ondelete=savepoint_ondelete;
ent_exitpoint=Entity_Copy(ent);

View File

@@ -42,14 +42,6 @@ extern Entity *ent_arrow_left;
extern Entity *ent_arrow_right;
extern Entity *ent_exitpoint;
extern Entity *ent_endpoint;
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;
extern Entity *ent_savepoint;
#endif

View File

@@ -288,7 +288,6 @@ int GameLib_ProcLoop(){
time=Time_GetTime();
GameLib_Compactate();_entities_lock=1;
for(i=0;i<_n_entities;i++){
Entity *e;
Entity_PostProcess(_entity[i],_ft);
if(_entity[i]->flags&EntityFlag_UpdatedPos){
GameLib_EntityUpdateLight(_entity[i]);

View File

@@ -8,11 +8,12 @@
#include "GameMap.h"
void GameMapAux_CreateEnt(Entity *ent,int i,int j){
Entity *GameMapAux_CreateEnt(Entity *ent,int i,int j){
Entity *e;
e=Entity_Copy(ent);
vec2_set(e->pos,16+i*32,16+j*32);
GameLib_AddEntity(e);
return(e);
}
void Aux_Linea(FILE *f,char *line){
@@ -56,15 +57,7 @@ int GameMapAux_IsFloor(char c){
c=='#' ||
c=='m' ||
c=='B' ||
c=='1' ||
c=='2' ||
c=='3' ||
c=='4' ||
c=='5' ||
c=='6' ||
c=='7' ||
c=='8' ||
c=='9' ||
c=='S' ||
c=='E' ||
c=='F' ||
c=='A' ||
@@ -84,7 +77,7 @@ int GameMap_CreateLevel(int level,int point){
FILE *file;
char line[1024];
int w,h;
int i,j;
int i,j,i2;
int floor;
sprintf(filename,"data/level_%02d.txt",level);
@@ -100,19 +93,20 @@ int GameMap_CreateLevel(int level,int point){
for(j=0;j<h;j++){
Aux_Linea(file,line);
for(i=0;i<w;i++){
i2=i*2;
// Prepare the floor
floor=0;
if(i>0){
if(GameMapAux_IsFloor(line[i-1])){
if(GameMapAux_IsFloor(line[i2-2])){
floor|=4;
}
}
if(i<(w-1)){
if(GameMapAux_IsFloor(line[i+1])){
if(GameMapAux_IsFloor(line[i2+2])){
floor|=1;
}
}
if(GameMapAux_IsFloor(line[i])){
if(GameMapAux_IsFloor(line[i2])){
floor|=2;
}
if(floor==7){
@@ -130,94 +124,64 @@ int GameMap_CreateLevel(int level,int point){
// Put the rest of the entities
if(line[i]=='.'){
if(line[i2]=='.'){
// Floor
}else
if(line[i]=='#'){
if(line[i2]=='#'){
// Column
GameMapAux_CreateEnt(ent_column,i,j);
}else
if(line[i]=='m'){
if(line[i2]=='m'){
// Column faded
GameMapAux_CreateEnt(ent_column_faded,i,j);
}else
if(line[i]=='r'){
if(line[i2]=='r'){
// Rock
GameMapAux_CreateEnt(ent_rock,i,j);
}else
if(line[i]=='l'){
if(line[i2]=='l'){
// Lamp
GameMapAux_CreateEnt(ent_lamp,i,j);
}else
if(line[i]=='B'){
if(line[i2]=='B'){
// Barrel
GameMapAux_CreateEnt(ent_barrel,i,j);
}else
if(line[i]=='S'){
if(line[i2]=='|'){
// Spiked hole
GameMapAux_CreateEnt(ent_hole_spiked,i,j);
}else
if(line[i]=='L'){
if(line[i2]=='L'){
// Lava hole
GameMapAux_CreateEnt(ent_hole_lava,i,j);
}else
if(line[i]=='1'){
// Save point 1
GameMapAux_CreateEnt(ent_savepoint_1,i,j);
if(line[i2]=='S'){
Entity *e;
// Save point
e=GameMapAux_CreateEnt(ent_savepoint,i,j);
e->A=line[i2+1]-'0';
}else
if(line[i]=='2'){
// Save point 2
GameMapAux_CreateEnt(ent_savepoint_2,i,j);
}else
if(line[i]=='3'){
// Save point 3
GameMapAux_CreateEnt(ent_savepoint_3,i,j);
}else
if(line[i]=='4'){
// 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'){
if(line[i2]=='E'){
// Exit point
GameMapAux_CreateEnt(ent_exitpoint,i,j);
}else
if(line[i]=='F'){
if(line[i2]=='F'){
// End point
GameMapAux_CreateEnt(ent_endpoint,i,j);
}else
if(line[i]=='>'){
if(line[i2]=='>'){
// ArrowShooter right
GameMapAux_CreateEnt(ent_arrowshooter_right,i,j);
}else
if(line[i]=='<'){
if(line[i2]=='<'){
// ArrowShooter left
GameMapAux_CreateEnt(ent_arrowshooter_left,i,j);
}else
if(line[i]=='V'){
if(line[i2]=='V'){
// ArrowShooter down
GameMapAux_CreateEnt(ent_arrowshooter_down,i,j);
}else
if(line[i]=='A'){
if(line[i2]=='A'){
// ArrowShooter up
GameMapAux_CreateEnt(ent_arrowshooter_up,i,j);
}else

42
Input.c
View File

@@ -55,48 +55,6 @@ int Input_Init(){
// Notify a frame update to the input subsystem.
void Input_Frame(){
Uint8* keys;
/*Uint8 buttons;
int mx,my;
vec2 mdir;
float temp;
int mup,mdown,mleft,mright;
extern int _width,_height;
// Get mouse state
buttons=SDL_GetMouseState(&mx,&my);
vec2_set(mdir,mx-(_width/2),my-(_height/2.0f));
temp=1.0f/sqrtf(vec2_dot(mdir,mdir));
vec2_scale(mdir,mdir,temp);
mup=mdown=mleft=mright=0;
// Virtual Dpad on screen using mouse position
if(buttons){
if(mdir[0]>0.5f){
mright=1;
}
if(mdir[0]<-0.5f){
mleft=1;
}
if(mdir[1]>0.5f){
mdown=1;
}
if(mdir[1]<-0.5f){
mup=1;
}
}
// Process Keys
keys=SDL_GetKeyState(NULL);
Input_SetKey(InputKey_Action1,keys[SDLK_z]);
Input_SetKey(InputKey_Action2,keys[SDLK_x]);
Input_SetKey(InputKey_Up,keys[SDLK_UP]|mup);
Input_SetKey(InputKey_Down,keys[SDLK_DOWN]|mdown);
Input_SetKey(InputKey_Left,keys[SDLK_LEFT]|mleft);
Input_SetKey(InputKey_Right,keys[SDLK_RIGHT]|mright);
Input_SetKey(InputKey_Jump,keys[SDLK_SPACE]);
Input_SetKey(InputKey_Continue,keys[SDLK_RETURN]|keys[SDLK_KP_ENTER]);
*/
// Process Keys
keys=SDL_GetKeyState(NULL);

BIN
a.out Executable file

Binary file not shown.

88
conv.c Normal file
View File

@@ -0,0 +1,88 @@
#include <stdio.h>
#include <string.h>
int Aux_Linea(FILE *f,char *line){
int c;
int i=0;
memset(line,0,1024);
while(i<1024){
c=fgetc(f);
if(c==EOF){
line[i]=0;
return(0);
}
if(c=='\r'){
continue;
}
if(c=='\n'){
line[i]=0;
break;
}
line[i]=c;
i++;
}
return(1);
}
int convert(char *file){
FILE *f,*f2;
char file2[1024];
char line[1024];
int w,h;
int i,n;
int loop;
f=fopen(file,"rb");
if(!f){
return(0);
}
sprintf(file2,"%s.txt",file);
f2=fopen(file2,"wb");
if(!f2){
fclose(f);
return(0);
}
Aux_Linea(f,line);
sscanf(line,"%d %d",&w,&h);
fprintf(f2,"%d %d\n",w,h);
loop=0;
do{
loop=Aux_Linea(f,line);
n=strlen(line);
for(i=0;i<n;i++){
fprintf(f2,"%c%c",line[i],line[i]);
}
fprintf(f2,"\n");
}while(loop);
fclose(f);
fclose(f2);
return(1);
}
int main(int argc,char *argv[]){
char file[1024];
int i;
i=0;
do{
sprintf(file,"data/level_%02d.txt",i);
printf("%s\n",file);
if(!convert(file)){
break;
}
i++;
}while(1);
return(1);
}

View File

@@ -1,23 +1,23 @@
33 23
######l######## ###l######l##
#.............# #...........#
#.........S...l####..SSSSSSS..#
#.1.......S.......2..S........#
#.........S...lmmmm..S..SSSSSS#
#.............m m..S........#
#mmmmmlmmmmmmmm mmmmmml.lmmm#
m.m
m.m
m.m
m.m
#####3#####
#.........#
#.........#
l.........l
m.BBB.BBB.m
mSSSSSSSSSm
m.........m
m.........m
m....E....m
mmmmmmmmmmm
############ll################ ######ll############ll####
##..........................## ##......................##
##..................||......ll########....||||||||||||||....##
##..S1..............||..............S2....||................##
##..................||......llmmmmmmmm....||....||||||||||||##
##..........................mm mm....||................##
##mmmmmmmmmmllmmmmmmmmmmmmmmmm mmmmmmmmmmmmll..llmmmmmm##
mm..mm
mm..mm
mm..mm
mm..mm
##########S3##########
##..................##
##..................##
ll..................ll
mm..BBBBBB..BBBBBB..mm
mm||||||||||||||||||mm
mm..................mm
mm..................mm
mm........EE........mm
mmmmmmmmmmmmmmmmmmmmmm

View File

@@ -1,51 +1,51 @@
100 100
#########
#...1...#
#.......#
#.......#
#.......#
#mml.lmm#
m.m
m.m
m.m
m.m
m.m
m.m
######2#######
#SSSS....SSSS#
#SSSS.Br.SSSS#
lS..SSB..SSSSl
mS.SSSSSSSSSSm
mS.SSSSSSSSSSm
mS.SSSSSSSSSSm
mS.....BSSB.Sm
mSSSSS.SSSSSSm
mmmmml.lmmmmmm
m.m
m.m
m.m
m.m
m.m
######3######
#...S...S...#
#...S.B.S...#
l...SSSSS.B.l
mSSSrrrrrSSSm
m...........m
mSSS..B..SSSm
m...rSSSr...m
m...SrrrS...m
m..BS...S...m
mmmmml.lmmmmm
m.m
m.m
m.m
m.m
m.m
####.####
#.......#
#.......#
#.......#
#...E...#
#mmmmmmm#
##################
##......S1......##
##..............##
##..............##
##..............##
##mmmmll..llmmmm##
mm..mm
mm..mm
mm..mm
mm..mm
mm..mm
mm..mm
############S2##############
##||||||||........||||||||##
##||||||||..BBrr..||||||||##
ll||....||||BB....||||||||ll
mm||..||||||||||||||||||||mm
mm||..||||||||||||||||||||mm
mm||..||||||||||||||||||||mm
mm||..........BB||||BB..||mm
mm||||||||||..||||||||||||mm
mmmmmmmmmmll..llmmmmmmmmmmmm
mm..mm
mm..mm
mm..mm
mm..mm
mm..mm
############S3############
##......||......||......##
##......||..BB..||......##
ll......||||||||||..BB..ll
mm||||||rrrrrrrrrr||||||mm
mm......................mm
mm||||||....BB....||||||mm
mm......rr||||||rr......mm
mm......||rrrrrr||......mm
mm....BB||......||......mm
mmmmmmmmmmll..llmmmmmmmmmm
mm..mm
mm..mm
mm..mm
mm..mm
mm..mm
########..########
##..............##
##..............##
##..............##
##......EE......##
##mmmmmmmmmmmmmm##

View File

@@ -1,23 +1,23 @@
33 23
######l######## #############
#.............# #...........#
#.........L...l####..LLLLLLL..#
#.1.......L.......2..L........#
#.........L...lmmmm..L..LLLLLL#
#.............m m..L........#
#mmmmmlmmmmmmmm mmmmmml.lmmm#
m.m
m.m
m.m
m.m
#####3#####
#.........#
#.........#
l.........l
#.BBB.BBB.#
#LLLLrSSSS#
#.........#
#.........#
#....E....#
#mmmmmmmmm#
############ll################ ##########################
##..........................## ##......................##
##..................LL......ll########....LLLLLLLLLLLLLL....##
##..S1..............LL..............S2....LL................##
##..................LL......llmmmmmmmm....LL....LLLLLLLLLLLL##
##..........................mm mm....LL................##
##mmmmmmmmmmllmmmmmmmmmmmmmmmm mmmmmmmmmmmmll..llmmmmmm##
mm..mm
mm..mm
mm..mm
mm..mm
##########S3##########
##..................##
##..................##
ll..................ll
##..BBBBBB..BBBBBB..##
##LLLLLLLLrr||||||||##
##..................##
##..................##
##........EE........##
##mmmmmmmmmmmmmmmmmm##

View File

@@ -1,27 +1,28 @@
100 100
#########
#...1...#
#.......#
#.......#
#.......#
#mml.lmm#
m.m
m.m
m.m
m.m
#######2#######
#SSSSSS.SSSSSS#
#S....S.S....S# ########
#S.LLBS.S.LL.S# #......#
#S......S....S# #......#
#SSSS.SSSSSSSSl####......#
#SSSS.SSS..............E.#
#SSSSSSSSSSSSSlmmmm......#
#S..B...S....Sm m......#
#S.LL.SSSBLL.Sm m......#
#S....SSS....Sm mmmmmmm#
#SSSSSSSSSSSSSm
mmmmmmmmmmmmmmm
##################
##......S1......##
##..............##
##..............##
##..............##
##mmmmll..llmmmm##
mm..mm
mm..mm
mm..mm
mm..mm
##############S2##############
##||||||||||||..||||||||||||##
##||........||..||........||## ################
##||..LLLLBB||..||..LLLL..||## ##............##
##||............||........||## ##............##
##||||||||..||||||||||||||||ll########............##
##||||||||||||||||............................EE..##
##||||||||..||||||||||||||||llmmmmmmmm............##
##||....BB....||..........||mm mm............##
##||..LLLL..||||||BBLLLL..||mm mm............##
##||........||||||........||mm mmmmmmmmmmmmmm##
##||||||||||||||||||||||||||mm
mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

View File

@@ -1,26 +1,26 @@
33 26
######l######## ###l#####l###
#.............# #........V..#
#.............l####...........#
#.1...............2...........#
#.............lmmmm>..........#
#.........A...m m....A......#
#mmmmmlmmmmmmmm mmmmmml.lmmm#
m.m
m.m
m.m
m.m
#####3#####
#.........#
#......BB.#
#........<#
l.BB......l
#>........#
#......BB.#
#........<#
l.BB......l
#>........#
#.........#
#....E....#
#mmmmmmmmm#
############ll################ ######ll##########ll######
##..........................## ##................VV....##
##..........................ll########......................##
##..S1..............................S2......................##
##..........................llmmmmmmmm>>....................##
##..................AA......mm mm........AA............##
##mmmmmmmmmmllmmmmmmmmmmmmmmmm mmmmmmmmmmmmll..llmmmmmm##
mm..mm
mm..mm
mm..mm
mm..mm
##########S3##########
##..................##
##............BBBB..##
##................<<##
ll..BBBB............ll
##>>................##
##............BBBB..##
##................<<##
ll..BBBB............ll
##>>................##
##..................##
##........EE........##
##mmmmmmmmmmmmmmmmmm##

View File

@@ -1,68 +1,69 @@
100 100
#########
#...1...#
#.......#
#.......#
#.......#
#mml.lmm#
m.m
m.m
m.m
m.m
m.m
m.m
##l###2###l##
#...........#
#.B.B...B.B.#
#...........#
#LLLLrSrLLLL#
#...A...A...#
#mmmml.lmmmm#
m.m
m.m
m.m
m.m
######3######
#..V.V.....L#
#LLLLLLLLL.L#
#L.........L#
#L.LLLLLLLLL#
#L.........L#
#LLLLLLLLL.L#
#L.........L#
#L.LLLLLLLLL#
#L.....A.A..#
#mmmml.lmmmm#
m.m
m.m
m.m
m.m
m.m
###V#V4######
#LLLLL.LLLLL#
#LLLLL.....L#
>LLLLLLLLL.L#
mL.........L#
mL.LLLLLLLLL<
mL.........Lm
>LLLLLLLLL.Lm
mL.........Lm
mL.LLLLLLLLL<
mL.....LLLLLm
mLLLLL.LLLLLm
mmmmmm.AmAmmm
l.l
m.m
m.m
m.m
m.m
####.####
#.......#
#.......#
#.......#
#...E...#
#mmmmmmm#
##################
##......S1......##
##..............##
##..............##
##..............##
##mmmmll..llmmmm##
mm..mm
mm..mm
mm..mm
mm..mm
mm..mm
mm..mm
####ll######S2######ll####
##......................##
##..BB..BB......BB..BB..##
##......................##
##LLLLLLLLrr||rrLLLLLLLL##
##......AA......AA......##
##mmmmmmmmll..llmmmmmmmm##
mm..mm
mm..mm
mm..mm
mm..mm
############S3############
##....VV..VV..........LL##
##LLLLLLLLLLLLLLLLLL..LL##
##LL..................LL##
##LL..LLLLLLLLLLLLLLLLLL##
##LL..................LL##
##LLLLLLLLLLLLLLLLLL..LL##
##LL..................LL##
##LL..LLLLLLLLLLLLLLLLLL##
##LL..........AA..AA....##
##mmmmmmmmll..llmmmmmmmm##
mm..mm
mm..mm
mm..mm
mm..mm
mm..mm
######VV##VVS4############
##LLLLLLLLLL..LLLLLLLLLL##
##LLLLLLLLLL..........LL##
>>LLLLLLLLLLLLLLLLLL..LL##
mmLL..................LL##
mmLL..LLLLLLLLLLLLLLLLLL<<
mmLL..................LLmm
>>LLLLLLLLLLLLLLLLLL..LLmm
mmLL..................LLmm
mmLL..LLLLLLLLLLLLLLLLLL<<
mmLL..........LLLLLLLLLLmm
mmLLLLLLLLLL..LLLLLLLLLLmm
mmmmmmmmmmmm..AAmmAAmmmmmm
ll..ll
mm..mm
mm..mm
mm..mm
mm..mm
########..########
##..............##
##..............##
##..............##
##......EE......##
##mmmmmmmmmmmmmm##

View File

@@ -1,20 +1,21 @@
100 100
#########
#...1...#
#.......#
#.......#
#.......#
#mml.lmm#
m.m
m.m
m.m
m.m
####.####
#.......#
#.......#
#.......#
#...F...#
#mmmmmmm#
##################
##......S1......##
##..............##
##..............##
##..............##
##mmmmll..llmmmm##
mm..mm
mm..mm
mm..mm
mm..mm
########..########
##..............##
##..............##
##..............##
##......FF......##
##mmmmmmmmmmmmmm##

BIN
game.save

Binary file not shown.

1
main.c
View File

@@ -2,6 +2,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>