XC_Engine version 25c for UT v469c (includes FerBotz)

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

XC_Engine version 25c for UT v469c (includes FerBotz)

Post by Higor »

XC_Engine - XC_GameEngine extension for UT99 v469c by Higor.

"XC_Engine - XC_GameEngine extension for UT99 v469b by Higor."
Spoiler
===========
Setting up:
===========
Place XC_Engine files in your ~UT/System/ directory.

/** Auto-installer scripts

Run XC_Enable.bat/XC_Enable_nohome.sh scripts in order to auto-config XC_Engine stuff
The scripts will enable the engine, net driver and editor addons.

See "XC_Setup.txt" for more info.
**/

In case the above fails, or a different setup is needed, follow these steps.
The new GameEngine we want to load has to be specified in UnrealTournament.ini (or it's server equivalent) as follows.

Code: Select all

[Engine.Engine]
;GameEngine=Engine.GameEngine
GameEngine=XC_Engine.XC_GameEngine
;NetworkDevice=IpDrv.TcpNetDriver
NetworkDevice=XC_IpDrv.XC_TcpNetDriver
Be adviced, when editing ServerPackages and ServerActors in a XC_Engine server, find the [XC_Engine.XC_GameEngine] entry!!!
Either remove it (and apply on GameEngine), or apply the changes on said (XC_GameEngine) entry instead.

Safe to use in v469, and on ACE servers since most hacks are reverted during online sessions.


=================
Features:
=================

- Global
Makes several properties from native only classes visible to UnrealScript, player commands and edit window (win32).
* See "Object properties.txt" for a list of newly visible properties.
Collision Grid replacing the old hash, loaded from CollisionGrid (.dll/.so)
Log file size reduction by grouping log spam and displaying how much log messages repeat.
UnrealScript patcher for servers and offline play, allows replacement of code in runtime.
IPv6 support through XC_IpDrv.
FerBotz bundled as part of XC_Engine.

- Server
Moving Brush Tracker in Dedicated servers (movers block visibility checks), specific maps can be ignored.
* See "Server Exploits" for a list of patched exploits.
* See "Enhanced Netcode" for changes in relevancy netcode.
* See "TravelManager" for info on coop server enhancements.
Ability to send maps marked as 'no download' (Unreal SP content for example).

- Client / Player:
Prevents servers from using 'Open' and 'ClientTravel' commands to open local files on the client.
Clients no longer send options 'Game' and 'Mutator' in their login string.
More info displayed during file download: amount of files, data pending installation.
* See "AutoCacheConverter.txt" for info on the ingame cache converter.

====================
Other documentation:
====================
- LZMA
- Editor
- Paths Builder
- Object properties
- Self Dynamic Loading
- Script Compiler
- FerBotz


================
Extra commands.
Check other documentation files for more commands.

================
- EditObject Name=Objectname Skip=skipcount
Client, Win32 only.
Brings up a property editor dialog of an object with a specified name.
Skip= is optional and can be used to bring up a newer objects with said name.

Example: "EditObject Name=MyLevel Skip=1" Brings up play level's XLevel properties.
Example: "EditObject Name=MyLevel" Brings up Entry level's XLevel properties.

- DumpObject Name=Objectname
Dumps object in question's memory block into a file (with the object's name), only dumps the first object with matching name.
If the object is a UFunction, then it will also save a file name FUNCTIONDATA.bin with the script code (serialized TArray<BYTE>).

- LogFields Name=classname
Logs all of the UnrealScript visible properties of the specified class, with property flags, offset, size and array count.
Boolean properties have their bitmask info logged instead of array size.

- LogClassSizes Outer=packagename(optional)
Prints in log a huge list of classes and their size in memory.
If the Outer=packagename parameter isn't used (or fails), it will print all classes's sizes.

- ToggleDebugLogs - DebugLogs
Toggles additional logging, for developers.
Disabled by default, saved in [XC_Engine.XC_GameEngine] config entry.

- ToggleRelevancy - ToggleRelevant
Requires bUseLevelHook.
Toggles XC_Level relevancy loop on net servers, see "Relevancy loop.txt" for details.

- SaveGame [game_name]
- LoadGame [game_name]
Experimental single player game save feature, should work in multiplayer games as well.

====================================
Functions patched/hooked in runtime:
====================================
See XC_Engine_Actor and XC_Engine_UT99_Actor for a full list of script patches.


