Jump to content

Recommended Posts

Posted

I wish to make a compile of Classic Interlude Client - generally it is modified client of Grand Crusade with protocol 110. I am able to compile a new Interface based on Grand Crusade Client Compiler archive and even it works, but... I found that UE Explorer 1.4.5  able to decompile just Interface.u package. For Instance Core.u and Engine.u I can't decompile with. it thrwong message that "This package has unknown signature".:
image.png.69fee092655fc8b12f0bf95a9b35df2b.png

I also installed UT Package Tool v2.0 beta 5 - and I able to decompile package.... but the source code that it produce Compile can't  recognize:
 

Compiler_Interface-Grand_Crusade\Core\Classes\Object.uc(25) : Error, Unrecognized type 'Vector'
Compile aborted due to errors.
Failure - 1 error(s), 0 warning(s)

 

More over, I found that UE Explorer source code that produce UT Package Tool are sligtly different, for instanse :
 

function openDialogNumpad (INT64 Adena)
{
  Class'UICommonAPI'.DialogSetID(200001);
  Class'UICommonAPI'.DialogSetEditType("number");
  Class'UICommonAPI'.DialogSetParamInt64(Adena);
  Class'UICommonAPI'.DialogSetDefaultOK();
  Class'UICommonAPI'.DialogShow(1,6,GetSystemString(3138),string(self));
}

function HandleDialogCancel ()
{
}

