XC_Engine version 24 full

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

XC_Engine version 24 full

Post by Higor » Tue Aug 06, 2019 11:15 pm

Full XC_Engine package.

You may check the documentation under each project's specific directory at https://github.com/CacoFFF/XC-UT99
Changelog
Show
=============================
=== 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).
You do not have the required permissions to view the files attached to this post.
Last edited by Higor on Wed Aug 07, 2019 8:57 pm, edited 1 time in total.
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

User avatar
UT Sniper (SJA94)
Masterful
Posts: 624
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: noob programmer
Location: England

Re: XC_Engine version 24 full

Post by UT Sniper (SJA94) » Wed Aug 07, 2019 10:43 am

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: 4981
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 24 full

Post by sektor2111 » Wed Aug 07, 2019 5:03 pm

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...
You do not have the required permissions to view the files attached to this post.

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

Re: XC_Engine version 24 full

Post by Higor » Wed Aug 07, 2019 8:57 pm

File replaced.
This one shouldn't give problems in those lifts.
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

User avatar
UT Sniper (SJA94)
Masterful
Posts: 624
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: noob programmer
Location: England

Re: XC_Engine version 24 full

Post by UT Sniper (SJA94) » Thu Aug 08, 2019 4:28 pm

Problem is fixed for me thanks.

User avatar
esnesi
Inhuman
Posts: 763
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: XC_Engine version 24 full

Post by esnesi » Thu Aug 08, 2019 5:40 pm

Confirmed here as well.
Thanks!

User avatar
esnesi
Inhuman
Posts: 763
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: XC_Engine version 24 full

Post by esnesi » Tue Aug 13, 2019 5:36 pm

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: 1827
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 24 full

Post by Higor » Wed Aug 14, 2019 12:42 am

Send map
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

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

Re: XC_Engine version 24 full

Post by sektor2111 » Wed Aug 14, 2019 8:24 am

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.
You do not have the required permissions to view the files attached to this post.

User avatar
esnesi
Inhuman
Posts: 763
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: XC_Engine version 24 full

Post by esnesi » Wed Aug 14, 2019 3:57 pm

Higor wrote:Send map
Link to according Map:
http://www.mediafire.com/file/h6iwhhazk ... 3.zip/file

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

Re: XC_Engine version 24 full

Post by Higor » Wed Aug 14, 2019 10:34 pm

Looks like we'll have to figure out what's going on via Discord or somewhere else, to keep this thread on point.
You do not have the required permissions to view the files attached to this post.
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

User avatar
rjmno1
Masterful
Posts: 642
Joined: Fri Aug 12, 2011 9:38 pm
Personal rank: masterfull

Re: XC_Engine version 24 full

Post by rjmno1 » Wed Aug 14, 2019 11:38 pm

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

User avatar
esnesi
Inhuman
Posts: 763
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: XC_Engine version 24 full

Post by esnesi » Thu Aug 15, 2019 9:17 am

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: 4981
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 24 full

Post by sektor2111 » Thu Aug 15, 2019 12:36 pm

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: 4981
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 24 full

Post by sektor2111 » Sun Aug 18, 2019 8:11 am

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.