Re: (wip) Ashes 2063 TC - THREAD EVACUATION

For Total Conversions and projects that don't otherwise fall under the other categories.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
User avatar
Enjay
 
 
Posts: 26537
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: (RELEASE) Ashes 2063 TC - Episode One

Post by Enjay »

Just had a quick look at one of the "problem" definitions.

Code: Select all

Texture "HOUS11", 64, 128
{
	Patch "HOUS11", 0, 0
}
As far as I can tell, across the two files this is the only definition for HOUS11. As far as I know, it is OK to have a patch use the same name as the texture it's in. It certainly worked OK with the old style TEXTURE1 format of lumps. In fact, as you said, it seems to be working in your game too. So I'm not really sure why this is flagging up like this. Perhaps it's just coonsidered bad practice because GZDoom has to decide whether the patch or the texture definition is required on the wall/floor. However, I thought GZDoom had a priority list for deciding texture/patch/flat priority so I'm not sure.
Gez
 
 
Posts: 17847
Joined: Fri Jul 06, 2007 3:22 pm

Re: (RELEASE) Ashes 2063 TC - Episode One

Post by Gez »

Does it still complain if you replace "Texture" by "WallTexture" to make it precisely the same as in a TEXTURE1 definition?


Also, if you're not doing any compositing or renaming, you could as well just remove the TEXTURES lump entirely and just put your patches in the TX_ namespace.
User avatar
Enjay
 
 
Posts: 26537
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: (RELEASE) Ashes 2063 TC - Episode One

Post by Enjay »

It does:

Code: Select all

WallTexture "HOUS11", 64, 128
{
	Patch "HOUS11", 0, 0
}

Code: Select all

Resolved self-referencing texture by picking an older entry for HOUS11
I've also just checked one of my old mods. It has a bunch of single patch textures in the TEXTURE1 lump that are named the same as the patch in them (mostly thanks to autogenerating the TEXTURE1 lump with an automated texture manager - but I'd probably have done it that way manually too). GZDoom did not complain about them.

However, I also used the TEXTURES format in the same mod to create END0-6 textures for the bunny scroller. The graphics are called END0 - END6 as are the textures (the reason is that the graphics are twice as big as the default Doom ones so I wanted to scale them down in the textures lump to make them hi-res images). They work perfectly, but GZDoom did complain about them:

Code: Select all

Resolved self-referencing texture by picking an older entry for END0
I'm not really sure why this is getting flagged up and I also don't really understand the error message (what "older entry"?).
User avatar
Vostyok
Posts: 1666
Joined: Sat Jan 17, 2015 8:54 am
Preferred Pronouns: No Preference
Location: Discord: Vostyok#3164

Re: (RELEASE) Ashes 2063 TC - Episode One

Post by Vostyok »

:lol: Guess I'm still a newborn after all.

It's something to avoid for the next one anyway.

Thanks for bringing it up.
Gez
 
 
Posts: 17847
Joined: Fri Jul 06, 2007 3:22 pm

Re: (RELEASE) Ashes 2063 TC - Episode One

Post by Gez »

Here's the source of the developer warning:

Code: Select all