=================
Credits:
=================
I would like to thank my fellow betatesters
- Chamberly
- ~V~
- Nelsona
- SC]-[LONG_{HoF}
- $carface (and the legions of Siege apes)
- AnthRAX
- SicilianKill
- KnoW

And all of Cham's development server visitors for the help in bugfixing this.
Note: Only Win32 and Linux x86 are currently supported.

Code: Select all

Changelog for 25c:
- Fixed a memory corruption issue preventing LoadGame command from working in Linux.
- Reduced Linux dependencies by disabling some obscure and little needed compiler options.
- Bundled FerBotz in a somewhat usable state.
** Note: FerBotz is as useful with AND without using the Botz, allows you to expand existing level's path networks externally.

Automatically merged

Somehow I picked up an old Cacus.dll, I apologize for that.
Updated the package with a new one.
You do not have the required permissions to view the files attached to this post.
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil

Re: XC_Engine version 25c for UT v469c (includes FerBotz)

Post by Gustavo6046 »

Great news! Especially love to hear that the FerBotz have been successfully ported over. No more lonely botmatches in Siege :rock:
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction
Old UT Veteran
Skilled
Posts: 163
Joined: Sat Mar 24, 2012 1:37 am

Re: XC_Engine version 25c for UT v469c (includes FerBotz)

Post by Old UT Veteran »

Gustavo6046 wrote: Wed Nov 02, 2022 11:52 pm Great news! Especially love to hear that the FerBotz have been successfully ported over. No more lonely botmatches in Siege :rock:
Which version of siege is botz compatible?
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 25c for UT v469c (includes FerBotz)

Post by Higor »

Old UT Veteran wrote: Thu Nov 03, 2022 2:37 pm
Gustavo6046 wrote: Wed Nov 02, 2022 11:52 pm Great news! Especially love to hear that the FerBotz have been successfully ported over. No more lonely botmatches in Siege :rock:
Which version of siege is botz compatible?
None, even when it used to work only the first 10 minutes of normal gameplay (realistically speaking) were somewhat supported.
Old UT Veteran
Skilled
Posts: 163
Joined: Sat Mar 24, 2012 1:37 am

Re: XC_Engine version 25c for UT v469c (includes FerBotz)

Post by Old UT Veteran »

Higor wrote: Thu Nov 03, 2022 8:33 pm None, even when it used to work only the first 10 minutes of normal gameplay (realistically speaking) were somewhat supported.
To be honest, wouldn't mind playing a stripped down version of Siege that plays out similar to ut2k4 onslaught, but without all the additional features and fortifications.
Attack and destroy enemy base, standard weapons only, basic bot support.
User avatar
sektor2111
Godlike
Posts: 6397
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine version 25c for UT v469c (includes FerBotz)

Post by sektor2111 »

It would be awesome to do a check concerning how are added ReachSpecs into the paths lists from nodes if it comes to XC_PathsBuilder and "Jeronimo paths" having 1500+ length for jumping down are just hilarious...
I did not run this so far but I see new fantasies in two recent maps... These things are not shown by MapGarbage since "DescribeSpec" doesn't include a full description of a ReachSpec.
You can have a clue about how to mess paths in here...
viewtopic.php?f=5&t=15511&p=139296#p139296
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil

Re: XC_Engine version 25c for UT v469c (includes FerBotz)

Post by Gustavo6046 »

The next thing i eagerly look forwards to is Linux x64 support, following in the footsteps of the OldUnreal patch development itself.

Nice stuff Higor, it's crazy to see XC_Engine is still maintained after all these years. Keep rocking on!
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

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

Re: XC_Engine version 25c for UT v469c (includes FerBotz)

Post by sektor2111 »

@Gustavo6046
Have you examined recent version what it does ?
Except hands clapping, usually I'm tempted to check a new release of something. This time I did not even installed it and I already deleted the archive.
Gustavo6046 wrote: Sun Nov 13, 2022 1:38 am Keep rocking on!
Um... I want some Disco/Pop if possible...
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil

Re: XC_Engine version 25c for UT v469c (includes FerBotz)

Post by Gustavo6046 »

sektor2111 wrote: Sun Nov 13, 2022 12:53 pm @Gustavo6046
Have you examined recent version what it does ?
Except hands clapping, usually I'm tempted to check a new release of something. This time I did not even installed it and I already deleted the archive.
Basically it was ported to v469c. Surely there are other minor changes, you'll have to check a changelog.

Oh, and FerBotz!
sektor2111 wrote: Sun Nov 13, 2022 12:53 pm
Gustavo6046 wrote: Sun Nov 13, 2022 1:38 am Keep rocking on!
Um... I want some Disco/Pop if possible...
And a hearty dash of acid eletronica!
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction
User avatar
fudgonaut
Adept
Posts: 362
Joined: Sat Oct 05, 2013 7:20 am
Personal rank: Easy Target
Location: "The Butthole of the World"

Re: XC_Engine version 25c for UT v469c (includes FerBotz)

Post by fudgonaut »

Line 14 of the readme.txt says
See "XC_Setup.txt" for more info.
But I could not find the file XC_Setup.txt in the .7z archive

Does this file need to be added, or is it no longer relevant (in which case, line 14 should be removed)?

I ask because when I run XC_Enable.bat I see the line "Commandlet XC_Setup not found" and I'm not sure if I should ignore this or perhaps there is information about it in XC_Setup.txt

xc_setup_not_found.jpg
You do not have the required permissions to view the files attached to this post.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 25c for UT v469c (includes FerBotz)

Post by Higor »

XC_Setup has a dependency in XC_Core, if it fails to load then XC_Core is failing to load as well.

But you can double check by running a simple summon command, class name doesn't matter.

Code: Select all

summon XC_Core.test
See what the game log outputs, if it says package XC_Core isn't found then you're missing a dependency.
One I can think of is ucrtbase.dll
User avatar
fudgonaut
Adept
Posts: 362
Joined: Sat Oct 05, 2013 7:20 am
Personal rank: Easy Target
Location: "The Butthole of the World"

Re: XC_Engine version 25c for UT v469c (includes FerBotz)

Post by fudgonaut »

Higor wrote: Sat Nov 19, 2022 5:53 pm See what the game log outputs
Unfortunately I can't enter console command, I get the following errors when I try to launch the game:

xc_errors.jpg
(My UT99_XC directory is a vanilla UT install with the 469c patch applied)
You do not have the required permissions to view the files attached to this post.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine version 25c for UT v469c (includes FerBotz)

Post by Higor »

divsufsort is supposed to be one of Core's exports, send me your Core.dll.
User avatar
debilman69
Average
Posts: 44
Joined: Wed Sep 18, 2019 2:19 am
Personal rank: yes
Location: Canada,Montreal

Re: XC_Engine version 25c for UT v469c (includes FerBotz)

Post by debilman69 »

Got this error too with windows !
You do not have the required permissions to view the files attached to this post.
ImageImage


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

Re: XC_Engine version 25c for UT v469c (includes FerBotz)

Post by Higor »

Reapply the latest v469c patch.