(20120107) 05:00
@@ -13,6 +13,7 @@ DrawImg img_barrel2;
|
||||
DrawImg img_column;
|
||||
DrawImg img_column_faded;
|
||||
DrawImg img_rock;
|
||||
DrawImg img_lamp;
|
||||
DrawImg img_floor;
|
||||
DrawImg img_floor_left;
|
||||
DrawImg img_floor_right;
|
||||
@@ -52,6 +53,7 @@ Entity *ent_barrel;
|
||||
Entity *ent_column;
|
||||
Entity *ent_column_faded;
|
||||
Entity *ent_rock;
|
||||
Entity *ent_lamp;
|
||||
Entity *ent_floor;
|
||||
Entity *ent_floor_right;
|
||||
Entity *ent_floor_left;
|
||||
@@ -370,6 +372,8 @@ void GameEnts_Init(){
|
||||
Draw_SetOffset(img_column_faded,-16,-80);
|
||||
img_rock=Draw_LoadImage("data/rock.bmp");
|
||||
Draw_SetOffset(img_rock,-16,-32);
|
||||
img_lamp=Draw_LoadImage("data/lamp.bmp");
|
||||
Draw_SetOffset(img_lamp,-16,-48);
|
||||
|
||||
img_hole_spiked=Draw_LoadImage("data/hole_spiked.bmp");
|
||||
Draw_SetOffset(img_hole_spiked,-16,-16);
|
||||
@@ -480,6 +484,11 @@ void GameEnts_Init(){
|
||||
AnimPlay_SetImg(&ent_column_faded->anim,img_column_faded);
|
||||
ent_rock=Entity_Copy(ent_column);
|
||||
AnimPlay_SetImg(&ent_rock->anim,img_rock);
|
||||
ent_lamp=Entity_Copy(ent_rock);
|
||||
AnimPlay_SetImg(&ent_lamp->anim,img_lamp);
|
||||
ent_lamp->flags=
|
||||
EntityFlag_Collision|EntityFlag_Light;
|
||||
Entity_SetLight(ent_lamp,0.4f,0.4f,0.4f,5*32.0f);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ extern Entity *ent_barrel;
|
||||
extern Entity *ent_column;
|
||||
extern Entity *ent_column_faded;
|
||||
extern Entity *ent_rock;
|
||||
extern Entity *ent_lamp;
|
||||
extern Entity *ent_floor;
|
||||
extern Entity *ent_floor_right;
|
||||
extern Entity *ent_floor_left;
|
||||
|
||||
@@ -71,7 +71,8 @@ int GameMapAux_IsFloor(char c){
|
||||
c=='V' ||
|
||||
c=='<' ||
|
||||
c=='>' ||
|
||||
c=='r' )
|
||||
c=='r' ||
|
||||
c=='l' )
|
||||
{
|
||||
return(1);
|
||||
}
|
||||
@@ -144,6 +145,10 @@ int GameMap_CreateLevel(int level,int point){
|
||||
// Rock
|
||||
GameMapAux_CreateEnt(ent_rock,i,j);
|
||||
}else
|
||||
if(line[i]=='l'){
|
||||
// Lamp
|
||||
GameMapAux_CreateEnt(ent_lamp,i,j);
|
||||
}else
|
||||
if(line[i]=='B'){
|
||||
// Barrel
|
||||
GameMapAux_CreateEnt(ent_barrel,i,j);
|
||||
|
||||
65
Input.c
@@ -55,7 +55,7 @@ int Input_Init(){
|
||||
// Notify a frame update to the input subsystem.
|
||||
void Input_Frame(){
|
||||
Uint8* keys;
|
||||
Uint8 buttons;
|
||||
/*Uint8 buttons;
|
||||
int mx,my;
|
||||
vec2 mdir;
|
||||
float temp;
|
||||
@@ -96,7 +96,18 @@ void Input_Frame(){
|
||||
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);
|
||||
Input_SetKey(InputKey_Action1,keys[SDLK_z]);
|
||||
Input_SetKey(InputKey_Action2,keys[SDLK_x]);
|
||||
Input_SetKey(InputKey_Up,keys[SDLK_UP]);
|
||||
Input_SetKey(InputKey_Down,keys[SDLK_DOWN]);
|
||||
Input_SetKey(InputKey_Left,keys[SDLK_LEFT]);
|
||||
Input_SetKey(InputKey_Right,keys[SDLK_RIGHT]);
|
||||
Input_SetKey(InputKey_Jump,keys[SDLK_SPACE]);
|
||||
Input_SetKey(InputKey_Continue,keys[SDLK_RETURN]|keys[SDLK_KP_ENTER]);
|
||||
}
|
||||
|
||||
|
||||
@@ -147,26 +158,42 @@ int Input_AnyKey(){
|
||||
// Reports the direction of the dpad.
|
||||
int Input_GetDir(vec2 dir){
|
||||
float vlen;
|
||||
Uint8 buttons;
|
||||
int mx,my;
|
||||
float dlen;
|
||||
extern int _width,_height;
|
||||
|
||||
vec2_set(dir,0.0f,0.0f);
|
||||
if(Input_GetKey(InputKey_Up) ){
|
||||
dir[1]-=1.0f;
|
||||
}
|
||||
if(Input_GetKey(InputKey_Down) ){
|
||||
dir[1]+=1.0f;
|
||||
}
|
||||
if(Input_GetKey(InputKey_Left) ){
|
||||
dir[0]-=1.0f;
|
||||
}
|
||||
if(Input_GetKey(InputKey_Right) ){
|
||||
dir[0]+=1.0f;
|
||||
}
|
||||
vlen=vec2_dot(dir,dir);
|
||||
if(vlen>0.0f){
|
||||
vlen=sqrtf(vlen);
|
||||
vec2_scale(dir,dir,1.0f/vlen);
|
||||
|
||||
// Get mouse state
|
||||
buttons=SDL_GetMouseState(&mx,&my);
|
||||
if(buttons){
|
||||
// Use the mouse
|
||||
vec2_set(dir,mx-(_width/2),my-(_height/2.0f));
|
||||
dlen=1.0f/sqrtf(vec2_dot(dir,dir));
|
||||
vec2_scale(dir,dir,dlen);
|
||||
return(1);
|
||||
}else{
|
||||
return(0);
|
||||
// Use the keyboar
|
||||
vec2_set(dir,0.0f,0.0f);
|
||||
if(Input_GetKey(InputKey_Up) ){
|
||||
dir[1]-=1.0f;
|
||||
}
|
||||
if(Input_GetKey(InputKey_Down) ){
|
||||
dir[1]+=1.0f;
|
||||
}
|
||||
if(Input_GetKey(InputKey_Left) ){
|
||||
dir[0]-=1.0f;
|
||||
}
|
||||
if(Input_GetKey(InputKey_Right) ){
|
||||
dir[0]+=1.0f;
|
||||
}
|
||||
vlen=vec2_dot(dir,dir);
|
||||
if(vlen>0.0f){
|
||||
vlen=sqrtf(vlen);
|
||||
vec2_scale(dir,dir,1.0f/vlen);
|
||||
return(1);
|
||||
}else{
|
||||
return(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
0
Makefile.common
Normal file → Executable file
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
BIN
data/lamp.bmp
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
data/lamp.xcf
Normal file
@@ -1,12 +1,12 @@
|
||||
33 23
|
||||
|
||||
############### #############
|
||||
######l######## ###l######l##
|
||||
#.............# #...........#
|
||||
#.........S...#####..SSSSSSS..#
|
||||
#.........S...l####..SSSSSSS..#
|
||||
#.1.......S.......2..S........#
|
||||
#.........S...mmmmm..S..SSSSSS#
|
||||
#.........S...lmmmm..S..SSSSSS#
|
||||
#.............m m..S........#
|
||||
#mmmmmmmmmmmmmm mmmmmmm.mmmm#
|
||||
#mmmmmlmmmmmmmm mmmmmml.lmmm#
|
||||
m.m
|
||||
m.m
|
||||
m.m
|
||||
@@ -14,10 +14,10 @@
|
||||
#####3#####
|
||||
#.........#
|
||||
#.........#
|
||||
#.........#
|
||||
#.BBB.BBB.#
|
||||
#SSSSSSSSS#
|
||||
#.........#
|
||||
#.........#
|
||||
#....E....#
|
||||
#mmmmmmmmm#
|
||||
l.........l
|
||||
m.BBB.BBB.m
|
||||
mSSSSSSSSSm
|
||||
m.........m
|
||||
m.........m
|
||||
m....E....m
|
||||
mmmmmmmmmmm
|
||||
@@ -5,8 +5,7 @@
|
||||
#.......#
|
||||
#.......#
|
||||
#.......#
|
||||
#mmm.mmm#
|
||||
m.m
|
||||
#mml.lmm#
|
||||
m.m
|
||||
m.m
|
||||
m.m
|
||||
@@ -16,13 +15,29 @@
|
||||
######2#######
|
||||
#SSSS....SSSS#
|
||||
#SSSS.Br.SSSS#
|
||||
#S..SSB..SSSS#
|
||||
#S.SSSSSSSSSS#
|
||||
#S.SSSSSSSSSS#
|
||||
#S.SSSSSSSSSS#
|
||||
#S.....BSSB.S#
|
||||
#SSSSS.SSSSSS#
|
||||
#mmmmm.mmmmmm#
|
||||
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
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
33 23
|
||||
|
||||
############### #############
|
||||
######l######## #############
|
||||
#.............# #...........#
|
||||
#.........L...#####..LLLLLLL..#
|
||||
#.........L...l####..LLLLLLL..#
|
||||
#.1.......L.......2..L........#
|
||||
#.........L...mmmmm..L..LLLLLL#
|
||||
#.........L...lmmmm..L..LLLLLL#
|
||||
#.............m m..L........#
|
||||
#mmmmmmmmmmmmmm mmmmmmm.mmmm#
|
||||
#mmmmmlmmmmmmmm mmmmmml.lmmm#
|
||||
m.m
|
||||
m.m
|
||||
m.m
|
||||
@@ -14,7 +14,7 @@
|
||||
#####3#####
|
||||
#.........#
|
||||
#.........#
|
||||
#.........#
|
||||
l.........l
|
||||
#.BBB.BBB.#
|
||||
#LLLLrSSSS#
|
||||
#.........#
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#.......#
|
||||
#.......#
|
||||
#.......#
|
||||
#mmm.mmm#
|
||||
#mml.lmm#
|
||||
m.m
|
||||
m.m
|
||||
m.m
|
||||
@@ -14,9 +14,9 @@
|
||||
#S....S.S....S# ########
|
||||
#S.LLBS.S.LL.S# #......#
|
||||
#S......S....S# #......#
|
||||
#SSSS.SSSSSSSS#####......#
|
||||
#SSSS.SSSSSSSSl####......#
|
||||
#SSSS.SSS..............E.#
|
||||
#SSSSSSSSSSSSSmmmmm......#
|
||||
#SSSSSSSSSSSSSlmmmm......#
|
||||
#S..B...S....Sm m......#
|
||||
#S.LL.SSSBLL.Sm m......#
|
||||
#S....SSS....Sm mmmmmmm#
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
33 26
|
||||
|
||||
############### #############
|
||||
######l######## ###l#####l###
|
||||
#.............# #........V..#
|
||||
#.............#####...........#
|
||||
#.............l####...........#
|
||||
#.1...............2...........#
|
||||
#.............mmmmm>..........#
|
||||
#.............lmmmm>..........#
|
||||
#.........A...m m....A......#
|
||||
#mmmmmmmmmmmmmm mmmmmmm.mmmm#
|
||||
#mmmmmlmmmmmmmm mmmmmml.lmmm#
|
||||
m.m
|
||||
m.m
|
||||
m.m
|
||||
@@ -15,11 +15,11 @@
|
||||
#.........#
|
||||
#......BB.#
|
||||
#........<#
|
||||
#.BB......#
|
||||
l.BB......l
|
||||
#>........#
|
||||
#......BB.#
|
||||
#........<#
|
||||
#.BB......#
|
||||
l.BB......l
|
||||
#>........#
|
||||
#.........#
|
||||
#....E....#
|
||||
|
||||
@@ -5,20 +5,20 @@
|
||||
#.......#
|
||||
#.......#
|
||||
#.......#
|
||||
#mmm.mmm#
|
||||
#mml.lmm#
|
||||
m.m
|
||||
m.m
|
||||
m.m
|
||||
m.m
|
||||
m.m
|
||||
m.m
|
||||
######2######
|
||||
##l###2###l##
|
||||
#...........#
|
||||
#.B.B...B.B.#
|
||||
#...........#
|
||||
#LLLLrSrLLLL#
|
||||
#...A...A...#
|
||||
#mmmmm.mmmmm#
|
||||
#mmmml.lmmmm#
|
||||
m.m
|
||||
m.m
|
||||
m.m
|
||||
@@ -33,7 +33,7 @@
|
||||
#L.........L#
|
||||
#L.LLLLLLLLL#
|
||||
#L.....A.A..#
|
||||
#mmmmm.mmmmm#
|
||||
#mmmml.lmmmm#
|
||||
m.m
|
||||
m.m
|
||||
m.m
|
||||
@@ -52,7 +52,7 @@ mL.LLLLLLLLL<
|
||||
mL.....LLLLLm
|
||||
mLLLLL.LLLLLm
|
||||
mmmmmm.AmAmmm
|
||||
m.m
|
||||
l.l
|
||||
m.m
|
||||
m.m
|
||||
m.m
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#.......#
|
||||
#.......#
|
||||
#.......#
|
||||
#mmm.mmm#
|
||||
#mml.lmm#
|
||||
m.m
|
||||
m.m
|
||||
m.m
|
||||
|
||||
BIN
data/player.bmp
|
Before Width: | Height: | Size: 8.1 KiB |
BIN
data/player.xcf
BIN
data/rock.bmp
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |