Página 2 de 4

Enviado: Sáb Abr 05, 2008 9:33 pm
por Rico
e DMFLAGS né =D

Enviado: Sáb Abr 05, 2008 10:24 pm
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.

Enviado: Sáb Abr 05, 2008 10:27 pm
por Darkhealm
WoW! É otimo! Perfeito! Você realmente fez um otimo trabalho, por que não leva isso para frente fazendo mais coisas para ele?

Enviado: Dom Abr 06, 2008 1:55 am
por Rico
:D

Vamos ver a próxima versão

Enviado: Dom Abr 06, 2008 9:42 am
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);


}

Enviado: Dom Abr 06, 2008 4:18 pm
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...)

Enviado: Dom Abr 06, 2008 9:52 pm
por DU0
Cá entre nós, compactar um arquivo de 6kb é sacanagem né?

Enviado: Seg Abr 07, 2008 6:15 pm
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:

Enviado: Seg Abr 07, 2008 6:41 pm
por Darkhealm
E quando esse vai se tornar um Open Source que vai desbamcar qualquer outro?

Enviado: Sex Abr 11, 2008 9:06 pm
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])