XC_Engine version 23 full

XC_Engine version 23 full

Postby Higor » Fri Jan 25, 2019 4:01 am

Full XC_Engine package.

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

XC_Core 9b changes
XC_Core version 9b update.

== FOutputDeviceInterceptor
Log interceptor no longer reset every second on listen servers (due to window title events).


== Codebase

>> Linux
Removed unused Editor code, smaller binary.
Downgraded library requirements for CacusLib. (C++14 features no longer needed)

>> Windows
Fixed broken commandlets.
Fixed a case of bad SSE instructions introduced by compiler upgrade affecting UT's network timing.


== Editor

>> Rendering
When XC_Core is loaded into Unreal Editor, the path network will be rendered differently.
Paths will be visualized in two lines (inbound + outbound) and each will contain an arrow head to
indicate their direction.

The reachspecs will be color coded as following:
- WALK/SWIM >> GREEN
- JUMP >> YELLOW
- AIR >> RED
- BLUE >> SPECIAL

>> Paths Builder.
The new Paths Builder has been rewritten from scratch to address limitations in the original pathing code.

Every pair of Navigation Points are sorted by distance prior to creation of reachspec.
This allows the builder to start with the shortest route first and completely ditch the path pruning
process which makes some path networks build faster due to the builder deciding to discard a reachspec
BEFORE it's built.

The new criteria to ignore routes is more aggresive at shorter distances which prevents
overcrowding of reachspecs in places full of Navigation Points (ex: areas full of items).
The theoretical maximum distance is 2000, but it may be lower in specific areas/routes.

Inventory and Warp Zone markers are more likely to be added near their respective object, during the
addition process if the marker doesn't initially fit the object's spot, then a walk simulation is run
from nearby paths into the objects to determine best possible spot for the marker.

The builder allows the mapper to choose whether the builder builds air routes or not, and to change
the reference pawn used to create the paths, which affects jump, movement and size.
* Insert the reference pawn in the level (hide it), add a Tag to it, then match it in the builder.

As usual, InventorySpot actors that are not hidden in the editor won't be removed during a rebuild and
setting a NavigationPoint's Event to another one's Tag will create a special reachspec from first to second.


XC_Engine 23 changes
=============================
=== 23 update:

Advanced relevancy:
- Fixed broken channel timeout code in windows.
- Bandwidth saving hack (Rotation) applied to all actors now.
- Bandwidth saving hack (Location) improved for pawns, movement just as smooth as original netcode.
- When viewing a player through F5, you no longer receive his/her entire inventory chain.
- Small improvements in performance scalability as player count increases.

Raw input (windows):
- Added MouseX1 and MouseX2 support, bound to Unknown05 and Unknown06.

Editor:
- Removed XC_PathBuilder actor, see XC_Core 9b documentation for its replacement.

Script patcher:
- Native functions with numbered opcodes can now be replaced by pure UnrealScript functions.
* See Pawn.PickTarget() replacement in XC_Engine_UT99.XC_ScriptedPawn.Pawn_PickTarget()
** Example: Rocket launchers don't lock onto Nalis, Team Cannons and Siege builds.
- ACE isn't loaded when the server is on Unreal 1 game modes (prevents crashes on clients)



Note: file replaced due to a bug in the path builder.
If you're using the path builder, redownload the package.
Attachments
XC_Engine_Full_23.7z
See Documentation\Readme.txt
(726.05 KiB) Downloaded 51 times
Last edited by Higor on Tue Jan 29, 2019 1:22 am, edited 2 times in total.
Higor
Godlike
 
Posts: 1682
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 23 full

Postby sektor2111 » Fri Jan 25, 2019 7:22 am

doc... wrote:If Navigation Points still fail to connect when on ramps or stairs, consider moving the node closer to
the ground or using Event >> Tag linking.
Add:
1. Make sure about a navigable ramp angle - we should be able to climb there.
2. Make sure about ramp node if can be "taken" - avoid useless ramp nodes like CTF-Command has. That one is only damaging rather than helping.


Github visit
Code: Select all
if ( ReferenceTag != '' )
      ForEach LI.AllActors( class'Pawn', P, ReferenceTag)
      {
         ScoutReference = P;
         break;
}

Questions:
a. If I won't touch this who is the reference ? Default Scout or a specific internal "GunLock" type Scout ?
b. Can I use here a fly-capable pawn - Custom Scout ?
User avatar
sektor2111
Godlike
 
Posts: 3774
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 23 full

Postby Higor » Fri Jan 25, 2019 8:00 am

You should never manually use a Scout in editor, hence the 'reference'.

