Download mod SXC Extractor Tool v1.20.5.8 (1.43.x) for ETS2 | Euro Truck Simulator 2 game.
Certain SCS game data file (e.g. core.scs and locale.scs) has directory structures stripped for some reason. To work with such kind of file which is returning "no root path" error message, put additional "-137243" switch when working with the file for the first time. Next time accessing the same file there is no need to use the switch as long as the game data file isn't updated and the associated index file (*.idx) intact.
- Reworking ZIP format handler to support new obfuscated algorithms. (thanks to "salessao2" for the samples);
- Minor fixes and improvements.
Prologue
The SCS Extractor has been introduced years ago, widely used by most modders
to extend the functionality and gameplay experiences on both SCS popular games
Euro Truck Simulator 2 and American Truck Simulator. Even though it's handy
and useful, SCS Extractor has a big disadvantage: lack ability of selective
file extraction. Came from that limitation, the SXC Extractor was written.
SXC Extractor (can be pronounced as Sexy Extractor) is another level compared
to the predecessor. It has list mode, able to selectively extract or list
contents based on certain criteria, and also support extracting mod zipped
files even with the "encrypted" ones. SXC Extractor however does not provide
ability to compress or recompress. As its name says it just an extractor tool.
Basic Usage
===========
SXC Extractor is a console program runs under Microsoft Windows. Like the
predecessor, it is a simple text based application. No fancy GUI and no
bullsh*t. It comes without installer. Extract the SXC Extractor package using
any ZIP Archiver program onto a destination folder of your choice. From
Windows Explorer, press Shift + Right Click on the extracted destination
folder then choose a menu item labeled as "Open Command Prompt from here" or
"Open Power Shell from here" depending on your Windows version. Running SXC
Extractor can be done by typing:
sxc
Or under Power Shell console:
.\sxc.exe
After typing, press the Enter key on the keyboard to actually execute the
application. Running extractor without any parameter will just display a usage
tips of parameter description, which will have described more details here.
Working with Files
SXC Extractor requires at least one parameter in order to function. You need
an input file to be processed, either SCS native game data/DLC files (with
.scs extension) or mod zipped files (with .scs or .zip extension). It can be
typing like this:
sxc thefile.scs
Or:
.\sxc.exe thefile.zip
Note the argument is preceding with a space character. Each argument must be
separated with at least one space character. If an argument contains spaces,
you should enclose it with double-quotes. Take a look at this example for
input file that containing long path and spaces:
sxc "C:\Program files (x86)\Steam\steamapps\common\Euro Truck Simulator 2\def.scs"
Typing long argument can be a painful task especially if you don't know how
to copy a fully qualified path with file name and pasting it into Windows
console. SXC Extractor allow you to select a file in an easy way through Open
File dialog. Use an -i switch (lowercase letter 'I') as replacement of input
file into the argument as follow:
sxc -i
It will bring you a popup dialog window to select a file. Pressing Cancel
button on the dialog will abort the operation, and display usage tips as if
you run the program without argument.
Another trick is by creating a Windows shortcut and store it in the same
folder of SXC Extractor. For example, if you create a shortcut that
pointing to actual "base.scs" file on Steam folder with the shortcut file name
it as "base.scs" and store it in SXC Extractor folder, you can supply this
shortcut as the input file argument:
sxc base.scs
Or:
sxc base.scs.lnk
When working with SCS native game data/DLC input file, SXC Extractor will
create an associate index file (with .idx extension) and store it at the same
folder where SXC Extractor stored. The index file will be created when opening
input file at the first time, or re-created when the input file gets update.
Index file is required in the purpose of speed up process to work with the
same input file later. Note that there'll be no index file being generated
when working with mod zipped file.
List Mode and Extraction
========================
If supplying with only input file, SXC Extractor works under list mode. List
mode is where you are able to see the list of items (files and folder paths)
within the input file without actually extracting them. By default, only files
with their own path are listed. To extract these items, you have to supply the
output path argument as target extraction folder.
Output path argument must be pointing to an existing folder with write access
permission. Avoid supplying path to system folders as they might have special
access permission that may not granted to Windows user currently logged in.
Output path is specified by an -o switch (lowercase letter 'O') followed by
the target folder path like this:
sxc myfile.scs -o C:\Temp
If the target folder path containing spaces, as usual you must enclose it with
double-quotes, like this:
sxc myfile.scs -o "C:\My projects\ets2 mod"
SXC Extractor allow you to select target folder path by selecting it from a
folder selection dialog. Instead of using an -o switch, replace it with an -od
switch like this:
sxc myfile.scs -od
On execution, it will ask for target folder location through a dialog window.
Pressing the Cancel button on the dialog will abort target folder path
selection and automatically fallback into the list mode. For security reason,
SXC Extractor does not natively support folder shortcut or logical folder such
as a ZIP file.
Base Path and Wildcard Filtering
================================
The main feature of SXC Extractor is the ability to list or extract selective
files. This is done through the -d and -f switches (lowercase letter 'D' and
'F' respectively). The -d switch is used to specify the base path as working
root path. Any items on input file where outside this path will be ignored and
excluded from the process. Specify this base path as second argument after the
-d switch, as shown in this example:
sxc base.scs -d unit/hookup/
This will list all items under "unit/hookup/" path on the "base.scs" input
file. Just take a look at another example:
sxc def.scs -o C:\Temp -d \def\world
This will extract all files under "def\world\" path in input file "def.scs"
and store those files into "C:\Temp" folder. Even though you specify a base
path, the results of extracted files still maintain the original directory
structures. From the above example, those files (and subfolders if any) can be
found in "C:\Temp\def\world" folder. It works that way to allow modders
working with their mods and keep directory structures in place. Note that you
can specify slash or backslash character as delimiter in the base path, with
or without leading and trailing path delimiter.
The -f switch allow you to filter items in input file based on '*' (asterisk)
and '?' (question mark) pattern characters. The text pattern follows after the
switch. Asterisk character means "anything else" while the question mark means
"any one character". These pattern characters can be placed anywhere, single
or multiple times. For example, a pattern "*side" will match any text trailing
with "side", so these text will match:
from the inside
beyond the outside
but these text won't:
for the insider
both the sideways
A pattern "the*" will match any text leading with "the", so these text will
match:
the brown fox
there'll be only one
but these text won't:
other than him
mother nature
A pattern "*ing*" will match any text contains "ing", so all these text will
match:
ingredients of soup
made for anything
the ingenious winglets
A pattern "*mo*th*" will match any text contains "mo" followed any text
contains "th", so these text will match:
monthly income
up to his mother
The pattern with question mark will find any matches fit into single
character. For example, a pattern "ab?de" would match a word like "abcde",
"ab1de", "ab de", etc. A pattern "some?????" will match word "something",
somewhere", or "somewhat." (notice the trailing period character). You may
combine both asterisks and question marks on the pattern. For example, a
pattern "*h??self" will match "himself" or "ask to herself".
The -f switch if used alone without the -d switch will find any matches
pattern to the entire item names (file and path) in the input file. If the
-d switch takes place, matches pattern affect only to all items under the base
path specified in -d switch. Let's have a look for few usage examples of -f
switch as follows:
sxc base.scs -f unit/hookup/*
This will list all items under "unit/hookup/" path. The usage actually has
similar result when using the -d switch like this:
sxc base.scs -d unit/hookup/
The difference is the -d switch is much faster than the -f switch. Consider
this when working with input file containing lots of items.
sxc base.scs -f *adviser*
This will try to find any file and path containing word "adviser" and display
matching results as the list of files.
sxc base.scs -f *adviser* -d ui -o C:\Temp
This will extract any files containing "adviser" under path "ui/" and store
the extracted files into "C:\Temp" folder. Practically this is will extract
all Route Advisor layout definition files.
Advanced Filtering
==================
SXC Extractor support multiple set of filtering criteria. This is allow you
to perform multiple filtering in a single pass. Just create a pure text file
containing several filtering criteria, where each line represent one set of
both base path and wildcard filtering. This example defines three filtering
criteria to filter only items related to Route Advisor:
material/ui/adviser
sound/ui/adviser/&&*adviser*
ui/&&adviser*
Each line may define either base path, wildcard filtering, or both. Base path
and wildcard filtering are separated by two ampersand characters (&&). If you
define only wildcard filtering, prepend ampersands separator before wildcard
pattern like this:
&&*adviser*
To let them easy to read, you can put spaces or tabs between ampersands
separator. The above example can be defined like this:
material/ui/adviser
sound/ui/adviser/ && *adviser*
ui/ && adviser*
Save these filtering definitions as a text file and put the text file name
prepend with an '@' (at) character after the -d switch. For example:
sxc base.scs -d @adviser_filter.txt -o C:\Temp
If you save the multiple filtering definition file with a name containing
spaces, don't forget to enclose it with double-quotes:
sxc base.scs -d "@C:\My Filters\Adviser Definition.txt" -o C:\Temp
Please note when you define advanced filtering this way, the -f switch will
be ignored. Advanced filtering may be handy when you working with a mod that
contains asset's complexity involving many files.
For security reason, SXC Extractor will reject filtering definition file which
is larger than 32 Kb in size, containing non-standard ASCII text. In short,
it accept only pure 7-bit ASCII text file with size less than 32,768 bytes.
Output Suppression
==================
By default, SXC Extractor will be displaying all messages and errors. You can
hide unnecessary messages by supplying the -q switch (lowercase letter 'Q').
To hide error messages as well, use -qe switch instead. Message suppression
will be handy when launching SXC Extractor through a batch script, interfacing
with third-party application, or redirecting output to other device. The
following example will be saving all list of files in "base.scs" into a text
file called "list_base.txt":
sxc base.scs -qe > list_base.txt
List Mode and Page Pausing
==========================
When displaying files under List Mode, it will scroll to the last line. If
working with lots of items, you can use -p switch to allow a pause message
appears every 24 lines (default). For example:
sxc base.scs -p
To allow pause message appears every n lines, use -p:n switch. This example
will show pause message every 50 lines:
sxc base.scs -p:50
It is accepting minimum 3 lines and maximum 99 lines. Please note the -p
switch doesn't affect when working with message suppression through -q or
-qe switch.
List Mode Display
=================
SXC Extractor by default will list files under List Mode. This behavior is
similar to when supplying the -l1 switch (lowercase letter 'L') into the
argument. To list both files and path, you can use the -l0 switch. The -l2
switch is used to display only paths. This switch mainly intended in the
purpose of interfacing with third-party application. Please note SXC Extractor
does not provide ability to "extract" paths only. Extract operation always
applies to files.
Force Mode
==========
This function only applies to SCS game data/DLC files. You must supply the -X
switch (uppercase letter 'x') in order this mode to works. It will list or
extract all files stored in input file into a single level folder hierarchy.
This mode will be useful when working with game data/DLC files that has no
root directory or their directory structures has been stripped off. Please
note since there is no directory information, the path and file names are
unknown. All files being listed or extracted will be named to their associated
hash code followed by the .DAT extension. For example:
sxc core.scs -o C:\Temp -X
Please note when working with Force Mode, the -d (base path), -f (wildcard
filter), and -l (list display) switches are ignored since they are no longer
relevant under this mode.
Quit Prompt Message
===================
When working with batch script or running through a shortcut, you may consider
to put a confirmation message before SXC Extractor quit and closing console
window. This can be done by putting the -c switch (lowercase letter 'C') into
the argument. This let SXC Extractor showing a confirmation message asking to
press a key before quit. You can specify a countdown delay with -c:n switch to
allow application quit by itself after n seconds. For example, this will
prompt user to press a key and quit automatically after 10 seconds:
sxc -c:10
The countdown delays are ranged from 3 to 60 seconds. Please note the -c
switch doesn't affect when working with message suppression through -q or
-qe switch.
Epilogue
========
SXC Extractor has no relation to the original SCS Extractor and is not
affiliated with SCS Software. SXC Extractor made by user for users. It offers
similar functionality as the predecessor with additional features and
improvements. Since it is useful and proven handy for me (the author), hope it
is also useful and handy for you especially the modders. Have fun, keep
trucking, and happy modding!
Supported Operating System
==========================
- Microsoft Windows 2000
- Microsoft Windows XP
- Microsoft Windows Vista
- Microsoft Windows 7
- Microsoft Windows 8
- Microsoft Windows 8.1
- Microsoft Windows 10
Program Return Codes
====================
0 = No error
-1 = Internal error
-2 = Invalid argument
-3 = Input file not found
-4 = Unable to open input file
-5 = Unable to read input file
-6 = Invalid input file
-7 = Target path not found or invalid
-8 = Unable to complete the process
-9 = Unable create path for extraction
-10 = Unable to extract a file
-11 = Input file has no base root
-12 = An entry not found in input file
-13 = Unable to get directory structure
-14 = Empty directory structure
-15 = A file entry pointing to root path
-16 = Unable to create index file
-17 = Unable to load index file
Version History
===============
1.19.9.7
- Initial public release
[EOF]