[C] DooM ARENA! (Launcher)

Vamos ver a próxima versão
Editado pela última vez por Rico em Sáb Out 04, 2008 8:04 pm, em um total de 1 vez.
[xfire]p0br3[/xfire]
- Fabio914
- Mensagens: 1757
- Registrado em: Dom Mai 21, 2006 4:38 pm
- 18
- Localização: Sampa/Sanca
- Contato:
Versão 0.2 feita!
Changelog
- Sv_cheats ativado para modo multiplayer deathmatch
- adicionados fraglimit , timelimit e skill
- adicionado opção para modo de jogo otimizado (para dar menos lag em jogos multiplayer)
- suporte para 4 pwads
Screenshots


Download
download
Source Code
Changelog
- Sv_cheats ativado para modo multiplayer deathmatch
- adicionados fraglimit , timelimit e skill
- adicionado opção para modo de jogo otimizado (para dar menos lag em jogos multiplayer)
- suporte para 4 pwads
Screenshots


Download
download
Source Code
Código: Selecionar todos
#include <stdio>
#include <stdlib>
// DOOM ARENA! v.0.2
int main()
{
char sp[20]; // source port
char players[10]; //numero de jogadores 1 - offline 2 ou mais , online
char host[10]; //modo de operação : cliente ou servidor
char mode[10]; //deathmatch 1 , coop/sp 0
char srvip[50]; //ip do servidor
char iwad[20]; //iwad
char pwad01[20]; //pwad
char pwad02[20];
char pwad03[20];
char pwad04[20];
char warp[20]; //warp
char optimized[10]; //otimização
char time[10]; //timelimit
char skill[10]; //skill
char frag[10]; //fraglimit
char fvar[50];
char svar[50];
int i=0;
printf("** **** **** *** *** \n");
printf("* ** * * * * * * * * \n");
printf("* ** * * * * * ** * \n");
printf("* * * * * * * * \n");
printf("* * * * * * * * * * \n");
printf("* * * * * * * *** * \n");
printf("* * * * * * * * * * \n");
printf("* ** **** **** * * * * \n");
printf("* ** * * * * \n");
printf("** * * * \n");
printf("* * * \n");
printf(" ** \n \n");
printf("Doom ARENA Launcher! v.0.2\nBy Fabio914\n");
FILE *fp;
fp = fopen("gen.txt","r");
if (fp == NULL){
printf("Error : Error while reading file!\n\n");
exit(2);
}
while(fscanf(fp,"%s %s",fvar,svar)!=EOF){
if(strcmp(fvar,"sourceport")==0){
strcpy(sp,svar);
i++;
}
else if(strcmp(fvar,"players")==0){
strcpy(players,svar);
i++;
}
else if(strcmp(fvar,"host")==0){
strcpy(host,svar);
i++;
}
else if(strcmp(fvar,"serverip")==0){
strcpy(srvip,svar);
i++;
}
else if(strcmp(fvar,"mode")==0){
strcpy(mode,svar);
i++;
}
else if(strcmp(fvar,"iwad")==0){
strcpy(iwad,svar);
i++;
}
else if(strcmp(fvar,"pwad01")==0){
strcpy(pwad01,svar);
i++;
}
else if(strcmp(fvar,"pwad02")==0){
strcpy(pwad02,svar);
i++;
}
else if(strcmp(fvar,"pwad03")==0){
strcpy(pwad03,svar);
i++;
}
else if(strcmp(fvar,"pwad04")==0){
strcpy(pwad04,svar);
i++;
}
else if(strcmp(fvar,"opt")==0){
strcpy(optimized,svar);
i++;
}
else if(strcmp(fvar,"timelimit")==0){
strcpy(time,svar);
i++;
}
else if(strcmp(fvar,"warp")==0){
strcpy(warp,svar);
i++;
}
else if(strcmp(fvar,"skill")==0){
strcpy(skill,svar);
i++;
}
else if(strcmp(fvar,"fraglimit")==0){
strcpy(frag,svar);
i++;
}
else if (i == 15){
break;
}
}
fclose(fp);
//Escrevendo BAT
FILE *fd;
fd = fopen("run_me.bat","w");
printf("\nStatus : Generating BAT");
fprintf(fd,"%s",sp);
fprintf(fd," -iwad %s",iwad);
fprintf(fd," -file %s -file %s -file %s -file %s ",pwad01,pwad02,pwad03,pwad04);
if (strcmp(skill,"0")==0 || strcmp(skill,"1")==0 || strcmp(skill,"2")==0 || strcmp(skill,"3")==0 || strcmp(skill,"4")==0 ){
fprintf(fd," -skill %s ",skill); }
if (strcmp(players,"2")==0 || strcmp(players,"3")==0 || strcmp(players,"4")==0){
if (strcmp(host,"0")==0 && strcmp(optimized,"0")==0)
fprintf(fd," -join %s",srvip);
else if (strcmp(host,"0")==0 && strcmp(optimized,"1")==0)
fprintf(fd," -join %s -dup 2 -netmode 1",srvip);
else if (strcmp(host,"1")==0 && strcmp(optimized,"0")==0)
fprintf(fd," -host %s",players);
else if (strcmp(host,"1")==0 && strcmp(optimized,"1")==0)
fprintf(fd," -host %s -dup 2 -netmode 1",players);
}
if(strcmp(mode,"1")==0)
fprintf(fd," -deathmatch -nomonsters +set sv_cheats 1");
if(strcmp(warp,"none")!=0)
fprintf(fd," -warp %s",warp);
if(strcmp(time,"none")!=0)
fprintf(fd," -timer %s",time);
if(strcmp(frag,"none")!=0 && strcmp(frag,"0")!=0)
fprintf(fd," +set fraglimit %s",frag);
fclose(fd);
printf("\nStatus : BAT generated!");
system("run_me.bat");
printf("\nStatus : Finished!");
exit(1);
}
Só pra poupar tempo para o Fabio914
V0.2b
Mais WADs, e um pequeno concerto nos -file, antes via 1 pra cada wad, agora 1 -file para todos, o que apenas diminui mizeros bytes, mas são menos bytes para o pc processar e mais flexibilidade.
Download Source Code (pela preguiça de compactar, botão direito salvar como... ou no firefox salvar link como...)
V0.2b
Mais WADs, e um pequeno concerto nos -file, antes via 1 pra cada wad, agora 1 -file para todos, o que apenas diminui mizeros bytes, mas são menos bytes para o pc processar e mais flexibilidade.
Download Source Code (pela preguiça de compactar, botão direito salvar como... ou no firefox salvar link como...)
[xfire]p0br3[/xfire]
Cá entre nós, compactar um arquivo de 6kb é sacanagem né?
Jogando atualmente:
Xbox 360: Ninja Gaiden Black
Xbox One: Need for Speed: Hot Pursuit, Yakuza 3
PlayStation 2: Fatal Frame 3: The Tormented
PlayStation 3: RE: The Darkside Chronicles, RE: The Umbrella Chronicles
Nintendo Switch: Phantasy Star, SIFU
Xbox 360: Ninja Gaiden Black
Xbox One: Need for Speed: Hot Pursuit, Yakuza 3
PlayStation 2: Fatal Frame 3: The Tormented
PlayStation 3: RE: The Darkside Chronicles, RE: The Umbrella Chronicles
Nintendo Switch: Phantasy Star, SIFU
- Fabio914
- Mensagens: 1757
- Registrado em: Dom Mai 21, 2006 4:38 pm
- 18
- Localização: Sampa/Sanca
- Contato:
O objetivo não é compactar , é alutinar todos os arquivos juntos num mesmo pacote...DU0 escreveu:Cá entre nós, compactar um arquivo de 6kb é sacanagem né?
Alias , a versão 0.3 está em desenvolvimento e já conta com mais coisas como : opengl (para GZDoom) , carregar config e gravação e visualização de demos.