The reference is that, a set of non-default collision and movement values as seen below.
You can insert the reference pawn somewhere it doesn't affect gameplay and simply use it to modify the scout's behaviour.
Aerial build depends on a different setting.
Code: Select all
FString PathsRebuild( ULevel* Level, APawn* ScoutReference, UBOOL bBuildAir)
{
   FPathBuilderMaster Builder;
   if ( ScoutReference )
   {
      Builder.GoodRadius      = ScoutReference->CollisionRadius;
      Builder.GoodHeight      = ScoutReference->CollisionHeight;
      Builder.GoodJumpZ       = ScoutReference->JumpZ;
      Builder.GoodGroundSpeed = ScoutReference->GroundSpeed;
   }
   Builder.Level = Level;
   Builder.Aerial = bBuildAir;
   Builder.RebuildPaths();
   return Builder.BuildResult;
}
Higor
Godlike
 
Posts: 1682
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 23 full

Postby sektor2111 » Fri Jan 25, 2019 8:42 am

Higor wrote:You should never manually use a Scout in editor, hence the 'reference'.
I use it only in builder's task and is removed at end of whatever process. No map will ever have such thing at saving stage.
Now I'm going to crawl some maps, would be interesting to know the content...
A big THANK YOU !.

Edit: NOTES
bOneWayPath is being ignored sometimes by all DEVS (XC and original) at LiftExit nodes.
OneWayNote.PNG
First LiftCenter2 (bottom) has indeed One-Way as I wanted, the next one LiftExit3 has Two-Way even if setup is for bOneWayPath, paths here are working as on purpose because of that first Point but... it's good to know - now this can be seen more clear.
User avatar
sektor2111
Godlike
 
Posts: 3774
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 23 full

Postby sektor2111 » Sun Jan 27, 2019 8:11 am

Another note for DevPath.
As long as I still can see created VisNoReachPaths which I think have no purpose ( MBot uses them randomly if I well recall ) I'm willing to remove all of them from all paths networks which I might do. I'm talking about building paths with aerial directives.
User avatar
sektor2111
Godlike
 
Posts: 3774
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 23 full

Postby rdy2bz » Mon Jan 28, 2019 10:03 pm

Thanks for all those work you put into this!

MouseX1 and X2 don't work on my Linux system. As far as I've seen from the github project files, this is a Windows-only thing. Do you have any plans to support this under Linux eventually?
rdy2bz
Novice
 
Posts: 4
Joined: Thu Nov 26, 2015 11:42 am

Re: XC_Engine version 23 full

Postby Higor » Tue Jan 29, 2019 12:52 am

If I learn more about Linux native launcher I may be able to do something about it.

Btw, if you use the Path Builder you want to redownload the stuff, removed a lot of log spam and a critical bug with teleporters.
Higor
Godlike
 
Posts: 1682
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 23 full

Postby sektor2111 » Tue Jan 29, 2019 7:20 am

XC_Core.dll ? Good, I replaced it - that one seems the last updated file.
Edit:Confirmation.
Yes, I could figure the bug a few minutes ago... but term "critical" is a bit too abrasive - I think more suitable it's "educative", I could get used with it... protecting map against future "fixes" - but that bug gave me an idea 8) even if it's fixed and works properly, I can simulate something like this even after a debate with original Lord Goblin... :mrgreen:
User avatar
sektor2111
Godlike
 
Posts: 3774
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 23 full

Postby rdy2bz » Sun Feb 03, 2019 11:04 am

Higor wrote:If I learn more about Linux native launcher I may be able to do something about it.

In the meantime - it works flawlessly with wine.
rdy2bz
Novice
 
Posts: 4
Joined: Thu Nov 26, 2015 11:42 am

Re: XC_Engine version 23 full

Postby Higor » Mon Feb 04, 2019 7:12 pm

Well, UT's uses X11 on it's linux port.
And looking at the available sources on it (do they reflect the actual build from Loki?), we'd need to see if the current code can map MouseX1 and MouseX2 without major hooks.
Next step would be to find out how X11 input grabs those two 'keys'.
Higor
Godlike
 
Posts: 1682
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 23 full

Postby sektor2111 » Thu Feb 07, 2019 9:52 pm

I don't know exactly how do other systems work but in my system I see UT_Eightball (and childs) no longer picking a target after this XC replacement. I did a configurable module and I disabled this tweak. XC function doesn't do any PickTarget for any potential pawn-target. Did anyone figure this or it's just only my problem ?
User avatar
sektor2111
Godlike
 
Posts: 3774
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.


Return to News

Who is online

Users browsing this forum: No registered users and 1 guest