Page 1 of 5

XC_Engine version 24 full

Posted: Tue Aug 06, 2019 11:15 pm
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).

Re: XC_Engine version 24 full

Posted: Wed Aug 07, 2019 10:43 am
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

Re: XC_Engine version 24 full

Posted: Wed Aug 07, 2019 5:03 pm
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...

Re: XC_Engine version 24 full

Posted: Wed Aug 07, 2019 8:57 pm
by Higor
File replaced.
This one shouldn't give problems in those lifts.

Re: XC_Engine version 24 full

Posted: Thu Aug 08, 2019 4:28 pm
by UT Sniper (SJA94)
Problem is fixed for me thanks.

Re: XC_Engine version 24 full

Posted: Thu Aug 08, 2019 5:40 pm
by esnesi
Confirmed here as well.
Thanks!

Re: XC_Engine version 24 full

Posted: Tue Aug 13, 2019 5:36 pm
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

Re: XC_Engine version 24 full

Posted: Wed Aug 14, 2019 12:42 am
by Higor
Send map

Re: XC_Engine version 24 full

Posted: Wed Aug 14, 2019 8:24 am
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.

Re: XC_Engine version 24 full

Posted: Wed Aug 14, 2019 3:57 pm
by esnesi
Higor wrote:Send map
Link to according Map:
http://www.mediafire.com/file/h6iwhhazk ... 3.zip/file

Re: XC_Engine version 24 full

Posted: Wed Aug 14, 2019 10:34 pm
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.

Re: XC_Engine version 24 full

Posted: Wed Aug 14, 2019 11:38 pm
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.

Re: XC_Engine version 24 full

Posted: Thu Aug 15, 2019 9:17 am
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.

Re: XC_Engine version 24 full

Posted: Thu Aug 15, 2019 12:36 pm
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.

Re: XC_Engine version 24 full

Posted: Sun Aug 18, 2019 8:11 am
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.