XC_Engine version 24 full

Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

XC_Engine version 24 full

Post by Higor »

Full XC_Engine package.

You may check the documentation under each project's specific directory at https://github.com/CacoFFF/XC-UT99
Changelog
=============================
=== 24 update:

UnrealScript:
- Added: LoadPackageContents native (227 mirror).
- Added: MapRoutes native. (enhanced FerBotz route mapper)
- Added: BuildRouteCache native. (enhanced FerBotz route mapper)
- Added: DefinePathsFor native.
- Added: PlayerCalcView native. (replacement of script version)
- Fixed: GetReachSpec native.
- CompactPathList, LockToNavigationChain are static functions now.
- Singular functions can succesfully call parent/global singular functions.
- Reimplemented: GetMapName native.
** Removed 'bSortMapListGlobal' flag in XC_GameEngine, it is now default functionality.
** Added 'bSortMaplistInvert' flag in XC_GameEngine, makes GetMapName return an upside down list.

Script patcher:
- Map List generation in game menues is now much faster and crash free.
- Implemented Route Mapper alternative to FindPathToward.
- bAnyFaceOnSkin mode, allows picking any face for a model regardless of skin.
- Monsters no longer attack unarmed SkaarjTrooper.
- Monsters are less likely to attack their own kind.
- Fixed bug causing XC_Engine_Actor derivates to initialize twice on level load.
- Reimplemented PreLoginHook, see XC_Engine.PreLoginHookSystem class for more info.
- Implemented the Event Chain System (enable/disable via bEventChainAddon in XC_Engine.ini)
- Improved bot handling of elevators.
- Bots may consider JumpBoots pickups during pathfinding as part of routes that require high jumps.
- Improved map list generation in game menues (no crashes, behaviour can be altered in Preferences)
- Prevent telefrags on team games during player respawn.
- Added paths for DM-Barricade's main hall elevator.

Event Chain System:
This system runs through a set of markers assigned to most known mechanisms in unreal levels.
Different kind of markers will be generated depending on the mechanisms being tagged and then
new bot AI/Navigation changes will occur depending on the instructions given by said markers.
This system helps bots smartly utilize elevators/teleporters/doors that require previous activation
as well as induce bots to unlock obstructions or other closed paths without any gametype directive.

Client:
- Net clients now communicate their tickrate to servers running XC_Engine 24 or above.

Server:
- Enhanced relevancy v3.
** Relevancy loop can run at lower rates than server tickrate for players with saturated connections.
** Client tickrate also caps the update rate on the server (for said client).
** Improved visibility checks
** See "Enhanced Netcode" documentation for more info.
- XC_ServerCommandlet visible from UnrealScript
** Improved tickrate stability.
** XC_Engine.ServerCommandlet is a subclass of XC_ServerCommandlet
** You may modify Engine.int and replace the default commandlet with this one.

Level:
- Actor List is rearranged twice instead of once (extra time before XC_Init)
** DynamicActors now optimal before gameplay starts.
- PreBeginPlay, BeginPlay, PostBeginPlay, SetInitialState events not immediately called for actors spawned

within XC_Init.
** They are treated the same as actors loaded with the level.
** Base and Zone setting also not set during this stage.
- Automatic clean up of NavigationPoint actors upon destruction (ReachSpecs and NavigationPointList, not on

net clients)
- Improved attachment movement, actors are much less likely to overlap/encroach/telefrag each other when

standing on a base that moves horizontally.

CollisionGrid:
- Fixed bug in traces with non-zero extent.
** Players/bots should no longer detach from elevators.
- Greatly improved code and speed. (especially on Linux)

Editor:
- Fixed minor path builder bugs.
- Script compiler can compile calls to some XC_Engine functions without having to define them.
** See functions in classes XC_EditorLoader and XC_Engine_Actor.
** Dynamic array functions work on any dynamic array type.

Misc:
- Rewrote multi-line log filter, fixed incorrect grouping.
- Improved XC_Launch tickrate stability.
- Improved logging of UnrealScript's stack trace during crashes (not on net clients).
Attachments
XC_Engine_Full_24b.7z
(740.31 KiB) Downloaded 797 times
Last edited by Higor on Wed Aug 07, 2019 8:57 pm, edited 1 time in total.
User avatar
UT Sniper (SJA94)
Inhuman
Posts: 753
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: Retard
Location: England
Contact:

Re: XC_Engine version 24 full

Post by UT Sniper (SJA94) »

Just played a quick session game and this happened:

Code: Select all

