Wolf3d Haven Forum

Please log in or register. Smile

Join the forum, it's quick and easy

Wolf3d Haven Forum

Please log in or register. Smile

Wolf3d Haven Forum

Would you like to react to this message? Create an account in a few clicks or log in to continue.
Wolf3d Haven Forum

A friendly Wolfenstein 3D community, about Wolfenstein 3D, the game that gave birth to first person shooters...


3 posters

    Reinstating the overhead map function in Wolf3D

    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Reinstating the overhead map function in Wolf3D

    Post by Asa Thu Jul 16, 2020 7:59 am

    Well, I added the code from that thread on DHW to WL_DEBUG.C and the compiler is choking on about 16 errors. I really don't know what to do to fix it, so I thought maybe I should start a new thread and ask about getting help to fix it. I know the code in that thread on DHW was for SDL, so I was expecting problems. I just don't have enough knowledge or experience to fix the errors.

    There was a piece of the thread that talked about changing unsigned in some places to uint8_t so it would work in MacOSX. There were 2 occurrences of uint8_t in the code, so I changed both of them to unsigned and that got rid of two of the errors. I will see if I can post the errors and the lines they apply to here, but being in DOSBox, I don't know if there's an easy way to save out the messages and the code they relate to. I will edit this post when I have something.

    Code:
    void TileMWall(unsigned sx, unsigned sy, unsigned pagenum)
    {
        unsigned *start;
        start = PM_GetPage(pagenum); // line 633 WARNING: Suspicious pointer conversion

        for (int x=0;x<TileMSize;x++) // line 635 ERRORs: Expression syntax, Undefined symbol 'x', Statement missing ;
        {
            for (int y=0;y<TileMSize;y++) // line 637 This line previously had the same errors as line 635, but after changing uint8_t to unsigned these errors went away
            {
                VWB_BarScaledCoord((sx+x*pixelSize),(sy+y*pixelSize),pixelSize,pixelSize,(int)*start);
                start = start + TileMWallRatio;
            }

            start = start + TEXTURESIZE*(TileMWallRatio-1);
        }
    }

    void TileMDoor(unsigned sx, unsigned sy, byte doornum) // line 647 ERROR: Declaration is not allowed here
    { // line 648 ERROR: Declaration syntax error

    .
    .
    .

        VW_UpdateScreen();

        if (Keyboard[sc_P])
            PictureGrabber();

    } // line 871 WARNINGs: 'start' is assigned a value that is never used, Parameter 'sx' is never used, Parameter 'sy' is never used
    // #endif

    // #if 0
    /*
    ===================
    =
    = ViewMap
    =
    ===================
    */


    OK, I'm finishing up this post. I read your responses and intend to utilize them, but I wanted to finish this post so you can see what I see. Apparently, changing the uint8_t occurrences to unsigned got rid of most of the errors, leaving just the 6 errors and 4 warnings above.


    Last edited by Asa on Thu Jul 16, 2020 12:53 pm; edited 4 times in total
    avatar
    Guest
    Guest


    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Guest Thu Jul 16, 2020 10:51 am

    .


    Last edited by Wolf3DGuy on Wed Feb 16, 2022 2:24 pm; edited 1 time in total
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Thu Jul 16, 2020 11:11 am

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 11:59 am; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Thu Jul 16, 2020 12:56 pm

    Wolf3DGuy wrote:You might probably want to use this TileMWall function

    Code:
    void TileMWall(unsigned sx, unsigned sy, unsigned pagenum)
    {
        int x,y;
        byte far *start;

        start = PM_GetPage(pagenum);

        for (x = 0; x < TileMSize; x++, start += 64 * (TileMWallRatio - 1))
        {
            for (y = 0; y < TileMSize; y++, start += TileMWallRatio)
                VWB_Plot((sx+x*pixelSize),(sy+y*pixelSize),*start);
        }
    }

    *start must be an unsigned far, the game loads textures from far memory, if it stay simply unsigned the game will draw walls as graphical mess. Using that VWB_BarScaledCoord in DOS is also problematic especially when it comes to the sprites drawing routine, BarScaledCoord made sprites being drawn like 4 times (yes it drew the entire shape whenever it reached a new column) so use VWB_Plot instead.

    I'm not arguing with you, but I thought I should mention that the compiler didn't seem to have a problem with the BarScaledCoord function. That said, I don't know if it's DOS that has the issue. I will replace the TileMWall function in the code with this one to see what happens. Until the errors are gone I can't build it, so I'm not sure testing it will mean much before then.

    The far thing may explain why the compiler saw the pointer declaration as sketchy.

    Edit: Before I start changing things again, if everything in Wolf3D is 16, then should it be unsigned far and not byte far or unsigned char? Also, I saw in NY00123's code that he didn't really make all those changes to the code. In fact, the changes he made were more about making sure which version it was compiled with than anything else.


    Last edited by Asa on Thu Jul 16, 2020 6:20 pm; edited 2 times in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Thu Jul 16, 2020 1:00 pm

    AryanWolf3D wrote:Yeah, since Wolf4SDL is not platform dependent, you have to be more specific with datatypes to make sure they are the correct size. But since DOS Wolf is always 16 bit (unless you're using protected mode, which is a whole other kettle of fish), that simplifies things a great deal:

    bool -> boolean
    int8_t -> char
    int16_t -> short (or just int)
    int32_t -> long (or fixed)
    uint8_t -> unsigned char (or byte)
    uint16_t -> unsigned short (or simply unsigned or word)
    uint32_t -> unsigned long (or longword)

    You also don't need all of those Tile/Floor/Pixel variables, since everything should be 16x16.

    This is how much I have to learn. I just put the code in the way it was. I didn't know that uint8_t is a unsigned byte (char). Now I do.
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Thu Jul 16, 2020 1:13 pm

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 11:59 am; edited 1 time in total
    avatar
    Guest
    Guest


    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Guest Thu Jul 16, 2020 1:19 pm

    .


    Last edited by Wolf3DGuy on Wed Feb 16, 2022 2:24 pm; edited 1 time in total
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Thu Jul 16, 2020 1:35 pm

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 11:59 am; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Thu Jul 16, 2020 7:36 pm

    I inserted the function you provided and commented out the other one. When I compiled it there were more errors than it had before. I decided to start over. After looking at NY00123's code, I realized that he didn't change or add anything, yet the program compiles to an exact duplicate of the original 1.0, and if that's true then that means the map function, as written, should be usable in any newer version if you know what to edit. I went back to a fresh copy of the WL_Debug.C file and began again. I commented each #if 0 and corresponding #endif one at a time and compiled to see what would happen. Everything was fine (as far as no errors in compile or build) until I removed the last one in the ViewMap() function. Now, just because it compiled and built with the other ones commented doesn't mean the map worked, cause it didn't. But the program ran the way it should otherwise. The problem it had in execution is that if you pressed TAB-O, you had to hit ESC twice to go back to the menu and then return to the game before any other cheats would work again. They would work until you pressed TAB-O, then not work until you went back to the menu and returned to the game again. When I removed the last #if 0, the first error came in. It says that the c in c.button0 is an undefined symbol. c.button0 is treated by that code as a boolean value, in the first case testing for it being true and button0held being false (!button0held), and in the second case checking to see if c.button0 is false (!c.button0). Looking at the function, button0held is being defined as a boolean variable and initially set to false. (I had to un-comment that assignment statement.) c.button0 is not defined anywhere in the file, so I am assuming it must be a global variable of some sort, but I haven't found it in any of the files included in the WL_Debug.C file or that are included in the WL_Def.H file. I would like to know where c.button0 is defined, and to understand why that particular part of the ViewMap() function was set to a compiler directive. Can either of you elaborate?

    Oh, by not work, I mean that pressing the keys (like TAB-G to toggle god mode) wouldn't do anything until you went back to the menu and returned to the game.
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Fri Jul 17, 2020 12:24 am

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 11:59 am; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Fri Jul 17, 2020 7:06 am

    OK. I'm beginning to get the picture now. So, because the tile16s from the original 1.0 are not there anymore we can't make use of them. I had noticed that the map in the 1.0 shareware version I downloaded seemed like it was missing the sprites. I don't remember the one I played when Wolf3D was first released being all blue like that. But my memory is not what it used to be, so I never know for sure if I'm remembering correctly or not. Plus, I also had the Mac version when it came out and the map function in it was amazing. I believe it used reduced versions of the wall sprites to render the overhead map, and it only showed you the parts you had seen. If you hadn't gotten there yet, the map didn't show it. Also, I haven't found an editor that will show me the tile16s in the 1.0 I have if they are there, so I can't be sure if what I'm seeing in that version is accurate or not.

    Well, I will start adding the functions back in and see how much progress I can make. Hopefully it won't be too much longer and I'll have a working map in v1.4.

    I do have one question. In the thread on DHW, the instructions said to comment (remove) the #defines for VIEWTILEX and VIEWTILEY at the top of the file. Should I do that, or leave them in? I have been wondering about that since you told me that everything in the DOS version is 16s anyway.

    OK, so I put all the code back in, and I compiled it to see what it would report. Below are the errors it reported.

    Code:
     int xstart, ystart, VIEWTILEX, VIEWTILEY; // line 613, ERROR: expected (I guess because I didn't comment the initial #defines at the top of the file)

    if (scaleFactor < 4)        TileMSize = 32; // line 736, ERROR: Undefined symbol 'scalefactor'

    else if (TEXTURESIZE == 128){ TileMSize = 128;  pixelSize = 1; } // line 754, ERROR: Undefined symbol 'TEXTURESIZE'

    VIEWTILEX = viewwidth/(TileMSize*pixelSize); // line 772, ERROR: Lvalue required
    VIEWTILEY = viewheight/(TileMSize*pixelSize); // line 773, ERROR: Lvalue required

    if (VIEWTILEX > MAPSIZE) VIEWTILEX = MAPSIZE; // line 775, ERROR: Lvalue required
    if (VIEWTILEY > MAPSIZE) VIEWTILEY = MAPSIZE; // line 776, ERROR: Lvalue required

    xstart = (screenWidth-viewwidth)/2; // line 785, ERROR: Undefined symbol 'screenWidth'
    ystart = (screenHeight-STATUSLINES*scaleFactor-viewheight)/2; // line 786, ERROR: Undefined symbol 'screenHeight'

    objtype *obj  = (objtype *)((uintptr_t)tile); // line 863, ERRORS: Undefined symbol 'uintptr_t', ) expected

    VW_UpdateScreen(); // line 873, ERROR: Type mismatch in redeclaration of 'VW_UpdateScreen'

    if (Keyboard[sc_P]) // line 875, ERROR: Declaration terminated incorrectly

    } // ERROR: Unexpected }

    Commenting the #defines got rid of the errors on lines 613, 772, 773, 775 and 776.


    Code:
    if (scaleFactor < 4)        TileMSize = 32; // line 736, ERROR: Undefined symbol 'scalefactor'

    else if (TEXTURESIZE == 128){ TileMSize = 128;  pixelSize = 1; } // line 754, ERROR: Undefined symbol 'TEXTURESIZE'

    xstart = (screenWidth-viewwidth)/2; // line 785, ERROR: Undefined symbol 'screenWidth'
    ystart = (screenHeight-STATUSLINES*scaleFactor-viewheight)/2; // line 786, ERROR: Undefined symbol 'screenHeight'

    objtype *obj  = (objtype *)((uintptr_t)tile); // line 863, ERRORS: Undefined symbol 'uintptr_t', ) expected

    VW_UpdateScreen(); // line 873, ERROR: Type mismatch in redeclaration of 'VW_UpdateScreen'

    if (Keyboard[sc_P]) // line 875, ERROR: Declaration terminated incorrectly

    } // ERROR: Unexpected }

    So, what's with all the undefined symbols? I'm thinking that the redeclaration may be because it doesn't include the type before the function name?


    Last edited by Asa on Fri Jul 17, 2020 8:12 am; edited 1 time in total
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Fri Jul 17, 2020 7:41 am

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 12:00 pm; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Fri Jul 17, 2020 8:44 am

    OK, I went back to square one again. I modified the function in the original code to match the function you supplied. I edited the ID_VH.C file as instructed. Now, in order to add the tile16s, is it the same as the tile8s in that all the images are grouped in a single image, or are they all separate images? Also, how do I go about adding them to the game? None of the editors, so far as I know, have a function for adding tile16s to the vswap or vgagraph files.

    OK, you left out the opening brace ({) on the first for loop statement and it created errors, though missing brace wasn't an error and unexpected } was. I inserted that { and all errors went away. Now, I am not sure if I want to run the program with this change yet, because I don't have any tile16s in the game files (that I know of) and I'm wondering what kind of issues it will have if they aren't there.

    Edit: WOW! It works! And now I know that the 1.0 shareware version I have doesn't have any tile16s, because I am getting the exact same display of the map now that the 1.0 shareware version gives me. I really don't know what's going on here, or if I'm speculating incorrectly about the tile16s in the game files. Has anyone ever taken the files apart to see what's in them other than what we already know?

    Here's a screenshot of what the map looks like. It is exactly the same way it looks in the 1.0 shareware version I have:

    endif - Reinstating the overhead map function in Wolf3D Map
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Fri Jul 17, 2020 9:12 am

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 12:00 pm; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Fri Jul 17, 2020 9:30 am

    You're right. Somehow, when I copied the function, the first loop's opening brace got removed. My bad. Sorry.

    OK, so I'll just have to deal with not having any tile16s until I figure out how to modify the correct file. (I'm not sure if they go in the VSWAP or the VGAGRAPH file.) Plus, I have no idea what the file format is for either of those files.

    I'm just happy to have a working overhead map, even if the images used for the walls do look weird. I looked at maps in other levels and episodes, and some of the wall images are really strange looking.

    I was thinking about the original mapedit. It only worked with shareware 1.0, and I'm wondering if Bill Kirby figured out everything in the game files, or just what he needed to produce the maps.
    avatar
    Guest
    Guest


    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Guest Fri Jul 17, 2020 9:42 am

    .


    Last edited by Wolf3DGuy on Wed Feb 16, 2022 2:25 pm; edited 1 time in total
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Fri Jul 17, 2020 9:57 am

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 12:00 pm; edited 1 time in total
    avatar
    Guest
    Guest


    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Guest Fri Jul 17, 2020 10:22 am

    .


    Last edited by Wolf3DGuy on Wed Feb 16, 2022 2:25 pm; edited 1 time in total
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Fri Jul 17, 2020 10:31 am

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 12:00 pm; edited 2 times in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Fri Jul 17, 2020 1:04 pm

    AryanWolf3D wrote:Oh yeah that's right... In that case, before doing any of this, open up wolf3d_14_export.def and make it look like this:

    #ModId definition file for Wolfenstein 3D, GT + Id + Activision releases, v1.4
    GALAXY 
    GAMEEXT wl6
    GRAPHICSFORMAT VGA
    GRSTARTS 3
    CHUNKS 152
    FONT 2 1 #num, start
    FONTM 0 3
    PICS 135 3 0      #num, start, tablestart
    PICM 0 135 0   
    SPRITES 0 135 0 
    TILE8 35 138 # The EXE has a count of 72 defined
    TILE8M 0 139
    TILE16 0 139
    TILE16M 0 139
    TILE32 0 139
    TILE32M 0 139
    B800TEXT 139 orderscreen
    B800TEXT 140 errorscreen
    TEXT 141 helpart
    DEMO 142 0
    DEMO 143 1
    DEMO 144 2
    DEMO 145 3
    TEXT 146 endart1
    TEXT 147 endart2
    TEXT 148 endart3
    TEXT 149 endart4
    TEXT 150 endart5
    TEXT 151 endart6

    Then in wolf3d_wl6_14_import.def:

    #ModId definition file for Wolfenstein 3D, GT + Id + Activision releases, v1.4
    GALAXY 
    GAMEEXT wl6
    GRAPHICSFORMAT VGA
    GRSTARTS 3
    CHUNKS 202
    FONT 2 1 #num, start
    FONTM 0 3
    PICS 135 3 0      #num, start, tablestart
    PICM 0 135 0   
    SPRITES 0 135 0 
    TILE8 35 138 # The EXE has a count of 72 defined
    TILE8M 0 136
    TILE16 50 139
    TILE16M 0 189
    TILE32 0 189
    TILE32M 0 189
    B800TEXT 189 orderscreen
    B800TEXT 190 errorscreen
    TEXT 191 helpart
    DEMO 192 0
    DEMO 193 1
    DEMO 194 2
    DEMO 195 3
    TEXT 196 endart1
    TEXT 197 endart2
    TEXT 198 endart3
    TEXT 199 endart4
    TEXT 201 endart5
    TEXT 202 endart6

    Now it should work for your modified VGAGRAPH.

    Are those last 2 numbers correct? The export has them in numerical order to the end, but in the import file it skips 200?
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Fri Jul 17, 2020 1:29 pm

    After doing everything you said, I am only getting 90 files in the bmps folder. The program reports 0% on exporting bitmaps, but 100% on decompressing and exporting fonts. I don't understand why it keeps stopping before it exports the rest of the images.

    Edit: I think I may have found the problem. The version of ModId I downloaded as 0.1 According to the git repository, they are up to v0.1.3. In the update info on 0.1.2 it says:

    v 0.1.2: June 10, 2017

    • def and palette files updates.
    • VGA fonts are now exported as 8-bpp bmps (S3DNA fix).
    • Added -optimizedcomp.
    • Masked 16x16 tile no. 0 is now imported as-is, rather than being replaced with a sparse tile. This was done so the Wolfenstein 3D alpha's graphics can be exported and then imported back as-is.
    • BREAKING CHANGE: Expected internal format of VGA masked 16x16 tiles changed, for compatibility with the Wolfenstein 3D alpha from March. Unfortunately this means, that if a graphics mod was made using an older version of ModId for importing VGA masked 16x16 tiles, a new VGAGRAPH file has to be re-created. In addition, the tiles' masks have to be added separately. The -16color option has no effect on VGA masked 16x16 tiles, and the masks are always separated from the color data.


    I am not sure, because I don't know if this change applies to 0.1 or not, but could that be why the program keeps bombing when it gets to the exporting bitmaps part? It looks like it's reading something for a second or so, but then just ends without even a message why.
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Fri Jul 17, 2020 2:03 pm

    I have been searching for binaries of the 0.1.2 and 0.1.3 versions of ModId, but they are nowhere to be found. What compiler do I need to use to compile the source from the git repository?

    I decided to see what using WDC would provide. It has a function for exporting multiple chunks. I exported all the items in the 2nd column from the right, which is the same things ModId is trying to grab. The filenames are a bit different, but they are bitmaps (except for the demos [.raw], the endart parts [.txt], the endscreens [.rsd] and the fonts [.wsf]).

    It still doesn't make sense to me why ModId is stopping after the first 90 chunks, but I did find that all of the bitmap images saved out by WDC are 256 color 8-bit bitmaps. Since ModId saved the fonts out as bitmap images, I don't have to worry about those, but I do need to see if I can find out what filename structure ModId uses for the demo and endart/endscreen data. The endscreens are rendered in the editor as images, but the output from exporting was not images. I can save them that way though, I think, so it may not be a problem, so long as I can import them back in with ModId.


    Last edited by Asa on Fri Jul 17, 2020 3:49 pm; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Fri Jul 17, 2020 3:34 pm

    Wolf3DGuy wrote:If you need tile16s's I recommend a mapeditor called TED5 (the original mapeditor used by ID software to make maps for Wolf3D and many other commercial games) this editor also uses tile16s graphics, you can rip these off if you want to use them and I believe they'll go straight in the VGAGraph file! (I just noticed the unused locked doors just now, wow)

    endif - Reinstating the overhead map function in Wolf3D Ted5_6

    I downloaded ted5. I took a screenshot of the screen with the image you show above. I pasted the screenshot into paint and saved as a 256 color bitmap, and some of the detail was lost. I saved it again as a 24-bit bitmap and the resolution stayed the same. The question is, will Wolf3D have a problem with 24-bit color images? Or am I going to have to accept lesser quality images?
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Fri Jul 17, 2020 4:01 pm

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 12:01 pm; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Fri Jul 17, 2020 5:57 pm

    AryanWolf3D wrote:Oops, sorry, those last two chunks should be 200 & 201. I'm not sure why it's not exporting everything though... Did you add any other images besides the godmode pics? These def files assume the 1.4 VGAGRAPH is being used.

    And the file wl6_tile16 already has the tile16s Wolf3DGuy posted, so just use that.

    Actually, I did some experimenting by using it on the copy I had not added the god mode sprites to and it worked. I think there's something about the way WDC added the new chunks that changed something in the file. I am going to try building a new VGAGRAPH with the ModId utility and see if that gets around it. At least I know what it's looking for now that I have used it a few times.
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Sat Jul 18, 2020 1:14 am

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 12:01 pm; edited 1 time in total
    avatar
    Guest
    Guest


    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Guest Sat Jul 18, 2020 7:51 am

    .


    Last edited by Wolf3DGuy on Wed Feb 16, 2022 2:27 pm; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Sat Jul 18, 2020 9:48 am

    Well, I managed to get further, but still no cigar. Here's the tile16s I created:

    endif - Reinstating the overhead map function in Wolf3D Wl6_tile16

    It is 3 rows of 18 columns. That makes a total of 54, not 50, even though the last two are blank. ModId compiled the VGAGRAPH file successfully (and whatever other files it modified, but it didn't make backups like the docs said it would so I really don't know exactly which files were modified).

    When I ran the game, everything was fine until I got to the menu screen. It didn't look right, but it was functional. The start new game menu was mostly trashed, but you could still see the episode names and select an episode to play. The game screen looked normal, and enabling cheats worked, but when I pressed TAB-O I got the same map I got before the change. When I ESCaped back to the menu and quit, the screen that asks you if you really want to quit was trashed at the bottom, and when I selected Yes, the screen became all red and hung. So, something isn't right in the exe I guess. Maybe it doesn't know the tile16s is there? WDC won't open the files at all because of the tile 16, claiming a subscript out of range error, so I can't even examine the files to see what they look like internally.
    avatar
    Guest
    Guest


    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Guest Sat Jul 18, 2020 10:13 am

    .


    Last edited by Wolf3DGuy on Wed Feb 16, 2022 2:27 pm; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Sat Jul 18, 2020 10:15 am

    According to ModId, it is supposed to be 288 pixels wide and all bmps imported or exported with it are 256 color, which is vga I believe.

    Edit: Looking through the source to try and figure out where it gets the data from the files, I found GFXV_WL6.EQU, as well as some others. The file named here has the numbers for how many of which type there are. I believe that these need to be changed to reflect the new count as established by the insertion of the god-mode pics and the tile16s. Before making any changes, however, I will be looking at the other related files to see what info they have to share.

    Edit 2: I looked in the GFXE_WL6.EQU file and found that this is where the tile 16's are counted:

    Code:
    ;
    ; Amount of each data item
    ;
    NUMCHUNKS = 414
    NUMFONT   = 0
    NUMFONTM   = 0
    NUMPICS   = 0
    NUMPICM   = 0
    NUMSPRITES   = 0
    NUMTILE8   = 0
    NUMTILE8M   = 0
    NUMTILE16   = 144
    NUMTILE16M   = 270
    NUMTILE32   = 0
    NUMTILE32M   = 0
    NUMEXTERN   = 0
    ;
    ; File offsets for data items
    ;
    STARTFONT   = 0
    STARTFONTM   = 0
    STARTPICS   = 0
    STARTPICM   = 0
    STARTSPRITES   = 0
    STARTTILE8   = 0
    STARTTILE8M   = 0
    STARTTILE16   = 0
    STARTTILE16M   = 144
    STARTTILE32   = 414
    STARTTILE32M   = 414
    STARTEXTERN   = 414

    I need to learn more about all of this. I didn't know this game uses tile16m, and don't know how they are accessed. But I guess you are right that they use ega color, not vga. I guess I'll have to remake the image for the tile16s.

    Edit 3: Because the GFXV file shows tile16 as a count of 0, and GFXE shows it as a count of 414 (144 for 16 and 270 for 16m), does this mean that there should be a EGAGRAPH file? Or would it all just be appended to the end of the VGAGRAPH file, since tile16 is listed after tile8 and before the orderscreen and shows to be a count of 0? Or is it maybe that the VSWAP file contains the tile16's?
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Sat Jul 18, 2020 11:31 am

    Wolf3DGuy wrote:I believe the tile16s should use the ega colors, not sure.

    I resaved the image as 4-bit color (16 colors) which I believe is ega, and modid reports that the image doesn't have the correct color count, so it has to be 256 colors before modid will accept it.

    Also, I checked the last modified dates of the four graphics related files, VGADICT.WL6, VGAGRAPH.WL6, VGAHEAD.WL6 and VSWAP.WL6. The only two files showing modification today are VGAGRAPH and VGAHEAD, so I'm guessing that these are the only files being modified by modid.
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Sat Jul 18, 2020 11:48 am

    Wolf3DGuy wrote:Don't forget you have the godmode graphics as well so ORDERSCREEN should be 189.

    I accounted for that in the modid import defs file. As a test, I took the tile16 image out and ran modid again just to make sure it wasn't modid that was the problem. The game ran perfectly, so it's the tile16 that's the problem. Until I know what to do to fix it, I will wait on trying to add it back in. What I need to know is, are those .EQU files necessary to the compile? If they aren't, then updating them to reflect the new order and numbers won't change anything in the game, but if they are then updating them might be what it takes to get things back on track. That said, I still need to know what file contains the tile16's if they are ega colors, and if it is still the vgagraph file (and vgahead for whatever part it plays), and if it is true that the tile16's have to be 16 color instead of 256, then I need to understand how to accomplish getting them into the file.
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Sat Jul 18, 2020 12:54 pm

    As I was looking things over, I noticed this difference in the tile8 image between what is normally seen in WDC (left) and what is saved out by (and imported by) ModId (right). I wonder if this might be the reason WDC encounters an error when reading the files now?

    endif - Reinstating the overhead map function in Wolf3D Tile8%20-%20144               endif - Reinstating the overhead map function in Wolf3D Wl6_tile8
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Sat Jul 18, 2020 1:46 pm

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 12:01 pm; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Sat Jul 18, 2020 2:03 pm

    AryanWolf3D wrote:Woah, slow down, let's deal with one thing at a time.

    First off, yes, the Tile16s have to use the same palette as usual. It's only in TED5 where they usually use EGA colours. And no, you don't need the .EQU files unless you're modifying the assembly files.

    The layout that WDC shows compared to the layout that modId outputs shouldn't matter. And you don't need any Tile16Ms because the overhead doesn't use them. It also shouldn't matter if you have more Tile16s on that image than you need; you can just change NUMTILE16 to 51 and it won't import the last two blank tiles.

    To clear up which files contain what:

    VGAGRAPH -> Fonts, pictures, tiles, exit screens, text, and demos
    VGAHEAD -> header file for the VGAGRAPH
    VGADICT -> Huffman compression dictionary for the VGAGRAPH
    VSWAP -> walls, sprites, and digitised sound effects

    If you want, post your GFXV_WL6.H file and I'll check if all the offsets are correct.

    I think I forgot to recompile with the tile16 accounted for in that file. As I was just looking at it I saw the code at the bottom that I totally missed the first time. Also, my pic count is 134, not 135. I found that out when I was counting the pics. anyway, I will post it here so you can double-check my numbers. I am making the changes before I post it here. I still have to recompile, so I will wait until I get from you if it's right or not. Note that the numbers agree with ModId's import file, and it worked fine for recreating the vgagraph file. OK, I couldn't wait. LOL I recompiled and ran it with the modified vgagraph and vgahead files. The game hung on the first screen where it says to wait before you get the press any key prompt.

    Code:
    //////////////////////////////////////
    //
    // Graphics .H file for .WL6
    // IGRAB-ed on Wed Apr 13 06:58:44 1994
    //
    //////////////////////////////////////

    typedef enum {
     // Lump Start
     H_BJPIC=3,
     H_CASTLEPIC,                         // 4
     H_BLAZEPIC,                          // 5
     H_TOPWINDOWPIC,                      // 6
     H_LEFTWINDOWPIC,                     // 7
     H_RIGHTWINDOWPIC,                    // 8
     H_BOTTOMINFOPIC,                     // 9
     // Lump Start
     C_OPTIONSPIC,                        // 10
     C_CURSOR1PIC,                        // 11
     C_CURSOR2PIC,                        // 12
     C_NOTSELECTEDPIC,                    // 13
     C_SELECTEDPIC,                       // 14
     C_FXTITLEPIC,                        // 15
     C_DIGITITLEPIC,                      // 16
     C_MUSICTITLEPIC,                     // 17
     C_MOUSELBACKPIC,                     // 18
     C_BABYMODEPIC,                       // 19
     C_EASYPIC,                           // 20
     C_NORMALPIC,                         // 21
     C_HARDPIC,                           // 22
     C_LOADSAVEDISKPIC,                   // 23
     C_DISKLOADING1PIC,                   // 24
     C_DISKLOADING2PIC,                   // 25
     C_CONTROLPIC,                        // 26
     C_CUSTOMIZEPIC,                      // 27
     C_LOADGAMEPIC,                       // 28
     C_SAVEGAMEPIC,                       // 29
     C_EPISODE1PIC,                       // 30
     C_EPISODE2PIC,                       // 31
     C_EPISODE3PIC,                       // 32
     C_EPISODE4PIC,                       // 33
     C_EPISODE5PIC,                       // 34
     C_EPISODE6PIC,                       // 35
     C_CODEPIC,                           // 36
     C_TIMECODEPIC,                       // 37
     C_LEVELPIC,                          // 38
     C_NAMEPIC,                           // 39
     C_SCOREPIC,                          // 40
     C_JOY1PIC,                           // 41
     C_JOY2PIC,                           // 42
     // Lump Start
     L_GUYPIC,                            // 43
     L_COLONPIC,                          // 44
     L_NUM0PIC,                           // 45
     L_NUM1PIC,                           // 46
     L_NUM2PIC,                           // 47
     L_NUM3PIC,                           // 48
     L_NUM4PIC,                           // 49
     L_NUM5PIC,                           // 50
     L_NUM6PIC,                           // 51
     L_NUM7PIC,                           // 52
     L_NUM8PIC,                           // 53
     L_NUM9PIC,                           // 54
     L_PERCENTPIC,                        // 55
     L_APIC,                              // 56
     L_BPIC,                              // 57
     L_CPIC,                              // 58
     L_DPIC,                              // 59
     L_EPIC,                              // 60
     L_FPIC,                              // 61
     L_GPIC,                              // 62
     L_HPIC,                              // 63
     L_IPIC,                              // 64
     L_JPIC,                              // 65
     L_KPIC,                              // 66
     L_LPIC,                              // 67
     L_MPIC,                              // 68
     L_NPIC,                              // 69
     L_OPIC,                              // 70
     L_PPIC,                              // 71
     L_QPIC,                              // 72
     L_RPIC,                              // 73
     L_SPIC,                              // 74
     L_TPIC,                              // 75
     L_UPIC,                              // 76
     L_VPIC,                              // 77
     L_WPIC,                              // 78
     L_XPIC,                              // 79
     L_YPIC,                              // 80
     L_ZPIC,                              // 81
     L_EXPOINTPIC,                        // 82
     L_APOSTROPHEPIC,                     // 83
     L_GUY2PIC,                           // 84
     L_BJWINSPIC,                         // 85
     STATUSBARPIC,                        // 86
     TITLEPIC,                            // 87
     PG13PIC,                             // 88
     CREDITSPIC,                          // 89
     HIGHSCORESPIC,                       // 90
     // Lump Start
     KNIFEPIC,                            // 91
     GUNPIC,                              // 92
     MACHINEGUNPIC,                       // 93
     GATLINGGUNPIC,                       // 94
     NOKEYPIC,                            // 95
     GOLDKEYPIC,                          // 96
     SILVERKEYPIC,                        // 97
     N_BLANKPIC,                          // 98
     N_0PIC,                              // 99
     N_1PIC,                              // 100
     N_2PIC,                              // 101
     N_3PIC,                              // 102
     N_4PIC,                              // 103
     N_5PIC,                              // 104
     N_6PIC,                              // 105
     N_7PIC,                              // 106
     N_8PIC,                              // 107
     N_9PIC,                              // 108
     FACE1APIC,                           // 109
     FACE1BPIC,                           // 110
     FACE1CPIC,                           // 111
     FACE2APIC,                           // 112
     FACE2BPIC,                           // 113
     FACE2CPIC,                           // 114
     FACE3APIC,                           // 115
     FACE3BPIC,                           // 116
     FACE3CPIC,                           // 117
     FACE4APIC,                           // 118
     FACE4BPIC,                           // 119
     FACE4CPIC,                           // 120
     FACE5APIC,                           // 121
     FACE5BPIC,                           // 122
     FACE5CPIC,                           // 123
     FACE6APIC,                           // 124
     FACE6BPIC,                           // 125
     FACE6CPIC,                           // 126
     FACE7APIC,                           // 127
     FACE7BPIC,                           // 128
     FACE7CPIC,                           // 129
     FACE8APIC,                           // 130
     GOTGATLINGPIC,                       // 131
     MUTANTBJPIC,                         // 132
     GODMODEFACE1PIC,                     // 133
     GODMODEFACE2PIC,                     // 134
     GODMODEFACE3PIC,                     // 135
     PAUSEDPIC,                           // 136
     GETPSYCHEDPIC,                       // 137



     ORDERSCREEN=139,
     ERRORSCREEN,                         // 140
     T_HELPART,                           // 141
     T_DEMO0,                             // 142
     T_DEMO1,                             // 143
     T_DEMO2,                             // 144
     T_DEMO3,                             // 145
     T_ENDART1,                           // 146
     T_ENDART2,                           // 147
     T_ENDART3,                           // 148
     T_ENDART4,                           // 149
     T_ENDART5,                           // 150
     T_ENDART6,                           // 151
     ENUMEND
         } graphicnums;

    //
    // Data LUMPs
    //
    #define README_LUMP_START 3
    #define README_LUMP_END 9

    #define CONTROLS_LUMP_START 10
    #define CONTROLS_LUMP_END 42

    #define LEVELEND_LUMP_START 43
    #define LEVELEND_LUMP_END 85

    #define LATCHPICS_LUMP_START 91
    #define LATCHPICS_LUMP_END 137


    //
    // Amount of each data item
    //
    #define NUMCHUNKS    152
    #define NUMFONT      2
    #define NUMFONTM     0
    #define NUMPICS      134
    #define NUMPICM      0
    #define NUMSPRITES   0
    #define NUMTILE8     72
    #define NUMTILE8M    0
    #define NUMTILE16    52 // the last 2 are blank and 18x3=54-2=52
    #define NUMTILE16M   0
    #define NUMTILE32    0
    #define NUMTILE32M   0
    #define NUMEXTERNS   13 // I didn't change this one
    //
    // File offsets for data items
    //
    #define STRUCTPIC    0

    #define STARTFONT    1
    #define STARTFONTM   3
    #define STARTPICS    3
    #define STARTPICM    138
    #define STARTSPRITES 138
    #define STARTTILE8   138
    #define STARTTILE8M  139
    #define STARTTILE16  139
    #define STARTTILE16M 140
    #define STARTTILE32  140
    #define STARTTILE32M 140
    #define STARTEXTERNS 140

    //
    // Thank you for using IGRAB!
    //


    Last edited by Asa on Sat Jul 18, 2020 2:28 pm; edited 1 time in total
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Sat Jul 18, 2020 2:18 pm

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 12:01 pm; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Sat Jul 18, 2020 2:34 pm

    AryanWolf3D wrote:As I suspected, most of those offsets were wrong... Though I can't say I blame you, because the file has always been a mess. See if this one works:

    Code:
    //////////////////////////////////////
    //
    // Graphics .H file for .WL6
    // IGRAB-ed on Wed Apr 13 06:58:44 1994
    //
    //////////////////////////////////////

    typedef enum {
        // Lump Start
        H_BJPIC=3,
        H_CASTLEPIC,                         // 4
        H_BLAZEPIC,                          // 5
        H_TOPWINDOWPIC,                      // 6
        H_LEFTWINDOWPIC,                     // 7
        H_RIGHTWINDOWPIC,                    // 8
        H_BOTTOMINFOPIC,                     // 9
        // Lump Start
        C_OPTIONSPIC,                        // 10
        C_CURSOR1PIC,                        // 11
        C_CURSOR2PIC,                        // 12
        C_NOTSELECTEDPIC,                    // 13
        C_SELECTEDPIC,                       // 14
        C_FXTITLEPIC,                        // 15
        C_DIGITITLEPIC,                      // 16
        C_MUSICTITLEPIC,                     // 17
        C_MOUSELBACKPIC,                     // 18
        C_BABYMODEPIC,                       // 19
        C_EASYPIC,                           // 20
        C_NORMALPIC,                         // 21
        C_HARDPIC,                           // 22
        C_LOADSAVEDISKPIC,                   // 23
        C_DISKLOADING1PIC,                   // 24
        C_DISKLOADING2PIC,                   // 25
        C_CONTROLPIC,                        // 26
        C_CUSTOMIZEPIC,                      // 27
        C_LOADGAMEPIC,                       // 28
        C_SAVEGAMEPIC,                       // 29
        C_EPISODE1PIC,                       // 30
        C_EPISODE2PIC,                       // 31
        C_EPISODE3PIC,                       // 32
        C_EPISODE4PIC,                       // 33
        C_EPISODE5PIC,                       // 34
        C_EPISODE6PIC,                       // 35
        C_CODEPIC,                           // 36
        C_TIMECODEPIC,                       // 37
        C_LEVELPIC,                          // 38
        C_NAMEPIC,                           // 39
        C_SCOREPIC,                          // 40
        C_JOY1PIC,                           // 41
        C_JOY2PIC,                           // 42
        // Lump Start
        L_GUYPIC,                            // 43
        L_COLONPIC,                          // 44
        L_NUM0PIC,                           // 45
        L_NUM1PIC,                           // 46
        L_NUM2PIC,                           // 47
        L_NUM3PIC,                           // 48
        L_NUM4PIC,                           // 49
        L_NUM5PIC,                           // 50
        L_NUM6PIC,                           // 51
        L_NUM7PIC,                           // 52
        L_NUM8PIC,                           // 53
        L_NUM9PIC,                           // 54
        L_PERCENTPIC,                        // 55
        L_APIC,                              // 56
        L_BPIC,                              // 57
        L_CPIC,                              // 58
        L_DPIC,                              // 59
        L_EPIC,                              // 60
        L_FPIC,                              // 61
        L_GPIC,                              // 62
        L_HPIC,                              // 63
        L_IPIC,                              // 64
        L_JPIC,                              // 65
        L_KPIC,                              // 66
        L_LPIC,                              // 67
        L_MPIC,                              // 68
        L_NPIC,                              // 69
        L_OPIC,                              // 70
        L_PPIC,                              // 71
        L_QPIC,                              // 72
        L_RPIC,                              // 73
        L_SPIC,                              // 74
        L_TPIC,                              // 75
        L_UPIC,                              // 76
        L_VPIC,                              // 77
        L_WPIC,                              // 78
        L_XPIC,                              // 79
        L_YPIC,                              // 80
        L_ZPIC,                              // 81
        L_EXPOINTPIC,                        // 82
        L_APOSTROPHEPIC,                     // 83
        L_GUY2PIC,                           // 84
        L_BJWINSPIC,                         // 85
        STATUSBARPIC,                        // 86
        TITLEPIC,                            // 87
        PG13PIC,                             // 88
        CREDITSPIC,                          // 89
        HIGHSCORESPIC,                       // 90
        // Lump Start
        KNIFEPIC,                            // 91
        GUNPIC,                              // 92
        MACHINEGUNPIC,                       // 93
        GATLINGGUNPIC,                       // 94
        NOKEYPIC,                            // 95
        GOLDKEYPIC,                          // 96
        SILVERKEYPIC,                        // 97
        N_BLANKPIC,                          // 98
        N_0PIC,                              // 99
        N_1PIC,                              // 100
        N_2PIC,                              // 101
        N_3PIC,                              // 102
        N_4PIC,                              // 103
        N_5PIC,                              // 104
        N_6PIC,                              // 105
        N_7PIC,                              // 106
        N_8PIC,                              // 107
        N_9PIC,                              // 108
        FACE1APIC,                           // 109
        FACE1BPIC,                           // 110
        FACE1CPIC,                           // 111
        FACE2APIC,                           // 112
        FACE2BPIC,                           // 113
        FACE2CPIC,                           // 114
        FACE3APIC,                           // 115
        FACE3BPIC,                           // 116
        FACE3CPIC,                           // 117
        FACE4APIC,                           // 118
        FACE4BPIC,                           // 119
        FACE4CPIC,                           // 120
        FACE5APIC,                           // 121
        FACE5BPIC,                           // 122
        FACE5CPIC,                           // 123
        FACE6APIC,                           // 124
        FACE6BPIC,                           // 125
        FACE6CPIC,                           // 126
        FACE7APIC,                           // 127
        FACE7BPIC,                           // 128
        FACE7CPIC,                           // 129
        FACE8APIC,                           // 130
        GOTGATLINGPIC,                       // 131
        MUTANTBJPIC,                         // 132
        GODMODEFACE1PIC,                     // 133
        GODMODEFACE2PIC,                     // 134
        GODMODEFACE3PIC,                     // 135
        PAUSEDPIC,                           // 136
        GETPSYCHEDPIC,                       // 137
        
        STARTTILE8,                          // 138
        STARTTILE16,                         // 139

        ORDERSCREEN=191,                     // 191
        ERRORSCREEN,                         // 192
        T_HELPART,                           // 193
        T_DEMO0,                             // 194
        T_DEMO1,                             // 195
        T_DEMO2,                             // 196
        T_DEMO3,                             // 197
        T_ENDART1,                           // 198
        T_ENDART2,                           // 199
        T_ENDART3,                           // 200
        T_ENDART4,                           // 201
        T_ENDART5,                           // 202
        T_ENDART6,                           // 203
        ENUMEND
         } graphicnums;

    //
    // Data LUMPs
    //
    #define README_LUMP_START 3
    #define README_LUMP_END 9

    #define CONTROLS_LUMP_START 10
    #define CONTROLS_LUMP_END 42

    #define LEVELEND_LUMP_START 43
    #define LEVELEND_LUMP_END 85

    #define LATCHPICS_LUMP_START 91
    #define LATCHPICS_LUMP_END 137


    //
    // Amount of each data item
    //
    #define NUMCHUNKS    ENUMEND
    #define NUMFONT      2
    #define NUMFONTM     0
    #define NUMPICS      137
    #define NUMPICM      0
    #define NUMSPRITES   0
    #define NUMTILE8     72
    #define NUMTILE8M    0
    #define NUMTILE16    52 // the last 2 are blank and 18x3=54-2=52
    #define NUMTILE16M   0
    #define NUMTILE32    0
    #define NUMTILE32M   0
    #define NUMEXTERNS   13 // I didn't change this one
    //
    // File offsets for data items
    //
    #define STRUCTPIC    0

    #define STARTFONT    1
    #define STARTFONTM   3
    #define STARTPICS    3
    #define STARTPICM    138
    #define STARTSPRITES 138
    #define STARTTILE8M  139
    #define STARTTILE16M ORDERSCREEN
    #define STARTTILE32  ORDERSCREEN
    #define STARTTILE32M ORDERSCREEN
    #define STARTEXTERNS ORDERSCREEN

    //
    // Thank you for using IGRAB!
    //

    The biggest issue was that ORDERSCREEN was still being defined only one chunk away from the Tile16s, which is incorrect... Remember that, unlike the Tile8s, they are each one separate chunk, so ORDERSCREEN needed to be 52 chunks away from STARTTILE16.

    Notice how I've put STARTTILE8 and STARTTILE16 in the enum so that they will automagically adjust when you add new pics. I've also changed NUMCHUNKS to the already defined ENUMEND, so you don't need to adjust that one either.

    OH! I thought because it was a single image like tile8 is that it would be treated the same. I should've listened to you the first time.
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Sat Jul 18, 2020 2:39 pm

    The program compiled and built without error, but now when I run it DOSBox gives me an error message (abnormal program termination) instead of running the program.

    DUH! I forgot to rebuild the graphics files with the new numbers.

    I made sure the import file matched the defs file and recompiled the graphics files. The game still bombs with abnormal program termination.
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Sat Jul 18, 2020 2:52 pm

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 12:02 pm; edited 3 times in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Sat Jul 18, 2020 2:54 pm

    AryanWolf3D wrote:Oof, sounds like you've filled up the data segment... Could you post the last couple of lines from wolf3d.map? It should be among the .obj files in your output folder.

    Here's the bottom of the file:

    Code:
     39CB:F035      _linewidth
     39CB:F037      _pelpan
     39CB:F039      _bufferheight
     39CB:F03B      _bufferwidth

    Program entry point at 0000:0000
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Sat Jul 18, 2020 2:56 pm

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 12:02 pm; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Sat Jul 18, 2020 3:05 pm

    Getting there. At least the program doesn't bomb, but this is nothing like I imagined it would look:

    endif - Reinstating the overhead map function in Wolf3D Changes
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Sat Jul 18, 2020 3:08 pm

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 12:02 pm; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Sat Jul 18, 2020 3:14 pm

    AryanWolf3D wrote:What's the matter? Looks pretty good to me! ;-)

    LOL It looks better than it did without the graphics, for sure. I can at least tell which part of the map I'm looking at. I'm having to learn which walls are which though. Just wish I could have it look the way I want. I noticed that ModId started creating a file named wl6.pat. The contents are:

    Code:
    %ext wl6
    %version 1.4
    # Load the modified graphics
    %egahead egahead.wl6
    %end

    Does this mean it is converting the images to ega? That could be why the change in colors is so drastic...
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Sat Jul 18, 2020 3:29 pm

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 12:02 pm; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Sat Jul 18, 2020 3:35 pm

    I was just thinking about that. I wondered if I should have had a blank for the first image. I can fix that easy enough. We'll see if it has any effect on the colors, but I think you're probably right to be doubtful.

    Definitely an improvement, and yes, the colors are still screwed. If I wasn't so picky I'd settle for this and be done with it... but I'm that picky, yes. So, I'm going to try some experimenting to see if I can figure out how to get the colors closer to what I want them to be.

    endif - Reinstating the overhead map function in Wolf3D Changes2
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Sat Jul 18, 2020 3:50 pm

    I'm noticing that, even though I included door images, the doors are still represented as hex numbers. If I get rid of the door images (and reduce the count by 4), maybe the colors will improve? I can only try and see.

    Edit: I just realized something. It may be the color problem is due to the image having a different palette than the game does. I need to see if there's a way to ensure that the image is using the same palette as the game.
    avatar
    Guest
    Guest


    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Guest Sat Jul 18, 2020 4:04 pm

    .


    Last edited by Wolf3DGuy on Wed Feb 16, 2022 2:28 pm; edited 1 time in total
    avatar
    AryanWolf3D
    Bring em' On!
    Bring em' On!


    Number of posts : 104
    Age : 35
    Registration date : 2020-02-26

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by AryanWolf3D Sat Jul 18, 2020 4:09 pm

    .


    Last edited by AryanWolf3D on Fri Jul 09, 2021 12:02 pm; edited 1 time in total
    Asa
    Asa
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 191
    Age : 68
    Location : Los Angeles, California
    Hobbie : Wolfenstein 3D, Final Fantasy and Sokoban
    Registration date : 2010-08-03

    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Asa Sat Jul 18, 2020 4:28 pm

    I am using that parameter. If that forces the wolf3d palette, then it's not a wrong palette that's the issue.

    Also, Wolf3DGuy, I'd like to do what you show in your image. I don't know what to do to achieve it though.

    Sponsored content


    endif - Reinstating the overhead map function in Wolf3D Empty Re: Reinstating the overhead map function in Wolf3D

    Post by Sponsored content


      Current date/time is Thu Mar 28, 2024 7:24 pm