MapChecker

Tutorials and discussions about Mapping - Introduce your own ones!
User avatar
sektor2111
Godlike
Posts: 5810
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: MapChecker

Post by sektor2111 » Sat Apr 09, 2022 11:36 am

Got it...
I edited previous post for explaining what did I mean with keeping intact assets from client, in hoping that LiftCenters won't get "fixed" as Teleporters which are not a subject for being fixed - neither adding useless events as in map 512k-CostaDelW00t - there I even removed some useless executions from clients...
And I think VisibleTeleporter is a borked class like those projectiles which are doing a mess On-Line... A Teleporter recreated in client might not match original Place/Location affecting client calculations concerning "Touch" and then Server might call a Touch, but client is not sure about that, and the reversal too.

User avatar
sektor2111
Godlike
Posts: 5810
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: MapChecker

Post by sektor2111 » Mon Apr 18, 2022 6:33 pm

Bump: Let me show you a small little tiny proof in how is getting client screwed up - and perhaps this is not the only way causing buggers in poor clients...

Adding a child class of VisibleTeleporter without adjusting any property but... adding logs:

Code: Select all

class RepVisibleTeleporter expands VisibleTeleporter;

Simulated function PostBeginPlay()
{
	Super.PostBeginPlay();
	Log("Role"@ROLE@"RemoteRole"@RemoteRole$".",Name);
	LogPaths();
}

simulated function LogPaths()
{
	local int i;

	for ( i = 0; i < 16; i++ )
	{
		log("Paths"$i$"="$Paths[i],Name);
		log("upStreamPaths"$i$"="$upStreamPaths[i],Name);
		log("PrunedPaths"$i$"="$PrunedPaths[i],Name);
	}
}
This is in server.log:

Code: Select all

XServerQuery: Port 7778 successfully bound.
RepVisibleTeleporter0: Role 4 RemoteRole 2.
RepVisibleTeleporter0: Paths0=5
RepVisibleTeleporter0: upStreamPaths0=4
RepVisibleTeleporter0: PrunedPaths0=-1
RepVisibleTeleporter0: Paths1=-1
RepVisibleTeleporter0: upStreamPaths1=-1
RepVisibleTeleporter0: PrunedPaths1=-1
....
And this is in client's log aka UnrealTournament.log:

Code: Select all

Log: Possessed PlayerPawn: TFemale1 DM-A_PathTest.TFemale2
LevelNotifier: Client Info >> Level Title >> DM-A_PathTest
LevelNotifier: Getting map-file: DM-A_PathTest
RepVisibleTeleporter1: Role 2 RemoteRole 4.
RepVisibleTeleporter1: Paths0=-1
RepVisibleTeleporter1: upStreamPaths0=-1
RepVisibleTeleporter1: PrunedPaths0=-1
RepVisibleTeleporter1: Paths1=-1
RepVisibleTeleporter1: upStreamPaths1=-1
RepVisibleTeleporter1: PrunedPaths1=-1
Q.E.D. - client has a new Teleporter having nothing to do with paths and navigation chain - good luck with these "dynamics" which should have at least bNoDelete if they are not bStatic and supposed to use some animations...

By any matter if you don't believe On-Line story, then check it yourself...
DM-A_PathTest.7z
Perhaps it would be nice to find out more data, such as Locations, Rotations, etc. but me one I'm not curious at all - DynamicWater was already showing me some cute things concerning alignment stage from client. To not forget fixes for spawning "statics" concerning client in newer 469. Are these COPIES placed in the same place as original ones ?

Edit: In map CTF-XV-BL00DBATH-V6-0.unr there are PathNodes reported as being placed too low. To be honest, they are placed EXACTLY how I want them when I do FUNCTIONAL paths in my edits... but we don't have reports concerning broken routes unusable... and we have such things...

Code: Select all

ScriptLog: JumpSpot0 need move up on 3.500000
ScriptLog: JumpSpot1 need move up on 3.500000
And then ? Moving them won't have any single purpose.

Code: Select all

WrongPoint: JumpSpot0 doesn't have a private LiftTag string defined, which is pretty wrong.
BorkedStrings: This might not have connections or... it can be connected through walls with Exits if they exist.
WrongPoint: JumpSpot1 doesn't have a private LiftTag string defined, which is pretty wrong.
....
NoIncomingPath: PathNode26 is not having incoming connections.
NoIncomingPath: PathNode27 is not having incoming connections.
UtterlyUseless: JumpSpot0 is not having any path defined.
UtterlyUseless: JumpSpot1 is not having any path defined.
... //etc
By example PathNode890

Code: Select all

ScriptLog: PathNode890 need move up on 6.336792
doesn't need anything. This is not a MonsterHunt map and even if it would be a MonsterHunt map, a monster has no problems there (except titans and all those having always issues with 70 × 70). Nodes from ramps are even in stock documents recommended to be adjusted for helping Pawn to reach at them correctly...
S.Polge wrote: Bots will have problems if the NavigationPoints are too high off the ground. Make sure that the NavigationPoint is no more than 1.5x the bot's collisionheight off the ground. This will normally be the case automatically, but in a few situations (such as very steep ramps), the level designer may need to manually adjust the Z position of the NavigationPoint.
You do not have the required permissions to view the files attached to this post.

User avatar
Neon_Knight
Adept
Posts: 280
Joined: Wed Apr 27, 2011 1:31 pm
Location: Junín (BA - Argentina)

Re: MapChecker

Post by Neon_Knight » Mon May 09, 2022 3:07 pm

Don't know if I replied to this one, but this is indeed a very useful tool. Thank you!
OldUnreal U1v227/UTv469 Localization Project coordinator/spanish language maintainer - Unreal Wiki
"Practice good sportsmanship. You were a n00b once, too." - UT3 Loading Screen
"Level Designers are 1 part architect, 1 part artist, 1 part game designer, and 1 part beta tester!" - Cliff Bleszinski
"The ratio of critics to creators is something like 10,000:1. The ratio of good critics to bad: 1:10,000 (where 'good' means 'helps advancing the art')." - Fast Eddie, TVTropes
"The projects that never start are the projects with the "idea man" as the leader." - Brandon "GreenMarine" Reinhart

ProTip 1: anybody using the phrase "I'm a True Fan and You're Not!" is an obnoxious, self-centered, egotistical, elitist, narcissist douchebag.
ProTip 2: anybody who uses the "Royal We" when making a demand wants to pass their own opinion as everyone else's.

Buggie
Godlike
Posts: 1313
Joined: Sat Mar 21, 2020 5:32 am

Re: MapChecker

Post by Buggie » Sat May 14, 2022 7:27 am

Added more checks:

Code: Select all

	checkFortStandardMHFallBackFort();
fix checkAttachTag
Updated in first post: viewtopic.php?f=5&t=14809
Last edited by Buggie on Mon May 16, 2022 11:52 am, edited 1 time in total.

Buggie
Godlike
Posts: 1313
Joined: Sat Mar 21, 2020 5:32 am

Re: MapChecker

Post by Buggie » Mon May 16, 2022 11:52 am

Fix few checks.

Updated in first post: viewtopic.php?f=5&t=14809