Página 1 de 4

[C] DooM ARENA! (Launcher)

Enviado: Dom Mar 30, 2008 7:04 pm
por Fabio914
Doom ARENA

Hoje a tarde eu não estava com nada melhor pra fazer então eu desenvolvi um pequeno launcher para DOS que , assim como o ZDL , executa wads em modos offline e online. Ele é um programinha muito util pra quem deseja jogar online com GZDoom e ZDoom e tem dificuldades com isso.

Ele não possui interface de usuário , tudo o que você tem a fazer é editar o arquivo gen.txt de forma que fique com as configurações que você quer rodar.

Alem disso esse é um programinha bem levinho também , é só 23kb!

Download
download

Source Code

Código: Selecionar todos

#include <stdio>
#include <stdlib>

// DOOM ARENA!

int main()
{
    char sp[20]; // source port
    char players[10]; //numero de jogadores | offline é 1 e 2 ou mais para online
    char host[10];
    char mode[10]; //deathmatch é 1 , coop/sp é 0
    char srvip[50];
    char iwad[20]; //iwad
    char pwad01[20]; //pwad
    char pwad02[20];
    char warp[20]; //warp

    char fvar[50];
    char svar[50];
    int i=0;





    printf("Doom ARENA Launcher! v.0.1\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,"warp")==0){
        strcpy(warp,svar);
        i++;
    }
    else if (i == 9){
        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",pwad01,pwad02);
    if (strcmp(players,"2")==0 || strcmp(players,"3")==0 || strcmp(players,"4")==0){
        if (strcmp(host,"0")==0)
        fprintf(fd," -join %s",srvip);
        else if (strcmp(host,"1")==0)
        fprintf(fd," -host %s",players);
    }
    if(strcmp(mode,"1")==0)
    fprintf(fd," -deathmatch -nomonsters");

    if(strcmp(warp,"none")!=0)
    fprintf(fd," -warp %s",warp);

    fclose(fd);

    printf("\nStatus : BAT generated!");
    system("run_me.bat");
    printf("\nStatus : Finished!");

    exit(1);


}
Este programa pode ser facilmente portado para Linux , basta mudar o arquivo gerado de run_me.bat para run_me.sh e mudar na função system , o run_me.bat para .\run_me.sh .

Talvez eu ainda faça versões futuras com mais recursos , mas por enquanto é isso ai...

Aproveitem :wink:

EDIT: Como esse programa gera um BAT , você pode renomear esse bat para usa-lo de atalho para rodar aquele wad especifico naquele modo de jogo especifico , diferente do ZDL que apenas executa uma vez e depois você tem que criar um atalho ou bat manualmente para poder executar o jogo sem o ZDL.

Enviado: Dom Mar 30, 2008 7:09 pm
por Rico
AEEEEE
Agora vamos melhorar po, um launcher eh brasileiro =D

Enviado: Dom Mar 30, 2008 8:44 pm
por DU0
HAUEHUAEHUAHEUAEHUAEH

Imaginem o Fabio, 13:30 da tarde... Liga a tv, tá passando pokémon... ae entra no orkut, da uma navegada pelas comus, relaxa, põe as mãos atrás da nuca, olha pro dia nublado na rua pela janela, olha pra cima, boceja e diz: "Ai, ai... vo faze um launcher pra zDoom... :| "

^^

*baixando*

Enviado: Dom Mar 30, 2008 9:00 pm
por Rico
Hahahahahahaha!

Enviado: Dom Mar 30, 2008 9:05 pm
por Mauricio Rocks
DU0 escreveu:Imaginem o Fabio, 13:30 da tarde... Liga a tv, tá passando pokémon... ae entra no orkut, da uma navegada pelas comus, relaxa, põe as mãos atrás da nuca, olha pro dia nublado na rua pela janela, olha pra cima, boceja e diz: "Ai, ai... vo faze um launcher pra zDoom... :| "
uehauheuahuehauhe! DU0, o hud e o reload do Dark Base foram feitos dessa maneira.. a única diferença eh q os dias não estavam nublados.. mas eh akela ne, sem nada na tv, sem muié pra sair... resolvi fazr um hud e reload ^^

Se é que não notaram, o DB não ia ter essas coisas.. eh soh olhar o nome do topico ^^

Enviado: Dom Mar 30, 2008 9:44 pm
por Fabio914
Hehe! Eu e o R1c0 acabamos de fazer o primeiro teste desse launcher , e ele rodou legal , conseguimos configurar rápidamente um jogo multiplayer e começamos a jogar direto!

Screenshot
Imagem

EDIT: Não consegui upar a imagem de nós jogando no GZDoom então o R1c0 upo esta de nós jogando no ZDoom.

Arquivos gen usados
por mim:

Código: Selecionar todos

sourceport gzdoom.exe
players 2
host 0
serverip 201.75.242.136
mode 1
iwad doom2.wad
pwad01 dwango5.wad
pwad02 none
warp 01
pelo R1c0

Código: Selecionar todos

sourceport gzdoom.exe
players 2
host 1
serverip none
mode 1
iwad doom2.wad
pwad01 dwango5.wad
pwad02 none
warp 01
E com este teste eu percebi que algumas coisas cruciais estavam faltando , que no caso são:

- Fraglimit
- Liberação para cheats pelo administrador (no caso R1c0) para possibilitar warp de mapas.

Enviado: Dom Mar 30, 2008 9:49 pm
por Rico
:o
Mas falar verdura, estava ótimo, não houve muitos lags por eu ser o srver ainda, estava gostoso de jogar, e perfeito =D

Enviado: Sáb Abr 05, 2008 7:28 pm
por Fabio914
Aew , ai vai uma screen de eu e o Mauricio jogando...

Imagem

EDIT: Sapphire + D3onGZD weapons

EDIT 2:

Fechamos o sapphire em + ou - 20 min quase nem deu lag (soh em alguns momentos). Ai vai mais screens:

Imagem
Screenshot depois de matar o Spider-Mastermind mutante do final...

Imagem

Imagem

Imagem

Enviado: Sáb Abr 05, 2008 8:09 pm
por Mauricio Rocks
Another shot (1 de health lol)

Imagem

Enviado: Sáb Abr 05, 2008 9:27 pm
por Fabio914
E ai vai uma shot de eu e o Rico jogando 102 (o 101 fica muito bugado no GZDoom novo):

Imagem

EDIT:

Na proxima versão teremos:

- Fraglimit
- Dificuldade
- Cheats ativados