Unreal Tournament 469

Discussions about UT99
User avatar
Sp0ngeb0b
Adept
Posts: 376
Joined: Wed Feb 13, 2008 9:16 pm
Location: Cologne
Contact:

Re: Unreal Tournament 469

Post by Sp0ngeb0b »

Something that bothers me for quite some time is that Mapvotes can not display the screenshot of custom maps although they are already downloaded in the Cache directory. I've tried working around this but haven't found a proper way:
  • Native functions callable from UScript are

    Code: Select all

    native final function bool GetCacheEntry( int Num, out string GUID, out string Filename );
    native final function bool MoveCacheEntry( string GUID, optional string NewFilename );  
    
  • GetCacheEntry can be used to retrieve the GUID belonging to a downloaded .unr map. However, loading the Screenshot via

    Code: Select all

    Screenshot = Texture(DynamicLoadObject(GUID$".Screenshot", class'Texture'));
    will not work as DynamicLoadObject seems to only look for packages specified by the "Paths" variables specified under [Core.System] in UnrealTournament.ini. Adding

    Code: Select all

    Paths=../Cache/*.uxx
    allows to load the screenshot from the cache file; however, this .ini addition must be done by each client manually.
  • MoveCacheEntry can be used to move the cache file to the Maps folder which will obviously make DynamicLoadObject work. However, you start messing around with client files and this should be a no-go I believe.
@anth, are you aware of another way to make this work in 436? Otherwise, do you think such an addition for 469 is useful?
Website, Forum & UTStats

Image
******************************************************************************
Nexgen Server Controller || My plugins & mods on GitHub
******************************************************************************
User avatar
anth
Adept
Posts: 257
Joined: Thu May 13, 2010 2:23 am

Re: Unreal Tournament 469

Post by anth »

can't you just do DynamicLoadObject(MapName$".Screenshot") ?
User avatar
Sp0ngeb0b
Adept
Posts: 376
Joined: Wed Feb 13, 2008 9:16 pm
Location: Cologne
Contact:

Re: Unreal Tournament 469

Post by Sp0ngeb0b »

That requires that the user installed the map manually or used a cache converter tool (that's how it implemented in Mapvotes at the moment)
Website, Forum & UTStats

Image
******************************************************************************
Nexgen Server Controller || My plugins & mods on GitHub
******************************************************************************
User avatar
anth
Adept
Posts: 257
Joined: Thu May 13, 2010 2:23 am

Re: Unreal Tournament 469

Post by anth »

MoveCacheEntry would be my go-to solution for v436.

In v469, you can just DLO(MapName$".Screenshot"). It will query the cache too if the file isn't found elsewhere.
User avatar
Sp0ngeb0b
Adept
Posts: 376
Joined: Wed Feb 13, 2008 9:16 pm
Location: Cologne
Contact:

Re: Unreal Tournament 469

Post by Sp0ngeb0b »

anth wrote: Tue Dec 31, 2019 4:53 pm In v469, you can just DLO(MapName$".Screenshot"). It will query the cache too if the file isn't found elsewhere.
That sounds great :tu:
Website, Forum & UTStats

Image
******************************************************************************
Nexgen Server Controller || My plugins & mods on GitHub
******************************************************************************
User avatar
Dr.Flay
Godlike
Posts: 3347
Joined: Thu Aug 04, 2011 9:26 pm
Personal rank: Chaos Evangelist
Location: Kernow, UK
Contact:

Re: Unreal Tournament 469

Post by Dr.Flay »

Is Spider_Phys fixed in this version ?
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Unreal Tournament 469

Post by sektor2111 »

Ignoring these "fixes" making new maps/mods to not work with old UT, perhaps I tested PHY_Spider in a map - ON-LINE and I don't really like it, for mapping "Spider" paths here we have NO REACHFLAGS at this moment not mentioning physics changing in scripts, plain Editor doesn't even use "R_FLY" ReachFlag even if classes Gasbag/Manta/etc. are accessible for mapping. If one of these has been added in map perhaps by default we DO NEED "R_FLY" - excuse my Logic - I'm mindless when I'm sleeping :sleep: .

Code: Select all

		if (!bFlagsListed)
		{
			log ("ReachSpecs Flags summary:",'Specs');
			log ("R_WALK = 1",'Flg');
			log ("R_FLY = 2",'Flg');
			log ("R_SWIM = 4",'Flg');
			log ("R_JUMP = 8",'Flg');
			log ("R_DOOR = 16",'Flg');
			log ("R_SPECIAL = 32",'Flg');
			log ("R_PLAYERONLY = 64",'Flg');
			bFlagsListed = True;
		}
Something more domestic:
I would like to know if Editor will have a "HLP" file - a HELP file more exactly for F1 key that can be read as a tutorial and containing assets written by Polge himself - including those from Source-Code :agree1:
This won't affect prior versions, will only help people to have more knowledge about stuff, since even now days (after 20 years if you can believe) I see some of them blabbering in the dark and making only copies of borked maps instead of improving them... just saying.
User avatar
Sp0ngeb0b
Adept
Posts: 376
Joined: Wed Feb 13, 2008 9:16 pm
Location: Cologne
Contact:

Re: Unreal Tournament 469

Post by Sp0ngeb0b »

Another aspect which I stumbled upon when messing around with Screenshots: The game appears to be unable to handle Textures with the same name but in different packages. You can see that in 2 instances:
  • Import a texture via UnrealEd into a new package but name it like an existing texture. You will have a hard time using both textures at the same time.

Edit: The following was originally posted but it turned out that I am an idiot and wasted some hours investigating in something while forgetting to set the canvas draw color :ironic2:
  • When you load several screenshots at once (e.g. displaying them in a list) via

    Code: Select all

    local int i;
    local string mapNames[16];
    local texture mapShot;
    
    for(i=0; i<ArrayCount(MapNames); i++) {
    	mapShot = Texture(DynamicLoadObject(mapNames[i]$".Screenshot", class'Texture'));
    	DrawStretchedTexture(..., mapShot);
    }
    
    only the screenshot of the first entry will be displayed. The issue is not the DynamicLoadObject call (I've also stretched that that only a single texture is loaded per tick) but rather the texture drawing.
Is that a known limitation? If yes, is that something to fix in v469? If no, what am I doing wrong?

I assume this is not limited to Textures but to Objects in general.
So yeah, textures with the same name work perfectly fine in UScript. However, the first point above may still be valid Editor-wise.
Website, Forum & UTStats

Image
******************************************************************************
Nexgen Server Controller || My plugins & mods on GitHub
******************************************************************************
User avatar
OjitroC
Godlike
Posts: 3605
Joined: Sat Sep 12, 2015 8:46 pm

Re: Unreal Tournament 469

Post by OjitroC »

Sp0ngeb0b wrote: Thu Jan 09, 2020 2:21 pm ...The game appears to be unable to handle Textures with the same name but in different packages. You can see that in 2 instances: Import a texture via UnrealEd into a new package but name it like an existing texture. You will have a hard time using both textures at the same time.

The same thing happens with sounds (wav files) - a couple of times in the past I've imported a wav file named hit1.wav into a new package and found, on playing it in the Editor, that it is not the sound I was expecting or, indeed, imported but the UnrealI flak hit1 sound. I have also noticed a similar thing in voice packs as well if sound clips named the same as a default UT sound/voice clip are imported. All of this emphasises the need to use unique names for sounds, textures, etc (or remove the package that the default UT sound/voice clip is in from the EditPackages list when importing sounds).
User avatar
Sp0ngeb0b
Adept
Posts: 376
Joined: Wed Feb 13, 2008 9:16 pm
Location: Cologne
Contact:

Re: Unreal Tournament 469

Post by Sp0ngeb0b »

On a side note: Are there measure planned to protect v469 clients from "intrusive" servers? I see two points which I would love to have taken care of:
  • Manipulating favorites: Connecting to the wrong server can end up with your favorites being completely messed up (new servers added automatically or others may even be removed). XBrowser had such a feature iirc; adding this by default to the new version would be awesome.
  • Fake players: In my opinion one of the most harmful things out there. Players new to the game or returning can easily get the feeling that there are no real players anymore in UT, and server admins using them are just selfish ****. The problem here is that they need to be blocked client side and I fear that might only be possible using a global blacklist which would complicate things a lot. I hope that I am mistaking with that; if not, maintaining such a global blacklist is additional efforts and of course enables abuse in a different direction.
Website, Forum & UTStats

Image
******************************************************************************
Nexgen Server Controller || My plugins & mods on GitHub
******************************************************************************
User avatar
esnesi
Godlike
Posts: 1018
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: Unreal Tournament 469

Post by esnesi »

Sp0ngeb0b wrote: Thu Jan 09, 2020 9:59 pm On a side note: Are there measure planned to protect v469 clients from "intrusive" servers? I see two points which I would love to have taken care of:
  • Manipulating favorites: Connecting to the wrong server can end up with your favorites being completely messed up (new servers added automatically or others may even be removed). XBrowser had such a feature iirc; adding this by default to the new version would be awesome.
  • Fake players: In my opinion one of the most harmful things out there. Players new to the game or returning can easily get the feeling that there are no real players anymore in UT, and server admins using them are just selfish ****. The problem here is that they need to be blocked client side and I fear that might only be possible using a global blacklist which would complicate things a lot. I hope that I am mistaking with that; if not, maintaining such a global blacklist is additional efforts and of course enables abuse in a different direction.

I use ServerAffiliates on my servers which add both hosts to the clients favorites.
it's a nexgen plugin, which if iam not mistaken is from you ?

Can't agree more on the second, glad you pointed that out!

*edit, ah i see the plugin is from D. Scheerens.
User avatar
Sp0ngeb0b
Adept
Posts: 376
Joined: Wed Feb 13, 2008 9:16 pm
Location: Cologne
Contact:

Re: Unreal Tournament 469

Post by Sp0ngeb0b »

Yeah, Defrost (original author of Nexgen) implemented ServerAffiliates back then for his server. It more or less got leaked, there was no public release - for a good reason. But well, pandoras box is opened now so here we go. Using it is alright imo as long as that auto-favorite thing is not used abusively (iirc, you can use to update the favorites in case of an IP change). But still, messing around with client's config other than mod specific things is quite debatable.
Website, Forum & UTStats

Image
******************************************************************************
Nexgen Server Controller || My plugins & mods on GitHub
******************************************************************************
User avatar
UT Sniper (SJA94)
Inhuman
Posts: 753
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: Retard
Location: England
Contact:

Re: Unreal Tournament 469

Post by UT Sniper (SJA94) »

Sp0ngeb0b wrote: Fri Jan 10, 2020 12:10 am Yeah, Defrost (original author of Nexgen) implemented ServerAffiliates back then for his server. It more or less got leaked, there was no public release - for a good reason. But well, pandoras box is opened now so here we go. Using it is alright imo as long as that auto-favorite thing is not used abusively (iirc, you can use to update the favorites in case of an IP change). But still, messing around with client's config other than mod specific things is quite debatable.
Setting User.ini/UnrealTournament.ini to Read Only is an easy fix to protect yourself from shitty servers spamming your favourites.



Another good thing to probably add is not to allow people play online as the name Player(X), it's annoying when multiple people are doing it in one game.
huvgoga
Novice
Posts: 3
Joined: Mon Jan 13, 2020 5:16 pm

Re: Unreal Tournament 469

Post by huvgoga »

Great to see that the community is taking care of this fine game. Thanks to Epic for allowing it too.

It seems that I can't send PMs yet, so is there another way to contact anth (or whoever is the lead developer of this patch)? There's an issue I'd like to talk about in private.
User avatar
Berserker
Experienced
Posts: 126
Joined: Fri Sep 27, 2019 5:08 pm

Re: Unreal Tournament 469

Post by Berserker »



Is there a plan to fix UT movement online? The gameplay above is played on 50 ping, it is without NewNet or LC, it's the original netcode. You can notice in the video, when I jump or dodge on the edge of objects, you get this bug where it doesn't register a jump, but it registers a jump sound. And also you can clearly notice the warp that happens when i jump on the edge of things. I warp and teleport straight down to the ground. This bug is very hard to reproduce with low ping (in this case 50). I tried to reproduce this bug for about an hour and managed to get 3 jumps on video to showcase how broken UT movement is.

Another thing is that Newnet has the smoothest movement ever. It is amazing even on high ping. Maybe that can get a lead to something.
Visit us on Discord:
https://discord.gg/fcRakgNCjR Image
Post Reply