Page 5 of 31

Re: Unreal Tournament 469

Posted: Tue Oct 08, 2019 10:40 pm
by PrinceOfFunky
papercoffee wrote: Tue Oct 08, 2019 9:52 pm
PrinceOfFunky wrote: Tue Oct 08, 2019 6:35 pm 14) If I zoom with a sniper and I throw it, if I don't have any other weapon then SwitchToBestWeapon() won't do anything and I will end up stuck with the zoom FOV until I pick up another weapon (which is difficult with a tiny FOV);
Oh interesting... didn't notice this.
Have to test it.
You need a gametype that has no default inventory, or you won't be able to drop the default inventory items.

Re: Unreal Tournament 469

Posted: Tue Oct 08, 2019 11:10 pm
by OjitroC
PrinceOfFunky wrote: Tue Oct 08, 2019 6:35 pm 14) If I zoom with a sniper and I throw it, if I don't have any other weapon then SwitchToBestWeapon() won't do anything and I will end up stuck with the zoom FOV until I pick up another weapon (which is difficult with a tiny FOV);
I'm really intrigued why you would want to drop your only weapon.

Re: Unreal Tournament 469

Posted: Wed Oct 09, 2019 5:09 am
by PrinceOfFunky
OjitroC wrote: Tue Oct 08, 2019 11:10 pm
PrinceOfFunky wrote: Tue Oct 08, 2019 6:35 pm 14) If I zoom with a sniper and I throw it, if I don't have any other weapon then SwitchToBestWeapon() won't do anything and I will end up stuck with the zoom FOV until I pick up another weapon (which is difficult with a tiny FOV);
I'm really intrigued why you would want to drop your only weapon.
If the weapon is considered strong, has few ammo and you throw it to the enemy, there are chances the enemy will automatically switch weapon with the one you threw, ending up with a disadvantage.
Even worse can be done with the redeemed:
15) If I AltFire with the WarheadLauncher and, meanwhile I'm controlling the GuidedWarshell, I throw it and then I make the GuidedWarshell explode, anyone who will pick it up will have the static texture all over the screen until it switches weapon.

Re: Unreal Tournament 469

Posted: Wed Oct 09, 2019 6:38 am
by Higor
I'll deal with those later, noted.

Re: Unreal Tournament 469

Posted: Thu Oct 10, 2019 7:58 pm
by gattovicentino
very interesting, anth !

Remembering some problems I have encountered over time, it would be interesting to:

- allow many more serverpackages lines in unrealtournament.ini (if I want a multiplayer home LAN game with dozens of models/skins/mods installed)
- help with some occludebsp/occludeframe "general protection fault" issues causing crash, expecially using some mods and sophisticated weapons (U4E et cetera) in some maps.
- allow more than 32 bots in multiplayer games for the biggest maps.
- better managing of memory on newer hardware (yes, this would require a 64bit executable to be "perfect", but maybe something can be improved even using a 32bit one, avoiding "out of memory" issue).

OK I know that some of the above-mentioned issues/suggestions can't be done simply releasing a new patch, but...

Re: Unreal Tournament 469

Posted: Thu Oct 10, 2019 9:27 pm
by PrinceOfFunky
Oh hey:
16) Give write access to dynamic arrays.
17) Let functions accept arrays as parameters.

Re: Unreal Tournament 469

Posted: Tue Oct 15, 2019 9:24 pm
by PrinceOfFunky
18) exec commands from within HUD override those with the same name within PlayerPawn.
EDIT: 19) Coronas shouldn't be visible when outside of canvas.DrawPortal() rectangle.
EDIT 2:
20) vect() and rot() should accept referenced values instead of just literals.
21) It would be cool if we had full canvas access within ScriptedTexture.
EDIT 3:
22) When bots have no weapon "Botpack.Bot.Roaming.PickDestination", "Botpack.Bot.TacticalMove.PickRegDestination" and "Botpack.Bot.TacticalMove.Timer" give Accessed None's cause "Weapon" is None.

Re: Unreal Tournament 469

Posted: Sat Oct 19, 2019 11:53 pm
by MetzelMade
XC_Engine [20] - XC_Core [7b] - XC_IpDrv
viewtopic.php?t=5624

Re: Unreal Tournament 469

Posted: Sun Oct 20, 2019 6:32 am
by sektor2111
PrinceOfFunky wrote: Tue Oct 15, 2019 9:24 pm 22) When bots have no weapon "Botpack.Bot.Roaming.PickDestination", "Botpack.Bot.TacticalMove.PickRegDestination" and "Botpack.Bot.TacticalMove.Timer" give Accessed None's cause "Weapon" is None.
It's a pity, use custom Bots - yeah, those with various other tweaks because Bot has X+Y problems not only weapon problem:
- locking a path temporary if is trying harder to reach there and no hopes - mappers are doing such trashes;
- randomly jumping when a knee obstruction locks them in place;
- moving at RouteCache[1,2] if these are nearby, Pruning the closer route just because of Loops caused by Editor - configurable decision;
- Preventing to run in place when has no MoveTarget - Monsterhunt here... + those MH-*.unr files called wrongfully maps;
- Jumping from Lift - yeah, Barbie, that code is actually very real and not a guess... and very cool;
- Sitting on horizontal Lifts moving without jumping to early and falling down;
- Seeking pawns in a DeathMatch when inventory is loaded well instead of mooing at the same already collected items :loool: ;
- ETC.

