Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

py_esd_for_des

A TalkESD decompiler and compiler for Demon's Souls

I did not test this program thoroughly, it will (probably) contain bugs!!!

How to use:

Drag and Drop .esd or .esd.py files onto the py_esd_for_des.exe

How does the TalkESD State Machine work?

The state machine always starts in State_0.
The state machine is always in one State, on entering the state it will execute the State's EntryEvents. It will then check the Transitions every Tick until one is True. Once a Transition is True the State Machine will execute the State's ExitEvents, the Transitions PassEvents and jump to the target state of the Transition.

An Example of how a decompiled state can look like

def State_3():
    #EntryEvents:
    TalkToPlayer(31060, -1, -1)
    DisplayOneLineHelp(-1)
    #ExitEvents:
    ClearTalkListData()
    #Transitions:
    if HasTalkEnded() == 1:
        State_116()
    if IsAttackedBySomeone() == 1:
        State_37()
        #PassEvents:
        InvokeEvent(113)

Once the State Machine enters the state it will execute the Events:

TalkToPlayer(31060, -1, -1)
DisplayOneLineHelp(-1)

It will then check the these Conditions every Tick:

if HasTalkEnded() == 1
if IsAttackedBySomeone() == 1

Once one of them is True it will execute the ExitEvents, in this case

ClearTalkListData()

And the PassEvents of the Transition that is True, in this case if HasTalkEnded() == 1 has no PassEvents, if IsAttackedBySomeone() == 1 has one PassEvent which is InvokeEvent(113)
After that the state machine will jump to the target state of that transition

if HasTalkEnded() == 1 -> State 116
if IsAttackedBySomeone() == 1 -> State 37

Credits:

TKGP - for his binary templates for this binary format
ESDLang - for the great documentation of this binary format

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages