Keep original end of line characters.

This commit is contained in:
2015-06-07 01:25:08 +02:00
committed by Valeriano A.R
parent 1404fb09b5
commit 92dbb7b1dd
9 changed files with 568 additions and 562 deletions

12
.gitignore vendored
View File

@@ -1,6 +1,6 @@
build-*
*.dll
*.exe
*.so
*.so.*
DIST/*
build-*
*.dll
*.exe
*.so
*.so.*
DIST/*

View File

@@ -1,156 +1,156 @@
// Copyright (C) 2012 Valeriano Alfonso Rodriguez (Kableado)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "GameLib.h"
extern int gamelib_debug;
#include "GameEnts.h"
DrawImg img_player;
DrawImg img_platform;
DrawImg img_block;
Entity ent_Player;
Entity ent_Platform;
Entity ent_Block;
int EntityApplyGravity(Entity e){
float grav=10.0f;
float vTerminal=50.0f;
vec2 vGrav;
// Only apply gravity to some entity types
if(!(
e->type==Ent_Player ||
0
))
{
return(1);
}
// Apply gravity
vec2_set(vGrav,0.0f,grav);
Entity_AddVelLimit(e,vGrav,vTerminal);
return(1);
}
void player_proc(Entity e,int ft){
float acel=8.0f;
float maxVel=30.0f;
float jumpVel=50.0f;
float shootVel=50.0f;
if(Input_GetKey(InputKey_Jump)==InputKey_Pressed ||
Input_GetKey(InputKey_Up)==InputKey_Pressed)
{
vec2 jump;
// Apply jump
if(e->vel[1]>(-jumpVel)){
e->vel[1]=-jumpVel;
}
Entity_CalcBBox(e);
// FIXME: play sound
}
if(Input_GetKey(InputKey_Left)){
vec2 left;
// Apply left movement
vec2_set(left,-acel,0.0f);
Entity_AddVelLimit(e,left,maxVel);
e->A=0;
}
if(Input_GetKey(InputKey_Right)){
vec2 right;
// Apply right movement
vec2_set(right,acel,0.0f)
Entity_AddVelLimit(e,right,maxVel);
e->A=1;
}
if(Input_GetKey(InputKey_Action1)==InputKey_Pressed ||
Input_GetKey(InputKey_Action2)==InputKey_Pressed)
{
}
// Scroll View
//GameLib_MoveToPosH(e->pos,0.6f);
GameLib_MoveToPos(e->pos,0.6f);
}
void GameEnts_Init(){
/////////////////////////////
// Load and initialize media.
//
img_player=Draw_LoadImage("data/player.png");
img_platform=Draw_LoadImage("data/platform.png");
img_block=Draw_LoadImage("data/block.png");
/////////////////////////
// Initialize entity types.
//
ent_Player=Entity_New();
ent_Player->type=Ent_Player;
//ent_Player->flags=EntityFlag_Light;
//Entity_SetLight(ent_Player,.2,.2,.2,200);
ent_Player->flags=EntityFlag_Collision|EntityFlag_Overlap;
ent_Player->zorder=0;
AnimPlay_SetImg(&ent_Player->anim,img_player);
ent_Player->proc=player_proc;
ent_Player->mass=1.0f;
ent_Player->radius=12;
ent_Player->width=24;
ent_Player->height=24;
ent_Player->fric_static=0.0f;
ent_Player->fric_dynamic=0.2f;
ent_Platform=Entity_New();
ent_Platform->type=Ent_Platform;
ent_Platform->flags=EntityFlag_PlatformCollision;
ent_Platform->zorder=-1;
AnimPlay_SetImg(&ent_Platform->anim,img_platform);
ent_Platform->mass=0.0f;
ent_Platform->radius=12;
ent_Platform->width=64;
ent_Platform->height=16;
ent_Platform->fric_static=0.0f;
ent_Platform->fric_dynamic=0.2f;
ent_Block=Entity_New();
ent_Block->type=Ent_Block;
ent_Block->flags=EntityFlag_BlockCollision;
ent_Block->zorder=-1;
AnimPlay_SetImg(&ent_Block->anim,img_block);
ent_Block->mass=0.0f;
ent_Block->radius=32;
ent_Block->width=64;
ent_Block->height=64;
ent_Block->fric_static=0.0f;
ent_Block->fric_dynamic=0.2f;
}
// Copyright (C) 2012 Valeriano Alfonso Rodriguez (Kableado)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "GameLib.h"
extern int gamelib_debug;
#include "GameEnts.h"
DrawImg img_player;
DrawImg img_platform;
DrawImg img_block;
Entity ent_Player;
Entity ent_Platform;
Entity ent_Block;
int EntityApplyGravity(Entity e){
float grav=10.0f;
float vTerminal=50.0f;
vec2 vGrav;
// Only apply gravity to some entity types
if(!(
e->type==Ent_Player ||
0
))
{
return(1);
}
// Apply gravity
vec2_set(vGrav,0.0f,grav);
Entity_AddVelLimit(e,vGrav,vTerminal);
return(1);
}
void player_proc(Entity e,int ft){
float acel=8.0f;
float maxVel=30.0f;
float jumpVel=50.0f;
float shootVel=50.0f;
if(Input_GetKey(InputKey_Jump)==InputKey_Pressed ||
Input_GetKey(InputKey_Up)==InputKey_Pressed)
{
vec2 jump;
// Apply jump
if(e->vel[1]>(-jumpVel)){
e->vel[1]=-jumpVel;
}
Entity_CalcBBox(e);
// FIXME: play sound
}
if(Input_GetKey(InputKey_Left)){
vec2 left;
// Apply left movement
vec2_set(left,-acel,0.0f);
Entity_AddVelLimit(e,left,maxVel);
e->A=0;
}
if(Input_GetKey(InputKey_Right)){
vec2 right;
// Apply right movement
vec2_set(right,acel,0.0f)
Entity_AddVelLimit(e,right,maxVel);
e->A=1;
}
if(Input_GetKey(InputKey_Action1)==InputKey_Pressed ||
Input_GetKey(InputKey_Action2)==InputKey_Pressed)
{
}
// Scroll View
//GameLib_MoveToPosH(e->pos,0.6f);
GameLib_MoveToPos(e->pos,0.6f);
}
void GameEnts_Init(){
/////////////////////////////
// Load and initialize media.
//
img_player=Draw_LoadImage("data/player.png");
img_platform=Draw_LoadImage("data/platform.png");
img_block=Draw_LoadImage("data/block.png");
/////////////////////////
// Initialize entity types.
//
ent_Player=Entity_New();
ent_Player->type=Ent_Player;
//ent_Player->flags=EntityFlag_Light;
//Entity_SetLight(ent_Player,.2,.2,.2,200);
ent_Player->flags=EntityFlag_Collision|EntityFlag_Overlap;
ent_Player->zorder=0;
AnimPlay_SetImg(&ent_Player->anim,img_player);
ent_Player->proc=player_proc;
ent_Player->mass=1.0f;
ent_Player->radius=12;
ent_Player->width=24;
ent_Player->height=24;
ent_Player->fric_static=0.0f;
ent_Player->fric_dynamic=0.2f;
ent_Platform=Entity_New();
ent_Platform->type=Ent_Platform;
ent_Platform->flags=EntityFlag_PlatformCollision;
ent_Platform->zorder=-1;
AnimPlay_SetImg(&ent_Platform->anim,img_platform);
ent_Platform->mass=0.0f;
ent_Platform->radius=12;
ent_Platform->width=64;
ent_Platform->height=16;
ent_Platform->fric_static=0.0f;
ent_Platform->fric_dynamic=0.2f;
ent_Block=Entity_New();
ent_Block->type=Ent_Block;
ent_Block->flags=EntityFlag_BlockCollision;
ent_Block->zorder=-1;
AnimPlay_SetImg(&ent_Block->anim,img_block);
ent_Block->mass=0.0f;
ent_Block->radius=32;
ent_Block->width=64;
ent_Block->height=64;
ent_Block->fric_static=0.0f;
ent_Block->fric_dynamic=0.2f;
}

View File

@@ -1,25 +1,25 @@
// Copyright (C) 2012 Valeriano Alfonso Rodriguez (Kableado)
#ifndef _GAMEENTS_H_
#define _GAMEENTS_H_
enum {
Ent_Player,
Ent_Platform,
Ent_Block,
Ent_Last
} EntityType;
extern Entity ent_Player;
extern Entity ent_Platform;
extern Entity ent_Block;
int EntityApplyGravity(Entity e);
void GameEnts_Init();
#endif
// Copyright (C) 2012 Valeriano Alfonso Rodriguez (Kableado)
#ifndef _GAMEENTS_H_
#define _GAMEENTS_H_
enum {
Ent_Player,
Ent_Platform,
Ent_Block,
Ent_Last
} EntityType;
extern Entity ent_Player;
extern Entity ent_Platform;
extern Entity ent_Block;
int EntityApplyGravity(Entity e);
void GameEnts_Init();
#endif

View File

@@ -1,128 +1,128 @@
// Copyright (C) 2012 Valeriano Alfonso Rodriguez (Kableado)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "GameLib.h"
#include "GameEnts.h"
#include "GameMap.h"
int ReadLine(FILE *f,char *line,int max){
int c;
int i=0;
while(i<(max-1)){
c=fgetc(f);
if(c==EOF){
line[i]=0;
return(-1);
}
if(c=='\r'){
continue;
}
if(c=='\n'){
line[i]=0;
return(i);
}
line[i]=c;
i++;
}
line[i]=0;
return(i);
}
Entity GameMapAux_CreateEnt(Entity ent,int i,int j,int res){
Entity e;
vec2 pos;
e=Entity_Copy(ent);
vec2_set(pos,(res/2)+i*res,(res/2)+j*res);
vec2_plus(e->pos,e->pos,pos);
Entity_CalcBBox(e);
GameLib_AddEntity(e);
return(e);
}
#define MaxLineLen 1024
int GameMap_LoadLevel(char *filename,int res){
FILE *file;
char line[MaxLineLen];
int len,i,j;
int width,height;
char *map;
// Open the file
file=fopen(filename,"rb");
if(!file){
return(0);
}
// Read the file to determine sizes
width=0;
height=0;
do{
len=ReadLine(file,line,MaxLineLen);
if(len>-1){
if(len>height){
height=len;
}
width++;
}
}while(len>-1);
fseek(file,0,SEEK_SET);
// Build the map
map=malloc(sizeof(char)*width*height);
memset(map,0,width*height);
#define MAP(x,y) map[(x)+((y)*width)]
j=0;
do{
len=ReadLine(file,line,MaxLineLen);
for(i=0;i<len;i++){
MAP(j,(height-1)-i)=line[i];
}
j++;
}while(len>-1);
// Close the file
fclose(file);
// Parse the map
for(j=0;j<height;j++){
for(i=0;i<width;i++){
Entity ent;
if(MAP(i,j)=='P'){
// Player
GameMapAux_CreateEnt(ent_Player,i,j,res);
}
if(MAP(i,j)=='#'){
// Block
ent=GameMapAux_CreateEnt(ent_Block,i,j,res);
}
if(MAP(i,j)=='|'){
// Platform
ent=GameMapAux_CreateEnt(ent_Platform,i,j,res);
}
}
}
// Cleanup
free(map);
#undef MAP
return(1);
// Copyright (C) 2012 Valeriano Alfonso Rodriguez (Kableado)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "GameLib.h"
#include "GameEnts.h"
#include "GameMap.h"
int ReadLine(FILE *f,char *line,int max){
int c;
int i=0;
while(i<(max-1)){
c=fgetc(f);
if(c==EOF){
line[i]=0;
return(-1);
}
if(c=='\r'){
continue;
}
if(c=='\n'){
line[i]=0;
return(i);
}
line[i]=c;
i++;
}
line[i]=0;
return(i);
}
Entity GameMapAux_CreateEnt(Entity ent,int i,int j,int res){
Entity e;
vec2 pos;
e=Entity_Copy(ent);
vec2_set(pos,(res/2)+i*res,(res/2)+j*res);
vec2_plus(e->pos,e->pos,pos);
Entity_CalcBBox(e);
GameLib_AddEntity(e);
return(e);
}
#define MaxLineLen 1024
int GameMap_LoadLevel(char *filename,int res){
FILE *file;
char line[MaxLineLen];
int len,i,j;
int width,height;
char *map;
// Open the file
file=fopen(filename,"rb");
if(!file){
return(0);
}
// Read the file to determine sizes
width=0;
height=0;
do{
len=ReadLine(file,line,MaxLineLen);
if(len>-1){
if(len>height){
height=len;
}
width++;
}
}while(len>-1);
fseek(file,0,SEEK_SET);
// Build the map
map=malloc(sizeof(char)*width*height);
memset(map,0,width*height);
#define MAP(x,y) map[(x)+((y)*width)]
j=0;
do{
len=ReadLine(file,line,MaxLineLen);
for(i=0;i<len;i++){
MAP(j,(height-1)-i)=line[i];
}
j++;
}while(len>-1);
// Close the file
fclose(file);
// Parse the map
for(j=0;j<height;j++){
for(i=0;i<width;i++){
Entity ent;
if(MAP(i,j)=='P'){
// Player
GameMapAux_CreateEnt(ent_Player,i,j,res);
}
if(MAP(i,j)=='#'){
// Block
ent=GameMapAux_CreateEnt(ent_Block,i,j,res);
}
if(MAP(i,j)=='|'){
// Platform
ent=GameMapAux_CreateEnt(ent_Platform,i,j,res);
}
}
}
// Cleanup
free(map);
#undef MAP
return(1);
}

View File

@@ -1,8 +1,8 @@
// Copyright (C) 2012 Valeriano Alfonso Rodriguez (Kableado)
#ifndef _GAMEMAP_H_
#define _GAMEMAP_H_
int GameMap_LoadLevel(char *filename,int res);
#endif
// Copyright (C) 2012 Valeriano Alfonso Rodriguez (Kableado)
#ifndef _GAMEMAP_H_
#define _GAMEMAP_H_
int GameMap_LoadLevel(char *filename,int res);
#endif

View File

@@ -1,71 +1,71 @@
// Copyright (C) 2012 Valeriano Alfonso Rodriguez (Kableado)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include "GameLib.h"
extern int gamelib_debug;
#include "GameEnts.h"
#include "GameMap.h"
DrawFnt font;
DrawFnt font_shad;
void ProcGame(){
}
void PostProcGame(){
// Apply gravity to every entity
GameLib_ForEachEnt(EntityApplyGravity);
}
int main(int argc,char *argv[]){
int i,j;
Entity *e;
srand(time(NULL));
if (argc>1) {
if (!strcmp(argv[1],"debug")) {
gamelib_debug=1;
printf("Debug Mode Activated!\n");
}
}
GameLib_Init(640,480,"Game",20,60);
/////////////////////////////
// Load and initialize media.
//
font=Draw_DefaultFont(255,255,255,255);
font_shad=Draw_DefaultFont(0,0,0,127);
GameEnts_Init();
/////////////////////////
// Initialize world.
//
GameLib_DelEnts();
GameMap_LoadLevel("data/level_01.txt",64);
/////////////////////////
// Run the world.
//
GameLib_Loop(ProcGame,PostProcGame,NULL,NULL);
return(0);
// Copyright (C) 2012 Valeriano Alfonso Rodriguez (Kableado)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include "GameLib.h"
extern int gamelib_debug;
#include "GameEnts.h"
#include "GameMap.h"
DrawFnt font;
DrawFnt font_shad;
void ProcGame(){
}
void PostProcGame(){
// Apply gravity to every entity
GameLib_ForEachEnt(EntityApplyGravity);
}
int main(int argc,char *argv[]){
int i,j;
Entity *e;
srand(time(NULL));
if (argc>1) {
if (!strcmp(argv[1],"debug")) {
gamelib_debug=1;
printf("Debug Mode Activated!\n");
}
}
GameLib_Init(640,480,"Game",20,60);
/////////////////////////////
// Load and initialize media.
//
font=Draw_DefaultFont(255,255,255,255);
font_shad=Draw_DefaultFont(0,0,0,127);
GameEnts_Init();
/////////////////////////
// Initialize world.
//
GameLib_DelEnts();
GameMap_LoadLevel("data/level_01.txt",64);
/////////////////////////
// Run the world.
//
GameLib_Loop(ProcGame,PostProcGame,NULL,NULL);
return(0);
}

View File

@@ -1,107 +1,107 @@
########################
# GameLib Declarations #
########################
CFLAGS += -IGameLib
GAMELIB_HEADS = \
GameLib/Time.h \
GameLib/Util.h \
GameLib/QuadArray2D.h \
GameLib/Draw.h \
GameLib/Input.h \
GameLib/Audio.h \
GameLib/Anim.h \
GameLib/Entity.h \
GameLib/GameLib.h
GAMELIBS_OBJS = \
$(BUILDDIR)/GameLib/Time.o \
$(BUILDDIR)/GameLib/Util.o \
$(BUILDDIR)/GameLib/QuadArray2D.o \
$(BUILDDIR)/GameLib/Draw.o \
$(BUILDDIR)/GameLib/Input.o \
$(BUILDDIR)/GameLib/Audio.o \
$(BUILDDIR)/GameLib/Anim.o \
$(BUILDDIR)/GameLib/Entity.o \
$(BUILDDIR)/GameLib/GameLib.o
RES_GAMELIB_OUT = $(BUILDDIR)/$(RES_GAMELIB)
#####################
# Game Declarations #
#####################
GAME_HEADS = $(GAMELIB_HEADS) Game/GameEnts.h Game/GameMap.h
GAME_OBJS = \
$(BUILDDIR)/Game/GameEnts.o \
$(BUILDDIR)/Game/GameMap.o \
$(BUILDDIR)/Game/main.o
RES_GAME_OUT = $(BUILDDIR)/$(RES_GAME)
#################
# General Rules #
#################
all: $(BUILDDIR) $(RES_GAME_OUT)
$(BUILDDIR):
$(MKDIR) $(BUILDDIR)
$(MKDIR) $(BUILDDIR)/GameLib
$(MKDIR) $(BUILDDIR)/Game
clean:
$(RM) $(GAMELIBS_OBJS) $(RES_GAMELIB_OUT) $(GAME_OBJS) $(RES_GAME_OUT)
run: $(BUILDDIR) $(RES_GAME_OUT)
$(LAUNCHER) ./$(RES_GAME_OUT) debug
rebuild: clean all
#################
# GameLib Rules #
#################
$(BUILDDIR)/GameLib/Time.o: GameLib/Time.c $(HEADS)
$(CC) -c GameLib/Time.c -o $(BUILDDIR)/GameLib/Time.o $(CFLAGS)
$(BUILDDIR)/GameLib/Util.o: GameLib/Util.c $(HEADS)
$(CC) -c GameLib/Util.c -o $(BUILDDIR)/GameLib/Util.o $(CFLAGS)
$(BUILDDIR)/GameLib/QuadArray2D.o: GameLib/QuadArray2D.c $(HEADS)
$(CC) -c GameLib/QuadArray2D.c -o $(BUILDDIR)/GameLib/QuadArray2D.o $(CFLAGS)
$(BUILDDIR)/GameLib/Draw.o: GameLib/Draw.c $(HEADS)
$(CC) -c GameLib/Draw.c -o $(BUILDDIR)/GameLib/Draw.o $(CFLAGS)
$(BUILDDIR)/GameLib/Input.o: GameLib/Input.c $(HEADS)
$(CC) -c GameLib/Input.c -o $(BUILDDIR)/GameLib/Input.o $(CFLAGS)
$(BUILDDIR)/GameLib/Audio.o: GameLib/Audio.c $(HEADS)
$(CC) -c GameLib/Audio.c -o $(BUILDDIR)/GameLib/Audio.o $(CFLAGS)
$(BUILDDIR)/GameLib/Entity.o: GameLib/Entity.c $(HEADS)
$(CC) -c GameLib/Entity.c -o $(BUILDDIR)/GameLib/Entity.o $(CFLAGS)
$(BUILDDIR)/GameLib/Anim.o: GameLib/Anim.c $(HEADS)
$(CC) -c GameLib/Anim.c -o $(BUILDDIR)/GameLib/Anim.o $(CFLAGS)
$(BUILDDIR)/GameLib/GameLib.o: GameLib/GameLib.c $(HEADS)
$(CC) -c GameLib/GameLib.c -o $(BUILDDIR)/GameLib/GameLib.o $(CFLAGS)
##############
# Game Rules #
##############
$(BUILDDIR)/Game/GameEnts.o: Game/GameEnts.c $(HEADS)
$(CC) -c Game/GameEnts.c -o $(BUILDDIR)/Game/GameEnts.o $(CFLAGS)
$(BUILDDIR)/Game/GameMap.o: Game/GameMap.c $(HEADS)
$(CC) -c Game/GameMap.c -o $(BUILDDIR)/Game/GameMap.o $(CFLAGS)
$(BUILDDIR)/Game/main.o: Game/main.c $(HEADS)
$(CC) -c Game/main.c -o $(BUILDDIR)/Game/main.o $(CFLAGS)
################
# Result Rules #
################
$(RES_GAMELIB_OUT): $(GAMELIBS_OBJS)
$(AR) rcs $(RES_GAMELIB_OUT) $(GAMELIBS_OBJS)
$(RES_GAME_OUT): $(RES_GAMELIB_OUT) $(GAME_OBJS)
$(CC) $(GAME_OBJS) $(RES_GAMELIB_OUT) -o $(RES_GAME_OUT) $(LIBS) $(CFLAGS) $(LDFLAGS)
########################
# GameLib Declarations #
########################
CFLAGS += -IGameLib
GAMELIB_HEADS = \
GameLib/Time.h \
GameLib/Util.h \
GameLib/QuadArray2D.h \
GameLib/Draw.h \
GameLib/Input.h \
GameLib/Audio.h \
GameLib/Anim.h \
GameLib/Entity.h \
GameLib/GameLib.h
GAMELIBS_OBJS = \
$(BUILDDIR)/GameLib/Time.o \
$(BUILDDIR)/GameLib/Util.o \
$(BUILDDIR)/GameLib/QuadArray2D.o \
$(BUILDDIR)/GameLib/Draw.o \
$(BUILDDIR)/GameLib/Input.o \
$(BUILDDIR)/GameLib/Audio.o \
$(BUILDDIR)/GameLib/Anim.o \
$(BUILDDIR)/GameLib/Entity.o \
$(BUILDDIR)/GameLib/GameLib.o
RES_GAMELIB_OUT = $(BUILDDIR)/$(RES_GAMELIB)
#####################
# Game Declarations #
#####################
GAME_HEADS = $(GAMELIB_HEADS) Game/GameEnts.h Game/GameMap.h
GAME_OBJS = \
$(BUILDDIR)/Game/GameEnts.o \
$(BUILDDIR)/Game/GameMap.o \
$(BUILDDIR)/Game/main.o
RES_GAME_OUT = $(BUILDDIR)/$(RES_GAME)
#################
# General Rules #
#################
all: $(BUILDDIR) $(RES_GAME_OUT)
$(BUILDDIR):
$(MKDIR) $(BUILDDIR)
$(MKDIR) $(BUILDDIR)/GameLib
$(MKDIR) $(BUILDDIR)/Game
clean:
$(RM) $(GAMELIBS_OBJS) $(RES_GAMELIB_OUT) $(GAME_OBJS) $(RES_GAME_OUT)
run: $(BUILDDIR) $(RES_GAME_OUT)
$(LAUNCHER) ./$(RES_GAME_OUT) debug
rebuild: clean all
#################
# GameLib Rules #
#################
$(BUILDDIR)/GameLib/Time.o: GameLib/Time.c $(HEADS)
$(CC) -c GameLib/Time.c -o $(BUILDDIR)/GameLib/Time.o $(CFLAGS)
$(BUILDDIR)/GameLib/Util.o: GameLib/Util.c $(HEADS)
$(CC) -c GameLib/Util.c -o $(BUILDDIR)/GameLib/Util.o $(CFLAGS)
$(BUILDDIR)/GameLib/QuadArray2D.o: GameLib/QuadArray2D.c $(HEADS)
$(CC) -c GameLib/QuadArray2D.c -o $(BUILDDIR)/GameLib/QuadArray2D.o $(CFLAGS)
$(BUILDDIR)/GameLib/Draw.o: GameLib/Draw.c $(HEADS)
$(CC) -c GameLib/Draw.c -o $(BUILDDIR)/GameLib/Draw.o $(CFLAGS)
$(BUILDDIR)/GameLib/Input.o: GameLib/Input.c $(HEADS)
$(CC) -c GameLib/Input.c -o $(BUILDDIR)/GameLib/Input.o $(CFLAGS)
$(BUILDDIR)/GameLib/Audio.o: GameLib/Audio.c $(HEADS)
$(CC) -c GameLib/Audio.c -o $(BUILDDIR)/GameLib/Audio.o $(CFLAGS)
$(BUILDDIR)/GameLib/Entity.o: GameLib/Entity.c $(HEADS)
$(CC) -c GameLib/Entity.c -o $(BUILDDIR)/GameLib/Entity.o $(CFLAGS)
$(BUILDDIR)/GameLib/Anim.o: GameLib/Anim.c $(HEADS)
$(CC) -c GameLib/Anim.c -o $(BUILDDIR)/GameLib/Anim.o $(CFLAGS)
$(BUILDDIR)/GameLib/GameLib.o: GameLib/GameLib.c $(HEADS)
$(CC) -c GameLib/GameLib.c -o $(BUILDDIR)/GameLib/GameLib.o $(CFLAGS)
##############
# Game Rules #
##############
$(BUILDDIR)/Game/GameEnts.o: Game/GameEnts.c $(HEADS)
$(CC) -c Game/GameEnts.c -o $(BUILDDIR)/Game/GameEnts.o $(CFLAGS)
$(BUILDDIR)/Game/GameMap.o: Game/GameMap.c $(HEADS)
$(CC) -c Game/GameMap.c -o $(BUILDDIR)/Game/GameMap.o $(CFLAGS)
$(BUILDDIR)/Game/main.o: Game/main.c $(HEADS)
$(CC) -c Game/main.c -o $(BUILDDIR)/Game/main.o $(CFLAGS)
################
# Result Rules #
################
$(RES_GAMELIB_OUT): $(GAMELIBS_OBJS)
$(AR) rcs $(RES_GAMELIB_OUT) $(GAMELIBS_OBJS)
$(RES_GAME_OUT): $(RES_GAMELIB_OUT) $(GAME_OBJS)
$(CC) $(GAME_OBJS) $(RES_GAMELIB_OUT) -o $(RES_GAME_OUT) $(LIBS) $(CFLAGS) $(LDFLAGS)

View File

@@ -1,63 +1,63 @@
######################
######################
######################
######################
######################
######################
######################
######################
######################
######################
################## ##
###############
#############
#############
##############
########## ###
######### ###
######## P ##
######## ##
######## ## |||||
########
#########
##########
###########
############
#############
######## ## #
######### ###
######## ## #
#############
#############
########
##########
########
###########
########
########
############
########
#############
########
########
######## #
######## #
########
########
########
########
#########
########
########
#########
######################
######################
######################
######################
######################
######################
######################
######################
######################
######################
######################
######################
######################
######################
######################
######################
######################
######################
######################
######################
################## ##
###############
#############
#############
##############
########## ###
######### ###
######## P ##
######## ##
######## ## |||||
########
#########
##########
###########
############
#############
######## ## #
######### ###
######## ## #
#############
#############
########
##########
########
###########
########
########
############
########
#############
########
########
######## #
######## #
########
########
########
########
#########
########
########
#########
######################
######################
######################
######################
######################
######################
######################
######################
######################
######################

View File

@@ -20,6 +20,7 @@ case "$uname" in
cflags="-Dmain=SDL_main -lmingw32 -lSDLmain -lSDL -mwindows -g"
builddir="build-mingw"
platform="win32"
exeextension=".exe"
;;
*EMSCRIPTEN*)
# Configuracion de Emscripten
@@ -27,6 +28,7 @@ case "$uname" in
cflags="-s FULL_ES2=1 -s ASM_JS=1 -Wno-implicit-function-declaration"
builddir="build-emscripten"
platform="emscripten"
exeextension=".html"
;;
*)
# Configuracion de Linux
@@ -34,6 +36,7 @@ case "$uname" in
cflags="-Wall -g -I/usr/include/ -I/usr/include/SDL/ -I/usr/X11R6/include/"
builddir="build-linux-$unamem"
platform="linux-$unamem"
exeextension=""
;;
esac
@@ -63,6 +66,9 @@ while test $# -gt 0; do
--platform)
echo "$platform"
;;
--exe-extension)
echo "$exeextension"
;;
*)
echo "${usage}" 1>&2
exit 1