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...


5 posters

    SDL 90+ Wall Tiles

    johny4
    johny4
    Freshmen
    Freshmen


    Male
    Number of posts : 14
    Age : 36
    Location : Slovakia
    Job : Magna Slovteca Trnava (BMW)
    Hobbie : PC games,DJ tiesto music, sleeping,FB
    Registration date : 2011-01-30

    SDL 90+ Wall Tiles  Empty SDL 90+ Wall Tiles

    Post by johny4 Fri Aug 12, 2011 12:36 pm

    old
    #define MAXWALLTILES 90 // max number of wall tiles

    new
    #define MAXWALLTILES 4000 // max number of wall tiles

    ////
    I want to make new WOLF4SDL mod. What happens when MAXwalltiles adjusted to 4000?

    decimal walltiles 6400.

    What are the Wolf4sdl LIMITED?

    Wolfenstein 3D normally uses only 64 of the walls. 90 is a small number of walls for WOlf4dsl.
    stathmk
    stathmk
    Veteran
    Veteran


    Male
    Number of posts : 1791
    Age : 44
    Location : Indiana, United States
    Job : fast food worker & wolfensteingoodies.com webmaster
    Hobbie : old games & young dames
    Registration date : 2008-04-08

    SDL 90+ Wall Tiles  Empty SDL

    Post by stathmk Fri Aug 12, 2011 12:59 pm

    I don't know much about SDL. I've heard that you can have a level that's 128 by 128 walls instead of 64 by 64 walls. About all of the rest that I know is here: https://wolf3d.darkbb.com/t1466-please-explain-the-whole-sdl-thing-for-me . I'm sorry I don't know much to help you.
    Dark_wizzie
    Dark_wizzie
    I am Death Incarnate!
    I am Death Incarnate!


    Female
    Number of posts : 5120
    Age : 30
    Location : California, USA
    Job : Investor
    Hobbie : Computers, chess, computer chess, fashion, and philosophy
    Message : I made this forum when I was 13 High on Drugs
    Registration date : 2007-03-24

    SDL 90+ Wall Tiles  Empty Re: SDL 90+ Wall Tiles

    Post by Dark_wizzie Fri Aug 12, 2011 1:20 pm

    No Stathmk, I think he meant amount of wall textures, not the size of the level.



    Wolf3d Haven
    Minute Logic Blog
    stathmk
    stathmk
    Veteran
    Veteran


    Male
    Number of posts : 1791
    Age : 44
    Location : Indiana, United States
    Job : fast food worker & wolfensteingoodies.com webmaster
    Hobbie : old games & young dames
    Registration date : 2008-04-08

    SDL 90+ Wall Tiles  Empty Re: SDL 90+ Wall Tiles

    Post by stathmk Fri Aug 12, 2011 1:38 pm

    Dark_wizzie wrote:No Stathmk, I think he meant amount of wall textures, not the size of the level.
    Thanks for clarifying that.
    johny4
    johny4
    Freshmen
    Freshmen


    Male
    Number of posts : 14
    Age : 36
    Location : Slovakia
    Job : Magna Slovteca Trnava (BMW)
    Hobbie : PC games,DJ tiesto music, sleeping,FB
    Registration date : 2011-01-30

    SDL 90+ Wall Tiles  Empty Re: SDL 90+ Wall Tiles

    Post by johny4 Fri Aug 12, 2011 1:43 pm

    I think that the limit of the walls was removed. WOLFDX does not have any defined
    Maxwalltiles or I had not found. I do not understand the entire source code and WOLF4SDL WOLFDX.

    I begin to study C + + if I have enough free time.

    I recently bought book about C++ . It was written in my language (Slovak).
    avatar
    Guest
    Guest


    SDL 90+ Wall Tiles  Empty Re: SDL 90+ Wall Tiles

    Post by Guest Mon Aug 15, 2011 2:18 pm

    Hi Lawrence!


    Last edited by Chokster37 on Sat Feb 08, 2014 11:35 am; edited 1 time in total
    Dr.Zin
    Dr.Zin
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 180
    Age : 40
    Location : Nowhere
    Message : General Programmer
    World of Tanks Username: ToreHund
    Registration date : 2010-08-11

    SDL 90+ Wall Tiles  Empty Re: SDL 90+ Wall Tiles

    Post by Dr.Zin Mon Aug 15, 2011 11:07 pm

    It is not enough to assign a value figure to the MAXWALLTILES and MAXDOORS. There are a large number of changes which must be made due to the fact that the original Wolf3D code used what could be described essentially as a status register to determine if the block being hit was a solid wall or a usable door. Due to memory constraints in the period when the original Wolf3D code was being written, this had to be somewhat small in size and therefor created a limit based upon how many bits were allocated within this wall status register for walls and for doors. Because it was housed within a byte, that meant that there could be a maximum of 256 wall and door blocks. Therefor, it is necessary to expand this status register to 16 bits, allowing more walls and doors than you're ever going to use. This means you must go through every function related to doors and walls and update the code which is used to determine if a particular block is a door or a wall and how the engine handles the block's ID so that it knows that the new blocks with a 16-bit value are what they're supposed to be. A helpful hint, the first 40-50 (depending on if you're using Spear of Wolf3d) new values numbered 1000 to 1050 (decimal) are duplicates of the original 0 through how many ever.

    Just implement the code changes you see in the links given to you by Chokster37 in r8. Change the red lines on the left to look like the green lines on the right. Do it properly, take your time and ensure you've copied and pasted in the right places and it will work. Lonewolf is on revision 14 so the feature we're discussing right now is 110% guaranteed to work if you implement it properly. I will not offer technical support because the links that have been given to you are just like tutorials. So, if it doesn't work, it means you've not copied something right.

    And last but not least, make a second copy of your code before you begin making these changes to it, then begin working on it. You don't want to have to waste time trying to undo the code changes you've made if you decide you find yourself unable or unwilling to make them. It is the worst feeling in the world to have to go undo a bunch of stuff lol. It's why I began using free google SVN hosting for projects like this. I STRONGLY recommend you get one for your project if you are serious about it. They're free and allow you to back up your code in stages, allowing you to go back to previous versions of your code and so on. It is also good if you decide to get extra coders on your team if you do that.



    If a packet hits a pocket on a socket on a port,
    and the bus is interupted as a very last resort,
    and the address of the memory makes your floppy disk abort
    then the socket packet pocket has an error to report!

    http://radix-16.com/
    Wolf3d Chat
    WolferCooker
    WolferCooker
    Hardcore Wolfer
    Hardcore Wolfer


    Male
    Number of posts : 1201
    Age : 34
    Location : Pennsylvania, U.S.A
    Hobbie : Video Games (mostly PC), but been rapidly losing interest in it recently
    Registration date : 2010-09-24

    SDL 90+ Wall Tiles  Empty Re: SDL 90+ Wall Tiles

    Post by WolferCooker Tue Aug 16, 2011 3:53 pm

    I remember Mario Maniac and Mega Luigi telling me that they disabled the wall texture limits for their upcoming mod a while back. They seem to know what to do. Maybe I'll ask them.
    Dr.Zin
    Dr.Zin
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 180
    Age : 40
    Location : Nowhere
    Message : General Programmer
    World of Tanks Username: ToreHund
    Registration date : 2010-08-11

    SDL 90+ Wall Tiles  Empty Re: SDL 90+ Wall Tiles

    Post by Dr.Zin Tue Aug 16, 2011 3:59 pm

    You sure do like those 2 don't you tongue. An adequate solution has been provided, don't disturb them with a solved issue. You could effectively "remove" the limit by using a 32-bit or even 64-bit integer datatype rather than the 16-bit integer used I used. You would get 4,294,967,296 walls and doors with a 32-bit integer and 18,446,744,073,709,551,616 with a 64-bit integer. If you seriously need more than that I question your sanity.


    Last edited by Dr.Zin on Tue Aug 16, 2011 4:07 pm; edited 1 time in total



    If a packet hits a pocket on a socket on a port,
    and the bus is interupted as a very last resort,
    and the address of the memory makes your floppy disk abort
    then the socket packet pocket has an error to report!

    http://radix-16.com/
    Wolf3d Chat
    WolferCooker
    WolferCooker
    Hardcore Wolfer
    Hardcore Wolfer


    Male
    Number of posts : 1201
    Age : 34
    Location : Pennsylvania, U.S.A
    Hobbie : Video Games (mostly PC), but been rapidly losing interest in it recently
    Registration date : 2010-09-24

    SDL 90+ Wall Tiles  Empty Re: SDL 90+ Wall Tiles

    Post by WolferCooker Tue Aug 16, 2011 4:05 pm

    Well you stopped me from sending an email to them about the issue. LOL.

    Okay I believe you know. LOL.
    Dr.Zin
    Dr.Zin
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 180
    Age : 40
    Location : Nowhere
    Message : General Programmer
    World of Tanks Username: ToreHund
    Registration date : 2010-08-11

    SDL 90+ Wall Tiles  Empty Re: SDL 90+ Wall Tiles

    Post by Dr.Zin Tue Aug 16, 2011 4:15 pm

    Well, as stated, by simply using a larger datatype in the code, you can have an impossible number of walls and doors. If you need more than 2^16 walls, let alone 2^32 or 2^64 then I would actually question the sanity of the modder. I don't think there are even 2^32 textures in modern games. 2^32 Wolf3D textures would amount to 20,480 TERABYTES. Ja, TERABYTES, I actually calculated the result 5 times just to make sure I wasn't dividing to few times or messing up somewhere. There probably aren't enough BluRays and DVDs in a WalMart to make up to that. 1,024 (a fraction of what a 16-bit integer is capable of using) textures used would make for a 5 MiByte vswap, I couldn't imagine needing more than that for 3 mods.



    If a packet hits a pocket on a socket on a port,
    and the bus is interupted as a very last resort,
    and the address of the memory makes your floppy disk abort
    then the socket packet pocket has an error to report!

    http://radix-16.com/
    Wolf3d Chat
    WolferCooker
    WolferCooker
    Hardcore Wolfer
    Hardcore Wolfer


    Male
    Number of posts : 1201
    Age : 34
    Location : Pennsylvania, U.S.A
    Hobbie : Video Games (mostly PC), but been rapidly losing interest in it recently
    Registration date : 2010-09-24

    SDL 90+ Wall Tiles  Empty Re: SDL 90+ Wall Tiles

    Post by WolferCooker Tue Aug 16, 2011 4:22 pm

    Jesus, 20,480 TERABYTES?!?! And I thought 1 Terabyte (1000 Gigabytes) of storage is the big thing now!
    Dr.Zin
    Dr.Zin
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 180
    Age : 40
    Location : Nowhere
    Message : General Programmer
    World of Tanks Username: ToreHund
    Registration date : 2010-08-11

    SDL 90+ Wall Tiles  Empty Re: SDL 90+ Wall Tiles

    Post by Dr.Zin Tue Aug 16, 2011 4:43 pm

    I'm incorrect, it should be 20-24 Terabytes or roughly 20,480 Gigabytes. I knew something was wrong lol. But that is for 32-bit integers. A 64-bit integer (unsigned _int64 or unsigned long long depending on your compiler) is an amount I got impatient about after the 8th division by 1024. There isn't a proper name for that much memory except perhaps LOLWUTbytes (I'm copyrighting that Razz).

    But none the less, there isn't a home computer (unless you somehow bought BlueGene) in existence today that could handle such absurd file sizes like that and I would argue that using a 16-bit integer or even a 32-bit integer datatype is not only sufficient but perhaps even excessive and unnecessary. He wants to utilize 15,000 textures according to his other thread, which fits quite neatly in a 16-bit integer with PLENTY of room to breath.



    If a packet hits a pocket on a socket on a port,
    and the bus is interupted as a very last resort,
    and the address of the memory makes your floppy disk abort
    then the socket packet pocket has an error to report!

    http://radix-16.com/
    Wolf3d Chat
    WolferCooker
    WolferCooker
    Hardcore Wolfer
    Hardcore Wolfer


    Male
    Number of posts : 1201
    Age : 34
    Location : Pennsylvania, U.S.A
    Hobbie : Video Games (mostly PC), but been rapidly losing interest in it recently
    Registration date : 2010-09-24

    SDL 90+ Wall Tiles  Empty Re: SDL 90+ Wall Tiles

    Post by WolferCooker Tue Aug 16, 2011 4:58 pm

    15,000 textures? There aren't that many different textures in all the Wolf3d mods combined. Doom, Hexen, Blake Stone, and Hexen/Heretic still wouldn't be enough either.

    Can you post the link to that thread?
    Dr.Zin
    Dr.Zin
    Bring em' On!
    Bring em' On!


    Male
    Number of posts : 180
    Age : 40
    Location : Nowhere
    Message : General Programmer
    World of Tanks Username: ToreHund
    Registration date : 2010-08-11

    SDL 90+ Wall Tiles  Empty Re: SDL 90+ Wall Tiles

    Post by Dr.Zin Tue Aug 16, 2011 5:13 pm

    All those combined? Probably does as the Doom games have a lot of textures and I know for a fact that Hexen has a large number of textures. As for the link, check Chokster37's reply.

    I understand wanting a diverse selection of textures but 15,000 is absurd. I'd LOVE to see a mod which utilizes 1,024 or more textures. And I mean utilize, not just present in the VSWAP, they have to be used IN the game.



    If a packet hits a pocket on a socket on a port,
    and the bus is interupted as a very last resort,
    and the address of the memory makes your floppy disk abort
    then the socket packet pocket has an error to report!

    http://radix-16.com/
    Wolf3d Chat

    Sponsored content


    SDL 90+ Wall Tiles  Empty Re: SDL 90+ Wall Tiles

    Post by Sponsored content


      Current date/time is Thu Nov 21, 2024 2:52 am