Unreal Tournament 469

Discussions about UT99
User avatar
Feralidragon
Godlike
Posts: 5268
Joined: Wed Feb 27, 2008 6:24 pm
Personal rank: Work In Progress
Location: Liandri

Re: Unreal Tournament 469

Post by Feralidragon » Sun Sep 27, 2020 7:27 pm

At this point it would just be best to close this thread with a link towards the new one, and moderate only that one to ensure that reports and such are really done at the proper location.

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

Re: Unreal Tournament 469

Post by sektor2111 » Mon Sep 28, 2020 4:40 pm

During this time I'll show you something for lecturing:

Code: Select all

	if( ParseCommand(&Str,TEXT("LEVEL")) )
	{
		if( ParseCommand(&Str,TEXT("REDRAW")) )
		{
			RedrawLevel(Level);
			return 1;
		}
		else if( ParseCommand(&Str,TEXT("LINKS")) )
		{
			Results->Text.Empty();
			int Internal=0,External=0;
			Results->Logf( TEXT("Level links:\r\n") );
			for( int i=0; i<Level->Actors.Num(); i++ )
			{
				if( Cast<ATeleporter>(Level->Actors(i)) )
				{
					ATeleporter& Teleporter = *(ATeleporter *)Level->Actors(i);
					Results->Logf( TEXT("   %s\r\n"), Teleporter.URL );
					if( appStrchr(*Teleporter.URL,'//') )
						External++;
					else
						Internal++;
				}
			}
			Results->Logf( TEXT("End, %i internal link(s), %i external.\r\n"), Internal, External );
			return 1;
		}
		else if( ParseCommand(&Str,TEXT("VALIDATE")) )
		{
			// Validate the level.
			Results->Text.Empty();
			Results->Log( TEXT("Level validation:\r\n") );

			// Make sure it's not empty.
			if( Level->Model->Nodes.Num() == 0 )
			{
				Results->Log( TEXT("Error: Level is empty!\r\n") );
				return 1;
			}

			// Find playerstart.
			for( INT i=0; i<Level->Actors.Num(); i++ )
				if( Cast<APlayerStart>(Level->Actors(i)) )
					break;
			if( i == Level->Actors.Num() )
			{
				Results->Log( TEXT("Error: Missing PlayerStart actor!\r\n") );
				return 1;
			}

			// Make sure PlayerStarts are outside.
			for( i=0; i<Level->Actors.Num(); i++ )
			{
				if( Cast<APlayerStart>(Level->Actors(i)) )
				{
					FCheckResult Hit(0.0);
					if( !Level->Model->PointCheck( Hit, NULL, Level->Actors(i)->Location, FVector(0,0,0), 0 ) )
					{
						Results->Log( TEXT("Error: PlayerStart doesn't fit!\r\n") );
						return 1;
					}
				}
			}

			// Check scripts.
			if( GEditor && !GEditor->CheckScripts( GWarn, UObject::StaticClass(), *Results ) )
			{
				Results->Logf( TEXT("\r\nError: Scripts need to be rebuilt!\r\n") );
				return 1;
			}

			// Check level title.
			if( Level->GetLevelInfo()->Title==TEXT("") )
			{
				Results->Logf( TEXT("Error: Level is missing a title!") );
				return 1;
			}
			else if( Level->GetLevelInfo()->Title==TEXT("Untitled") )
			{
				Results->Logf( TEXT("Warning: Level is untitled\r\n") );
			}

			// Check actors.
			for( i=0; i<Level->Actors.Num(); i++ )
			{
				AActor* Actor = Level->Actors(i);
				if( Actor )
				{
					guard(CheckingActors);
					check(Actor->GetClass()!=NULL);
					check(Actor->GetStateFrame());
					check(Actor->GetStateFrame()->Object==Actor);
					check(Actor->Level!=NULL);
					check(Actor->GetLevel()!=NULL);
					check(Actor->GetLevel()==Level);
					check(Actor->GetLevel()->Actors(0)!=NULL);
					check(Actor->GetLevel()->Actors(0)==Actor->Level);
					unguardf(( TEXT("(%i %s)"), i, Actor->GetFullName() ));
				}
			}

			// Success.
			Results->Logf( TEXT("Success: Level validation succeeded!\r\n") );
			return 1;
		}
		else
		{
			return 0;
		}
	}
Let me guess, this doesn't work for everyone not only for me.
I think Level validation it's important, you should be aware that bad Playerstart actors are trouble makers during game. I adapted this check to UScript in MapGarbage because no one did anything here - not even in UGold, at least I can see if here are problems or not. Question: Why this wasn't fixed ?

User avatar
Diego_HoF
Average
Posts: 67
Joined: Sun Jul 16, 2017 1:50 am
Personal rank: HoF Admin
Location: Costa Rica

Re: Unreal Tournament 469

Post by Diego_HoF » Thu Oct 01, 2020 11:52 pm

Already remove DirectX 10 but still same problems, so it wasn't that atleast

Buggie
Adept
Posts: 336
Joined: Sat Mar 21, 2020 5:32 am

Re: Unreal Tournament 469

Post by Buggie » Sun Dec 06, 2020 2:03 pm

Neon_Knight wrote:
Wed Jun 24, 2020 2:15 pm
Hai! Just passing to tell non-English native speakers that the OldU 227 localization project is now adapted to accept UT99 v469 translations as well.

The .int templates and .est support is already there (only Rocket Arena and Chaos UT are missing), and Hellkeeper began translating .frt. But if anybody wants to contribute, you're more than welcome!
For not lost files and my messages from Discord I duplicate it here, because my account for wiki not approved yet.

I generate *.rut from *.int files. Of course it is dirty template, which need manual review. I even do not mess with placeholders because it is useless - in any case need manual review.
Also I add comment before each changed line with original EN line.

Examples:
scr_1607205681.png
scr_1607205768.png
If you have an account on the OldUnreal Wiki, you can copypaste there.
I looked at what's going on on the wiki and I have a few comments on this:

1. These are all templates. It is not always possible to load them directly. But they can be very helpful in translating.

2. I have little idea how this heap of wiki pages turns into real files. Perhaps you should use something more appropriate than a wiki. For example: https://www.oneskyapp.com/
But too much work has already been done for you to go so easily. But it might still be worth considering this possibility.

3. I definitely won't do translations. I may one day generate a translation template. This concludes my work. I will not even load 140+ files manually into your (extremely inconvenient system) for each language.
Seriously. It smacks of masochism. And you very much slow down and complicate the translation by all this.
To make a translation into one language takes about a week of unhurried work. There are 3453 different text lines. If you know the language and have my template, then it is quite possible to make a complete translation in one full day.
From your wiki, this will take an incredibly long time simply due to the inconvenience of the system itself. You will be fighting the wiki most of the time, not translating.
And I have no idea how it can be tested. It's very good if the admins have some scripts that I can extract everything and they regularly upload snapshots somewhere.

4. I see 12 languages. I can make templates for all of them. Regardless of the current translation progress. Maybe this will help someone.
SystemLocalized.rar
You do not have the required permissions to view the files attached to this post.