Critical: None.MoverInOperation
Critical: UObject::execClassContext
Critical: (LiftExit CTF-2on2-Crates.LiftExit6 @ Function XC_Engine.XC_Engine_LiftExit.EnhancedHandling : 001B)
Critical: LiftExit6.EnhancedHandling
Critical: UObject::ProcessEvent
Critical: (LiftExit CTF-2on2-Crates.LiftExit6, Function Engine.LiftExit.SpecialHandling)
Critical: APawn::HandleSpecial
Critical: TFemale2Bot0.FindPathToward_Org
Critical: AXC_Engine_Actor::GNativeScriptWrapper
Critical: TFemale2Bot0.FindBestPathToward
Critical: TFemale2Bot0.PickDestination
Critical: AActor::ProcessState
Critical: Object TFemale2Bot CTF-2on2-Crates.TFemale2Bot0, Old State State Botpack.Bot.Hunting, New State State Botpack.Bot.Hunting
Critical: AActor::Tick
Critical: TickAllActors
Critical: ULevel::Tick
Critical: (NetMode=0)
Critical: TickLevel
Critical: UGameEngine::Tick
Critical: UXC_GameEngine::Tick
Critical: UpdateWorld
Critical: XC_MainLoop


---edit---

Every time a bot uses one of the lifts in the map the game crashes with the same crashlog.


--edit---

Code: Select all