As for memory issue perhaps old player will gonna facing an "Impossible to join server" which will demonstrate that updated UT'99 won't be UT'99 any more because an update doesn't mean changing structures because we don't know to build servers... and we need 21575 ServerPackages.
Such an update would be domestic in XC style "AddToPackagesMap..." functions and allowing people to run this way 200 game-types - IF THEY do have Players... instead of downloading for ages a mountain of useless packages for playing 5-20 minutes.
If this UT 469 will break all backward compatibility then I will ask for a download for UT468...

Re: Unreal Tournament 469

Posted: Sun Oct 20, 2019 8:02 pm
by PrinceOfFunky
23) An Actor shouldn't be able to have a state named after its class, as GetStateName() gives its class name before BeginPlay() is called on it.

Re: Unreal Tournament 469

Posted: Mon Oct 21, 2019 7:02 pm
by anth
PrinceOfFunky wrote: Wed Oct 02, 2019 5:37 pm 5) bItems, which is set as parameter for Level.ServerTravel(), should be accessible outside of that function. Basically, it sets an internal variable which if True lets the server travels the player's inventory and if False does nothing. The only way of setting it is by attempting to switch map;
Can't you just set bNextItems directly? I don't really see the issue here.
PrinceOfFunky wrote: Wed Oct 02, 2019 5:37 pm 9) Multiple HUDs, maybe with a "nextHUD" chain;
I think that the 1-HUD limitation was a conscious design choice... To extend the HUD functionality, you're supposed to use HUDMutators.

-MERGED-
PrinceOfFunky wrote: Tue Oct 08, 2019 6:35 pm 13) TimerCounter should increase accordingly to Level.TimeDilation;
The current behavior is consistent with Unreal 227 and Unreal Engine 2. Modders often multiply the timer interval by TimeDilation themselves if they really want an interval consistent with the wall clock time.

Re: Unreal Tournament 469

Posted: Mon Oct 21, 2019 8:33 pm
by papercoffee
Even the Hero of the UT community ... please avoid double posts.

Re: Unreal Tournament 469

Posted: Mon Oct 21, 2019 10:22 pm
by PrinceOfFunky
anth wrote: Mon Oct 21, 2019 7:02 pm
PrinceOfFunky wrote: Wed Oct 02, 2019 5:37 pm 5) bItems, which is set as parameter for Level.ServerTravel(), should be accessible outside of that function. Basically, it sets an internal variable which if True lets the server travels the player's inventory and if False does nothing. The only way of setting it is by attempting to switch map;
Can't you just set bNextItems directly? I don't really see the issue here.
"native event ClientTravel( string URL, ETravelType TravelType, bool bItems );" is the function declared in PlayerPawn, the only way to modify bNextItems is to switch level by calling "event ServerTravel( string URL, bool bItems )" in LevelInfo. Assigning a value to bNextItems will be useless since ServerTravel will always override it.
anth wrote: Mon Oct 21, 2019 7:02 pm
PrinceOfFunky wrote: Wed Oct 02, 2019 5:37 pm 9) Multiple HUDs, maybe with a "nextHUD" chain;
I think that the 1-HUD limitation was a conscious design choice... To extend the HUD functionality, you're supposed to use HUDMutators.
Only PostRender() is called within the mutator, all the other functions are not called and there's no possibility to use exec functions.
anth wrote: Mon Oct 21, 2019 7:02 pm
PrinceOfFunky wrote: Tue Oct 08, 2019 6:35 pm 13) TimerCounter should increase accordingly to Level.TimeDilation;
The current behavior is consistent with Unreal 227 and Unreal Engine 2. Modders often multiply the timer interval by TimeDilation themselves if they really want an interval consistent with the wall clock time.
[/quote]
Multiplying the timer interval by TimeDilation won't make it consistent with the level time dilation as it can change at any moment.

Re: Unreal Tournament 469

Posted: Tue Oct 22, 2019 1:24 am
by Higor
Timer is engine timer, not game timer.
If timer was game timer, then GameReplication and GameInfo derivates wouldn't use TimeDilation in either of all Unreal Engine games.

Re: Unreal Tournament 469

Posted: Tue Oct 22, 2019 6:39 am
by sektor2111
In my last mutator HalfCTFTime I had to adjust that "Half timer" deal exactly because of this Level.TimeDilation and game timer from DeathMatchPlus - I did it and it won't need any UT update, just a guy with minimal coding skill, simple as that. If admins are changing game-speed because they like to demonstrate their power in front of player I don't care, so far no one was tester volunteer so I'll keep it for me, me which I'm not changing game-speed for no reason.
For speed changing will need another sort of timer running for control (state code probably is suitable or a tick) capturing GameSpeed vs Timer used by mutator and correcting it accordingly, once again No UT update is required here, just some math and programming (skill, free time, testing and all that stuff).