DOOM

Entertainment for 5 minutes, hours, days
  • Heavyiron wrote:
    Tandyman100 wrote:All that's in the 7z files is a text file that can't be the game. I got the WAD, but where's the executables and game engine?
    "doom" is executable
    An executable text file?
  • No the other file.
    The one called "DOOM" (without the quotes)
    Executables in KolibriOS dont have a file extension..
    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
  • hidnplayr wrote:No the other file.
    The one called "DOOM" (without the quotes)
    Executables in KolibriOS dont have a file extension..
    I opened it up, and it is just a short ascii file with stuff like "I'm gonna kill you" in it.
  • Tandyman100 wrote:
    hidnplayr wrote:No the other file.
    The one called "DOOM" (without the quotes)
    Executables in KolibriOS dont have a file extension..
    I opened it up, and it is just a short ascii file with stuff like "I'm gonna kill you" in it.
    That must be DOOMRC.TXT you're talking about, open your eyes dude..

    doom_a41.7z has 3 files inside:

    "DOOMRC.TXT" settings file for doom, copy it to the same folder as the .wad and the executable
    "readme.txt" Some info in russian text
    "DOOM" the actual executable file you need to run in KolibriOS
    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
  • Doom executable is in the attachment...
    Attachments
    doom.zip (132.33 KiB)
    doom executable
    Downloaded 811 times
  • На последней в текущий момент ночной сборке SVN r.2589 программе запускается с 17 Мб ОЗУ. Видеорежим 640*480*32b. Звук то же присутствует. Проверено в Qemu.

    С 16 Мб ОЗУ программа не работает даже если убить все приложения. Сама программа под себя загребает 0xABE000 или 10,74 Мб памяти.
    Можно конечно обмануть ядро и заставить его выделить меньше памяти под кэш жестких дисков. Тогда возможно программа запуститься, но это уже совсем грязный хак. :mrgreen:
  • Так уж получилось, что колибри временно стал моей основной и единственной системой. А тут еще конкурс игр, много новых игрушек. Пока я их тестил, подсел на дум. Но с установкой других вадов возникли проблемы (в этой теме что-то подобное ужи писали). Итак:

    По дефолту мы имеем шароварный вадник первой части - doom1.wad . Первая идея - удалить его, переименовать нужный нам вадник в doom1.wad и запустить. Идея не сработала. В движке намертво установлено, что doom1.wad - вадник шароварной версии => всегда будет меню выбора эпизода (даже во второй части, где нет эпизодов), но выбор непервого эпизода приведет к появлению сообщения о том, что это shareware и купите пожалуйста полную.
    Решение просто, не нужно ничего переимновывать. Методом проб и ошибок я понял, что движок сначала ищет doom2.wad (без выбора эпизода, т.е. моды нужно переименовывать в него), потом doom.wad (полная первая часть с возможностью выбора любого из трех (! именно из трех, в ultimate doom вы не поиграете) эпизодов, и doom1.wad - шароварную версию, где доступен только первый эпизод.

    Итак, подведем итог: для игры в первую часть (не ultimate) нужно кинуть в папку doom.wad (без еденички). Для игры во вторую часть нужно кинуть в папку doom2.wad. Для игры в сторонние вадники нужно кинуть эти вадники в папку с игрой и переименовать в doom2.wad. Tnt: evilution и the plutiona experiment работают, hexen и heretic к сожалению нет.


    UPD: tnt: evilution запускается из под tnt.wad, но при этом приоритет у него ниже, чем у doom2, так что doom2.wad лучше удалить для запуска tnt (с плутония не пашет)
    Last edited by e-andrew on Mon Jan 05, 2015 10:50 pm, edited 1 time in total.
  • Не могу сказать номер строки, но в d_main.c в строке

    Code: Select all

    sprintf(plutoniawad, "%splutonia.wad", oomwaddir);
    ошибка похоже: забыт / после %s, из-за этого плутония не грузится.
  • Для поиска по форуму (скопировано из чата):
    ovf « Mon Jan 05, 2015 9:20 pm » e-andrew: может помочь: http://doomwiki.org/wiki/IWAD
    ovf « Mon Jan 05, 2015 9:20 pm » или http://zdoom.org/wiki/IWAD
    Serge « Mon Jan 05, 2015 9:11 pm » e-andrew: в d_main.c идёт разбор версий.
    Spoiler:

    Code: Select all

    //
    // IdentifyVersion
    // Checks availability of IWAD files by name,
    // to determine whether registered/commercial features
    // should be executed (notably loading PWAD's).
    //
    void IdentifyVersion (void)
    {
     
        char*       doom1wad;
        char*       doomwad;
        char*       doomuwad;
        char*       doom2wad;
     
        char*       doom2fwad;
        char*       plutoniawad;
        char*       tntwad;
     
        char *home;
        char *doomwaddir;
    //    doomwaddir = getenv("DOOMWADDIR");
    //    if (!doomwaddir)
        doomwaddir = ".";
     
        // Commercial.
        doom2wad = malloc(strlen(doomwaddir)+1+9+1);
        sprintf(doom2wad, "%s/doom2.wad", doomwaddir);
        // Retail.
        doomuwad = malloc(strlen(doomwaddir)+1+8+1);
        sprintf(doomuwad, "%s/doomu.wad", doomwaddir);
       
        // Registered.
        doomwad = malloc(strlen(doomwaddir)+1+8+1);
        sprintf(doomwad, "%s/doom.wad", doomwaddir);
       
        // Shareware.
        doom1wad = malloc(strlen(doomwaddir)+1+9+1);
        sprintf(doom1wad, "%s/doom1.wad", doomwaddir);
     
         // Bug, dear Shawn.
        // Insufficient malloc, caused spurious realloc errors.
        plutoniawad = malloc(strlen(doomwaddir)+1+/*9*/12+1);
        sprintf(plutoniawad, "%splutonia.wad", doomwaddir);
     
        tntwad = malloc(strlen(doomwaddir)+1+9+1);
        sprintf(tntwad, "%s/tnt.wad", doomwaddir);
     
        // French stuff.
        doom2fwad = malloc(strlen(doomwaddir)+1+10+1);
        sprintf(doom2fwad, "%s/doom2f.wad", doomwaddir);
     
    //    home = getenv("HOME");
    //    if (!home)
        home = ".";
        sprintf(basedefault, "%s/doomrc.txt", home);
     
        if (M_CheckParm ("-shdev"))
        {
            gamemode = shareware;
            devparm = true;
            D_AddFile (DEVDATA"doom1.wad");
            D_AddFile (DEVMAPS"data_se/texture1.lmp");
            D_AddFile (DEVMAPS"data_se/pnames.lmp");
            strcpy (basedefault,DEVDATA"default.cfg");
            return;
        }
     
        if (M_CheckParm ("-regdev"))
        {
            gamemode = registered;
            devparm = true;
            D_AddFile (DEVDATA"doom.wad");
            D_AddFile (DEVMAPS"data_se/texture1.lmp");
            D_AddFile (DEVMAPS"data_se/texture2.lmp");
            D_AddFile (DEVMAPS"data_se/pnames.lmp");
            strcpy (basedefault,DEVDATA"default.cfg");
            return;
        }
     
        if (M_CheckParm ("-comdev"))
        {
            gamemode = commercial;
            devparm = true;
            /* I don't bother
            if(plutonia)
                D_AddFile (DEVDATA"plutonia.wad");
            else if(tnt)
                D_AddFile (DEVDATA"tnt.wad");
            else*/
                D_AddFile (DEVDATA"doom2.wad");
               
            D_AddFile (DEVMAPS"cdata/texture1.lmp");
            D_AddFile (DEVMAPS"cdata/pnames.lmp");
            strcpy (basedefault,DEVDATA"default.cfg");
            return;
        }
     
        if ( !access (doom2fwad,R_OK) )
        {
            gamemode = commercial;
            // C'est ridicule!
            // Let's handle languages in config files, okay?
            language = french;
            D_AddFile (doom2fwad);
            return;
        }
     
        if ( !access (doom2wad,R_OK) )
        {
            gamemode = commercial;
            D_AddFile (doom2wad);
            return;
        }
     
        if ( !access (plutoniawad, R_OK ) )
        {
          gamemode = commercial;
          D_AddFile (plutoniawad);
          return;
        }
     
        if ( !access ( tntwad, R_OK ) )
        {
          gamemode = commercial;
          D_AddFile (tntwad);
          return;
        }
     
        if ( !access (doomuwad,R_OK) )
        {
          gamemode = retail;
          D_AddFile (doomuwad);
          return;
        }
     
        if ( !access (doomwad,R_OK) )
        {
          gamemode = registered;
          D_AddFile (doomwad);
          return;
        }
     
        if ( !access (doom1wad,R_OK) )
        {
          gamemode = shareware;
          D_AddFile (doom1wad);
          return;
        }
     
        printf("Game mode indeterminate.\n");
        gamemode = indetermined;
     
        // We don't abort. Let's see what the PWAD contains.
        //exit(1);
        //I_Error ("Game mode indeterminate\n");
    }
  • e-andrew
    Похоже на то.
    Сейчас у меня Watcom не установлен, не смогу исправить ошибку.
  • e-andrew wrote:[...] потом doom.wad (полная первая часть с возможностью выбора любого из трех (! именно из трех, в ultimate doom вы не поиграете) эпизодов [...] Итак, подведем итог: для игры в первую часть (не ultimate) нужно кинуть в папку doom.wad (без еденички). [...]
    Если читать исходники, то в Ultimate Doom можно тоже поиграть, если назвать файл doomu.wad
  • Hi,

    did you read my question from here: viewtopic.php?f=23&t=3278

    Do doom mods work? Freedoom1.wad renamed seems to work (as shown in the video)

    Would be nice to have a collection off doom 1 and 2 mods on kolibrios or even a 3 doom application running for the extended view (brutaldoom allows that)
  • rev 8547
    Портировал нормальный doom, залил вместо этого.
  • maxcodehack wrote:rev 8547
    Портировал нормальный doom, залил вместо этого.
    Новый дум добавлен в автосборку?
    Из хаоса в космос
  • Who is online

    Users browsing this forum: No registered users and 4 guests