Archerock Posted Wednesday at 09:21 PM Posted Wednesday at 09:21 PM 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".: 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! Quote
911reg Posted Wednesday at 11:54 PM Posted Wednesday at 11:54 PM 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. Quote
Archerock Posted Thursday at 01:01 PM Author Posted Thursday at 01:01 PM 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? Quote
ratchet Posted Thursday at 06:15 PM Posted Thursday at 06:15 PM Try to use the ucc of UnrealEd, not the ucc found inside your interface compiler Quote
911reg Posted Saturday at 05:09 PM Posted Saturday at 05:09 PM 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) Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.