Not sure if anyone else has pointed this out before, I've used this tool for years. If all you want to do is de compile the pex file simply make a copy place it in the folder with the Champolion.exe, grab the pex file with you mouse and drop on to the exe file. A psc version of the file will appear. edit away.
I keep getting errors when compiling scripts decomipilated with champollion. the decompiled code is also sometimes very different from the original source code.
they are mainly event and function errors.
like this: FPFP_Player_Script.psc(143,22): fpfp_player_script_DoReset is not a custom event on fpfp_player_script or one if its parents FPFP_Player_Script.psc(161,58): OnPlayerLoadGame is not an event on scriptobject or one if its parents FPFP_Player_Script.psc(162,56): OnPlayerLoadGame is not an event on scriptobject or one if its parents FPFP_Player_Script.psc(165,22): fpfp_player_script_DoUpdate is not a custom event on fpfp_player_script or one if its parents FPFP_Player_Script.psc(278,22): fpfp_player_script_FPFP_GiveBirth is not a custom event on fpfp_player_script or one if its parents
with Champ decompiled: Self.SendCustomEvent("fpfp_player_script_DoUpdate", Args)
original Source code: SendCustomEvent("DoUpdate", Args)
and then the casting for variables is often missing. But I'm not sure if some of the casting is unnecessary anyway, because the type was already defined before.
from float value = 1.0
was changed to fload value = 1
which of course again led to errors during compilation.
Am i doing something wrong or do i have to rework everything manually?
Does this version just add stuff to the Skyrim version but still work with Skyrim PEX files, or does it produce output that Skyrim cannot recompile and use? The old Skyrim version of this has at least two problems which I hope are fixed in this one: it converts Events to Functions (which have a different syntax in the header parameters, and might have colliding names), and it uncomments some commented-out things like Debug.Trace lines.
This compiler completely broke the scripts Im trying to edit. Is there any other alternative? I dont think the dev of the scripts I want to edit will ever release their sources..
63 comments
Champollion Graphical User Interface
https://www.nexusmods.com/skyrim/mods/82367?tab=files&file_id=10002371
for less adept user
and thanks for this litte tool
i know CMD, i just dont wanna deal with it right now so this is perfect.
https://www.nexusmods.com/skyrimspecialedition/mods/92452
https://github.com/Orvid/Champollion
https://github.com/eckserah/Champollion/releases/tag/1.0.7
I keep getting errors when compiling scripts decomipilated with champollion.
the decompiled code is also sometimes very different from the original source code.
they are mainly event and function errors.
like this:
FPFP_Player_Script.psc(143,22): fpfp_player_script_DoReset is not a custom event on fpfp_player_script or one if its parents
FPFP_Player_Script.psc(161,58): OnPlayerLoadGame is not an event on scriptobject or one if its parents
FPFP_Player_Script.psc(162,56): OnPlayerLoadGame is not an event on scriptobject or one if its parents
FPFP_Player_Script.psc(165,22): fpfp_player_script_DoUpdate is not a custom event on fpfp_player_script or one if its parents
FPFP_Player_Script.psc(278,22): fpfp_player_script_FPFP_GiveBirth is not a custom event on fpfp_player_script or one if its parents
with Champ decompiled:
Self.SendCustomEvent("fpfp_player_script_DoUpdate", Args)
original Source code:
SendCustomEvent("DoUpdate", Args)
Original Code:
CustomEvent DoUpdate
CustomEvent DoCleaning
CustomEvent DoReset
CustomEvent SendBasePreg
CustomEvent DebugDataDump
CustomEvent FPFP_GiveBirth
CustomEvent FPFP_GetPregnant
this is completely missing in the decompiled code
and then the casting for variables is often missing.
But I'm not sure if some of the casting is unnecessary anyway, because the type was already defined before.
from
float value = 1.0
was changed to
fload value = 1
which of course again led to errors during compilation.
Am i doing something wrong or do i have to rework everything manually?
1) Fragments aren't surrounded with comments, it makes CK to not loading them
Example:
////////ORIGINAL CODE
;BEGIN FRAGMENT CODE - Do not edit anything between this and the end comment
;BEGIN FRAGMENT Fragment_Stage_0000_Item_00
Function Fragment_Stage_0000_Item_00()
;BEGIN CODE
Self.SetStage(10)
;END CODE
EndFunction
;END FRAGMENT
;END FRAGMENT CODE - Do not edit anything between this and the begin comment
////////DECOMPILED
Function Fragment_Stage_0000_Item_00()
Self.SetStage(10)
EndFunction
CK doesn't load it because of missing comments like "BEGIN FRAGMENT CODE - Do not edit..."
2) Some debug functions seems to be missing too, like Trace()
3) Declaring Structs from another file.
////////ORIGINAL CODE
MyStructs:CustomTemplate stCustomTemplate = new MyStructs:CustomTemplate
////////DECOMPILED
MyStructs#CustomTemplate stCustomTemplate = new MyStructs#CustomTemplate
"#" replaces ":".
4) Properties with default value (float)
////////ORIGINAL CODE
float Property fHealthOffset = 100.0 Auto Const
////////DECOMPILED
float Property fHealthOffset = 100 Auto Const
- it wont compile because it tries to assign int to float
I read somewhere to load them up in the CK and then compile papyrus scripts but It does not show them in the script list
Any help?