Jump to content
The Dark Mod Forums

Loader GUI


DigitalNapalm

Recommended Posts

I was wondering if you have any specific direction you were planning on taking the GUI for loading maps/campaigns/etc.

 

My idea is pretty simple: Have it load up similar to how you select maps for the UT games.

 

Some killer thiefsie graphic with a menu overlay.

 

i.e.

>Load Single Map

>Load Campaign

>Hardware Settings (audio, video, etc...)

>Game Settings (Keys, mouse, gamma/bright)

>Exit (You need to pay attention to your pet, sig. other, and/or children eventually)

 

Campaigns could load differently than singles. (?) You probably aren't going to take the time to add video clips, interim city maps, and other bells and whistles to a single map. Why load extra stuff in to memory you don't need? (Easy/hard to do?)

Just a few thoughts from others about it would be good. I'm sure the staffers wouldn't mind some external input, either. It may help them hone it to perfection

 

Keep up the good work guys. I :wub: you all for putting so much effort into continuing arguably one of the best (and sadly less-known!) franchises in PC gaming.

Link to comment
Share on other sites

I was wondering if you have any specific direction you were planning on taking the GUI for loading maps/campaigns/etc.

 

My idea is pretty simple: Have it load up similar to how you select maps for the UT games.

 

Some killer thiefsie graphic with a menu overlay.

 

i.e.

>Load Single Map

>Load Campaign

>Hardware Settings (audio, video, etc...)

>Game Settings (Keys, mouse, gamma/bright)

>Exit (You need to pay attention to your pet, sig. other, and/or children eventually)

 

Campaigns could load differently than singles. (?) You probably aren't going to take the time to add video clips, interim city maps, and other bells and whistles to a single map. Why load extra stuff in to memory you don't need? (Easy/hard to do?)

Just a few thoughts from others about it would be good. I'm sure the staffers wouldn't mind some external input, either. It may help them hone it to perfection

 

Keep up the good work guys. I :wub: you all for putting so much effort into continuing arguably one of the best (and sadly less-known!) franchises in PC gaming.

 

Our loader is already pretty much in place and working. :)

Link to comment
Share on other sites

Keep up the good work guys. I :wub: you all for putting so much effort into continuing arguably one of the best (and sadly less-known!) franchises in PC gaming.

It really is our pleasure. B)

My games | Public Service Announcement: TDM is not set in the Thief universe. The city in which it takes place is not the City from Thief. The player character is not called Garrett. Any person who contradicts these facts will be subjected to disapproving stares.
Link to comment
Share on other sites

Sweet. Will it be an external app or included into the ingame menu. I'd generally prefer the latter because on many machines Doom 3 might take some time to load up and if you had to quit Doom everytime you want to launch another FM, some people might get pissed. :) But then again Doom starts very quick on my machine, so what the hell?? ;)

Link to comment
Share on other sites

Sweet. Will it be an external app or included into the ingame menu. I'd generally prefer the latter because on many machines Doom 3 might take some time to load up and if you had to quit Doom everytime you want to launch another FM, some people might get pissed. :) But then again Doom starts very quick on my machine, so what the hell?? ;)

 

It's an ingame menu that will unzip and put the chosen map files in the appropriate place, all the player has to do is put .pk4 file in the correct folder for the loader to find them.

Link to comment
Share on other sites

It's an ingame menu that will unzip and put the chosen map files in the appropriate place, all the player has to do is put .pk4 file in the correct folder for the loader to find them.

Even simpler, with joebarnin's latest changes the files don't even need to be extracted anymore. :)

 