void FMultiPatchTexture::ResolvePatches()
{
	if (Inits != nullptr)
	{
		for (int i = 0; i < NumParts; i++)
		{
			FTextureID texno = TexMan.CheckForTexture(Inits[i].TexName, Inits[i].UseType);
			if (texno == id)	// we found ourselves. Try looking for another one with the same name which is not a multipatch texture itself.
			{
				TArray<FTextureID> list;
				TexMan.ListTextures(Inits[i].TexName, list, true);
				for (int i = list.Size() - 1; i >= 0; i--)
				{
					if (list[i] != id && !TexMan[list[i]]->bMultiPatch)
					{
						texno = list[i];
						break;
					}
				}
				if (texno == id)
				{
					if (Inits[i].HasLine) Inits[i].sc.Message(MSG_WARNING, "Texture '%s' references itself as patch\n", Inits[i].TexName.GetChars());
					else Printf(TEXTCOLOR_YELLOW  "Texture '%s' references itself as patch\n", Inits[i].TexName.GetChars());
					continue;
				}
				else
				{
					// If it could be resolved, just print a developer warning.
					DPrintf(DMSG_WARNING, "Resolved self-referencing texture by picking an older entry for %s\n", Inits[i].TexName.GetChars());
				}
			}

			if (!texno.isValid())
			{
				if (!Inits[i].Silent)
				{
					if (Inits[i].HasLine) Inits[i].sc.Message(MSG_WARNING, "Unknown patch '%s' in texture '%s'\n", Inits[i].TexName.GetChars(), Name.GetChars());
					else Printf(TEXTCOLOR_YELLOW  "Unknown patch '%s' in texture '%s'\n", Inits[i].TexName.GetChars(), Name.GetChars());
				}
			}
So "older entry" would have to be understood as "entry loaded earlier" I think.
User avatar
Enjay
 
 
Posts: 26537
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: (RELEASE) Ashes 2063 TC - Episode One (Pg 54)

Post by Enjay »

Interesting. Given that the definitions work as expected, the "older entry"/"entry loaded earlier" must be the texture definition in the TEXTURES lump and the subsequent entry is, what, the actual graphic lump? the patch name in the texture definition?
User avatar
Vostyok
Posts: 1666
Joined: Sat Jan 17, 2015 8:54 am
Preferred Pronouns: No Preference
Location: Discord: Vostyok#3164

Re: (RELEASE) Ashes 2063 TC - Episode One (Pg 54)

Post by Vostyok »

Might be a holdover from the old textures I was using. This thing went through XWE after all. I know, bad times.

I tried "delete unused textures" and wad maintenance but they don't seem to do anything.
User avatar
Zan
Posts: 338
Joined: Sat Oct 22, 2016 12:43 pm
Location: The depths of Hedon.

Re: (RELEASE) Ashes 2063 TC - Episode One (Pg 54)

Post by Zan »

I'm at the fourth mission right now. This is an absolute 10/10 game, easily among one of my favorite FPS games now. Have nothing to critique, it's just amazing, especially the level design.

The only issue I've encountered so far is a typo in Mooses' dialogue. He says "too" instead of "to", but I forgot the full reply this was in.
User avatar
Enjay
 
 
Posts: 26537
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: (RELEASE) Ashes 2063 TC - Episode One (Pg 54)

Post by Enjay »

This one?

Code: Select all

	  page //5
	{
		name = "Moose";
		dialog = "Been to the city a few times. Walked south-a-ways, and north too for a few miles, but didn't find anywhere worth going back too. Decided to settle here, when I got old. ";
but didn't find anywhere worth going back too.

should be

but didn't find anywhere worth going back to.
User avatar
Enjay
 
 
Posts: 26537
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: (RELEASE) Ashes 2063 TC - Episode One (Pg 54)

Post by Enjay »

Vostyok wrote:Might be a holdover from the old textures I was using. This thing went through XWE after all. I know, bad times.
I don't think that's it. There isn't anything particularly unusual about defining a texture with the same name as the patch within it (and that's basically what we are talking about here).

However, GZDoom is giving a warning about it when a texture is defined like that in the TEXTURES lump. Whether it's an actual problem or just a fussy warning, I'm not sure. Given that it isn't a problem in the older TEXTURE1 format, it's either that warnings are tighter for the TEXTURES format or there is a potential problem somewhere.

[edit]
Asked about it here: viewtopic.php?f=2&t=62103 rather than continuing in this project thread.
[/edit]
User avatar
Dr_Cosmobyte
Posts: 2775
Joined: Thu Jun 04, 2015 9:07 pm
Location: Killing spiders.

Re: (RELEASE) Ashes 2063 TC - Episode One (Pg 54)

Post by Dr_Cosmobyte »

Just wanted to know, is that portable medikit made from the Dino Crisis sprites i've posted?

Not complaining or anything! Just wondering. You have carte blanche to edit everything i post :D

Also, started recently, i am on Mission 3 as i talk. wasn't expecting the boss at stage 2. DAMN, this game is GOOD!

EDIT: PLISSKEN!!!
Gez
 
 
Posts: 17847
Joined: Fri Jul 06, 2007 3:22 pm

Re: (RELEASE) Ashes 2063 TC - Episode One (Pg 54)

Post by Gez »

Enjay wrote:Interesting. Given that the definitions work as expected, the "older entry"/"entry loaded earlier" must be the texture definition in the TEXTURES lump and the subsequent entry is, what, the actual graphic lump? the patch name in the texture definition?
Other way around. The patch is the older entry. It says it has a texture FOOBAR that is defined as being made up of FOOBAR, which is a self-reference, but it found another FOOBAR further back that it can use to resolve the situation. And well, that resolution happens to be exactly what the modder wanted it to do so the warnings are extra fussy.

However, it's true that this makes the entire TEXTURES definition superfluous, as the patches could be directly used as textures instead.
User avatar
Vostyok
Posts: 1666
Joined: Sat Jan 17, 2015 8:54 am
Preferred Pronouns: No Preference
Location: Discord: Vostyok#3164

Re: (RELEASE) Ashes 2063 TC - Episode One (Pg 54)

Post by Vostyok »

@ gaa1992 Yes it was! Sorry forgot to credit that. Was playing around with some new medikit sprites and ending up dumping that one in the pk3. Haha sorry will add that on list.

You personally have an Easter egg or two to find later, buddy. Perhaps that can be payment? :P

@gez. You'll have to show me where I can read about that method. Might avoid any issues next time.
User avatar
Enjay
 
 
Posts: 26537
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: (RELEASE) Ashes 2063 TC - Episode One (Pg 54)

Post by Enjay »

Gez wrote:Other way around. The patch is the older entry. It says it has a texture FOOBAR that is defined as being made up of FOOBAR, which is a self-reference, but it found another FOOBAR further back that it can use to resolve the situation. And well, that resolution happens to be exactly what the modder wanted it to do so the warnings are extra fussy.
But in my case, I had:

Code: Select all

graphic END0, 230, 106
{
   XScale 2.0
   YScale 2.0
   Patch END0, 0, 0
   Offset 12, 0
}
The texture was scaled and offset and the image appears on screen in the desired place at the desired resolution (i.e. as defined in the texture). So it must be the texture that is being used. If it was just showing the patch, it would be too big and not offset properly either.

[edit] From the thread I linked above, Graf replied:
Graf Zahl wrote:This means that you essentially have a texture definition error and no patch with the given name could be found. In that case the last defined texture of any type will be picked, which in this case is the one you were defining.
User avatar
Dr_Cosmobyte
Posts: 2775
Joined: Thu Jun 04, 2015 9:07 pm
Location: Killing spiders.

Re: (RELEASE) Ashes 2063 TC - Episode One (Pg 54)

Post by Dr_Cosmobyte »

Vostyok wrote:You personally have an Easter egg or two to find later, buddy. Perhaps that can be payment? :P
OOOHHH GOD, let's talk to EVERYBODY!

This is more than real money, man! I will search it now! :D

Return to “TCs, Full Games, and Other Projects”