Jump to content
The Dark Mod Forums

Epi's Many Questions Thread


Epifire

Recommended Posts

So I can't seem to locate what's been added feature wise (or when) for an exact list so I thought I'd just ask. I heard we'd be seeing support for a common video format to be added into TDM with one of the updates. I'm assuming this video could be ran in a shader format to display on a screen of sorts? There'd be a lot of fantastic uses for that and would be much easier than the severely outdated ROQ method. Also it's worth asking if embedded video audio be played directly in sequence?

  • Like 1

Modeler galore & co-authors literally everything

 

 

Link to comment
Share on other sites

  • 2 months later...

Got another one for you fellas! So I was wondering real quicky, what resources do we have describing custom loading UI and menu header options? Specifically right now I'm tackling the custom FM loading screen (and loading icon). If MTR functions can be loaded in just like in-game this should be a cinch. I just wanted to have the title banner on a non-moving material with a circular element rotating infinitely around it. It's pretty simple in concept so I was wondering if someone might be able to steer me in the right direction? :D

Modeler galore & co-authors literally everything

 

 

Link to comment
Share on other sites

What you can do during a loading screen is somewhat limited to what you can do in GUIs. There are translation and rotation functions, but you can't make them move consistently, iirc. Everything animated in loading screens that I've made has been tied to the loading progress.

Link to comment
Share on other sites

Alright this may be a bit hacky to presume but it would appear by reading this you could set motions to react to a constant value right?

 

http://wiki.thedarkmod.com/index.php?title=Loading_Screen_Text

 

If I'm reading that right you'd just be telling the loading circle to spin endlessly, unless I'm assuming incorrectly as to how a GUI material is directed? A lot of assumptions on my end as I've never done any kind of GUI work before. Do these correspond somewhere to an MTR (or comparably close decl) that just calls a material? Once I get down to business, I wanna start just dinking around with this till I have a basic understanding of what it should be doing. That makes me wonder how the TDM main menu elements are handled, cause those seem to loop endlessly as well.

Modeler galore & co-authors literally everything

 

 

Link to comment
Share on other sites

https://www.iddevnet.com/doom3/guis.php

 

 

What you can do during a loading screen is somewhat limited to what you can do in GUIs. There are translation and rotation functions, but you can't make them move consistently, iirc. Everything animated in loading screens that I've made has been tied to the loading progress.

Not completely true. There is a time command similar to how it is available to materials, that uses the game time. Our loading screens normally only refer to the loading progress as this is what the level loading meter should represent. The above link provides examples. You can also use materials in guis (see the security camera/peeking through keyholes described in my mapping thread for example) which themselves can refer to arb shaders. And you can have render views (think of hte compass).

 

So in the end you are pretty free to do whatever you want. Although there might be some limitations that I am not aware of due to the loading screen beeing a menu gui.

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

Alright so I made a working rotating logo portion but it freezes a lot with the actual loading happening with the map...

E5orG7Y.png

 

 

 

It's being ran from this MTR...

loading_gear_logo
{
	{
                blend    	diffusemap
                map      	guis/assets/BRTC_loading_gear_alpha
		alphatest 	.75
                rotate   	time * .04
		alphazeroclamp
	}
	{
		blend		add
		map			guis/assets/BRTC_loading_gear_alpha
		rgb			1
		rotate   	time * .04
		zeroclamp
	}
	{
		blend		add
		map			guis/assets/BRTC_loading_logo
		rgb			1
		centerScale		1.55,1.55
		zeroclamp
	}
}

The GUI is pretty simple, looking like this...

windowDef Desktop
{
	rect	0,0,640,480

		windowDef TitlePicture
	{
		rect	0,0,640,480
		visible	1
		background	"guis/assets/mission_start.tga"
	}

		windowDef LoadingGear
	{
		rect	10,350,640,480
		visible	1
		matscalex	5
		matscaley 	5
		background	"loading_gear_logo"
	}

}

The rotate line in the GUI listings page appears to be a static (one time) operation when the script is ran. However if I could just tell the same logo to set different rotational positions on a timed set of intervals I might get more reliable rotations. I'm not sure if there's much that can be done here as it may just have to do with how 2.05 isn't optimized for multi-core performance boost. Not entirely unheard of for the loading ring in a game to lag/stutter (as there are a ton of AAA games that do) but I'd like to think there's a smoother option out there.

Modeler galore & co-authors literally everything

 

 

Link to comment
Share on other sites

You can rotate the gear directly inside the gui without the need of an additional material. Maybe that approach would work better.

 

Is the first block actually doing something? blend diffusemap doesn't make much sense imho in a gui as there is no light the material could interact with.

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