The loader just copies the right PK4 in the correct place and automatically restarts D3 (you can't avoid restarting D3, though).

Link to comment
Share on other sites

As another choice Ive also got GarrettLoader working on Dark Mod maps, it will load straight into the FM itself (it also handles the community scores for the FMs as well). I should have a test of it available by the weekend.

Edited by potterr

GL16x16.gifNEW 03/Sept/06 GarrettLoader 1.41 GL is a replacement for Darkloader which plays SS2, Doom 3 & Thief 3 FMs as well. With support for Half Life 1 and 2 and a lot more games as well.

GL's FM Scores System

Link to comment
Share on other sites

I guess, you don't place all pk4-files in the right location because of the risk of filenameduplicates. If you'd put them there right away, restarting Doom 3 wouldn't be necessary though. You'd only have to implement a system to detect which map starts a FM and let the FM simply load from a menu.

 

But as I already said, there is the risk of filename duplicates, which can be reduced by the use of prefixes, which every mapper should use either way. This would be a much nicer and quicker solution, but of course it's not as clean as what you came up with and then again it feels much more oldsqool having to restart the game, before you can play an FM! ;D

Edited by STiFU
Link to comment
Share on other sites

I guess, you don't place all pk4-files in the right location because of the risk of filenameduplicates. If you'd put them there right away, restarting Doom 3 wouldn't be necessary though. You'd only have to implement a system to detect which map starts a FM and let the FM simply load from a menu.

 

There are other potential conflicts, and this way is just that much cleaner.

 

The way it currently works is that you place the FM folder within the root doom 3 folder.

The loader menu will show you a list of available FM's, then you simply select the mission...hit install, the pk4 is installed in the correct location and d3 restarts.

 

It's rather non-intrusive.

Link to comment
Share on other sites

As another choice Ive also got GarrettLoader working on Dark Mod maps, it will load straight into the FM itself (it also handles the community scores for the FMs as well). I should have a test of it available by the weekend.
Will GarrettLoader display the readme for FMs and if so, what formats does it support?
Link to comment
Share on other sites

As another choice Ive also got GarrettLoader working on Dark Mod maps

 

Including the briefing, objectives, and purchase menu? Which files take precedence when you do it this way, the default TDM files or the mission files?

Link to comment
Share on other sites

Will all the FMs contain a darkmod.pk4 or will that be a core install?

 

The way it currently works is that you place the FM folder within the root doom 3 folder.

The loader menu will show you a list of available FM's, then you simply select the mission...hit install, the pk4 is installed in the correct location and d3 restarts.

Just in regards to that, I have got GarrettLoader to extract to the root Doom 3 folder (under the thiefs_den folder in this instance) then it will shell doom3.exe with the following command

 

c:\program files\doom 3\doom3.EXE +set fs_game thiefs_den
replacing the install path with whatever it should be and the thiefs_den with the pk4 of the detected FM (GL looks inside the PK4 to find the map file to determine which should be the launch map).

This may not work properly for multi map FMs but works fine for single ones.

GL16x16.gifNEW 03/Sept/06 GarrettLoader 1.41 GL is a replacement for Darkloader which plays SS2, Doom 3 & Thief 3 FMs as well. With support for Half Life 1 and 2 and a lot more games as well.

GL's FM Scores System

Link to comment
Share on other sites

Will GarrettLoader display the readme for FMs and if so, what formats does it support?

It does, several formats, txt file format (GL takes a txt file named the same as the zip as the key fm readme, or a readme.txt). However it also supports rtf and GLML (GarrettLoader Markup Language files), GLML and TXT files can be created in GLs Fan Mission Development Tools menu. However TXT files can be set up in a similar way to the way Thief Readme's are set up.

The readme should be located in the root of the zip and it shows up something like this (this is with my Opposing Force Skin so the font for the title is a bit over the top, also the scores and community scores get added in).

If you want to go the whole hog with it, GL supports an FM image (replacing the GarrettLoader image bottom left on the screenshot) and custom skin files (in a GLSKIN.ZIP in the main zip, thes can be started off in the Tweaks Tool in GL as well, although you will have to do your own button icons).

However its all down to the FM maker as to what they do though so I would think that not all the FMs released will be set up so that GL can run them, however it should only be a slight tweak to do so.

 

Including the briefing, objectives, and purchase menu?

 

I have got the Briefing and objectives coming up fine, did thiefs den contain a purchase menu as I didn't see one?

Edited by potterr

GL16x16.gifNEW 03/Sept/06 GarrettLoader 1.41 GL is a replacement for Darkloader which plays SS2, Doom 3 & Thief 3 FMs as well. With support for Half Life 1 and 2 and a lot more games as well.

GL's FM Scores System

Link to comment
Share on other sites

I have got the Briefing and objectives coming up fine, did thiefs den contain a purchase menu as I didn't see one?

 

There are a number of things included in our mission launcher which weren't used for Thief's Den--you may find that missions don't work entirely the same way.

 

The biggest issue with missions is making sure that the mission files become the default files--if someone makes an alternate version of a model or texture for their mission, you want to make sure the mission uses their version of the file, not the default TDM version. That's why our built-in loader essentially treats each mission as a separate mod. Just loading the map itself would not be enough.

Link to comment
Share on other sites

The biggest issue with missions is making sure that the mission files become the default files--if someone makes an alternate version of a model or texture for their mission, you want to make sure the mission uses their version of the file, not the default TDM version. That's why our built-in loader essentially treats each mission as a separate mod. Just loading the map itself would not be enough.

 

Would that be why they are in separate folders?

 

also with regards to the shell command GL does, I don't pretend to know exactly how it works as the command is to launch doom 3 with a map name however the map is not in the default base folder. So I'm guessing that the map name (fs_game) refers to a folder path and subsequently the pk4 of the same name below it.

 

Where would the built in loader move the pk4 to by the way?

For info this is the install setup of thiefs den via GL

DOOM 3 ROOT

THEIFS_DEN ROOT

The DevIL.dll has been moved to the root (GL will do that anyway of it finds it in the zip file) and the readme (thiefs_den.txt) has been moved from the thiefs_den/fms/thiefs_den folder (although that could have remained in place and another put in the root as I'm guessing the fms folder is used by the dark mod loader itself?

 

I don't suppose there are any other FMs in production I could test with, doesn't matter if they are not complete?

Edited by potterr

GL16x16.gifNEW 03/Sept/06 GarrettLoader 1.41 GL is a replacement for Darkloader which plays SS2, Doom 3 & Thief 3 FMs as well. With support for Half Life 1 and 2 and a lot more games as well.

GL's FM Scores System

Link to comment
Share on other sites

Would that be why they are in separate folders?

 

also with regards to the shell command GL does, I don't pretend to know exactly how it works as the command is to launch doom 3 with a map name however the map is not in the default base folder. So I'm guessing that the map name (fs_game) refers to a folder path and subsequently the pk4 of the same name below it.

 

Where would the built in loader move the pk4 to by the way?

For info this is the install setup of thiefs den via GL

DOOM 3 ROOT

THEIFS_DEN ROOT

The DevIL.dll has been moved to the root (GL will do that anyway of it finds it in the zip file) and the readme (thiefs_den.txt) has been moved from the thiefs_den/fms/thiefs_den folder (although that could have remained in place and another put in the root as I'm guessing the fms folder is used by the dark mod loader itself?

 

I don't suppose there are any other FMs in production I could test with, doesn't matter if they are not complete?

 

I cannot answer all your questions, just give a few hints:

 

* it would be possible to make a few "empty" demo FMs that you can toy around with

* Thief's Den is not just a FM but a (partial) snapshot of our enitire development tree - including one FM.

 

The effect of this is that a couple of things might be not really setup like they should. For instance, TD deals with only one FM, it doesn't support multiples of them, the "darkmod" folder was actually called "thiefs_den" etc.

 

So basing your code on the layout of TD might not really work because of subtle details. Somebody else probably can answer much better what these are.

 

As for your loader, I do like some of the ideas (giving missions ratings and so on), but there was actually put a lot of effort into the loading screens and menus of TDM and your loader sort of bypasses this completely. It looks a bit like creating double work (for either you _or_ us _or_ both :)

 

Anyway, does GL work on linux?

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

* it would be possible to make a few "empty" demo FMs that you can toy around with

* Thief's Den is not just a FM but a (partial) snapshot of our enitire development tree - including one FM.

 

The effect of this is that a couple of things might be not really setup like they should. For instance, TD deals with only one FM, it doesn't support multiples of them, the "darkmod" folder was actually called "thiefs_den" etc.

I thought that may be the case really I figured that the Darkmod would be a separate install, although didn't know the setup of it.

 

So basing your code on the layout of TD might not really work because of subtle details. Somebody else probably can answer much better what these are.

Thats ok, I only made a slight tweak to the code due to the paths setup in the TD install. However GL handles DOOM 3 mods and launches them with a slightly different shell launch:

 

c:\program files\doom 3\doom3.EXE +map thiefs_den
(it adds sub folders to the map name if needed).

I may be able to tweak the command to work easily.

 

As for your loader, I do like some of the ideas (giving missions ratings and so on), but there was actually put a lot of effort into the loading screens and menus of TDM and your loader sort of bypasses this completely. It looks a bit like creating double work (for either you _or_ us _or_ both :)

 

Anyway, does GL work on linux?

GL has been around now for about 3 years, the community scores (uploaded by GL users) is located here. I havent done much work on it for the last year due to personal commitments although I noticed the release of thiefs den and figured I would see if it installed ok (GL has handled Doom 3 FMs for a couple of years now, and also various other Games like Half Life 1 and 2, plus of course the core games of Thief 1 to 3 and System Shock 2).

 

I don't mean to step on anyones toes with the loading of FMs and if you want to use the community scores system in the Dark Mod I'll let you know the details of it.

 

Also I haven't tried it on linux yet but it requires a few DLLs that may not be in linux. I do have MS virtual machine so I will set up a linux install and see if that works (although I don't think Virtual Machine supports the host Graphics card so it may not run the games).

Edited by potterr

GL16x16.gifNEW 03/Sept/06 GarrettLoader 1.41 GL is a replacement for Darkloader which plays SS2, Doom 3 & Thief 3 FMs as well. With support for Half Life 1 and 2 and a lot more games as well.

GL's FM Scores System

Link to comment
Share on other sites

Even simpler, with joebarnin's latest changes the files don't even need to be extracted anymore. :)

 

The loader just copies the right PK4 in the correct place and automatically restarts D3 (you can't avoid restarting D3, though).

Actually, it's even simpler than that :) . No files are copied at all -- the loader just restarts D3 with a command line that specifies where the mod files are. The full details are here, but the key is the use of the "fs_game_base" and "fs_game" command line options.

Link to comment
Share on other sites

The biggest issue with missions is making sure that the mission files become the default files--if someone makes an alternate version of a model or texture for their mission, you want to make sure the mission uses their version of the file, not the default TDM version. That's why our built-in loader essentially treats each mission as a separate mod. Just loading the map itself would not be enough.
Would that be why they are in separate folders?

Basically, yes.

 

Where would the built in loader move the pk4 to by the way?
It doesn't move the pk4s, it just points to them. Each mod needs to be in a subdirectory of the D3 directory.

 

I don't suppose there are any other FMs in production I could test with, doesn't matter if they are not complete?
There are some test FMs in SVN but I don't know if you have access. You don't really need a pk4 -- the files can be separate, in pk4s, or a combination. See the link in my previous note for the details, but all you need is a startingMap.txt, a darkmod.txt, and the map files, all in a folder under the D3 main directory. The loader does the rest.
Link to comment
Share on other sites

potterr doesn't have access to SVN, joe. He's not a team member and this is the public forum. :)

 

For the benefit of non-team-members, here's the relevant excerpt from the linked post:

 

I have restructured the FM loading code to use the technique suggested by Gildoran. This involves using the "fs_game_base" and "fs_game" variables to specify the location of the darkmod and FM folder, respectively. This change provides several benefits. The FM loading code is much simpler; it doesn't have to copy files around, and keep track of which files were copied. Instead, it just points doom to the appropriate FM directory. This eliminates a bunch of fairly ugly code from the FM install/loading classes. Also, savegames are automatically dealt with - they are stored in the \savegames folder in each FM's folder.

 

Here's how it works: Each FM needs to be installed in the root directory (i.e., the same level as the "darkmod" directory). This is a requirement -- doom can't handle mods unless they are in this directory. In each FM directory there must be two files: darkmod.txt (which contains the Title and Description of the mod) and startingMap.txt (the name of the first map to run for this mission). This directory should also contain all of the mission files; these files can be zipped up in a pk4, or exploded straight into the directory, or a combination of the two. The only requirement is that darkmod.txt and startingMap.txt have to NOT be in a pk4. Example:

 

\doom3\mymission\

\doom3\mymission\darkmod.txt

\doom3\mymission\startingMap.txt

\doom3\mymission\myTextures.pk4

\doom3\mymission\maps\

\doom3\mymission\maps\mymission.map

 

So we can deliver FMs as a zip file and just say "unzip into your doom3 directory". That's all users have to do. Then when they run DM and select New Mission, the list of these FMs will appear. Chosing one from the list and selecting Install Mission will restart DM pointing to the new mod.

 

Essentially, The Dark Mod is being treated as an "expansion pack" (like Doom 3: Resurrection of Evil) (fs_game_base cvar), and the FM is then a mod of the "expansion pack" (fs_game cvar):

 

"C:\Program Files\Doom 3\Doom3.exe" +set fs_game_base darkmod +set fs_game my_awesome_fan_mission

 

There must be a corresponding directory called my_awesome_fan_mission in "C:\Program Files\Doom 3\", which contains darkmod.txt (which contains an FM title and short description, for display in the loading GUI; note this is not a substitute for a readme), startingMap.txt (which tells TDM which map will be started when the user clicks "start mission" - or whatever that GUI menu item is called, I forget), and all FM-specific data files (maps, textures, sounds, decls, whatever; any of these may or may not be in PK4s).

 

darkmod.txt is read by TDM's existing FM-loading GUI and has this format:

 

Title: Rain test

Description:A very long description of a mission, that includes several sentences. Well, maybe just two. Okay three, and maybe a fourth.

 

(The example above is for a rainy test map.)

 

Hope I got all that right, joe!

 

As you can hopefully see, this is a lot cleaner than Thief FMs; essentially it's really Doom 3 that's handling all the tricky bits like savefile management and making files override each other without clobbering things. Thus GarrettLoader's capabilities are slightly overkill for this task, though of course you're welcome to implement support if you like. :)

