making .boxes work in 1.8.6

edited 2009 Sep 20 in General
Well so far I[and the help of certain people on Newdoom, thx] have been able to solve many issues for 1.8.6+snowberry and even convert a few newer files to work with it, using a couple file changes and/or converting them to .pk3s.
[Even got the hi-res beta 6 preview pack working by simply deleting the file that uses beta 6's improved lighting. No, I won't release it or anything else anymore without DaniJ's consent and even then I am always going to try first for getting the team to release them.]

But now that I have gotten more ideas, and I still have one final gripe with using 1.8.6+snowberry that i am going to try to fix: actually being able create and use .boxes with them.

So my idea came from the inspiration of Abbs Pack. Why? Because its the only .box that 100% loads and runs correctly with snowberry+1.8.6 aside from dreadus' shotgun. So really, only weapon packs work with it. But I'm trying to change that.

Right now I am testing with the jdrp alpha pack, since it doesn't have one in the first place. I did my usual thing that i would do in a beta, just create a folder that says.box at the end and throw all my files into it. Normally this wouldn't work, it would just crash. Well i solved this by making a TossIntoAuto.pk3 file with nothing but a required.ded in it. It is formatted in the same way abbspack's required.ded is. I simply changed it from the jdoom model directory to the data/jdoom/auto directory, like so:
#
# Jdoom Resource pack Alpha ver 1.1
#

# Main model path for Jdrp pack
ModelPath "Data\jDoom\Auto"

Now it doesn't crash but instead it seems to act as if I have no iwad loaded 0.o. It will first say "No IWAD has been specified! Important data might be missing. Are you sure you want to continue?" If i say yes, you can see that it will load all the files within the box correctly and then it will crash and display this .out file:
Con_Init: Initializing the console.
SW_Init: Startup message window opened.
Executable: Version 1.8.6 Jan  8 2005 (DGL).
Memory zone: 256.0 Mb.
Parsing configuration files.
W_Init: Init WADfiles.
W_AddFile: Data\Doomsday.wad
W_AddFile: Data\jDoom\jDoom.wad
  IWAD identification: 00056533
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Required\TossintoAuto.pk3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Core.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Fire.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\CellLarge.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\ComputerMap.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Clip.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\HUD-BFG.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\ScreenEffects.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\MegaSphere.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Arachnotron.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\RespawnFX.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\PlasmaShot.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\FloatinSkulls.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Barrel.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\HUD-DBShotgun.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\BezerkPack.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\SmallStonePillars.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Cacodemon.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\KeyCards.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\TeleportFX.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Stalagtite.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\ImpFireball.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\HealthPotion.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\CacoShot.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\TechPillar.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Shells.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Particles.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\RocketBox.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Firesticks.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\TallTorches.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\RocketItem.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\BrainStem.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Armor.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Shellbox.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\ImpactFX.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\HUD-Chaingun.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\SmallLamp.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\LightGoggles.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\FontPack.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\LostSoul.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\MediKit.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\BloodSplat.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\RadiationSuit.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Backpack.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Invisibility.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\BossCube.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\W_Shotgun.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\DecorLights.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\BigLamp.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\BFGShot.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\EvilEye.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\BaronFireball.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\GUIPack.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\StatusBar.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\SkullKeys.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Candle.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Stimpack.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\Spectre.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\W_SuperShotgun.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\RocketP.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\ArachnoShot.PK3
W_AddFile: Doomsday Engine\addons\jdrp alpha.box\MediumLamp.PK3

IdentifyVersion: DOOM version unknown.
** Important data might be missing! **

Reading definition file: Defs\Doomsday.ded
Reading definition file: Defs\jDoom\jDoom.ded
  138 sprite names
 1208 states
  140 things
 1383 models
  153 lights
  112 sound effects
   68 songs
  335 text strings
  105 particle generators
   22 animation groups
  130 surface decorations
   69 map infos
   12 finales
Sys_Init: Setting up machine state.
Sys_Init: Initializing keyboard, mouse and joystick.
Sys_InitTimer.
Sys_InitMixer: Speakers (Realtek High Definiti
Sfx_Init: Initializing DirectSound...
DS_EAXInit: Required EAX support missing.
Sfx_InitChannels: 16 channels.
DM_WinMusInit: 1 MIDI-Out devices present.
DM_WinMusInit: MIDI initialized.
S_Init: OK.
R_Init: Init the refresh daemon.
W_GetNumForName: PNAMES not found!

As I said it seems to act as if I have no iwad loaded. Any suggestions?

Comments

  • W_AddFile: Data\jDoom\jDoom.wad
      IWAD identification: 00056533
    

    It thinks the jDoom.wad is the IWAD, probably because it's the first one passed to it on the commandline.
  • Heh, that's weird. I should look further into the abbs or other resource packs to see if there is an order or some other command i have to do to tell it to load the iwad first.
  • Yeah, i don't know to be honest - Doomsday.exe v1.8.6 might handle things differently to the current version and Snowberry isn't exactly designed for unofficial backwards-Frankenstein compilation :P Maybe the python source for the graphical launcher needs to be adjusted. The command-line reference would be a decent place to start, in combination with the 'Preview Command Line' option in Snowberry.

    Well the first -file parameter is supposed to be the IWAD, since Deng 1.9.0 doesn't have a jDoom.wad and uses a pk3 instead maybe you can rename the jdoom.wad to a pk3 file and make the appropriate changes in the source.
  • Interesting, but i just found something weird. Keeping my current setup of jdrp alpha.box, I turned every single one of the .pk3s off, and then just turned on one category worth of effects. And then it works. I'm thinking that there's a specific file or group of files that cause this. Also i'm not using the current snowberry version. I am using the one included with beta 5.1, because its the only one with all options available and all the versions made since then have been designed specifically for beta 6.
  • Hmm. That suggests to me that Doomsday 1.8.6 is having trouble parsing a long commandline with so many pk3's, or something like that. I think it may be best to try to combine many pk3's into one, i.e. to only have 10 or so PK3's in the addon box instead of nearly 100?

    Or you could always use Beta 6.6 ;)
  • edited 2009 Sep 20
    Yeah you are right, its the simple fact that it can handle only so many pk3's turned on. I go to the highest amount, and then i turn one off and turn on another and it still works. This is what happens when i just go over the limit as opposed to filling the entire thing.
    Buffer Overrun Detected!
    
    Program: G:\Program Files\Doomsday Engine\Bin\Doomsday.exe
    
    A buffer overrun has been detected which has corrupted this program's internal state. This program cannot safely continue execution and must now be terminated
    

    So really i did find a way to make it load a .box. It just needs to know a directory to throw everything into which most conveniently is /auto. The only thing left to complete my goal would be to do one of two things:

    1. Find a way to get doomsday/snowberry to accept a longer command line. I hope i can find a way to do this through console or changing files, because I know nothing of source code.[though one day i hope to learn it as a career, i just got into an intro to computer sciences class and my short attention span isn't helping me, lol]

    2. Just use the resources I have with the command line, and do something in the same manner that jhrp.box and jdrp.box do. That thing is compressing a few base files enough for it to fit the command line, for example i noticed within the "required" files they had weapon FX and other effects compressed into single category .pk3s. Which leads me to believe that earlier versions of the beta probably couldn't load a lot of models either, and i think i remember seeing a thread for that a long time ago but I'm not sure. If this is true, upgrading snowberry could work but the options are extremely limited because of course its designed only torward beta 6.

    So basically I'm just gonna hope someone will reply for option 1, and do option 2 because I'm pretty sure thats how the original jhrp and jdrp .boxes were originally designed for this very reason. Hell, since they're already within the file limit they might actually freaking work now if i throw my special .pk3 in there.

    [Edit] turns out my .pk3 does nothing because they seem to load anyway. It turns out the entire reason .boxes don't work is because of file limits. It's so high for it that it eventually just starts to leave out files, including necessary doomsday system files that can cause crashing while loading or even leaving out the iwad. All my .pk3 did was rearrange what files got chosen and what got left out. I saw this because i unchecked some things in jDRP.box too and the files that didn't work before then worked. So... yeah the only solutions still hold true. Either make some uber packed files, where you can only choose monsters/weapons/gunfire effects and just compress everything else into categories so that they fit, or find a way to expand how much the console can freaking take.
  • RiShooty wrote:
    1. Find a way to get doomsday/snowberry to accept a longer command line. I hope i can find a way to do this through console or changing files, because I know nothing of source code.
    Extremely unlikely i'm afraid. I can't think of a logical way apart from using the auto folder or using less pk3's. A buffer overun is an internal error, their are too many arguments for the Doomsday.exe process to handle and it's overflowing it's allocated memory address/block. Think of it like this - remember in MS-DOS days, you had to make syre filenames had a 8.3 format filename? That is - 8 letters and 3 letter after the dot, like WINDOWS3.EXE as a silly example... it's a hard-coded limitation, that's why it's a Buffer Over-run.

    I don't really know what you mean by your second point sorry :P

    Well, the thing is, the .box addon format was introduced after Snowberry was created. And snowberry was created alongside 1.9.0. Ummm.... trying to think of a more polite way to say "bad luck". Just make it into a PK3, box's arn't THAT critical are they?
  • No they aren't that critical at all. .pk3 versions of things work fine. I just wanted to try one last thing to "perfect" 1.8.6. I also noticed that experimenting with those .boxes seemed to make the crash on exit issue reoccur regardless anyway, probably because of their buffer overflow. And my second point is to simply throw generic pk3's within the box into a single one[for example effects.], so you'll only be able to pick and choose a few things. Basically, try to cut it down to a lower number, but then again you might as well use a .pk3.
  • RiShooty wrote:
    And my second point is to simply throw generic pk3's within the box into a single one[for example effects.], so you'll only be able to pick and choose a few things. Basically, try to cut it down to a lower number, but then again you might as well use a .pk3.
    Yeah, that's what I was thinking. Try to find the maximum number you can get before the error occurs. If this is for your own personal use, do what the heck you want hey I suppose. But redistributing your edits would be, as you already mentioned, a violation of the licence. I don't know why you are going to the hastle though! I'd be at the pub if I had a choice right now.
  • edited 2009 Sep 23
    [deleted post, it was pointless and somehow caused a problem. In fact, i would love if you deleted this thread.]
  • edited 2009 Sep 20
    Wow that's a long one.
    Yeah me and DaniJ have argued a lot, though that wasn't really the problem.
    Well I do side with DaniJ on that, it's a little rude. But to get a little more technical...
    Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
    You obviously did not provide sufficient information in the form of a disclaimer, because we had people here on the official forums complaining to the DengDevs about something they didn't even create.
    3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
    a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
    b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
    c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
    Basically, yes it is a legal issue, DaniJ is obviously very busy and doesn't have time to present his easily-defendable case, so I'll take the liberty to do it now. Despite the fact that you did not directly compile this derivative work from source, but rather via dissassembly; you did not provide the machine-readable source code of it. In light of the scenario in this case, in lamens terms; you "hacked-up" this build by cannibalizing two different branches of the compiled binaries. That does not render the GPL agreement void or redundant; and you cannot use the official Doomsday repository as the source of the derivatives build in regard because it has been altered beyond it's original form and cannot be found there. Thus, the terms of the licence has been breached as it is essentially impossible for you to provide the source code of your derivative work - which is a requirement of the GPL that Doomsday falls under. However, if you had build your own subversion (for example) repository and actually created a buildable project from the source tree to create this Deng 1.8.6+Snowberry fusion, then and only then would it be legally valid. Or alternatively, take this cenario - if you had created a batch/script file that could checkout the specific parts of the Deng sourcetree and build a compilable project that anybody else could freely do, maybe then it would also be valid.
    but yeah one time when I tried to release a .pk3 version of jdrp alpha because of the ridiculous amount of separated files, out of more tech support worry he finally just said to me to just send him the changes so he can do them and don't release anything unless the developer gives no response for a reasonable time.
    That would be the polite thing to do. However, when you did 'try to release' this pk3, did you (a) announce it here on the official forums first, or that other "forum" first? and did you, (b) actually test it yourself and explicitly say/type that it is unsupported and unofficial and needs to be tested?
    Well the reason is because my goal is to make 1.8.6 as usable with snowberry and newer things as possible. Basically, I've been making something to hold people over until 1.9.0, including myself.
    What's wrong with 1.9.0 anyway? Most of us who do our research actually manage to have a stable game. The only issues at hand that I know of is Hexen being a little sketchy at best, which nobody is even bothering to submit bug reports to the tracker about let alone helping with the development, and everything else is addon related. Most of us here are actually trying to help the CURRENT development wherever we can, or ask easy questions about bugs and/or a feature - not to screw around with something that just should not be for so many reasons I don't know where to start. Havn't you wondered why I am the only one to have replied to your topic so far, despite it being bumped several times? I'll give you a hint - it's because i'm a nice guy and want to help wherever I can, despite how dirty it might be.

    Oh hey - did you even know that Snowberry is being dropped? I highly doubt there will ever be a 'better' release. Even the current one has bugs, half the users experiencing Music Pack problems is because of Snowberry having incomplete support for UAC. The Deng Devs know this, and us clever types figured it out on our own. No no, that sounded wrong - I'm not trying to draw-lines-between-elite-and-enduser there, it's just that the Forum is new - Deng 1.9 is new and beta - and a lot of us are here and stick around here because we actually want to see it succeed for reasons a little beyond reliving our childhood in glorious High-Definition....

    =))
    Any future "converted" addon releases I will either just throw instructions on how to do it yourself in the help file or leave it up to good ol Dani. {...} And if i do give up i might randomly find a solution years later even though I completely forgot about it.
    Yes that's all good and swell, but if everything goes according to plan there's a good chance Snowberry will cease to exist this time next year. Hopefully sooner if the donations and helping hands keep up.



    AHEM. Well with that said, I am a developer myself - although not of desktop software, of PHP and AJAX and all that nonsense; and I do side with DaniJ on this because it's just common sense. I apologize if I am being rude in this long winded post, I ment no disrespect whatsoever - and of course, I am not a moderator here or anyone of any authority or importance at all whatsoever - i'm just expressing the way I see it, so please don't quote me on any of this. And in light of the direction this thread has taken, I've decided to stay out of it. I think you'd be best keeping your support requests to the NewDoom forums...? Well I already said everything I could say of use anyway :P

    I'm not expressing my disapproval at all of your project, it's good that someone is trying to keep the spirit alive by watching out for the guys who just want to play the best Doom engine the world has ever seen. But please, be careful in attracting unwanted attention (I have no doubt that Kuri or DaniJ will probably rouse at me via PM when they most certainly read this thread), and keep it legal. We don't want the Deng masters to get a bad name.

    Best of luck Shooty.
  • P.S. In my opinion, it's things like this that is the reason why Open Source hasn't taken over the commercial/patent software world quite yet. It just gets real messy at times.
  • Ever heard of "DOOM Remake"? If you have feel free to skip the following paragraph.

    DOOM Remake was one user's attempt at helping the DOOM community by packaging Doomsday, KickStart, the original game IWADs and many of the jdoom addons in an all-in-one installer. This package was then hoiked around the net and seeded throughout the world through torrents.

    The Remake package violates more licenses and owner rights than I care to count but that isn't the reason for my mentioning it. The biggest problem (from my perspective) is how this package reflects on Doomsday and the deng team.

    I can understand the logic behind the creation of the Remake. However by "helping" the end user they actually did a lot of damage to the deng project and to this day there are users who choose to use the Remake over our official Doomsday releases (it is more convenient for them).

    Now I'm not suggesting that the situation is precisely the same with RiShooty's package but there are some parallels.
  • Wow. You REALLY did not have to do that. I already stated that i learned my lesson from that alpha thread, and i didn't plan to release anything. And if for any reason i wanted to i would send it to danij but as i said id rather have him working on 1.9.0.
    That would be the polite thing to do. However, when you did 'try to release' this pk3, did you (a) announce it here on the official forums first, or that other "forum" first? and did you, (b) actually test it yourself and explicitly say/type that it is unsupported and unofficial and needs to be tested?

    Also, i didn't make any changes to the source code at all. As dani said i just threw a bunch of files together and made a few of my own using the same format as jdrp for jhrp.. Also, yes the alpha .pk3 has been tested and proven to work with all models running and no problems, i don't know why you would think i would release an incomplete thing. Oh and btw, this happened before the new forums.
    Now I'm not suggesting that the situation is precisely the same with RiShooty's package but there are some parallels.

    Yeah I've heard of doom remake, and as i've said countless times before I am sorry and i can understand your worries and that i've been successful at keeping it under control.

    But yeah as i've said, i am just going to make a general troubleshooting file for 1.8.6 users, just recommended video card settings and things to know about running hexen expansion or windows 7 users, stuff like that. I know for a fact that It would be stupid for me to make another release and that this has been a problem, so that's why all I'm going to keep what i have and do is just provide a useful notepad to complete it, i guess to reduce the tech support issues. As for anything else I will just throw "how to do it yourself" instructions into the help file, like how just deleting the dhtp-shinmaps.ded from the beta 6 hi-res preview pack can make it work perfectly fine with 1.8.6. Even instructions on how to make your own .pk3s[that or a link to the dday wiki page]. Then they can do it personally and then it wouldn't be bad would it?

    But as i've stated before this was my final attempt at trying something new with 1.8.6, and I am now done. After making that help file put into my pack and in a separate download, that's it. Trust me finding out everything I'm doing wrong is as worrying to me as it is to you guys. :(

    [EDIT] Also, JonusC. Defend his case? side with him? your acting as though this is still happening. This happened Months ago, like January when i first released that pack. 0.o. On top of that it was me who had to do defending for my actions and I followed along with anything DaniJ said to make things ok again, was even willing to delete the thread. Seriously don't criticize me on something you haven't even witnessed happen.
Sign In or Register to comment.