Jump to content
The Dark Mod Forums
Sign in to follow this  
Epifire

Epi's Many Questions Thread

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

You need a model? Epi does you a model.



Toss me a PM I promise I don't bite.



Share this post


Link to post
Share on other sites

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


You need a model? Epi does you a model.



Toss me a PM I promise I don't bite.



Share this post


Link to post
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.

Share this post


Link to post
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.


You need a model? Epi does you a model.



Toss me a PM I promise I don't bite.



Share this post


Link to post
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

WIP's: Several. Although after playing Thief 4 I really wanna make a city mission.

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Share this post


Link to post
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.


You need a model? Epi does you a model.



Toss me a PM I promise I don't bite.



Share this post


Link to post
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

WIP's: Several. Although after playing Thief 4 I really wanna make a city mission.

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Share this post


Link to post
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.

Share this post


Link to post
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;
        }
    }

You need a model? Epi does you a model.



Toss me a PM I promise I don't bite.



Share this post


Link to post
Share on other sites

If have turn fps meter on during loading, you'll see that the framerate can go down to 5, 1, or even 0 fps, even with simple WIP maps. If the gui animation is tied to framerate, then that's it, but as you mentioned, other games have that too.

Share this post


Link to post
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.


You need a model? Epi does you a model.



Toss me a PM I promise I don't bite.



Share this post


Link to post
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.

Share this post


Link to post
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?

Share this post


Link to post
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.


You need a model? Epi does you a model.



Toss me a PM I promise I don't bite.



Share this post


Link to post
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.

Sign in to follow this  

×
×
  • Create New...