My games | Public Service Announcement: TDM is not set in the Thief universe. The city in which it takes place is not the City from Thief. The player character is not called Garrett. Any person who contradicts these facts will be subjected to disapproving stares.
Link to comment
Share on other sites

Also, GL might be the better opportunity for people who don't want their Doom3-root cramped with folders over folders, which I personally don't care too much about.

 

So one feature I'd like to see in the Darkmod's missionloader is that the links to TDM (Desktop and Startmenu) are setup accordingly after you installed a FM, so that you don't need to restart Doom 3 every single time you start playing. This could be realized by a simple batch-file on which the desktop- and startmenulinks "point", which would be edited every time you install a FM within the darkmod-menus.

 

The good thing about your missionloader is that there will be no more "missing textures". In Quake 3 it happens very often that a mapper forgets to put some custom textures into his pk3, which he cannot control without a clean install of quake 3, because you just put all pk3 into the root- or the mod's folder. With your method, treating every FM like a single mod, not changing anything on the base TDM folder, every mapper can easily check for texture errors and include the missing textures.

Link to comment
Share on other sites

So one feature I'd like to see in the Darkmod's missionloader is that the links to TDM (Desktop and Startmenu) are setup accordingly after you installed a FM, so that you don't need to restart Doom 3 every single time you start playing.

 

