Skip to content
This repository has been archived by the owner on Jul 15, 2023. It is now read-only.

XC_Core

Compare
Choose a tag to compare
@CacoFFF CacoFFF released this 10 Feb 19:31
· 31 commits to master since this release

XC_Core version 8 update.

Linux build requires Core.so build that exports __Context::Env symbol.

Added/improved APIs for use in other native packages:

  • FThread
  • FMallocThreadedProxy
  • Atomics
  • FOutputDeviceFileXC
  • FOutputDeviceInterceptor
  • API_FunctionLoader

== FThread:
Simple multithreader abstraction, lets the coder easily run new threads
without resorting to platform-specific code.

== FMallocThreadedProxy:
Uses spinlocks to prevent multiple threads from using the game's allocator.
Allows launchers to implement the proxy without importing from XC_Core.dll

== FOutputDeviceFileXC:
Improved log output device for launchers and UCC apps.
Safe to log lines of any char length.
Uses Windows \r\n newline characters regardless of platform.
Adding -logflush to the app's command line will force flush after every line.
The log file can be opened in read-only mode while the app is still running.
If two apps attempt to use the same filename, another file with a '_2' appended to it will be used.

== FOutputDeviceInterceptor:
Remembers last 16 logs and in case of seeing a repeating pattern, it'll
simply indicate how many times the last X (1 to 16) lines repeat instead
of printing everything.
When the game enters into 'Critical' shutdown stage, a new timestamped
log file will be created with the Critical lines logged on it.
The interceptor also has a spinlock system to ensure thread safe operations.

XC_Core package downloader changes:

  • Uses asynchronous decompression.
  • More reliable file writing.

Added BrushToMesh native for use in Unreal Editor.