[C] DooM ARENA! (Launcher)

Sub-fórum especial para usuários que querem discutir/aprender programação, como as linguagens C/C++/C#, Java, HTML, e por aí vai...
Rico
Mensagens: 2354
Registrado em: Dom Set 10, 2006 11:49 am
Answers: 0
17
Localização: Atrás do DU0
Contato:

Mensagem por Rico »

e DMFLAGS né =D
[xfire]p0br3[/xfire]
Futuro PC:

CPU: AMD Athlon x2 64Bits 7750 2.7GHz Black Edition
MoBo: Asus M2 ou M3.
VGA: XFX Geforce 9800 GTX 512MB ou 1GB/256Bits
HD: Seagate 1TB
PSU: ATX 600w REAIS
RAM: 4GB Ram DDR2 Kingstone @800MHz [2x2Gb]
Avatar do usuário
Fabio914
Mensagens: 1757
Registrado em: Dom Mai 21, 2006 4:38 pm
Answers: 0
17
Localização: Sampa/Sanca
Contato:

Mensagem por Fabio914 »

R1c0 escreveu:e DMFLAGS né =D
só se no gen.txt o cara colocasse direto o numero dos DM flags , porque fica meio complicado implementar no programa a "calculadora" de Dm flags.
Projetos em andamento
the Core
Eclipse

Projetos parados
Doom 3 on GZDoom
FSD Project

PC
AMD Athlon 64 X2 5200+ (2x 2.6Ghz)
2GB RAM (2x 1GB DDR2)
240GB (160GB SATA + 80GB SATA)
XFX nVidia GeForce 8600 GT (600mhz 256mb)
Placa Mãe ASUS M2N4 SLI (2x PCI-E 16x SLI, 4x DDR2 800, nForce 4)
Fonte 500W reais (esqueci o nome da marca)
Monitor LG Flatron 19'' LCD
Avatar do usuário
Darkhealm
Mensagens: 143
Registrado em: Seg Ago 20, 2007 7:12 pm
Answers: 0
16
Localização: São Paulo

Mensagem por Darkhealm »

WoW! É otimo! Perfeito! Você realmente fez um otimo trabalho, por que não leva isso para frente fazendo mais coisas para ele?
Rico
Mensagens: 2354
Registrado em: Dom Set 10, 2006 11:49 am
Answers: 0
17
Localização: Atrás do DU0
Contato:

Mensagem por Rico »

:D

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]
Futuro PC:

CPU: AMD Athlon x2 64Bits 7750 2.7GHz Black Edition
MoBo: Asus M2 ou M3.
VGA: XFX Geforce 9800 GTX 512MB ou 1GB/256Bits
HD: Seagate 1TB
PSU: ATX 600w REAIS
RAM: 4GB Ram DDR2 Kingstone @800MHz [2x2Gb]
Avatar do usuário
Fabio914
Mensagens: 1757
Registrado em: Dom Mai 21, 2006 4:38 pm
Answers: 0
17
Localização: Sampa/Sanca
Contato:

Mensagem por Fabio914 »

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
Imagem

Imagem

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);


}
Projetos em andamento
the Core
Eclipse

Projetos parados
Doom 3 on GZDoom
FSD Project

PC
AMD Athlon 64 X2 5200+ (2x 2.6Ghz)
2GB RAM (2x 1GB DDR2)
240GB (160GB SATA + 80GB SATA)
XFX nVidia GeForce 8600 GT (600mhz 256mb)
Placa Mãe ASUS M2N4 SLI (2x PCI-E 16x SLI, 4x DDR2 800, nForce 4)
Fonte 500W reais (esqueci o nome da marca)
Monitor LG Flatron 19'' LCD
Rico
Mensagens: 2354
Registrado em: Dom Set 10, 2006 11:49 am
Answers: 0
17
Localização: Atrás do DU0
Contato:

Mensagem por Rico »

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...)
[xfire]p0br3[/xfire]
Futuro PC:

CPU: AMD Athlon x2 64Bits 7750 2.7GHz Black Edition
MoBo: Asus M2 ou M3.
VGA: XFX Geforce 9800 GTX 512MB ou 1GB/256Bits
HD: Seagate 1TB
PSU: ATX 600w REAIS
RAM: 4GB Ram DDR2 Kingstone @800MHz [2x2Gb]
Avatar do usuário
DU0
Mensagens: 6689
Registrado em: Sáb Abr 01, 2006 6:59 am
Answers: 0
18
Localização: Deimos Lab.
Contato:

Mensagem por DU0 »

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
Avatar do usuário
Fabio914
Mensagens: 1757
Registrado em: Dom Mai 21, 2006 4:38 pm
Answers: 0
17
Localização: Sampa/Sanca
Contato:

Mensagem por Fabio914 »

DU0 escreveu:Cá entre nós, compactar um arquivo de 6kb é sacanagem né?
O objetivo não é compactar , é alutinar todos os arquivos juntos num mesmo pacote...

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. :wink:
Projetos em andamento
the Core
Eclipse

Projetos parados
Doom 3 on GZDoom
FSD Project

PC
AMD Athlon 64 X2 5200+ (2x 2.6Ghz)
2GB RAM (2x 1GB DDR2)
240GB (160GB SATA + 80GB SATA)
XFX nVidia GeForce 8600 GT (600mhz 256mb)
Placa Mãe ASUS M2N4 SLI (2x PCI-E 16x SLI, 4x DDR2 800, nForce 4)
Fonte 500W reais (esqueci o nome da marca)
Monitor LG Flatron 19'' LCD
Avatar do usuário
Darkhealm
Mensagens: 143
Registrado em: Seg Ago 20, 2007 7:12 pm
Answers: 0
16
Localização: São Paulo

Mensagem por Darkhealm »

E quando esse vai se tornar um Open Source que vai desbamcar qualquer outro?
Avatar do usuário
Fabio914
Mensagens: 1757
Registrado em: Dom Mai 21, 2006 4:38 pm
Answers: 0
17
Localização: Sampa/Sanca
Contato:

Mensagem por Fabio914 »

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 :wink:

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])
Projetos em andamento
the Core
Eclipse

Projetos parados
Doom 3 on GZDoom
FSD Project

PC
AMD Athlon 64 X2 5200+ (2x 2.6Ghz)
2GB RAM (2x 1GB DDR2)
240GB (160GB SATA + 80GB SATA)
XFX nVidia GeForce 8600 GT (600mhz 256mb)
Placa Mãe ASUS M2N4 SLI (2x PCI-E 16x SLI, 4x DDR2 800, nForce 4)
Fonte 500W reais (esqueci o nome da marca)
Monitor LG Flatron 19'' LCD