Doom 3 only has to restart when you switch FM missions in the loader menu, not every time you play the same mission. If you're simply continuing a mission that you is already loaded, only one start is necessary.

Link to comment
Share on other sites

potterr doesn't have access to SVN, joe. He's not a team member and this is the public forum. :)

Doh! I forgot about the forum access limitations! I thought I was being so clever (i.e., lazy) to simply reference my previous note. Thank you so much Crispy for summarizing this.

 

Doom 3 only has to restart when you switch FM missions in the loader menu, not every time you play the same mission. If you're simply continuing a mission that you is already loaded, only one start is necessary.

This is correct, as long as you run tdmlauncher.exe, which is found in the \Doom3\darkmod directory. tdmlauncher starts doom3 with all the right command line args to enable this. So presumably we will need to create a desktop icon pointing to the tdmlauncher executable as part of the TDM install process.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 6 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
    • Petike the Taffer

      Maybe a bit of advice ? In the FM series I'm preparing, the two main characters have the given names Toby and Agnes (it's the protagonist and deuteragonist, respectively), I've been toying with the idea of giving them family names as well, since many of the FM series have named protagonists who have surnames. Toby's from a family who were usually farriers, though he eventually wound up working as a cobbler (this serves as a daylight "front" for his night time thieving). Would it make sense if the man's popularly accepted family name was Farrier ? It's an existing, though less common English surname, and it directly refers to the profession practiced by his relatives. Your suggestions ?
      · 9 replies
    • nbohr1more

      Looks like the "Reverse April Fools" releases were too well hidden. Darkfate still hasn't acknowledge all the new releases. Did you play any of the new April Fools missions?
      · 5 replies
×
×
  • Create New...