Alright so I made a working rotating logo portion but it freezes a lot with the actual loading happening with the map...

 

 

Yes, that's what I found with any animated function.

Link to comment
Share on other sites

You can rotate the gear directly inside the gui without the need of an additional material. Maybe that approach would work better.

 

Is the first block actually doing something? blend diffusemap doesn't make much sense imho in a gui as there is no light the material could interact with.

 

 

Diffuse was driving the transparency (outside of the gear) and that provides a cutout for the rest of the material. Strange part is sometimes it's working great (real smooth rotation) and other times it's herky jerky.

 

What I'd like to try is just create a set of manual rotation coords (in the map gui) on a set time that loops back to the beginning of the frames to keep spinning the gear (or give the illusion thereof). I'm looking at the menu background figure set from mainmenu_background.gui and am wondering if I could do something kinda like that. Just set it to swap maybe four rotation angles? By the time you pass cog positions, it can just reset to the start since the gear is symmetrical. If there was an, "always-rotate" option like what the MTR rotate does that'd be cool but I wasn't having that kinda luck when I tried it. Might have been needing different input data than I was feeding it though.

 

Gonna see if this gui is gonna use the alpha channel for this gear, else we might have another problem.

 

EDIT:

 

Alright now for anyone who actually knows a thing or two about GUI this'll look dumb but you can get an idea of what I'm trying to do. This reference indeed will not work and what I'm finding is I might need to instance two separate MTR definitions for the two portions of the logo. The GUI doesn't want to handle the transparency and it's destroying the bounding, so I'd rather just feed it the already working MTR def and rotate that.

windowDef LoadingGear
    {
        rect    10,350,640,640
        visible     1
        matscalex   5
        matscaley   5
        background    "guis\assets\BRTC_loading_gear_alpha"

        {
            rotate 0 ;
        }

        {
            rotate -13.9 ;
        }

        {
            rotate -28.7 ;
            resetTime 0;
        }
    }

Modeler galore & co-authors literally everything

 

 

Link to comment
Share on other sites

  • 4 months later...

Here's an odd one. It's technically art related because I'm trying to figure out how to work around a models issue in the performance cull.

 

The problem is a visleaf containing a model with the bounding bigger (or poking out) of the region, will render even if no portion of the model is protruding from the visleaf. Is there a way to easily flag said model entity, to manually attach it's performance cull to something like a visportal? This compact upper room I've got in my map has a triangular shaped roof and internal meshes are shaped to fit that roofing framework. Again, that problem with the bounding is that it's squared which will penetrate to the exterior.

 

What would be magnificent is a, "seeing" entity if you will. Where it just defines it's own region and when that area is closed off (via visportals/doors) and you'd just target models you'd want to shut off with that visleaf. I can't tell you just how many more details I could pack into a map if this were a thing. It would have to be properly implemented so that no obvious popping would occur but this is a must for maps that have a lot of inside/outside sections that are tightly gated.

Modeler galore & co-authors literally everything

 

 

Link to comment
Share on other sites

Here's an odd one. It's technically art related because I'm trying to figure out how to work around a models issue in the performance cull.

 

The problem is a visleaf containing a model with the bounding bigger (or poking out) of the region, will render even if no portion of the model is protruding from the visleaf. Is there a way to easily flag said model entity, to manually attach it's performance cull to something like a visportal? This compact upper room I've got in my map has a triangular shaped roof and internal meshes are shaped to fit that roofing framework. Again, that problem with the bounding is that it's squared which will penetrate to the exterior.

 

What would be magnificent is a, "seeing" entity if you will. Where it just defines it's own region and when that area is closed off (via visportals/doors) and you'd just target models you'd want to shut off with that visleaf. I can't tell you just how many more details I could pack into a map if this were a thing. It would have to be properly implemented so that no obvious popping would occur but this is a must for maps that have a lot of inside/outside sections that are tightly gated.

Can you move the visportal further out so it does not intersect anything?

Link to comment
Share on other sites

If I understand this correctly, this should be your solution: http://wiki.thedarkmod.com/index.php?title=Visportals#Visportal_switches:_func_portals

 

Or, I'd just use hide 1 on a mesh along with proper trigger_multiples.

 

Yes that is exactly what I was looking for! ;)

 

 

Can you move the visportal further out so it does not intersect anything?

 

 

The problem if I do that in my case is that it will cull out the exterior details. My scenario gets introduced when working in tightly compact map designs with non-squared building techniques. Basically the invisible caulk wall that resides between mesh based walls creates problems (lighting, player collision or culling) if I move it one way or the other.

Modeler galore & co-authors literally everything

 

 

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