- Introduced new file `vm_mask_ladder.tsv` containing detailed mappings for Crusader USECODE VM masks and their associated descriptors. - Added comprehensive documentation in `scummvm-crusader-reference.md` outlining the structure, findings, and implications for reverse-engineering the Crusader engine within ScummVM. - Created `usecode-roundtrip-ir.md` to document the plan for converting Crusader USECODE bytes into a human-readable format, detailing the container layout, event names, and intrinsic tables. - Implemented a PowerShell script `temp_usecode_sample.ps1` for extracting and analyzing USECODE data from the Crusader FLX files, providing insights into class and event structures.
652 lines
60 KiB
XML
652 lines
60 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<PROJECT>
|
|
<PROJECT_DATA_XML_NAME NAME="DISPLAY_DATA">
|
|
<SAVE_STATE>
|
|
<ARRAY NAME="EXPANDED_PATHS" TYPE="string">
|
|
<A VALUE="Crusader:" />
|
|
</ARRAY>
|
|
<STATE NAME="SHOW_TABLE" TYPE="boolean" VALUE="false" />
|
|
</SAVE_STATE>
|
|
</PROJECT_DATA_XML_NAME>
|
|
<TOOL_MANAGER ACTIVE_WORKSPACE="Workspace">
|
|
<WORKSPACE NAME="Workspace" ACTIVE="true">
|
|
<RUNNING_TOOL TOOL_NAME="CodeBrowser">
|
|
<ROOT_NODE X_POS="1" Y_POS="73" WIDTH="1815" HEIGHT="1110" EX_STATE="0">
|
|
<SPLIT_NODE WIDTH="100" HEIGHT="100" DIVIDER_LOCATION="0" ORIENTATION="VERTICAL">
|
|
<SPLIT_NODE WIDTH="1801" HEIGHT="1014" DIVIDER_LOCATION="880" ORIENTATION="VERTICAL">
|
|
<SPLIT_NODE WIDTH="1801" HEIGHT="889" DIVIDER_LOCATION="863" ORIENTATION="VERTICAL">
|
|
<SPLIT_NODE WIDTH="100" HEIGHT="100" DIVIDER_LOCATION="0" ORIENTATION="VERTICAL">
|
|
<SPLIT_NODE WIDTH="1621" HEIGHT="816" DIVIDER_LOCATION="148" ORIENTATION="VERTICAL">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Entropy" OWNER="EntropyPlugin" TITLE="Entropy" ACTIVE="false" GROUP="Header" INSTANCE_ID="3207819926581772885" />
|
|
<COMPONENT_INFO NAME="Overview" OWNER="OverviewPlugin" TITLE="Overview" ACTIVE="false" GROUP="Header" INSTANCE_ID="3207819926581772883" />
|
|
</COMPONENT_NODE>
|
|
<SPLIT_NODE WIDTH="1801" HEIGHT="764" DIVIDER_LOCATION="143" ORIENTATION="HORIZONTAL">
|
|
<SPLIT_NODE WIDTH="257" HEIGHT="764" DIVIDER_LOCATION="640" ORIENTATION="VERTICAL">
|
|
<SPLIT_NODE WIDTH="257" HEIGHT="486" DIVIDER_LOCATION="502" ORIENTATION="VERTICAL">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Program Tree" OWNER="ProgramTreePlugin" TITLE="Program Trees" ACTIVE="true" GROUP="Default" INSTANCE_ID="3720737536777513708" />
|
|
</COMPONENT_NODE>
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Symbol Tree" OWNER="SymbolTreePlugin" TITLE="Symbol Tree" ACTIVE="true" GROUP="Default" INSTANCE_ID="3720737536777513703" />
|
|
</COMPONENT_NODE>
|
|
</SPLIT_NODE>
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="DataTypes Provider" OWNER="DataTypeManagerPlugin" TITLE="Data Type Manager" ACTIVE="true" GROUP="Default" INSTANCE_ID="3720738032686852857" />
|
|
</COMPONENT_NODE>
|
|
</SPLIT_NODE>
|
|
<SPLIT_NODE WIDTH="1540" HEIGHT="764" DIVIDER_LOCATION="785" ORIENTATION="VERTICAL">
|
|
<SPLIT_NODE WIDTH="1386" HEIGHT="638" DIVIDER_LOCATION="705" ORIENTATION="VERTICAL">
|
|
<SPLIT_NODE WIDTH="1540" HEIGHT="597" DIVIDER_LOCATION="490" ORIENTATION="HORIZONTAL">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Listing" OWNER="CodeBrowserPlugin" TITLE="Listing: CRUSADER-RAW.EXE" ACTIVE="true" GROUP="Core" INSTANCE_ID="3720737536777513718" />
|
|
</COMPONENT_NODE>
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Decompiler" OWNER="DecompilePlugin" TITLE="Decompile: keyboard_state_read" ACTIVE="true" GROUP="Default" INSTANCE_ID="3720737536777513709" />
|
|
<COMPONENT_INFO NAME="Bytes" OWNER="ByteViewerPlugin" TITLE="Bytes: CRUSADER-RAW.EXE" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720737536777513711" />
|
|
<COMPONENT_INFO NAME="Data Window" OWNER="DataWindowPlugin" TITLE="Defined Data" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720738032686852862" />
|
|
<COMPONENT_INFO NAME="Defined Strings" OWNER="ViewStringsPlugin" TITLE="Defined Strings" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720738032917539554" />
|
|
<COMPONENT_INFO NAME="Equates Table" OWNER="EquateTablePlugin" TITLE="Equates Table" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720737536777513715" />
|
|
<COMPONENT_INFO NAME="External Programs" OWNER="ReferencesPlugin" TITLE="External Programs" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720737536777513719" />
|
|
<COMPONENT_INFO NAME="Functions Window" OWNER="FunctionWindowPlugin" TITLE="Functions" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720737536777513722" />
|
|
<COMPONENT_INFO NAME="Relocation Table" OWNER="RelocationTablePlugin" TITLE="Relocation Table" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720738032917539553" />
|
|
</COMPONENT_NODE>
|
|
</SPLIT_NODE>
|
|
<SPLIT_NODE WIDTH="1386" HEIGHT="189" DIVIDER_LOCATION="495" ORIENTATION="HORIZONTAL">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Data Type Preview" OWNER="DataTypePreviewPlugin" TITLE="Data Type Preview" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720738032686852855" />
|
|
</COMPONENT_NODE>
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Virtual Disassembler - Current Instruction" OWNER="DisassembledViewPlugin" TITLE="Disassembled View" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720737536777513714" />
|
|
</COMPONENT_NODE>
|
|
</SPLIT_NODE>
|
|
</SPLIT_NODE>
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Console" OWNER="ConsolePlugin" TITLE="Console" ACTIVE="true" GROUP="Default" INSTANCE_ID="3720737536777513710" />
|
|
<COMPONENT_INFO NAME="Bookmarks" OWNER="BookmarkPlugin" TITLE="Bookmarks" ACTIVE="false" GROUP="Core.Bookmarks" INSTANCE_ID="3720737536777513707" />
|
|
</COMPONENT_NODE>
|
|
</SPLIT_NODE>
|
|
</SPLIT_NODE>
|
|
</SPLIT_NODE>
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Function Call Trees" OWNER="CallTreePlugin" TITLE="Function Call Trees" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720737536777513704" />
|
|
</COMPONENT_NODE>
|
|
</SPLIT_NODE>
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Domain Events" OWNER="DomainEventDisplayPlugin" TITLE="Domain Object Event Display" ACTIVE="true" GROUP="Default" INSTANCE_ID="3720737536777513716" />
|
|
</COMPONENT_NODE>
|
|
</SPLIT_NODE>
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Plugin Event Display" OWNER="EventDisplayPlugin" TITLE="Plugin Event Display" ACTIVE="true" GROUP="Default" INSTANCE_ID="3720737536777513713" />
|
|
</COMPONENT_NODE>
|
|
</SPLIT_NODE>
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Database Viewer" OWNER="DbViewerPlugin" TITLE="Database Viewer" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720738034586872545" />
|
|
</COMPONENT_NODE>
|
|
</SPLIT_NODE>
|
|
<WINDOW_NODE X_POS="426" Y_POS="178" WIDTH="1033" HEIGHT="689">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Script Manager" OWNER="GhidraScriptMgrPlugin" TITLE="Script Manager" ACTIVE="false" GROUP="Script Group" INSTANCE_ID="3720737536777513705" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="423" Y_POS="144" WIDTH="927" HEIGHT="370">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Memory Map" OWNER="MemoryMapPlugin" TITLE="Memory Map" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720737536777513700" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="383" Y_POS="7" WIDTH="1020" HEIGHT="1038">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Function Graph" OWNER="FunctionGraphPlugin" TITLE="Function Graph" ACTIVE="false" GROUP="Function Graph" INSTANCE_ID="3720738032917539555" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="550" Y_POS="206" WIDTH="655" HEIGHT="509">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Register Manager" OWNER="RegisterPlugin" TITLE="Register Manager" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720737536777513721" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="287" Y_POS="186" WIDTH="1424" HEIGHT="666">
|
|
<SPLIT_NODE WIDTH="1408" HEIGHT="559" DIVIDER_LOCATION="573" ORIENTATION="HORIZONTAL">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Symbol Table" OWNER="SymbolTablePlugin" TITLE="Symbol Table" ACTIVE="false" GROUP="symbolTable" INSTANCE_ID="3720738032686852863" />
|
|
</COMPONENT_NODE>
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Symbol References" OWNER="SymbolTablePlugin" TITLE="Symbol References" ACTIVE="false" GROUP="symbolTable" INSTANCE_ID="3720738032917539552" />
|
|
</COMPONENT_NODE>
|
|
</SPLIT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="-1" Y_POS="-1" WIDTH="0" HEIGHT="0">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Checksum Generator" OWNER="ComputeChecksumsPlugin" TITLE="Checksum Generator" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720737536777513717" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="-1" Y_POS="-1" WIDTH="0" HEIGHT="0">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Function Tags" OWNER="FunctionTagPlugin" TITLE="Function Tags" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720738032686852858" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="-1" Y_POS="-1" WIDTH="0" HEIGHT="0">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Comment Window" OWNER="CommentWindowPlugin" TITLE="Comments" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720738032686852861" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="-1" Y_POS="-1" WIDTH="0" HEIGHT="0">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Python" OWNER="InterpreterPanelPlugin" TITLE="Python" ACTIVE="false" GROUP="Default" INSTANCE_ID="3207819978370941531" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="0" Y_POS="0" WIDTH="0" HEIGHT="0">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Jython" OWNER="Jython" TITLE="Jython" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720738032686852859" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="0" Y_POS="0" WIDTH="0" HEIGHT="0">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Bundle Manager" OWNER="GhidraScriptMgrPlugin" TITLE="Bundle Manager" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720737536777513706" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="0" Y_POS="0" WIDTH="0" HEIGHT="0">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="PyGhidra" OWNER="PyGhidra" TITLE="PyGhidra" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720738032686852860" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="0" Y_POS="0" WIDTH="0" HEIGHT="0">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Source Files and Transforms" OWNER="SourceFilesTablePlugin" TITLE="Source Files and Transforms" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720737536777513720" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="0" Y_POS="0" WIDTH="0" HEIGHT="0">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Function Call Graph" OWNER="FunctionCallGraphPlugin" TITLE="Function Call Graph" ACTIVE="false" GROUP="Function Call Graph" INSTANCE_ID="3720738032686852856" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="588" Y_POS="50" WIDTH="1018" HEIGHT="1087">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Graph" OWNER="DefaultGraphDisplay" TITLE="AST Data Flow Graph For entity_state_tick_dispatch" ACTIVE="false" GROUP="ProgramGraph" INSTANCE_ID="3720233517670421199" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
<WINDOW_NODE X_POS="0" Y_POS="0" WIDTH="0" HEIGHT="0">
|
|
<COMPONENT_NODE TOP_INFO="0">
|
|
<COMPONENT_INFO NAME="Window Locations" OWNER="WindowLocationPlugin" TITLE="Window Locations" ACTIVE="false" GROUP="Default" INSTANCE_ID="3720737536777513701" />
|
|
</COMPONENT_NODE>
|
|
</WINDOW_NODE>
|
|
</ROOT_NODE>
|
|
<DATA_STATE>
|
|
<PLUGIN NAME="NavigationHistoryPlugin">
|
|
<XML NAME="HISTORY_LIST_0">
|
|
<SAVE_STATE>
|
|
<STATE NAME="CURRENT_LOC_INDEX" TYPE="int" VALUE="6" />
|
|
<STATE NAME="LOCATION_COUNT" TYPE="int" VALUE="7" />
|
|
<STATE NAME="MEMENTO_CLASS0" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
|
<STATE NAME="MEMENTO_CLASS1" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
|
<STATE NAME="MEMENTO_CLASS2" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
|
<STATE NAME="MEMENTO_CLASS3" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
|
<STATE NAME="MEMENTO_CLASS4" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
|
<STATE NAME="MEMENTO_CLASS5" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
|
<STATE NAME="MEMENTO_CLASS6" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
|
<XML NAME="MEMENTO_DATA0">
|
|
<SAVE_STATE>
|
|
<XML NAME="MEMENTO0">
|
|
<SAVE_STATE>
|
|
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513718" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0000:0000" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0000:0000" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.MemoryBlockStartFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<ARRAY NAME="_COMMENT" TYPE="string">
|
|
<A VALUE="//" />
|
|
<A VALUE="// ram" />
|
|
<A VALUE="// ram:0000:0000-ram:000f:2285" />
|
|
<A VALUE="//" />
|
|
</ARRAY>
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_TYPE" TYPE="int" VALUE="-1" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
|
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="1" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0000:0000" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0000:0000" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.MemoryBlockStartFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<ARRAY NAME="_COMMENT" TYPE="string">
|
|
<A VALUE="//" />
|
|
<A VALUE="// ram" />
|
|
<A VALUE="// ram:0000:0000-ram:000f:2285" />
|
|
<A VALUE="//" />
|
|
</ARRAY>
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_TYPE" TYPE="int" VALUE="-1" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<XML NAME="MEMENTO_DATA1">
|
|
<SAVE_STATE>
|
|
<XML NAME="MEMENTO0">
|
|
<SAVE_STATE>
|
|
<STATE NAME="INDEX" TYPE="int" VALUE="0" />
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.decompile.DecompilerLocationMemento" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513709" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="X_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined __cdecl16far keyboard_input_cheat_dispatch()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<XML NAME="MEMENTO1">
|
|
<SAVE_STATE>
|
|
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="283" />
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513718" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined __cdecl16far keyboard_input_cheat_dispatch()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
|
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="2" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined __cdecl16far keyboard_input_cheat_dispatch()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<XML NAME="MEMENTO_DATA2">
|
|
<SAVE_STATE>
|
|
<XML NAME="MEMENTO0">
|
|
<SAVE_STATE>
|
|
<STATE NAME="INDEX" TYPE="int" VALUE="0" />
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.decompile.DecompilerLocationMemento" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513709" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="X_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a3fb" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a3fb" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a3fb" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined keyboard_acquire()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<XML NAME="MEMENTO1">
|
|
<SAVE_STATE>
|
|
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="278" />
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513718" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a3fb" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a3fb" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a3fb" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined keyboard_acquire()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
|
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="2" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a3fb" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a3fb" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a3fb" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined keyboard_acquire()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<XML NAME="MEMENTO_DATA3">
|
|
<SAVE_STATE>
|
|
<XML NAME="MEMENTO0">
|
|
<SAVE_STATE>
|
|
<STATE NAME="INDEX" TYPE="int" VALUE="210" />
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.decompile.DecompilerLocationMemento" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513709" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="X_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="-9" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined keyboard_input_cheat_dispatch()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<XML NAME="MEMENTO1">
|
|
<SAVE_STATE>
|
|
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="278" />
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513718" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined __cdecl16far keyboard_input_cheat_dispatch()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
|
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="2" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0007:04dc" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined keyboard_input_cheat_dispatch()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<XML NAME="MEMENTO_DATA4">
|
|
<SAVE_STATE>
|
|
<XML NAME="MEMENTO0">
|
|
<SAVE_STATE>
|
|
<STATE NAME="INDEX" TYPE="int" VALUE="0" />
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.decompile.DecompilerLocationMemento" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513709" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="X_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a77d" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a77d" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a77d" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined keyboard_interrupt_call()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<XML NAME="MEMENTO1">
|
|
<SAVE_STATE>
|
|
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="278" />
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513718" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a77d" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a77d" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a77d" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined __cdecl16far keyboard_interrupt_call()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
|
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="2" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a77d" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a77d" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a77d" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined keyboard_interrupt_call()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<XML NAME="MEMENTO_DATA5">
|
|
<SAVE_STATE>
|
|
<XML NAME="MEMENTO0">
|
|
<SAVE_STATE>
|
|
<STATE NAME="INDEX" TYPE="int" VALUE="0" />
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.decompile.DecompilerLocationMemento" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513709" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="X_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a43c" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a43c" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a43c" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined keyboard_release()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<XML NAME="MEMENTO1">
|
|
<SAVE_STATE>
|
|
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="278" />
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513718" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a43c" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a43c" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a43c" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined __cdecl16far keyboard_release()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
|
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="2" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a43c" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a43c" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a43c" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined keyboard_release()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<XML NAME="MEMENTO_DATA6">
|
|
<SAVE_STATE>
|
|
<XML NAME="MEMENTO0">
|
|
<SAVE_STATE>
|
|
<STATE NAME="INDEX" TYPE="int" VALUE="0" />
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.decompile.DecompilerLocationMemento" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513709" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="X_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a43c" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a43c" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a43c" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined keyboard_release()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<XML NAME="MEMENTO1">
|
|
<SAVE_STATE>
|
|
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="278" />
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513718" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined __cdecl16far keyboard_state_read()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
|
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="2" />
|
|
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3720180275162699156" />
|
|
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined keyboard_state_read()" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="-1" />
|
|
</SAVE_STATE>
|
|
</XML>
|
|
<STATE NAME="LIST_COUNT" TYPE="int" VALUE="1" />
|
|
</PLUGIN>
|
|
<PLUGIN NAME="ProgramTreePlugin">
|
|
<STATE NAME="Current Viewname" TYPE="string" VALUE="Program Tree" />
|
|
<ARRAY NAME="GroupNameProgram Tree0" TYPE="string">
|
|
<A VALUE="CRUSADER.EXE" />
|
|
</ARRAY>
|
|
<STATE NAME="NavigationToggleState" TYPE="boolean" VALUE="false" />
|
|
<STATE NAME="NumberOfGroupsProgram Tree" TYPE="int" VALUE="1" />
|
|
<STATE NAME="NumberOfViews" TYPE="int" VALUE="1" />
|
|
<STATE NAME="TreeName-0" TYPE="string" VALUE="Program Tree" />
|
|
</PLUGIN>
|
|
<PLUGIN NAME="DecompilePlugin">
|
|
<STATE NAME="INDEX" TYPE="int" VALUE="0" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513709" />
|
|
<STATE NAME="Num Disconnected" TYPE="int" VALUE="0" />
|
|
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined keyboard_state_read()" />
|
|
</PLUGIN>
|
|
<PLUGIN NAME="ByteViewerPlugin">
|
|
<STATE NAME="Block Column" TYPE="int" VALUE="0" />
|
|
<STATE NAME="Block Num" TYPE="int" VALUE="0" />
|
|
<STATE NAME="Block Offset" TYPE="string" VALUE="0" />
|
|
<STATE NAME="Index" TYPE="int" VALUE="0" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513711" />
|
|
<STATE NAME="Num Disconnected" TYPE="int" VALUE="0" />
|
|
<STATE NAME="X Offset" TYPE="int" VALUE="0" />
|
|
<STATE NAME="Y Offset" TYPE="int" VALUE="0" />
|
|
</PLUGIN>
|
|
<PLUGIN NAME="ProgramManagerPlugin">
|
|
<STATE NAME="CURRENT_FILE" TYPE="string" VALUE="CRUSADER-RAW.EXE" />
|
|
<STATE NAME="LOCATION_0" TYPE="string" VALUE="/K:/ghidra/Crusader_Decomp/" />
|
|
<STATE NAME="NUM_PROGRAMS" TYPE="int" VALUE="1" />
|
|
<STATE NAME="PATHNAME_0" TYPE="string" VALUE="/CRUSADER-RAW.EXE" />
|
|
<STATE NAME="PROJECT_NAME_0" TYPE="string" VALUE="Crusader" />
|
|
<STATE NAME="VERSION_0" TYPE="int" VALUE="-1" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined keyboard_state_read()" />
|
|
</PLUGIN>
|
|
<PLUGIN NAME="FunctionGraphPlugin">
|
|
<SAVE_STATE NAME="COMPLEX_LAYOUT_NAME" TYPE="SaveState">
|
|
<COMPLEX_LAYOUT_NAME>
|
|
<STATE NAME="LAYOUT_CLASS_NAME" TYPE="string" VALUE="ghidra.app.plugin.core.functiongraph.graph.layout.DecompilerNestedLayoutProvider" />
|
|
<STATE NAME="LAYOUT_NAME" TYPE="string" VALUE="Nested Code Layout" />
|
|
</COMPLEX_LAYOUT_NAME>
|
|
</SAVE_STATE>
|
|
<STATE NAME="DISPLAY_POPUPS" TYPE="boolean" VALUE="true" />
|
|
<STATE NAME="DISPLAY_SATELLITE" TYPE="boolean" VALUE="true" />
|
|
<STATE NAME="DOCK_SATELLITE" TYPE="boolean" VALUE="true" />
|
|
<STATE NAME="DOCK_SATELLITE_POSITION" TYPE="string" VALUE="LOWER_RIGHT" />
|
|
<STATE NAME="Disconnected Count" TYPE="int" VALUE="0" />
|
|
<ENUM NAME="EDGE_HOVER_HIGHLIGHT" TYPE="enum" CLASS="ghidra.app.plugin.core.functiongraph.EdgeDisplayType" VALUE="ScopedFlowsFromVertex" />
|
|
<ENUM NAME="EDGE_SELECTION_HIGHLIGHT" TYPE="enum" CLASS="ghidra.app.plugin.core.functiongraph.EdgeDisplayType" VALUE="AllCycles" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720738032917539555" />
|
|
</PLUGIN>
|
|
<PLUGIN NAME="CodeBrowserPlugin">
|
|
<STATE NAME="INDEX" TYPE="int" VALUE="566227" />
|
|
<STATE NAME="NAV_ID" TYPE="long" VALUE="3720737536777513718" />
|
|
<STATE NAME="Num Disconnected" TYPE="int" VALUE="0" />
|
|
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="-10" />
|
|
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
|
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0008:a3e6" />
|
|
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="undefined" />
|
|
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
|
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="undefined __cdecl16far keyboard_state_read()" />
|
|
</PLUGIN>
|
|
</DATA_STATE>
|
|
</RUNNING_TOOL>
|
|
</WORKSPACE>
|
|
</TOOL_MANAGER>
|
|
</PROJECT>
|
|
|