Página 3 de 4

Enviado: Sáb Abr 12, 2008 12:18 am
por Rico
Eu to pensando em fazer um resource para isso, fazer apenas uma telinha mostrando uma IMG e um espaço para mostrar o que o DOS mostraria, pra ficar bunitinho :)
ae fabio se preocupa em programar ele, e eu tento aprender o que eu to lendo aki no livro q catei :D

Enviado: Sáb Abr 19, 2008 12:46 am
por Fabio914
Doom ARENA v.0.3!

Já testei a versão 0.3 (daquele source) e está funfando tudo 100% (ao menos a parte de Windows está , pois a de Linux eu ainda não testei).

Segue aqui o download da ultima versão:
Download (RAR 1.3MB)

Esta versão conta com um pequeno mapa (que era pra ser o meu mapa do RU) deathmatch, vocês podem testar algumas das novas funções do launcher com ele , como a gravação de demos!

Changelog
- Pode-se carregar configs.
- Pode-se habilitar o modo open-gl para apenas aquela execução (se este já não estiver habilitado)
- E pode-se gravar e carregar demos (mesmo de jogos online)

Screenshot
Imagem


Com esta versão do Doom Arena já é possivel jogar os futuros mapas DM do D3onGZD online! :wink:

Enviado: Ter Ago 12, 2008 6:45 pm
por Mathey Bu
show o aplicativo vo passar para meus amigos vam adorar

Enviado: Qua Ago 13, 2008 12:02 am
por N3VERHOOD
hmmm
quem saiba um dia o DooM Arena chege as cabeça junto com o Zdaemon e o Skulltag

seria uma boa levar isso pra frente

Enviado: Qua Ago 13, 2008 12:07 am
por Rico
Isso viro um CloseSource?
Passa o SourceCode plz!
Z1 Engine 10% para Linux \o/

Re: DooM ARENA! (Launcher)

Enviado: Qua Set 03, 2008 6:11 pm
por Rico
Fabio914 escreveu: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.

Hj de tarde também não tinha coisa melhor para fazer. Então eu pensei: eu já atualizei meu Linux, ele está perfeito para programação, acho que vou voltar ao projeto meio que esquecido por alguns, mas não por mim!

Como eu sei que ninguém aqui usa Linux, e eu hávia prometido uma versão para Linux. Aqui está!
<pre>

Código: Selecionar todos

#include <stdio>
#include <stdlib>

// DOOM ARENA! v.0.2
// Criado por Fabio914
// Versão Linux: R1c0

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\nLinux Version by R1c0");
    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 Script
    FILE *fd;
    fd = fopen("run_me.sh","w");
    printf("\nStatus : Generating SCRIPT");   

    fprintf(fd,"./%s",sp);
    fprintf(fd," -iwad %s",iwad);
    fprintf(fd," -file %s %s %s %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 : SCRIPT generated!");
    system("./run_me.sh");
    printf("\nStatus : Finished!\n");

    exit(1);
}
</pre>

E estou tentando melhorá-lo para que tenha apenas uma variável pwad que leia todos numa linha só. Fabio se puder ajudar :D

Traduzindo, to tentando deixar o programa mais leve do que já é e liberar mais pwads para o launcher. (Mais leve é menos memória alocada ou seja separada pro programa)

Caso alguém esteja interessado no programa já compilado aqui está

DOOM ARENA LINUX

Enviado: Qua Set 03, 2008 7:04 pm
por Fabio914
Na verdade eu já tinha feito uma versão para Linux...

Código: Selecionar todos

#include <stdio>
#include <stdlib>

// DOOM ARENA! v.0.3 (linux version)

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 opengl[10]; //open-gl (apenas gzdoom)
    char cfg[20]; //config
    char demo[20]; //r para gravar , l para ler
    char demof[50]; //arquivo demo a ser lido ou gravado




    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.3\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(strcmp(fvar,"opengl")==0){
        strcpy(opengl,svar);
        i++;
    }
    else if(strcmp(fvar,"config")==0){
        strcpy(cfg,svar);
        i++;
    }
    else if(strcmp(fvar,"demo")==0){
        strcpy(demo,svar);
        i++;
    }
    else if(strcmp(fvar,"demof")==0){
        strcpy(demof,svar);
        i++;
    }
    else if (i == 19){
        break;
    }
}

    fclose(fp);

    //Escrevendo BAT
    FILE *fd;
    fd = fopen("run_me.sh","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 -altdeath -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);

    if(strcmp(opengl,"1")==0 && strcmp(sp,"gzdoom")==0){
    fprintf(fd," -opengl");
    }

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

    if(strcmp(demo,"r")==0){
    fprintf(fd," -record %s",demof);
    }
    else if(strcmp(demo,"l")==0){
    fprintf(fd," -playdemo %s",demof);
    }

    fclose(fd);

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

    exit(1);


}
Alias , esse seu código está identico ao que eu tinha feito meses atrás... Veja ai em cima...

Enviado: Qua Set 03, 2008 7:22 pm
por Rico
eu juro que não copiei!
eu perdi minha tarde hj para passar, eu peguei a versão 0.2 e fiz para linux, tanto que se vc prestar atenção não há a variável opengl
entendeu?
foi tudo na unha :)
blz, mas minha proposta de fazer apenas uma variavel para as pwads espero que ainda esteja de pé!

vou tá compilando o novo código



Edit:
Erro 1
Ae Fabio, como eu sou rapido e tava com o professor (defensor de linux \o/) e programador C/C++ (e como o_O) mesmo o codigo sendo praticamente igual do windows ele mesmo assim não compila 100% mesmo tendo stdio e stdlib eles nao incluem alguns comandos como strcmp, strcpy, entao ele me falo, falto uma coisinha,

Código: Selecionar todos

#include <string>
isso faz com que inclua tudo :D

Erro 2
vc inverteu as barras, mesmo que vc axe q eh inutil e nao faz diferença, no linux FAZ SIM, vou dar um exemplo pq!
Uma pasta com nome : lol e outra com LOL são pastas totalmente diferentes. entao de uma barra '\' e '/' faz diferença

então acerta seu código \o

Enviado: Qua Set 03, 2008 10:36 pm
por Rico
desculpem consegui bugar o php :P

Enviado: Sex Set 05, 2008 6:18 pm
por Fabio914
R1c0 escreveu:Erro 2
vc inverteu as barras, mesmo que vc axe q eh inutil e nao faz diferença, no linux FAZ SIM, vou dar um exemplo pq!
Uma pasta com nome : lol e outra com LOL são pastas totalmente diferentes. entao de uma barra '\' e '/' faz diferença

então acerta seu código \o
Mas em que trecho faltam as barras?