Critical: None.MoverInOperation
Critical: UObject::execClassContext
Critical: (LiftExit DM-Deck16][.LiftExit7 @ Function XC_Engine.XC_Engine_LiftExit.EnhancedHandling : 001B)
Critical: LiftExit7.EnhancedHandling
Critical: UObject::ProcessEvent
Critical: (LiftExit DM-Deck16][.LiftExit7, Function Engine.LiftExit.SpecialHandling)
Critical: APawn::HandleSpecial
Critical: TFemale1Bot0.FindPathToward_Org
Critical: AXC_Engine_Actor::GNativeScriptWrapper
Critical: TFemale1Bot0.FindBestPathToward
Critical: AActor::ProcessState
Critical: Object TFemale1Bot DM-Deck16][.TFemale1Bot0, Old State State Botpack.Bot.Charging, New State State Botpack.Bot.Charging
Critical: AActor::Tick
Critical: TickAllActors
Critical: ULevel::Tick
Critical: (NetMode=0)
Critical: TickLevel
Critical: UGameEngine::Tick
Critical: UXC_GameEngine::Tick
Critical: UpdateWorld
Critical: XC_MainLoop
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 24 full

Post by sektor2111 »

I gotta admit that I did not tested this yet... So I will delay any small change (configurable devs) until things are clarified...
Note:
In old v24 beta3 one time Bots were passing over a BlockedPath when said Mover activating it was not open yet causing nasty flaws to death...
As I recall I removed all EventChain related stuff. If this is newer DevPath then I will disable "findpath" replacement because I need original-like devs. All new testing should be able to get disabled on demand, map was properly configured so I don't know what happened.

Edit: A Check
Previous crusher map CTF-2on2... has around 6 JumpSpot actors which I can call issues because they are pointless heading nowhere. In exchange "LiftExit6" is part of a combo heading to a box where Bot should not have any problem, unless XC_Engine is handling a None Lift - that's a simple combo without any sort of Mover, and then game did not crash at using lift but probably some specialhandling of a null object with null marker, etc., was doing critical damage...
This is that crusher innocent Combo
[attachment=0]NullMover_Crusher.PNG[/attachment]
Oh, well...
Attachments
NullMover_Crusher.PNG
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 24 full

Post by Higor »

File replaced.
This one shouldn't give problems in those lifts.
User avatar
UT Sniper (SJA94)
Inhuman
Posts: 753
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: Retard
Location: England
Contact:

Re: XC_Engine version 24 full

Post by UT Sniper (SJA94) »

Problem is fixed for me thanks.
User avatar
esnesi
Godlike
Posts: 1018
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: XC_Engine version 24 full

Post by esnesi »

Confirmed here as well.
Thanks!
User avatar
esnesi
Godlike
Posts: 1018
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: XC_Engine version 24 full

Post by esnesi »

Faced below error on multiple maps with v24b, which aren't there on v23.

Code: Select all

Critical: FPathBuilderMaster::DefineFor
Critical: EL_Trigger32.DefinePathsFor
Critical: EL_Trigger32.CreateAIMarker
Critical: EL_Trigger32.Update
Critical: None.StaticInit
Critical: UObject::execClassContext
Critical: (XC_Engine_Actor 3-UTIllhaven3.XC_Engine_Actor1 @ Function XC_Engine.XC_Engine_Actor.SetInitialState : 0051)
Critical: UObject::ProcessEvent
Critical: (XC_Engine_Actor 3-UTIllhaven3.XC_Engine_Actor1, Function XC_Engine.XC_Engine_Actor.SetInitialState)
Critical: BeginPlay
Critical: UXC_GameEngine::LoadMap
Critical: LocalMapURL
Critical: UGameEngine::Browse
Critical: ServerTravel
Critical: UGameEngine::Tick
Critical: UXC_GameEngine::Tick
Critical: UpdateWorld
Critical: UServerCommandlet::Main
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 24 full

Post by Higor »

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

Re: XC_Engine version 24 full

Post by sektor2111 »

It's hard to figure why a plugin won't compile if result is like that.
[attachment=0]NoMoreCoding.PNG[/attachment]

The log says:

Code: Select all

....
Log: Parsing E_HuntNode
Log: Parsing FSmartNode
Log: Parsing E_Counter
Log: FactoryCreateBinary: Texture with TextureFactory (0 0 Textures\t_counter.pcx)
Log: Imported Texture SS_NVADMH-GIANTBOSS2.T_Counter
Log: Parsing E_StochasticTrigger
Log: Parsing PathsActor
Log: Parsing TelPathsHacker
Log: Parsing SomeActor
Log: Parsing NoLost
Log: Parsing Shoot_It
Log: Parsing RadiusMove
Log: Compiling GunlocScout
Log: Compiling AltBlock
Log: Compiling E_Blockall
Log: Compiling EM_Blockall
Log: Compiling PathsMapper
Log: Log file closed, 08/14/19 10:19:01
It's about the same compilers changed since version 22 which are not helping me at all.
Attachments
NoMoreCoding.PNG
NoMoreCoding.PNG (10.51 KiB) Viewed 4435 times
User avatar
esnesi
Godlike
Posts: 1018
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: XC_Engine version 24 full

Post by esnesi »

Higor wrote:Send map
Link to according Map:
http://www.mediafire.com/file/h6iwhhazk ... 3.zip/file
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 24 full

Post by Higor »

Looks like we'll have to figure out what's going on via Discord or somewhere else, to keep this thread on point.
Attachments
MM.JPG
User avatar
rjmno1
Masterful
Posts: 716
Joined: Fri Aug 12, 2011 9:38 pm
Personal rank: masterfull
Location: https://sites.google.com/view/unrealtou ... oject/home
Contact:

Re: XC_Engine version 24 full

Post by rjmno1 »

esnesi wrote:
Higor wrote:Send map
Link to according Map:
http://www.mediafire.com/file/h6iwhhazk ... 3.zip/file
Those skins and map looks indeed very good :tu:
no need to download the s3tc patch.
unreal tournament 99
®
Image
Image
ImageImage
https://sites.google.com/view/unrealtou ... oject/home mine home ut99 website.
https://richardmoust105.blogspot.com/20 ... ef-in.html dutch blog page about ut99 settings.
User avatar
esnesi
Godlike
Posts: 1018
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: XC_Engine version 24 full

Post by esnesi »

Higor wrote:Looks like we'll have to figure out what's going on via Discord or somewhere else, to keep this thread on point.
No problem.
If i can offer support from my side in any way, let me know.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 24 full

Post by sektor2111 »

Compiler problem solved... actually was a syntax error shown properly by XC_Engine v21 - not seen in upper versions. Code has been compiled but I have another factor to take in account (or I'll drop it) - In XC_Engine version 21 "Path-Seeking" is not that powerful, map in cause needs a bit of boosting here and there, but not version 24, which for gaming works properly (out of "event-chain" adds). I think I'll do that patch simple which will work in version 24 because... this is what I'm using in server/client after all...

As a note: I would like to see a more advanced error reporting system than original UT instead of such a lock-down with no lines and no words.
When I'm taking a coding break (3-4 weeks) I already need some practice and I might have syntax flaws when I'm resuming coding. I need logs not crashes.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 24 full

Post by sektor2111 »

Something questioning - FV_Scout - I guess it's about paths enhancer...

Code: Select all

defaultproperties
{
     Radiuses(0)=70.000000
     Radiuses(1)=52.000000
     Radiuses(2)=40.000000
     Radiuses(3)=28.000000
     Radiuses(4)=17.000000
     Heights(0)=70.000000
     Heights(1)=65.000000
     Heights(2)=52.000000
     Heights(3)=48.000000
     Heights(4)=39.000000
     Visibility=0
     RemoteRole=ROLE_None
     bGameRelevant=True
     CollisionRadius=19.000000
     CollisionHeight=37.000000
}
I see differences between height and Radius. If Let's say height might have 39 in testing stage, in a hole with 38 Height Bot has no valid route if won't call "ShrinkInto" ? I'm not sure if this is not doing a path where Bot is not really compatible. Meh... Let me know what's the deal. Does new DevPath takes in account Collision directives from reachSpec ? Perhaps such a Scout it's suffice at 40×20 Shrinking to 39,17 if needed ?

Edit: Also In a recent DM map shared here, XC builder was doing such a small path (it's about height) where Bot actually could not navigate and then author has used original DevPath in final release and I totally understand him (we had some private testing sessions) - spots which are not navigable should Not Add borked reachSpecs.
I might want to write a Server-Actor working as a delayed background process for a few seconds intended to recheck these kind of extra-paths which are false in all ways and removing them.
Post Reply