- Fabio914
- Mensagens: 1757
- Registrado em: Dom Mai 21, 2006 4:38 pm
- 18
- Localização: Sampa/Sanca
- Contato:
Como eu ainda demorarei para lançar outra compilação eu estou publicando na BrDoom a versão 0.3 (ainda não testada e não compilada).
Quem quiser baixar , compilar e testar , sinta-se a vontade
Download (arquivo GZIP)
Eu também coloquei um source para Linux nesse pacote porém eu ainda não testei ele e não faço a menor idéia se ele funcionará (eu fiz ele baseado em alguns outros programas que eu escrevi para Linux que funcionaram)
Falow!
OBS.: Para rodar no Linux você deve ter o GZDoom e o ZDoom devidamente compilados e no patch (sendo que o GZDoom deve ser compilado com um pacote especial que pode ser encontrado no forum DRD para fazer o Open-GL compilar no Linux). Se você não tiver o GZDoom e o ZDoom no patch então mova o executavel gerado com a compilação do Doom ARENA para o mesmo diretório do ZDoom ou GZDoom e rode o programa lá (coloque também no mesmo diretório os wads e o arquivo gen.txt [versão para linux])
Quem quiser baixar , compilar e testar , sinta-se a vontade

Download (arquivo GZIP)
Eu também coloquei um source para Linux nesse pacote porém eu ainda não testei ele e não faço a menor idéia se ele funcionará (eu fiz ele baseado em alguns outros programas que eu escrevi para Linux que funcionaram)
Falow!
OBS.: Para rodar no Linux você deve ter o GZDoom e o ZDoom devidamente compilados e no patch (sendo que o GZDoom deve ser compilado com um pacote especial que pode ser encontrado no forum DRD para fazer o Open-GL compilar no Linux). Se você não tiver o GZDoom e o ZDoom no patch então mova o executavel gerado com a compilação do Doom ARENA para o mesmo diretório do ZDoom ou GZDoom e rode o programa lá (coloque também no mesmo diretório os wads e o arquivo gen.txt [versão para linux])