Disable only the "Entering Level" screen?

Discuss anything ZDoom-related that doesn't fall into one of the other categories.
Post Reply
User avatar
Laskow
Posts: 82
Joined: Tue Feb 16, 2021 7:35 am
Preferred Pronouns: He/Him
Contact:

Disable only the "Entering Level" screen?

Post by Laskow »

Hi.
I want to show the "Level Finished" screen and skip the "Entering Level" screen automatically. It's able to skip the intermission screen from MAPINFO lump but cannot skip only the "Entering Level" screen.

Is there a way to disable only the "Entering Level" screen?

I've searched about it on Google, the wiki and this forum but I couldn't find out. I'm sorry if someone has already posted about it.
Last edited by Laskow on Wed Mar 10, 2021 6:34 am, edited 1 time in total.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Disable only the "Entering Level" screen?

Post by Graf Zahl »

You'd have to replace the intermission class with a custom one. The internal implementation cannot do it.
User avatar
Laskow
Posts: 82
Joined: Tue Feb 16, 2021 7:35 am
Preferred Pronouns: He/Him
Contact:

Re: Disable only the "Entering Level" screen?

Post by Laskow »

I tried things out and finally found a way to stop showing that screen. I say in advance that probably I should not use this method.

Code: Select all

	protected virtual void initShowNextLoc ()
	{
		//if (wbs.next == "") 
		//{
			// Last map in episode - there is no next location!

			End();
			Level.WorldDone();
			return;
		//}

		CurState = ShowNextLoc;
		acceleratestage = 0;
    	cnt = SHOWNEXTLOCDELAY * Thinker.TICRATE;
		noautostartmap = bg.LoadBackground(true);
	}
Delete Line 629, 630 and 635 from statscreen.zs in gzdoom.pk3. Then the "Entering Level" screen ends immediately. (It's still displayed for an instant though.)
I also tried to delete "initShowNextLoc();" from "statscreen_sp.zs, but I absolutely don't recommend to do it because cannot end the intermission screen and move to the next map.

And I've been facing problems needs Zscript a few times so I think this is a good time to start to learn it. (Even if I don't have to solve with Zscript in this situation.)


Thank you, Graf!
User avatar
ramon.dexter
Posts: 1519
Joined: Tue Oct 20, 2015 12:50 pm
Graphics Processor: nVidia with Vulkan support
Location: Kozolupy, Bohemia

Re: Disable only the "Entering Level" screen?

Post by ramon.dexter »

Deleting ANYTHING in gzdoom.pk3 is just incorrect way of doing anything. You have to redefine and replace the class in your zscript.
User avatar
Laskow
Posts: 82
Joined: Tue Feb 16, 2021 7:35 am
Preferred Pronouns: He/Him
Contact:

Re: Disable only the "Entering Level" screen?

Post by Laskow »

ramon.dexter wrote:Deleting ANYTHING in gzdoom.pk3 is just incorrect way of doing anything. You have to redefine and replace the class in your zscript.
I'll keep it in my mind. :oops: Thank you!

I've already made the custom status screen for single player mode so it was easy to add this. I want to ask myself why I couldn't notice it...
Spoiler:
Set StatScreen_Single = "MyStatusScreen" in the gameinfo definition then it works without problems for now. I hope this is the right way.
User avatar
Player701
 
 
Posts: 1636
Joined: Wed May 13, 2009 3:15 am
Graphics Processor: nVidia with Vulkan support
Contact:

Re: Disable only the "Entering Level" screen?

Post by Player701 »

Laskow wrote:

Code: Select all

//This is
override void initShowNextLoc ()
{
     End();
     Level.WorldDone();
     return;

  CurState = ShowNextLoc;
  acceleratestage = 0;
   cnt = SHOWNEXTLOCDELAY * Thinker.TICRATE;
  noautostartmap = bg.LoadBackground(true);
}
Note that the part after return, along with the return statement itself, can now be removed because that code is not reachable anymore.
Post Reply

Return to “General”