#How to correctly decompile Celeste?

20 messages · Page 1 of 1 (latest)

dreamy sentinel
#

I tried to use dnSpy to decompile orig\Celeste.exe, and it gave me some using System.(something) lines and a bunch of [assembly: (something)] lines, but nothing else apart from some comments at the top.
I can click things in dnSpy to take me to different parts of the code, but when I try to save the decompiled Celeste.exe and open it in vscode it only saves the one file with the using and assembly lines. Is there a way to get all of the code into vscode to browse freely/easily or do I just have to navigate the code via dnSpy?

cyan inlet
#

let me try to make step-by-step guide which i hope would work, also it's recommended to use VS (not code) but i'm not sure if you just want to see the code

dreamy sentinel
#

ok im downloading visual studio

cyan inlet
#

yes, you did everything wrong and i forgot how to make it right

torpid wind
cyan inlet
#

probably you need to use legacyRef?

torpid wind
#

you can use vs code

#

they are making a core mod

cyan inlet
#

oh wait i'm stupid or not?

torpid wind
dreamy sentinel
#

yea i just need to look at the code rlly to see how things work (as far as i understand)

torpid wind
#

Celeste.exe is a native .net 7 apphost

#

Celeste.dll is where celeste and core everest live

#

all this [assembly: ...] stuff are just assembly metadata; you can find all the namespaces and classes from the left

#

looking in assembly explorer you should see something like this after dragging Celeste.dll in;
the Celeste.exe file on top is the native apphost and dnSpy can't do much about it, since it's not a .NET assebly
the assembly below is the actual Celeste.dll, and it properly registered it as a .NET assembly as you can see the version printed on the right

#

clicking on the arrow to the left will open up a bunch of namespaces inside Celeste; the ones of your interest are Celeste and Monocle (the engine which Celeste uses)

dreamy sentinel
#

so should i open celeste.dll or orig/celeste.exe?

torpid wind
#

Celeste.dll, as it also includes everest patches

#

orig/Celeste.exe is purely vanilla, which you don't want

dreamy sentinel
#

ok, thanks