function HandleDialogOK ()
{
  local INT64 inputNum;
  local int Id;

  if (  !Class'UICommonAPI'.DialogIsOwnedBy(string(self)) )
  {
    return;
  }
  Id = Class'UICommonAPI'.DialogGetID();
  if ( Id == 200001 )
  {
}

 

UE Explorer:

 

function openDialogNumpad(INT64 Adena)
{
    Class'UICommonAPI'.static.DialogSetID(200001);
    Class'UICommonAPI'.static.DialogSetEditType("number");
    Class'UICommonAPI'.static.DialogSetParamInt64(Adena);
    Class'UICommonAPI'.static.DialogSetDefaultOK();
    Class'UICommonAPI'.static.DialogShow(1, 6, GetSystemString(3138), string(self));
    return;
}

function HandleDialogCancel()
{
    return;
}

function HandleDialogOK()
{
    local INT64 inputNum;
    local int Id;

    // End:0x19
    if(!Class'UICommonAPI'.static.DialogIsOwnedBy(string(self)))
    {
        return;
    }
    Id = Class'UICommonAPI'.static.DialogGetID();
    // End:0x87
    if(Id == 200001)
    {
        inputNum = (Class'UICommonAPI'.static.DialogGetString());
        CallGFxFunction("AdenaDistributionWnd", "HandleDialogOK", (inputNum));
    }
    return;
}

 

 

It seems like compiler requires to have return, cause otherwise it throws:
 

Compiler_Interface-Grand_Crusade\Interface\Classes\AdenaDistributionWnd.uc(96) : Error, Unexpected end of file at end of Class
Compile aborted due to errors.
Failure - 1 error(s), 0 warning(s)

 

After considering compilers and content of UE Explorer and UT Package Tooll I found that it seems like they noth rely on UCC . I also found documentation how to use it :

UCC-wiki

 

BatchExport

  • Package: Editor
  • Syntax: batchexport package.ext classname export_ext [path]
  • Availability: Unreal v226* onwards, UT v436 onwards, Unreal II, UT2003, UT2004.

Exports resources from Unreal packages in bulk.

  • package.ext: Package whose objects you wish to export. Extension and directory are optional: (e.g. Botpack.u, ..\Maps\CTF-Face.unr or just CTF-Face)
  • classname: The type of objects to export from the package. It can be one of class, texture, sound, music, level, model, polys or textbuffer.
  • export_ext: Extension used for the exported files. The accepted file extensions per class are as follows:
  • class: uc, h.
  • texture: bmp, pcx.
  • sound: wav.
  • music: s3m, xm, it or any other tracker format.
  • level, model and polys: t3d. level exports the complete map with all actors and brushes; model exports all the brushes used in a map (with the red builder being Brush.t3d while the other brushes being Model##.t3d); and polys exports polygons (?) to files named Polys#.t3d.
  • textbuffer: txt. Exports all kinds of text sources in the package. Script code is exported as ScriptCode.txt for each class, so the files will instantly overwrite each other. Maps have an additional text buffer with camera settings for UnrealEd.
  • path: Path to export files to, like C:\MyPath.

 

but when I tried to execute it:

 

\Compiler_Interface-Grand_Crusade\System>UCC.exe batchexport Interface.u class uc Classes\
=======================================
ucc.exe: UnrealOS execution environment
Copyright 2001 Epic Games Inc
=======================================

Commandlet batchexport not found

 

 

So, please help me to found proper decompiler. Many thanks!

 

Posted

You can't extract that with UE Explorer because you haven't decompressed the files. 

https://prnt.sc/VwM8ISeUppuP

 

However, you won't get 'clean' source files with utpt nor ue explorer, you can maybe make some sort of frankenstein on your current compiler's engine.u by using the scripts extracted from ue explorer as reference, manually adding missing scripts/parts of the .uc scripts that don't exist in your current compiler, etc.

The reason why you get an error when using batchexport, is because your compiler is probably missing some file.
usually your .ini should look sorta like this:

EditPackages=Core
EditPackages=Engine
EditPackages=Editor
EditPackages=Fire

and batchexport should work fine. However, this will probably also not give you the result that you expect.

 

Whichever way you use to decompile those files, you'll have to do some manual work, shouldn't take more than a couple of hours, or maybe a few minutes depending on what you're trying to do.

Posted
13 hours ago, 911reg said:

You can't extract that with UE Explorer because you haven't decompressed the files. 

https://prnt.sc/VwM8ISeUppuP

 

However, you won't get 'clean' source files with utpt nor ue explorer, you can maybe make some sort of frankenstein on your current compiler's engine.u by using the scripts extracted from ue explorer as reference, manually adding missing scripts/parts of the .uc scripts that don't exist in your current compiler, etc.

The reason why you get an error when using batchexport, is because your compiler is probably missing some file.
usually your .ini should look sorta like this:

EditPackages=Core
EditPackages=Engine
EditPackages=Editor
EditPackages=Fire

and batchexport should work fine. However, this will probably also not give you the result that you expect.

 

Whichever way you use to decompile those files, you'll have to do some manual work, shouldn't take more than a couple of hours, or maybe a few minutes depending on what you're trying to do.

 

I wish to decompile all package to create not only interface, but other packages compiler. I have found for instance that my version of Core.u contains additional class named HelloWorldCommandlet , that original Grand Crusade provided but Client Compiler, so I wish to revise existing package and able to modify them if needed.

 

16 hours ago, 911reg said:

You can't extract that with UE Explorer because you haven't decompressed the files. 

https://prnt.sc/VwM8ISeUppuP

 

However, you won't get 'clean' source files with utpt nor ue explorer, you can maybe make some sort of frankenstein on your current compiler's engine.u by using the scripts extracted from ue explorer as reference, manually adding missing scripts/parts of the .uc scripts that don't exist in your current compiler, etc.

The reason why you get an error when using batchexport, is because your compiler is probably missing some file.
usually your .ini should look sorta like this:

EditPackages=Core
EditPackages=Engine
EditPackages=Editor
EditPackages=Fire

and batchexport should work fine. However, this will probably also not give you the result that you expect.

 

Whichever way you use to decompile those files, you'll have to do some manual work, shouldn't take more than a couple of hours, or maybe a few minutes depending on what you're trying to do.

 

 

My l2.ini :
 

[Engine.Engine]
EditorEngine=Editor.EditorEngine

[Core.System]
Paths=../System/*.u

[Editor.EditorEngine]
CacheSizeMegs=32

EditPackages=Core
EditPackages=Engine
EditPackages=Fire
EditPackages=Editor
EditPackages=NWindow
EditPackages=Interface

 

I have unpacked Core.u, Engine.u and now can properly vuew them throw the UE Explorer, but batchexport are still printing:
 

\Compiler_Interface-Grand_Crusade\System> ./UCC.exe batchexport Editor.u class ./Classes

=======================================
ucc.exe: UnrealOS execution environment
Copyright 2001 Epic Games Inc
=======================================

Commandlet batchexport not found

 

 

Maybe some wrong syntax on windows pc?

 

16 hours ago, 911reg said:

You can't extract that with UE Explorer because you haven't decompressed the files. 

https://prnt.sc/VwM8ISeUppuP

 

However, you won't get 'clean' source files with utpt nor ue explorer, you can maybe make some sort of frankenstein on your current compiler's engine.u by using the scripts extracted from ue explorer as reference, manually adding missing scripts/parts of the .uc scripts that don't exist in your current compiler, etc.

The reason why you get an error when using batchexport, is because your compiler is probably missing some file.
usually your .ini should look sorta like this:

EditPackages=Core
EditPackages=Engine
EditPackages=Editor
EditPackages=Fire

and batchexport should work fine. However, this will probably also not give you the result that you expect.

 

Whichever way you use to decompile those files, you'll have to do some manual work, shouldn't take more than a couple of hours, or maybe a few minutes depending on what you're trying to do.

 

 

My l2.ini :
 

[Engine.Engine]
EditorEngine=Editor.EditorEngine

[Core.System]
Paths=../System/*.u

[Editor.EditorEngine]
CacheSizeMegs=32

EditPackages=Core
EditPackages=Engine
EditPackages=Fire
EditPackages=Editor
EditPackages=NWindow
EditPackages=Interface

 

I have unpacked Core.u, Engine.u and now can properly vuew them throw the UE Explorer, but batchexport are still printing:
 

\Compiler_Interface-Grand_Crusade\System> ./UCC.exe batchexport Editor.u class ./Classes

=======================================
ucc.exe: UnrealOS execution environment
Copyright 2001 Epic Games Inc
=======================================

Commandlet batchexport not found

 

The help command of UCC:

Compiler_Interface-Grand_Crusade\System> ./UCC help
=======================================
ucc.exe: UnrealOS execution environment
Copyright 2001 Epic Games Inc
=======================================

Usage:
   ucc <command> <parameters>

Commands for "ucc":
   ucc help <command>        Get help on a command
   ucc mastermd5 [*.ext {*.ext ...} ] Generate the master MD5 table
   ucc server                Network game server

 

Maybe some wrong syntax on windows pc?

 

Posted

Could also be the case that you're missing editor.int in your compiler's folder.
 

[Public]
Object=(Name=Editor.BatchExportCommandlet,Class=Class,MetaClass=Core.Commandlet)
Object=(Name=Editor.BatchDecompileCommandlet,Class=Class,MetaClass=Core.Commandlet)

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • I had friends who played on Elegant and I can confirm it wasn't a bad server. I don't know about the AI bots running around, but in my opinion the price is simply too high. I don't think many people will spend that much money on Lineage 2 files when alternatives like L2Scripts already exist.   Of course it's all about personal preference, but for such an old chronicle the price seems ridiculously expensive. Modern chronicles usually offer more value.   Anyway, I wish you the best of luck with the sale. This is just my personal opinion. Whoever likes it, good for them, and whoever doesn't, that's fine too. Everyone has different preferences.
    • https://l2avokado.com/ Hello everyone,   After some time of development, we've decided to open L2Avokado to the public in its current development stage. We're looking for players who enjoy Interlude and would like to help shape the project before its official release.   This isn't a "launch" announcement. Instead, we're inviting the community to log in, explore the server, test the systems we've built, and provide honest feedback. Whether it's bug reports, balance suggestions, progression ideas, or quality-of-life improvements, we'd love to hear them.   Our goal has always been to create an Interlude server that feels familiar while offering a fresh progression experience. We've intentionally avoided custom weapons, armor, and client modifications. Instead, we've focused on redesigning progression through reworked hunting grounds, quests, crafting, and gameplay systems while remaining compatible with a clean Interlude client.   At this stage, the core progression path has been implemented, including the main hunting grounds, quests, custom systems, and events. However, as the project is still under active development, there will inevitably be bugs, balance issues, and areas that require further polishing.   This is exactly why we'd like your help.   We're looking for players who are willing to: Test gameplay and progression. Report bugs and exploits. Suggest balance improvements. Share ideas for new features or quality-of-life changes. Help us build a server that the community genuinely enjoys playing.   The Client and System downloads are already available on our website, so you can jump straight into the game. We're also working on a dedicated launcher that will simplify installation and future updates.   If you're interested in helping develop a unique Interlude project and want your feedback to genuinely influence the direction of the server, we'd love to have you with us.   We look forward to seeing you in-game and hearing your thoughts on Discord. https://l2avokado.com/
    • Mate your server used to play with full of bots, from where you find that revenue? 
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..