diff --git a/Draw.c b/Draw.c index 3c35e9c..d55b7c7 100644 --- a/Draw.c +++ b/Draw.c @@ -137,7 +137,7 @@ int Draw_Init(int width,int height,char *title,int fps){ void Draw_Loop(int (*proc)(),void (*draw)()){ int done=0; SDL_Event event; -// Uint8* keys; + Uint8* keys; long long time,time2; long long t_frame=0; @@ -160,14 +160,14 @@ void Draw_Loop(int (*proc)(),void (*draw)()){ } } } -/* + // Process keys for Draw keys=SDL_GetKeyState(NULL); if(keys[SDLK_F12]){ // Screenshot key - SDL_SaveBMP(_screen,"shot.bmp"); + Draw_SaveScreenshoot("shot.bmp"); } -*/ + // Sound Frame Audio_Frame(); @@ -550,7 +550,7 @@ DrawFnt Draw_LoadFont(char *fichero,int min,int max){ ///////////////////////////// // Draw_DrawText // -// Draws text using a font +// Draws text using a font. void Draw_DrawText(DrawFnt f,char *text,int x,int y){ DrawFont *font=f; char *ptr; @@ -566,3 +566,60 @@ void Draw_DrawText(DrawFnt f,char *text,int x,int y){ } } + +///////////////////////////// +// Draw_SaveScreenshoot +// +// +void Draw_SaveScreenshoot(char *filename){ + SDL_Surface *surf; + unsigned char *image_line; + int i,half_height,line_size; + + // Create the surface + surf = SDL_CreateRGBSurface(SDL_SWSURFACE, + _width, _height, 32,0,0,0,0); + surf->format->Amask=0xFF000000; + surf->format->Ashift=24; + SDL_SetAlpha(surf, SDL_SRCALPHA, 255); + + // Get the screenshot + SDL_LockSurface(surf); + glReadPixels(0, 0, + _width, _height, GL_RGBA, + GL_UNSIGNED_BYTE, surf->pixels); + SDL_UnlockSurface(surf); + + // Flip the image data + line_size=_width*4; + half_height=_height/2; + image_line=malloc(line_size); + for(i=0;ipixels+i*line_size,line_size); + memcpy(surf->pixels+i*line_size,surf->pixels+(_height-(i+1))*line_size,line_size); + memcpy(surf->pixels+(_height-(i+1))*line_size,image_line,line_size); + } + + // Swap RGB to BGR + Uint32 *ptr,*ptr_end; + ptr=(Uint32 *)surf->pixels; + ptr_end=ptr+(surf->w*surf->h); + while (ptrpos,b1->radius,vel,b2->pos,b2->radius,&t,n)){ int response=1; + int rc; // Check the collision methods if(b1->collision){ - if(!b1->collision(b1,b2,t,n)){ + rc=b1->collision(b1,b2,t,n); + if (rc==0) response=0; - } + if (rc>1) + response=2; } if(b2->collision){ vec2 n2; vec2_scale(n2,n,-1.0f); - if(!b2->collision(b2,b1,t,n2)){ + rc=b2->collision(b2,b1,t,n2); + if (rc==0) response=0; - } + if (rc>1) + response=2; } // Collision response - if(response){ + if(response==1){ if(vec2_dot(b1->vel,b1->vel)>vec2_dot(b2->vel,b2->vel)){ Entity_CollisionResponse(b1,b2,t,n); }else{ Entity_CollisionResponse(b2,b1,t,n); } return(1); - }else{ - return(0); } + if (response==2) { + return(1); + } + return(0); } return(0); } diff --git a/GameEnts.c b/GameEnts.c index 1a71202..577945a 100644 --- a/GameEnts.c +++ b/GameEnts.c @@ -12,6 +12,7 @@ DrawImg img_barrel; DrawImg img_barrel2; DrawImg img_column; DrawImg img_column_faded; +DrawImg img_rock; DrawImg img_floor; DrawImg img_floor_left; DrawImg img_floor_right; @@ -50,6 +51,7 @@ Entity *ent_player; Entity *ent_barrel; Entity *ent_column; Entity *ent_column_faded; +Entity *ent_rock; Entity *ent_floor; Entity *ent_floor_right; Entity *ent_floor_left; @@ -147,18 +149,14 @@ void player_proc(Entity *e,int ft){ int player_collision(Entity *e1,Entity *e2,float t,vec2 n){ if(e2->type==Ent_Barrel){ - /* - vec2_scale(e1->vel,e1->vel,0.5f); - vec2_plus(e2->vel,e2->vel,e1->vel); - */ - float vlen,dotp; + float vlen; vec2 vdir; vlen=sqrtf(vec2_dot(e1->vel,e1->vel)); if(vlen>0.0f){ vec2_scale(vdir,e1->vel,1.0f/vlen); if(vec2_dot(vdir,n)>0.9){ Entity_CollisionResponse(e1,e2,t,vdir); - return(0); + return(2); }else{ return(1); } @@ -370,6 +368,8 @@ void GameEnts_Init(){ Draw_SetOffset(img_column,-16,-80); img_column_faded=Draw_LoadImage("data/column_faded.bmp"); Draw_SetOffset(img_column_faded,-16,-80); + img_rock=Draw_LoadImage("data/rock.bmp"); + Draw_SetOffset(img_rock,-16,-32); img_hole_spiked=Draw_LoadImage("data/hole_spiked.bmp"); Draw_SetOffset(img_hole_spiked,-16,-16); @@ -478,6 +478,8 @@ void GameEnts_Init(){ AnimPlay_SetImg(&ent_column->anim,img_column); ent_column_faded=Entity_Copy(ent_column); AnimPlay_SetImg(&ent_column_faded->anim,img_column_faded); + ent_rock=Entity_Copy(ent_column); + AnimPlay_SetImg(&ent_rock->anim,img_rock); diff --git a/GameEnts.h b/GameEnts.h index 6fd194c..391b1d3 100644 --- a/GameEnts.h +++ b/GameEnts.h @@ -23,6 +23,7 @@ extern Entity *ent_player; extern Entity *ent_barrel; extern Entity *ent_column; extern Entity *ent_column_faded; +extern Entity *ent_rock; extern Entity *ent_floor; extern Entity *ent_floor_right; extern Entity *ent_floor_left; diff --git a/GameMap.c b/GameMap.c index d3e3228..5d44c5c 100644 --- a/GameMap.c +++ b/GameMap.c @@ -70,7 +70,8 @@ int GameMapAux_IsFloor(char c){ c=='A' || c=='V' || c=='<' || - c=='>' ) + c=='>' || + c=='r' ) { return(1); } @@ -139,6 +140,10 @@ int GameMap_CreateLevel(int level,int point){ // Column faded GameMapAux_CreateEnt(ent_column_faded,i,j); }else + if(line[i]=='r'){ + // Rock + GameMapAux_CreateEnt(ent_rock,i,j); + }else if(line[i]=='B'){ // Barrel GameMapAux_CreateEnt(ent_barrel,i,j); diff --git a/Input.c b/Input.c index daaa39a..1693e25 100644 --- a/Input.c +++ b/Input.c @@ -88,7 +88,7 @@ void Input_Frame(){ // Process Keys keys=SDL_GetKeyState(NULL); - Input_SetKey(InputKey_Action1,keys[SDLK_z]|buttons); + 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); diff --git a/Makefile.common b/Makefile.common old mode 100755 new mode 100644 diff --git a/data/column.bmp b/data/column.bmp index 869c188..6ede7b7 100644 Binary files a/data/column.bmp and b/data/column.bmp differ diff --git a/data/column.xcf b/data/column.xcf index 34d71a9..7cb5132 100644 Binary files a/data/column.xcf and b/data/column.xcf differ diff --git a/data/column_faded.bmp b/data/column_faded.bmp index 23fcea7..159a4ee 100644 Binary files a/data/column_faded.bmp and b/data/column_faded.bmp differ diff --git a/data/floor.bmp b/data/floor.bmp index 67afa84..7c823d8 100644 Binary files a/data/floor.bmp and b/data/floor.bmp differ diff --git a/data/floor.xcf b/data/floor.xcf index e457744..4bb0497 100644 Binary files a/data/floor.xcf and b/data/floor.xcf differ diff --git a/data/floor_center.bmp b/data/floor_center.bmp index 4842521..da847f1 100644 Binary files a/data/floor_center.bmp and b/data/floor_center.bmp differ diff --git a/data/floor_center.xcf b/data/floor_center.xcf index 9418360..1ba4a8a 100644 Binary files a/data/floor_center.xcf and b/data/floor_center.xcf differ diff --git a/data/floor_left.bmp b/data/floor_left.bmp index 1a03f5c..c1cf7d1 100644 Binary files a/data/floor_left.bmp and b/data/floor_left.bmp differ diff --git a/data/floor_left.xcf b/data/floor_left.xcf index 86f73d7..0e627ab 100644 Binary files a/data/floor_left.xcf and b/data/floor_left.xcf differ diff --git a/data/floor_right.bmp b/data/floor_right.bmp index c4c6149..be87394 100644 Binary files a/data/floor_right.bmp and b/data/floor_right.bmp differ diff --git a/data/floor_right.xcf b/data/floor_right.xcf index a3c809f..94e7136 100644 Binary files a/data/floor_right.xcf and b/data/floor_right.xcf differ diff --git a/data/level_00.txt b/data/level_00.txt index 5ec0d55..88d8ef2 100644 --- a/data/level_00.txt +++ b/data/level_00.txt @@ -3,7 +3,7 @@ ############### ############# #.............# #...........# #.........S...#####..SSSSSSS..# - #.1.......S........2.S........# + #.1.......S.......2..S........# #.........S...mmmmm..S..SSSSSS# #.............m m..S........# #mmmmmmmmmmmmmm mmmmmmm.mmmm# @@ -11,13 +11,13 @@ m.m m.m m.m - ######.##### - #.....3....# - #..........# - #..........# - #..BBB.BBB.# - #SSSSSSSSSS# - #..........# - #..........# - #.....E....# - #mmmmmmmmmm# \ No newline at end of file + #####3##### + #.........# + #.........# + #.........# + #.BBB.BBB.# + #SSSSSSSSS# + #.........# + #.........# + #....E....# + #mmmmmmmmm# \ No newline at end of file diff --git a/data/level_01.txt b/data/level_01.txt index fd90a84..f5f600d 100644 --- a/data/level_01.txt +++ b/data/level_01.txt @@ -1,23 +1,36 @@ -33 23 +100 100 - ############### ############# - #.............# #...........# - #.........L...#####..LLLLLLL..# - #.1.......L........2.L........# - #.........L...mmmmm..L..LLLLLL# - #.............m m..L........# - #mmmmmmmmmmmmmm mmmmmmm.mmmm# - m.m - m.m - m.m - m.m - ######.##### - #.....3....# - #..........# - #..........# - #..BBB.BBB.# - #LLLLLSSSSS# - #..........# - #..........# - #.....E....# - #mmmmmmmmmm# \ No newline at end of file + ######### + #...1...# + #.......# + #.......# + #.......# + #mmm.mmm# + m.m + m.m + m.m + m.m + m.m + m.m + m.m +######2####### +#SSSS....SSSS# +#SSSS.Br.SSSS# +#S..SSB..SSSS# +#S.SSSSSSSSSS# +#S.SSSSSSSSSS# +#S.SSSSSSSSSS# +#S.....BSSB.S# +#SSSSS.SSSSSS# +#mmmmm.mmmmmm# + m.m + m.m + m.m + m.m + m.m + ####.#### + #.......# + #.......# + #.......# + #...E...# + #mmmmmmm# \ No newline at end of file diff --git a/data/level_02.txt b/data/level_02.txt index ebafd8d..3448a5d 100644 --- a/data/level_02.txt +++ b/data/level_02.txt @@ -1,24 +1,23 @@ -33 24 +33 23 ############### ############# - #.............# #........V..# - #.............#####...........# - #.1................2..........# - #.............mmmmm>..........# - #.........A...m m....A......# + #.............# #...........# + #.........L...#####..LLLLLLL..# + #.1.......L.......2..L........# + #.........L...mmmmm..L..LLLLLL# + #.............m m..L........# #mmmmmmmmmmmmmm mmmmmmm.mmmm# m.m m.m m.m m.m - ######.##### - #.....3....# - #.BB....BB.# - #.........<# - #>.........# - #.BB....BB.# - #.........<# - #>.........# - #..........# - #.....E....# - #mmmmmmmmmm# \ No newline at end of file + #####3##### + #.........# + #.........# + #.........# + #.BBB.BBB.# + #LLLLrSSSS# + #.........# + #.........# + #....E....# + #mmmmmmmmm# \ No newline at end of file diff --git a/data/level_03 - copia.txt b/data/level_03 - copia.txt deleted file mode 100644 index e800ab1..0000000 --- a/data/level_03 - copia.txt +++ /dev/null @@ -1,68 +0,0 @@ -100 100 - -############## -#SSSS#.1.#SSS# -#SSSS#...#SSS# -#SSSS#...#SSS# -#SSSS#B#.#SSS# -#S..SSB..#SSS# -#S.SSmmmmmSSS# -#S.SSSSSSSSSS# -#S.....BSSB.S# -#SSSSS.SSSSSS# -#mmmmm.mmmmmm# - m.m - m.m - m.m - m.m - m.m -######.####### -#SSSS#2..SSSS# -#SSSS#B#.SSSS# -#S..SSB..SSSS# -#S.SSSSSSSSSS# -#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...# -#mmmmm.mmmmm# - m.m - m.m ########### - m.m #LLLLLLLL.# - m.m #...L...L.# - m.m #.L.L.L.L<# - m.m #.L.L.L.L.# - m.####.L.L.L.L<###### - m....5.L.L.L.L....... - mmmmmm>L.L.L.L.mmmmmm - m.L.L.L.L.m - m>L.L.L.L.m - m.L...L...m - m.LLLLLLLL# - mmmmmmmmmm# - diff --git a/data/level_03.txt b/data/level_03.txt index cec49b2..86491b8 100644 --- a/data/level_03.txt +++ b/data/level_03.txt @@ -1,101 +1,28 @@ 100 100 - -############## -#SSSS#.1.#SSS# -#SSSS#...#SSS# -#SSSS#...#SSS# -#SSSS#B#.#SSS# -#S..SSB..#SSS# -#S.SSmmmmmSSS# -#S.SSSSSSSSSS# -#S.....BSSB.S# -#SSSSS.SSSSSS# -#mmmmm.mmmmmm# - m.m - m.m - m.m - m.m - m.m -######.####### -#SSSS#2..SSSS# -#SSSS#B#.SSSS# -#S..SSB..SSSS# -#S.SSSSSSSSSS# -#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...# -#mmmmm.mmmmm# - m.m - m.m - m.m - m.m - m.m -######5###### -#..V.V.....L# -#LLLLLLLLL.L# -#L.........L# -#L.LLLLLLLLL# -#L.........L# -#LLLLLLLLL.L# -#L.........L# -#L.LLLLLLLLL# -#L.....A.A..# -#mmmmm.mmmmm# - m.m - m.m - m.m - m.m - m.m -###V#V6###### -#LLLLL.LLLLL# -#LLLLL.....L# ->LLLLLLLLL.L# -mL.........L# -mL.LLLLLLLLL< -mL.........Lm ->LLLLLLLLL.Lm -mL.........Lm -mL.LLLLLLLLL< -mL.....LLLLLm -mLLLLL.LLLLLm -mmmmmm.AmAmmm - m.m - m.m - m.m - m.m - m.m - ####.#### - #.......# - #.......# - #.......# - #...E...# - #mmmmmmm# + ######### + #...1...# + #.......# + #.......# + #.......# + #mmm.mmm# + m.m + m.m + m.m + m.m + #######2####### + #SSSSSS.SSSSSS# + #S....S.S....S# ######## + #S.LLBS.S.LL.S# #......# + #S......S....S# #......# + #SSSS.SSSSSSSS#####......# + #SSSS.SSS..............E.# + #SSSSSSSSSSSSSmmmmm......# + #S..B...S....Sm m......# + #S.LL.SSSBLL.Sm m......# + #S....SSS....Sm mmmmmmm# + #SSSSSSSSSSSSSm + mmmmmmmmmmmmmmm + diff --git a/data/level_04.txt b/data/level_04.txt index 50ee30c..fa23b26 100644 --- a/data/level_04.txt +++ b/data/level_04.txt @@ -1,37 +1,26 @@ -100 100 - -1 - #######7####### - #SSSSSS.SSSSSS# - #S....S.S....S# - #S.LLBS.S.LL.S# - #S...........S# - #SSSS.SSSSSSSS##### - #SSSS.SSS.........8 - #SSSSSSSSSSSSSmmmmm - #S..B...S....Sm - #S.LL.SSSBLL.Sm - #S....SSS....Sm - #SSSSSSSSSSSSSm - mmmmmmmmmmmmmmm - - - - - m.m - m.m ##################### - m.m #S....SSS.....S...BB# - m.m #S.SSBSSS.SSS.SSS.... - m.m #S............SSSS..m - m.m #SSSL.LLL.LLL.LSSSS.m - m.####SSSL.LLL.LLL..LLSS.m - m....8......L.B.......LS.m - mmmmmmSSSS.LLL.LLL..LLSS.m - mSSSSSLLL.LLL.LSSSS.m - m.SSS....S...LSS....m - m..LLLLLL.LLLLLL.SS.m - mB...............SS.m - mmmmmmmmmmmmmmmmmmmmm - - +33 26 + ############### ############# + #.............# #........V..# + #.............#####...........# + #.1...............2...........# + #.............mmmmm>..........# + #.........A...m m....A......# + #mmmmmmmmmmmmmm mmmmmmm.mmmm# + m.m + m.m + m.m + m.m + #####3##### + #.........# + #......BB.# + #........<# + #.BB......# + #>........# + #......BB.# + #........<# + #.BB......# + #>........# + #.........# + #....E....# + #mmmmmmmmm# \ No newline at end of file diff --git a/data/level_05.txt b/data/level_05.txt new file mode 100644 index 0000000..728741e --- /dev/null +++ b/data/level_05.txt @@ -0,0 +1,68 @@ +100 100 + + ######### + #...1...# + #.......# + #.......# + #.......# + #mmm.mmm# + m.m + m.m + m.m + m.m + m.m + m.m +######2###### +#...........# +#.B.B...B.B.# +#...........# +#LLLLrSrLLLL# +#...A...A...# +#mmmmm.mmmmm# + 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..# +#mmmmm.mmmmm# + 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 + m.m + m.m + m.m + m.m + m.m + ####.#### + #.......# + #.......# + #.......# + #...E...# + #mmmmmmm# + + + diff --git a/data/level_06.txt b/data/level_06.txt new file mode 100644 index 0000000..8b219d9 --- /dev/null +++ b/data/level_06.txt @@ -0,0 +1,20 @@ +100 100 + + + ######### + #...1...# + #.......# + #.......# + #.......# + #mmm.mmm# + m.m + m.m + m.m + m.m + ####.#### + #.......# + #.......# + #.......# + #...F...# + #mmmmmmm# + diff --git a/data/rock.bmp b/data/rock.bmp new file mode 100644 index 0000000..86d63aa Binary files /dev/null and b/data/rock.bmp differ diff --git a/data/rock.xcf b/data/rock.xcf new file mode 100644 index 0000000..67be1e3 Binary files /dev/null and b/data/rock.xcf differ diff --git a/dist.sh b/dist.sh new file mode 100644 index 0000000..c27e0fd --- /dev/null +++ b/dist.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +DATE=$(date +%Y%m) +DIRNAME="Lonely_Ruins" +ZIPNAME="$DIRNAME.$DATE.zip" + +make -f Makefile.linux +make -f Makefile.mingw + +mkdir $DIRNAME +cd $DIRNAME +cp -v ../readme.txt ./ +cp -v ../build-mingw/game.exe ./game-windows.exe +cp -v ../build-linux/game ./game-linux.bin +cp -v ../SDL.dll ./ +cp -v ../libSDL-1.2.so.0 ./ +mkdir data +cp -v ../data/*.bmp data/ +cp -v ../data/*.wav data/ +cp -v ../data/level_*.txt data/ +cd .. + +rm $ZIPNAME +zip -r $ZIPNAME $DIRNAME + +rm -rf $DIRNAME + diff --git a/game.save b/game.save index ae94ec1..d25f911 100644 Binary files a/game.save and b/game.save differ diff --git a/icon_32.png b/icon_32.png new file mode 100644 index 0000000..c5f1d21 Binary files /dev/null and b/icon_32.png differ diff --git a/indiedb.header.png b/indiedb.header.png new file mode 100644 index 0000000..911a132 Binary files /dev/null and b/indiedb.header.png differ diff --git a/libSDL-1.2.so.0 b/libSDL-1.2.so.0 new file mode 100644 index 0000000..b89eae1 Binary files /dev/null and b/libSDL-1.2.so.0 differ diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..5951ea5 --- /dev/null +++ b/readme.txt @@ -0,0 +1,22 @@ +Lonely Ruins +------------ +By Kableado (VAR) + +You are a robot on a rescue mision. +The rescuer and the rescued are alone +in a strange place. + +Good Luck! + + + + + +Controls: +--------- +Cursors to move. + + + +CopyRight (C) 2011-2012 Valeriano Alfonso Rodriguez +http://varstudio.net diff --git a/shot.bmp b/shot.bmp deleted file mode 100644 index e69de29..0000000 diff --git a/web/Lonely_Ruins.201201.zip b/web/Lonely_Ruins.201201.zip new file mode 100644 index 0000000..80bd516 Binary files /dev/null and b/web/Lonely_Ruins.201201.zip differ diff --git a/web/imagenes/logo_lonelyruins_web.png b/web/imagenes/logo_lonelyruins_web.png new file mode 100644 index 0000000..0ecf37a Binary files /dev/null and b/web/imagenes/logo_lonelyruins_web.png differ diff --git a/web/imgview/anterior.png b/web/imgview/anterior.png new file mode 100644 index 0000000..dace661 Binary files /dev/null and b/web/imgview/anterior.png differ diff --git a/web/imgview/cargando.gif b/web/imgview/cargando.gif new file mode 100644 index 0000000..6bdc3b5 Binary files /dev/null and b/web/imgview/cargando.gif differ diff --git a/web/imgview/fondo.png b/web/imgview/fondo.png new file mode 100644 index 0000000..7c97f18 Binary files /dev/null and b/web/imgview/fondo.png differ diff --git a/web/imgview/imgview.css b/web/imgview/imgview.css new file mode 100644 index 0000000..9cef235 --- /dev/null +++ b/web/imgview/imgview.css @@ -0,0 +1,71 @@ +/*********************************************** + * Copyright (c) 2010 Valeriano Alfonso * + ***********************************************/ +/* + NOTA DE DOMINIO PUBLICO + ----------------------- + ImgView es Dominio Publico. Esto significa que se puede hacer con el + lo que se quiera sin haber ninguna garantia de reembolso o idoneidad. + Se aprecia que la fuente sea citada. +*/ + +#imgview_fondo { + background-image: url(fondo.png); +} + +#imgview_imgcargando { + border: 10px solid white; +} + +#imgview_fondo a { + padding:0px; + margin:0px; +} + +#imgview { + background-color: white; + border: 10px solid white; +} + +#imgview img { + border: none; + padding:0px; + margin:0px; +} + +#imgview a { + padding:0px; + margin:0px; +} + +#imgview_control { + height: 30px; + background-color: white; +} + +#imgview_anterior { + background-color: white; + float: left; + width: 50%; + height:32px; + border:0px; + padding:0px; + margin:0px; + background-image:url('anterior.png'); + background-repeat:no-repeat; + background-position: 50% 0%; + cursor:pointer; +} +#imgview_siguiente { + background-color: white; + float: right; + width: 50%; + height:32px; + border:0px; + padding:0px; + margin:0px; + background-image:url('siguiente.png'); + background-repeat:no-repeat; + background-position: 50% 0%; + cursor:pointer; +} \ No newline at end of file diff --git a/web/imgview/imgview.js b/web/imgview/imgview.js new file mode 100644 index 0000000..c924bc9 --- /dev/null +++ b/web/imgview/imgview.js @@ -0,0 +1,497 @@ +/*********************************************** + * Copyright (c) 2010 Valeriano Alfonso * + ***********************************************/ +/* + NOTA DE DOMINIO PUBLICO + ----------------------- + ImgView es Dominio Publico. Esto significa que se puede hacer con el + lo que se quiera sin haber ninguna garantia de reembolso o idoneidad. + Se aprecia que la fuente sea citada. +*/ + + +/* + Historial de cambios + -------------------- + 1.0 2010-1-3 : + * Version inicial. + 1.1 2010-1-5 : + * Corregida necesidad de cargar el script en la seccion head. + * Funcionalidad basica de album implementada. + 1.2 2010-5-18 : + * Asimilado de todos los enlaces a imagenes en un album general. + * Iconos de anterior y siguiente de los albums, nuevos. +*/ + +///////////////////////// +// Configuracion +// +var imgview_prefix = ""; // Se atoconfigura +var imgview_border = 10; // Tambien ajustar en el CSS. +var imgview_control_alto = 32; // Tambien ajustar en el CSS. + + + + +/////////////////////// +// Globales +// +var imgview_nombre_album=""; +var imgview_href_anterior=""; +var imgview_href_siguiente=""; +var imgview_preloader=false; + +///////////////////////////////////// +// ImgView_ShowImage +// + +function ImgView_ShowImage(href,is_album){ + var elemFondo = document.getElementById('imgview_fondo'); + var elemImgview = document.getElementById('imgview'); + var elemImgviewControl = document.getElementById('imgview_control'); + var elemImgCargando = document.getElementById('imgview_imgcargando'); + var elemEnlace = document.getElementById('imgview_enlace'); + var elemImg = document.getElementById('imgview_img'); + var elemAnt = document.getElementById('imgview_anterior'); + var elemSig = document.getElementById('imgview_siguiente'); + var preloader; + var max_horiz, max_vert; + var ventana_ancho, ventana_alto; + var pagina_ancho, pagina_alto; + var pos_horiz = 0, pos_vert = 0; + + + if(is_album){ + var enlaces; + var imgview_RegExp; + var nombre_temp; + var i,j; + + // Buscar imagenes anterior y siguientes + enlaces = document.getElementsByTagName("a"); + for(i=0;i0){ + j=i-1; + while(j>=0){ + if(enlaces[j].getAttribute("imgview_albumid")== + imgview_nombre_album) + { + imgview_href_anterior=enlaces[j].getAttribute("href"); + break; + } + j--; + } + } + + // Buscar Siguiente + imgview_href_siguiente=""; + if(i<(enlaces.length-1)){ + j=i+1; + while(j document.body.offsetHeight){ + // all but Explorer Mac + max_horiz = document.body.scrollWidth; + max_vert = document.body.scrollHeight; + }else{ + // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari + max_horiz = document.body.offsetWidth; + max_vert = document.body.offsetHeight; + } + + // Obtener tamanho de la ventana + if(window.innerHeight) { + // Todos excepto Explorer + ventana_ancho = window.innerWidth; + ventana_alto = window.innerHeight; + }else if(document.documentElement && document.documentElement.clientHeight){ + // Explorer 6 Strict + ventana_ancho = document.documentElement.clientWidth; + ventana_alto = document.documentElement.clientHeight; + }else if(document.body){ + // Resto de Explorers + ventana_ancho = document.body.clientWidth; + ventana_alto = document.body.clientHeight; + } + + // HACK: reducir el tamaho de ventana_ancho. Hace que no sobrepase los bordes + ventana_ancho-=20; + + // Obtener el tamanho de la pagina + if(max_vert < ventana_alto){ + pagina_alto = ventana_alto; + }else{ + pagina_alto = max_vert; + } + if(max_horiz < ventana_ancho){ + pagina_ancho = ventana_ancho; + }else{ + pagina_ancho = max_horiz; + } + + // Obtener posicion del los scrolls + if( typeof( window.pageYOffset ) == 'number' ) { + // La mayoria de navegadores + pos_vert = window.pageYOffset; + pos_horiz = window.pageXOffset; + } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) { + // Explorer + pos_vert = document.body.scrollTop; + pos_horiz = document.body.scrollLeft; + } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) { + // Explorer 6 Strict + pos_vert = document.documentElement.scrollTop; + pos_horiz = document.documentElement.scrollLeft; + } + + + + // Centrar y hacer visible la imagen de cargando + if(elemImgCargando){ + elemImgCargando.style.top = + (pos_vert + + ((ventana_alto - elemImgCargando.height) / 2)) + 'px'; + elemImgCargando.style.left = + (pos_horiz + + ((ventana_ancho - elemImgCargando.width) / 2)) + 'px'; + elemImgCargando.style.display = 'block'; + } + + // Hacer que el fondo ocupe la pagina y sea visible + elemFondo.style.height = (pagina_alto + 'px'); + elemFondo.style.display = 'block'; + + // Carga de la imagen + imgview_preloader=new Image(); + imgview_preloader.onload=function(){ + + // Mostrar imgview, necesario para que los tamanhos sean correctos + elemImgview.style.display = 'block'; + + // Mostrar/Ocultar control de albums + if(is_album){ + elemImgviewControl.style.display = 'block'; + ventana_alto-=imgview_control_alto; + if(imgview_href_anterior.length==0){ + elemAnt.style.display = 'none'; + }else{ + elemAnt.style.display = 'block'; + } + if(imgview_href_siguiente.length==0){ + elemSig.style.display = 'none'; + }else{ + elemSig.style.display = 'block'; + } + }else{ + elemImgviewControl.style.display = 'none'; + } + + // Establecer la imagen precargada + elemImg.src = href; + elemImg.width = imgview_preloader.width; + elemImg.height = imgview_preloader.height; + + // Ajustar el tamanho de la imagen + var relacion=elemImg.width/elemImg.height; + if((elemImg.height+imgview_border*2)>ventana_alto){ + elemImg.height=ventana_alto-imgview_border*2; + elemImg.width=elemImg.height*relacion; + } + if((elemImg.width+imgview_border*2)>ventana_ancho){ + elemImg.width=ventana_ancho-imgview_border*2; + elemImg.height=elemImg.width/relacion; + } + + // Centrar imgview + elemImgview.style.top = + (pos_vert + + ((ventana_alto - elemImg.height) / 2) - imgview_border) + 'px'; + elemImgview.style.left = + (pos_horiz + + ((ventana_ancho - elemImg.width) / 2) - imgview_border) + 'px'; + + + // Oclultar imagen de cargar y mostrar imgview + if(elemImgCargando) { + elemImgCargando.style.display = 'none'; + } + + return false; + } + imgview_preloader.src = href; + elemEnlace.href = href; +} + + + + + + + + + +///////////////////////////////////// +// ImgView_Show +// +function ImgView_Show(obj){ + imgview_nombre_album=obj.getAttribute("imgview_albumid"); + if(imgview_nombre_album){ + ImgView_ShowImage(obj.getAttribute("href"),true); + }else{ + ImgView_ShowImage(obj.getAttribute("href"),false); + } +} + + + + + +///////////////////////////////////// +// ImgView_Hide +// +function ImgView_Hide(){ + var elemFondo = document.getElementById('imgview_fondo'); + var elemImgview = document.getElementById('imgview'); + var elemImgCargando = document.getElementById('imgview_imgcargando'); + var elemEnlace = document.getElementById('imgview_enlace'); + elemFondo.style.display = 'none'; + elemImgview.style.display = 'none'; + elemImgCargando.style.display = 'none'; + imgview_preloader.onload=function(){return false;} + imgview_preloader.src = ""; + elemEnlace.href = ""; +} + + + + + +///////////////////////////////////// +// ImgView_ShowAnterior +// +function ImgView_ShowAnterior(obj){ + if(imgview_href_anterior.length){ + ImgView_ShowImage(imgview_href_anterior,true); + } +} + + + + +///////////////////////////////////// +// ImgView_ShowSiguiente +// +function ImgView_ShowSiguiente(obj){ + if(imgview_href_siguiente.length){ + ImgView_ShowImage(imgview_href_siguiente,true); + } +} + + + + + +///////////////////////////////////// +// ImgView_Init +// +// Asociar al evento "onclick" la funcion "ImgView_Show" a los links con rel="imgview". +// Anhadir el markup necesario para mostrar imagenes. +function ImgView_Init(){ + var i; + var enlaces; + var scripts; + var imgview_RegExp; + var isimage_RegExp; + + if (!document.getElementsByTagName){ + return; + } + + // HACK: Obtener el path donde de este mismo script + scripts=document.getElementsByTagName("script"); + imgview_RegExp = /imgview\.js$/i; + for(i=0;i + +Con esto todos los enlaces a imagenes usaran imgview. Es recomendable +insertar una imagen en miniatura dentro del enlace. + +Uso Avanzado: +------------- + +Para mostrar una imagen independiente de cualquier album: + + + +Para crear albumes independientes; poner a todas las imagenes del mismo grupo +rel="imgview.album", siendo "album" el nombre para esa coleccion: + + + + +Licencia: +--------- + ImgView es Dominio Publico. Esto significa que se puede hacer con el + lo que se quiera sin haber ninguna garantia de reembolso o idoneidad. + Se aprecia que la fuente sea citada. + + +Copyright (c) 2010 Valeriano Alfonso diff --git a/web/imgview/siguiente.png b/web/imgview/siguiente.png new file mode 100644 index 0000000..0cc0213 Binary files /dev/null and b/web/imgview/siguiente.png differ diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..d63b788 --- /dev/null +++ b/web/index.html @@ -0,0 +1,105 @@ + + + + + + + + + + + +Lonely Ruins + + + +
+ + +
+ +
+ + +
+ + +
+ + + + + + +

About

+You are a robot on a rescue mision.
+The rescuer and the rescued are alone
+in a strange place.
+
+Good Luck!
+ +

 

+ +

 

+ + + + +

Downloads

+

Lonely Ruins for Windows and Linux.

+

 

+ +

 

+ + + + + +

Screenshots

+

+ + + + + +

+

 

+ +

 

+ + + + + + +

Contact

+ + +

 

+ +

 

+ +

 

+

 

+Copyright © 2011-2012 Valeriano Alfonso.
+ +
 
+ + +
+
+ + + \ No newline at end of file diff --git a/web/lonelyruins_banner.png b/web/lonelyruins_banner.png new file mode 100644 index 0000000..b402f7f Binary files /dev/null and b/web/lonelyruins_banner.png differ diff --git a/web/sshots/20120102/shot-20120102-1.png b/web/sshots/20120102/shot-20120102-1.png new file mode 100644 index 0000000..1a3ad41 Binary files /dev/null and b/web/sshots/20120102/shot-20120102-1.png differ diff --git a/web/sshots/20120102/shot-20120102-1.thumb.png b/web/sshots/20120102/shot-20120102-1.thumb.png new file mode 100644 index 0000000..c10eef1 Binary files /dev/null and b/web/sshots/20120102/shot-20120102-1.thumb.png differ diff --git a/web/sshots/20120102/shot-20120102-2.png b/web/sshots/20120102/shot-20120102-2.png new file mode 100644 index 0000000..7f18ffb Binary files /dev/null and b/web/sshots/20120102/shot-20120102-2.png differ diff --git a/web/sshots/20120102/shot-20120102-2.thumb.png b/web/sshots/20120102/shot-20120102-2.thumb.png new file mode 100644 index 0000000..6436a93 Binary files /dev/null and b/web/sshots/20120102/shot-20120102-2.thumb.png differ diff --git a/web/sshots/20120102/shot-20120102-3.png b/web/sshots/20120102/shot-20120102-3.png new file mode 100644 index 0000000..2ae5264 Binary files /dev/null and b/web/sshots/20120102/shot-20120102-3.png differ diff --git a/web/sshots/20120102/shot-20120102-3.thumb.png b/web/sshots/20120102/shot-20120102-3.thumb.png new file mode 100644 index 0000000..1f4ba64 Binary files /dev/null and b/web/sshots/20120102/shot-20120102-3.thumb.png differ diff --git a/web/style.css b/web/style.css new file mode 100644 index 0000000..705b6e9 --- /dev/null +++ b/web/style.css @@ -0,0 +1,191 @@ +/*********************************************** + * Copyright (c) 2012 Valeriano Alfonso * + ***********************************************/ + + + +/* Elementos Base */ +html, body { + height: 100%; + margin: 0; + padding: 0; + font-family: Verdana,Arial,Helvetica,sans-serif; + background-color:#000000; + color: #777777; + font-size: 10pt; +} +h1{ + text-align: left; + margin-top: 0; + margin-bottom: 1em; + font-size: 16pt; + font-weight: bold; +} +h2{ + text-align: left; + margin-top: 0; + margin-bottom: 0.75em; + font-size: 14pt; + font-weight: bold; +} +h3{ + text-align: left; + margin-top: 0; + margin-bottom: 0.5em; + font-size: 10pt; + font-weight: bold; +} +h4{ + margin-top: 0; + margin-bottom: 0.5em; + font-size: 11pt; + font-weight: bold; +} +p,li,td{ + margin-top: 0; + margin-bottom: 0.5em; + font-size: 10pt; +} +li { + padding:2px; +} +img { + border:0; +} + + + + + + +/* Links normales */ +a { + text-decoration:none; + font-weight: bold; + display:inline; +} +a:link { + color: #7777FF; +} +a:visited { + color: #7777FF; +} +a:hover { + color: #FFFFFF; + text-decoration: underline; +} +a:active { + color: #CBB545; +} + + + + + + + + + + +/* Estilo de Lonely Ruins */ +.contenedor { + margin: 0; + padding: 0; + float: left; + width: 100%; + min-height: 100%; +} +.cabecera { + width: 700px; + height:130px; + margin: 0 auto; + position: relative; +} +.titulo { + margin:0; + padding:0; + border:0; + vertical-align:bottom; + position:absolute; +} +a.titulo:hover { + background:none; +} +a.titulo img { + border:none; +} +a.titulo:hover img{ + border:none; +} +.contenido { + width: 700px; + margin:0; + padding:0; + border:0; + position:relative; + margin: 0 auto; + vertical-align:bottom; +} +.pie { + width:700px; + height: 64px; + margin:0; + padding:0; + border:0; + position:relative; + margin: 0 auto; + font-weight: bold; +} + + + + +.navbar { + height:130px; + width:500px; + margin:0; + padding:0; + border:0; + vertical-align:bottom; + position:absolute; + bottom:0px; + right:0px; +} +.navbar ul { + list-style:none; + list-style-type:none; + list-style-position:inside; + border:0; + padding:0; + margin:0; + display:block; + position:absolute; + bottom:0; + right:0; +} +.navbar li{ + padding:0px; + float: left; + text-align: center; + vertical-align: bottom; + margin: 1px; + border-left:1px solid #777777; +} + +/* links del navbar */ +.navbar a { + padding: 4px; + font-size:12pt; + display:block; + /*border-top: 2px solid rgb(127,127,127); + border-left: 2px solid rgb(96,96,96); + border-right: 2px solid rgb(16,16,16); + border-bottom: 2px solid rgb(0,0,0); + border-radius:7px; + -moz-border-radius:7px; + -webkit-border-radius:7px; + -ms-border-radius:7px;*/ +} + + + diff --git a/web/web_thumb.png b/web/web_thumb.png new file mode 100644 index 0000000..18b73ba Binary files /dev/null and b/web/web_thumb.png differ