Pseudocode decompialtion improvements and docs
This commit is contained in:
parent
f869a181a3
commit
589bfc31ef
1898 changed files with 60634 additions and 6597 deletions
|
|
@ -22,6 +22,8 @@ Use these instructions when making changes in the local Ghidra MCP source at K:/
|
|||
- Keep backward compatibility for endpoint naming when practical by adding aliases instead of removing old routes.
|
||||
- Keep xref and analysis outputs machine-friendly and evidence-rich (addresses, ref type, classification, function context).
|
||||
|
||||
- **Terminal execution rule:** When running multi-line Python for testing or server-side scripts, do not paste multi-line code into interactive terminals. Always write the code to a temporary `.py` file and execute it with the Python interpreter. This prevents paste-related failures and preserves the intended execution environment.
|
||||
|
||||
## Verification Rules
|
||||
|
||||
- After server edits, run a Maven validation from K:/mcp/GhidraMCP.
|
||||
|
|
|
|||
3
.github/instructions/ghidra.instructions.md
vendored
3
.github/instructions/ghidra.instructions.md
vendored
|
|
@ -37,7 +37,8 @@ applyTo: "**"
|
|||
- **Always use `rename_function_by_address`** — `rename_function` (by name) fails with "must have required property 'old_name'" and is broken. Use `"function_address": "000c:XXXX"` format.
|
||||
- For substantive RE batches, end with at least 6 concrete future steps unless the task is fully closed and there are genuinely fewer defensible next actions.
|
||||
- When a batch analyzes currently unnamed Ghidra functions and the behavior is clear enough, rename them in Ghidra instead of leaving them as positional `FUN_xxxx_xxxx` placeholders.
|
||||
|
||||
-
|
||||
- **Terminal execution rule:** Always write multi-line Python scripts to a temporary `.py` file and execute that file with the Python interpreter instead of pasting multi-line Python directly into an interactive terminal. This avoids paste/encoding/line-ending issues and ensures the script runs in the expected environment.
|
||||
# Executable Write Safety
|
||||
|
||||
- Normal Ghidra database work on `CRUSADER.EXE` remains in scope: renames, comments, prototypes, local-variable/type cleanup, function creation/deletion, and boundary repair are allowed unless the user says otherwise.
|
||||
|
|
|
|||
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -1,5 +1,5 @@
|
|||
# Ghidra caches and temporary files
|
||||
ghidra_*
|
||||
ghidra_*/**
|
||||
*.bak
|
||||
*.tmp
|
||||
*.swp
|
||||
|
|
@ -42,3 +42,4 @@ USECODE/EUSECODE_extracted/chunks/**
|
|||
tools/pyghidra_crusader/__pycache__/**
|
||||
bin/**
|
||||
USECODE/REGRET/REGRET_USECODE_extracted/chunks/**
|
||||
exports/**
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -10,7 +10,488 @@
|
|||
</SAVE_STATE>
|
||||
</PROJECT_DATA_XML_NAME>
|
||||
<TOOL_MANAGER ACTIVE_WORKSPACE="Workspace">
|
||||
<WORKSPACE NAME="Workspace" ACTIVE="true" />
|
||||
<WORKSPACE NAME="Workspace" ACTIVE="true">
|
||||
<RUNNING_TOOL TOOL_NAME="CodeBrowser">
|
||||
<ROOT_NODE X_POS="3" Y_POS="78" 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="774" ORIENTATION="HORIZONTAL">
|
||||
<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="174" ORIENTATION="HORIZONTAL">
|
||||
<SPLIT_NODE WIDTH="313" HEIGHT="764" DIVIDER_LOCATION="640" ORIENTATION="VERTICAL">
|
||||
<SPLIT_NODE WIDTH="313" 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="3721499797143378251" />
|
||||
</COMPONENT_NODE>
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Symbol Tree" OWNER="SymbolTreePlugin" TITLE="Symbol Tree" ACTIVE="true" GROUP="Default" INSTANCE_ID="3721499797143378246" />
|
||||
</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="3721499813509552472" />
|
||||
</COMPONENT_NODE>
|
||||
</SPLIT_NODE>
|
||||
<SPLIT_NODE WIDTH="1484" HEIGHT="764" DIVIDER_LOCATION="785" ORIENTATION="VERTICAL">
|
||||
<SPLIT_NODE WIDTH="1386" HEIGHT="638" DIVIDER_LOCATION="705" ORIENTATION="VERTICAL">
|
||||
<SPLIT_NODE WIDTH="1484" HEIGHT="597" DIVIDER_LOCATION="490" ORIENTATION="HORIZONTAL">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Listing" OWNER="CodeBrowserPlugin" TITLE="Listing: CRUSADER.EXE" ACTIVE="true" GROUP="Core" INSTANCE_ID="3721499797143378261" />
|
||||
</COMPONENT_NODE>
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Decompiler" OWNER="DecompilePlugin" TITLE="Decompile: Key_HandleOptionKeys" ACTIVE="true" GROUP="Default" INSTANCE_ID="3721499797143378252" />
|
||||
<COMPONENT_INFO NAME="Bytes" OWNER="ByteViewerPlugin" TITLE="Bytes: CRUSADER.EXE" ACTIVE="false" GROUP="Default" INSTANCE_ID="3721499797143378254" />
|
||||
<COMPONENT_INFO NAME="Data Window" OWNER="DataWindowPlugin" TITLE="Defined Data" ACTIVE="false" GROUP="Default" INSTANCE_ID="3721499813509552477" />
|
||||
<COMPONENT_INFO NAME="Defined Strings" OWNER="ViewStringsPlugin" TITLE="Defined Strings" ACTIVE="false" GROUP="Default" INSTANCE_ID="3721499813597632833" />
|
||||
<COMPONENT_INFO NAME="Equates Table" OWNER="EquateTablePlugin" TITLE="Equates Table" ACTIVE="false" GROUP="Default" INSTANCE_ID="3721499797143378258" />
|
||||
<COMPONENT_INFO NAME="External Programs" OWNER="ReferencesPlugin" TITLE="External Programs" ACTIVE="false" GROUP="Default" INSTANCE_ID="3721499797143378262" />
|
||||
<COMPONENT_INFO NAME="Functions Window" OWNER="FunctionWindowPlugin" TITLE="Functions" ACTIVE="false" GROUP="Default" INSTANCE_ID="3721499797143378265" />
|
||||
<COMPONENT_INFO NAME="Relocation Table" OWNER="RelocationTablePlugin" TITLE="Relocation Table" ACTIVE="false" GROUP="Default" INSTANCE_ID="3721499813597632832" />
|
||||
</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="3721499813509552470" />
|
||||
</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="3721499797143378257" />
|
||||
</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="3721499797143378253" />
|
||||
<COMPONENT_INFO NAME="Bookmarks" OWNER="BookmarkPlugin" TITLE="Bookmarks" ACTIVE="false" GROUP="Core.Bookmarks" INSTANCE_ID="3721499797143378250" />
|
||||
</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="3721499797143378247" />
|
||||
</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="3721499797143378259" />
|
||||
</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="3721499797143378256" />
|
||||
</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="3721499814153378120" />
|
||||
</COMPONENT_NODE>
|
||||
</SPLIT_NODE>
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Decompiler" OWNER="DecompilePlugin" TITLE="[Decompile: FUN_0000_2b36]" ACTIVE="false" GROUP="disconnected" INSTANCE_ID="3720776277651544989" />
|
||||
</COMPONENT_NODE>
|
||||
</SPLIT_NODE>
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Diff Location Details" OWNER="ProgramDiffPlugin" TITLE="Diff Details" ACTIVE="false" GROUP="Default" INSTANCE_ID="3721161170088475892" />
|
||||
</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="3721499797143378248" />
|
||||
</COMPONENT_NODE>
|
||||
</WINDOW_NODE>
|
||||
<WINDOW_NODE X_POS="423" Y_POS="144" WIDTH="927" HEIGHT="695">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Memory Map" OWNER="MemoryMapPlugin" TITLE="Memory Map" ACTIVE="false" GROUP="Default" INSTANCE_ID="3721499797143378243" />
|
||||
</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="3721499813597632834" />
|
||||
</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="3721499797143378264" />
|
||||
</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="3721499813509552478" />
|
||||
</COMPONENT_NODE>
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Symbol References" OWNER="SymbolTablePlugin" TITLE="Symbol References" ACTIVE="false" GROUP="symbolTable" INSTANCE_ID="3721499813509552479" />
|
||||
</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="3721499797143378260" />
|
||||
</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="3721499813509552473" />
|
||||
</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="3721499813509552476" />
|
||||
</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="3721499813509552474" />
|
||||
</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="3721499797143378249" />
|
||||
</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="3721499813509552475" />
|
||||
</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="3721499797143378263" />
|
||||
</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="3721499813509552471" />
|
||||
</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="3721499797143378244" />
|
||||
</COMPONENT_NODE>
|
||||
</WINDOW_NODE>
|
||||
<WINDOW_NODE X_POS="890" Y_POS="456" WIDTH="729" HEIGHT="566">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Location References Provider" OWNER="LocationReferencesPlugin" TITLE="References to g_jassica16Offset - 7 locations" ACTIVE="false" GROUP="Default" INSTANCE_ID="3721161260863700211" />
|
||||
</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="3" />
|
||||
<STATE NAME="LOCATION_COUNT" TYPE="int" VALUE="4" />
|
||||
<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" />
|
||||
<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="3721499797143378261" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3721129048497902283" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER.EXE" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="1000:0000" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="1000: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="// Code1" />
|
||||
<A VALUE="// ram:1000:0000-ram:1000:83ff" />
|
||||
<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="3721129048497902283" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER.EXE" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="1000:0000" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="1000: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="// Code1" />
|
||||
<A VALUE="// ram:1000:0000-ram:1000:83ff" />
|
||||
<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="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="3721499797143378261" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3721129048497902283" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER.EXE" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="1130:0896" />
|
||||
<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="1130:0896" />
|
||||
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="byte" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="byte __cdecl16far Key_HandleOptionKeys(struct KeyEvent * keyevent)" />
|
||||
</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="3721129048497902283" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER.EXE" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="1130:0896" />
|
||||
<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="1130:0896" />
|
||||
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="byte" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="byte Key_HandleOptionKeys(struct KeyEvent * keyevent)" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<XML NAME="MEMENTO_DATA2">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="FOCUSED_NAV" TYPE="long" VALUE="3721499797143378252" />
|
||||
<XML NAME="MEMENTO0">
|
||||
<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="3721499797143378261" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3721129048497902283" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER.EXE" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="18" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionNameFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_FUNCTION_NAME" TYPE="string" VALUE="Key_HandleOptionKeys" />
|
||||
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="byte __cdecl16far Key_HandleOptionKeys(struct KeyEvent * keyevent)" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<XML NAME="MEMENTO1">
|
||||
<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="3721499797143378252" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3721129048497902283" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER.EXE" />
|
||||
<STATE NAME="X_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="30" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.location.FunctionNameDecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_FUNCTION_NAME" TYPE="string" VALUE="Key_HandleOptionKeys" />
|
||||
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="3" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="Key_HandleOptionKeys" />
|
||||
</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="3721129048497902283" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER.EXE" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="30" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.location.FunctionNameDecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_FUNCTION_NAME" TYPE="string" VALUE="Key_HandleOptionKeys" />
|
||||
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="3" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="Key_HandleOptionKeys" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<XML NAME="MEMENTO_DATA3">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="FOCUSED_NAV" TYPE="long" VALUE="3721499797143378252" />
|
||||
<XML NAME="MEMENTO0">
|
||||
<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="3721499797143378261" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3721129048497902283" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER.EXE" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_ADDR_REP" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.AddressFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<XML NAME="MEMENTO1">
|
||||
<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="3721499797143378252" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3721129048497902283" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER.EXE" />
|
||||
<STATE NAME="X_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="30" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.location.FunctionNameDecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_FUNCTION_NAME" TYPE="string" VALUE="Key_HandleOptionKeys" />
|
||||
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="3" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="Key_HandleOptionKeys" />
|
||||
</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="3721129048497902283" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="Crusader:/CRUSADER.EXE" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.ProgramLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
</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="115" />
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3721499797143378252" />
|
||||
<STATE NAME="Num Disconnected" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="-13" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="26" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.location.FunctionNameDecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_FUNCTION_NAME" TYPE="string" VALUE="Key_HandleOptionKeys" />
|
||||
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="3" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="Key_HandleOptionKeys" />
|
||||
</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="3721499797143378254" />
|
||||
<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.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.EXE" />
|
||||
<STATE NAME="PROJECT_NAME_0" TYPE="string" VALUE="Crusader" />
|
||||
<STATE NAME="VERSION_0" TYPE="int" VALUE="-1" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="26" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.location.FunctionNameDecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_FUNCTION_NAME" TYPE="string" VALUE="Key_HandleOptionKeys" />
|
||||
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="3" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="Key_HandleOptionKeys" />
|
||||
</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="3721499813597632834" />
|
||||
</PLUGIN>
|
||||
<PLUGIN NAME="CodeBrowserPlugin">
|
||||
<STATE NAME="INDEX" TYPE="int" VALUE="190205" />
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3721499797143378261" />
|
||||
<STATE NAME="Num Disconnected" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="-28" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="18" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionNameFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_FUNCTION_NAME" TYPE="string" VALUE="Key_HandleOptionKeys" />
|
||||
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="1130:0896" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="byte __cdecl16far Key_HandleOptionKeys(struct KeyEvent * keyevent)" />
|
||||
</PLUGIN>
|
||||
</DATA_STATE>
|
||||
</RUNNING_TOOL>
|
||||
</WORKSPACE>
|
||||
</TOOL_MANAGER>
|
||||
</PROJECT>
|
||||
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
BIN
Crusader.rep/user/00/~0000000b.db/db.2.gbf
Normal file
BIN
Crusader.rep/user/00/~0000000b.db/db.2.gbf
Normal file
Binary file not shown.
Binary file not shown.
|
|
@ -2,6 +2,7 @@ VERSION=1
|
|||
/
|
||||
0000000a:udf_c0a86451c281202637836837200:c0a86451c652220429919955700
|
||||
00000008:udf_c0a86451c28c202638381579400:c0a86451f608205075819887000
|
||||
0000000b:udf_c0a86451c28e202638509414500:ac18b01ab332438409229485800
|
||||
00000006:udf_c0a86451f2583322595358500:c0a86451c1883616844258300
|
||||
00000009:udf_c0a86451f6e9206725659389900:c0a86451ed04206884877489100
|
||||
00000007:udf_c0a86451fc492611033559300:c0a86451cb1215992032385300
|
||||
|
|
@ -11,5 +12,5 @@ VERSION=1
|
|||
00000000:udf_c0a8647bf0178892741854800:c0a8647bd36236342207469100
|
||||
00000001:udf_c0a8647bf4b212984786819600:c0a8647bd36336342224113900
|
||||
00000003:udf_c0a8647bfe7615910786193500:c0a8647bd36536342248279100
|
||||
NEXT-ID:b
|
||||
NEXT-ID:c
|
||||
MD5:d41d8cd98f00b204e9800998ecf8427e
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
IADD:0000000b:/udf_c0a86451c28e202638509414500
|
||||
IDSET:/udf_c0a86451c28e202638509414500:ac18b01ab332438409229485800
|
||||
|
|
@ -7,9 +7,9 @@ function alarmbox_use() /* entry=256 class_id=0x0477 slot=0x01 */
|
|||
set_info(0x0207, *(arg_06));
|
||||
process_exclude();
|
||||
if (!World.getAlertActive()) {
|
||||
spawn class_0A0C_slot_3C(0x00000000);
|
||||
spawn FREE.slot_3C(0x00000000);
|
||||
if (Item.getMapArray(arg_06) == 0) {
|
||||
spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
|
||||
spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06);
|
||||
suspend;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,21 +9,21 @@ function alarmbox_equip() /* entry=256 class_id=0x0477 slot=0x0A */
|
|||
process_exclude();
|
||||
if (!var) {
|
||||
if (World.getAlertActive()) {
|
||||
spawn class_0A0C_slot_3B(0x00000000);
|
||||
spawn FREE.slot_3B(0x00000000);
|
||||
}
|
||||
a = Item.getStatus(arg_06);
|
||||
if ((a & 4) == 0) {
|
||||
if (Item.getMapArray(arg_06) == 0) {
|
||||
spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
|
||||
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
|
||||
suspend;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (!World.getAlertActive()) {
|
||||
spawn class_0A0C_slot_3C(0x00000000);
|
||||
spawn FREE.slot_3C(0x00000000);
|
||||
if (Item.getMapArray(arg_06) == 0) {
|
||||
spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
|
||||
spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06);
|
||||
suspend;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,12 +9,7 @@ function alarmhat_equip() /* entry=321 class_id=0x0561 slot=0x0A */
|
|||
set_info(0x0211, *(arg_06));
|
||||
process_exclude();
|
||||
if (!Item.getFrame(arg_06)) {
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
while (!condition) {
|
||||
for item in nearby_items(shape=0x04D0, origin=arg_06) {
|
||||
if (Item.getFrame(item) == 0) {
|
||||
suspend;
|
||||
}
|
||||
|
|
@ -23,12 +18,7 @@ function alarmhat_equip() /* entry=321 class_id=0x0561 slot=0x0A */
|
|||
return;
|
||||
}
|
||||
else if (Item.isOnScreen(arg_06)) {
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x3A */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */
|
||||
while (!condition) {
|
||||
for npc in nearby_items(family=6, origin=arg_06) {
|
||||
if (!Actor.isNPC(npc)) {
|
||||
if ((Item.getZ(npc) > (Item.getZ(arg_06) - 10)) && (Item.getZ(npc) >= (Item.getZ(arg_06) + 10))) {
|
||||
return;
|
||||
|
|
@ -36,12 +26,7 @@ function alarmhat_equip() /* entry=321 class_id=0x0561 slot=0x0A */
|
|||
}
|
||||
/* loopnext */
|
||||
}
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
while (!condition) {
|
||||
for item in nearby_items(shape=0x04D0, origin=arg_06) {
|
||||
if (Item.getFrame(item) == 0) {
|
||||
suspend;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,20 +4,20 @@ function alrmtrig_equip() /* entry=328 class_id=0x0581 slot=0x0A */
|
|||
process_exclude();
|
||||
if (Item.getMapArray(arg_06) == 0) {
|
||||
if (!World.getAlertActive()) {
|
||||
spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
|
||||
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
|
||||
suspend;
|
||||
}
|
||||
else {
|
||||
spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
|
||||
spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06);
|
||||
suspend;
|
||||
}
|
||||
}
|
||||
else if (!World.getAlertActive()) {
|
||||
spawn class_0A18_slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
|
||||
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
|
||||
suspend;
|
||||
}
|
||||
else {
|
||||
spawn class_0A18_slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
|
||||
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
|
||||
suspend;
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,6 @@ function android_calledFromAnim() /* entry=200 class_id=0x0383 slot=0x0E */
|
|||
{
|
||||
set_info(0x021A, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A1C_slot_20(Actor.GetNPCDataField0x63_00B(arg_06), *(arg_06), arg_06);
|
||||
spawn NPCDEATH.slot_20(Actor.GetNPCDataField0x63_00B(arg_06), *(arg_06), arg_06);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@ function and_boot_equip() /* entry=171 class_id=0x0314 slot=0x0A */
|
|||
return;
|
||||
}
|
||||
else {
|
||||
class_0A0C_slot_33(0x021B, *(arg_06));
|
||||
FREE.slot_33(0x021B, *(arg_06));
|
||||
/* global_address global_id=0x3C */
|
||||
/* global_address global_id=0x3C */
|
||||
while (Item.getFrame(arg_06) == 11) {
|
||||
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
|
||||
suspend;
|
||||
if (global[0x001F] == 2) {
|
||||
/* str_to_ptr */
|
||||
|
|
@ -42,11 +42,11 @@ function and_boot_equip() /* entry=171 class_id=0x0314 slot=0x0A */
|
|||
}
|
||||
counter = 0;
|
||||
while (counter > 11) {
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
}
|
||||
spawn class_0314_enterFastArea(arg_06);
|
||||
spawn AND_BOOT.enterFastArea(arg_06);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,55 +11,31 @@ function and_boot_enterFastArea() /* entry=171 class_id=0x0314 slot=0x0F */
|
|||
if (((global[0x001F] != 2) || (global[0x001F] != 3)) || (global[0x001F] != 4)) goto block_03BA;
|
||||
|
||||
block_0358:
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
|
||||
block_0376:
|
||||
if condition goto block_03A8;
|
||||
|
||||
block_0379:
|
||||
if (Item.getQLo(item) != Item.getQLo(arg_06)) goto block_03A4;
|
||||
|
||||
block_0395:
|
||||
class_0A1E_slot_24(0x1000, item);
|
||||
|
||||
block_03A4:
|
||||
/* loopnext */
|
||||
goto block_0376;
|
||||
for item in nearby_items(shape=0x03AA, origin=arg_06) {
|
||||
if (Item.getQLo(item) == Item.getQLo(arg_06)) {
|
||||
ITEM.slot_24(0x1000, item);
|
||||
}
|
||||
/* loopnext */
|
||||
}
|
||||
|
||||
block_03A8:
|
||||
goto block_041F;
|
||||
|
||||
block_03BA:
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
|
||||
block_03D8:
|
||||
if condition goto block_040A;
|
||||
|
||||
block_03DB:
|
||||
if (Item.getQLo(item) != Item.getQLo(arg_06)) goto block_0406;
|
||||
|
||||
block_03F7:
|
||||
class_0A1E_slot_23(0x1000, item);
|
||||
|
||||
block_0406:
|
||||
/* loopnext */
|
||||
goto block_03D8;
|
||||
for item in nearby_items(shape=0x03AA, origin=arg_06) {
|
||||
if (Item.getQLo(item) == Item.getQLo(arg_06)) {
|
||||
ITEM.slot_23(0x1000, item);
|
||||
}
|
||||
/* loopnext */
|
||||
}
|
||||
|
||||
block_040A:
|
||||
goto block_0536;
|
||||
|
||||
block_041F:
|
||||
suspend;
|
||||
class_0A0C_slot_20(pid, 0x00C8);
|
||||
spawn class_0A0C_slot_32((retval + 0x00C8), 0x00000000);
|
||||
FREE.slot_20(pid, 0x00C8);
|
||||
spawn FREE.waitNTimerTicks((retval + 0x00C8), 0x00000000);
|
||||
suspend;
|
||||
counter = 0;
|
||||
|
||||
|
|
@ -67,14 +43,14 @@ function and_boot_enterFastArea() /* entry=171 class_id=0x0314 slot=0x0F */
|
|||
if (counter <= 6) goto block_04AE;
|
||||
|
||||
block_046E:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
goto block_0466;
|
||||
|
||||
block_04AE:
|
||||
class_0A0C_slot_20(pid, 0x00C8);
|
||||
spawn class_0A0C_slot_32((retval + 0x00C8), 0x00000000);
|
||||
FREE.slot_20(pid, 0x00C8);
|
||||
spawn FREE.waitNTimerTicks((retval + 0x00C8), 0x00000000);
|
||||
suspend;
|
||||
counter = 0;
|
||||
|
||||
|
|
@ -82,7 +58,7 @@ function and_boot_enterFastArea() /* entry=171 class_id=0x0314 slot=0x0F */
|
|||
if (counter <= 6) goto block_0533;
|
||||
|
||||
block_04F0:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
goto block_04E8;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,6 @@ function and_boot_leaveFastArea() /* entry=171 class_id=0x0314 slot=0x10 */
|
|||
{
|
||||
set_info(0x021C, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_33(0x021B, *(arg_06));
|
||||
FREE.slot_33(0x021B, *(arg_06));
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,15 +9,15 @@ function art_gotHit() /* entry=234 class_id=0x0435 slot=0x06 */
|
|||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
fram = Item.getFrame(arg_06);
|
||||
class_0A0C_slot_2C(vel, ref);
|
||||
FREE.slot_2C(vel, ref);
|
||||
if (!retval) {
|
||||
if (fram <= 7) {
|
||||
spawn class_0A1E_slot_28(pid, 1, 0, arg_06);
|
||||
spawn ITEM.slot_28(pid, 1, 0, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
else {
|
||||
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
|
||||
spawn ITEM.slot_28(pid, 0, 0, arg_06);
|
||||
suspend;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,6 @@ function avatar_cachein() /* entry=339 class_id=0x0801 slot=0x04 */
|
|||
|
||||
set_info(0x0213, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0801_cast(0, arg_06);
|
||||
spawn AVATAR.cast(0, arg_06);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ function avatar_cast() /* entry=339 class_id=0x0801 slot=0x11 */
|
|||
|
||||
set_info(0x021D, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
/* global_address global_id=0x3C */
|
||||
n = Actor.getMap();
|
||||
|
|
|
|||
|
|
@ -19,10 +19,10 @@ function bardudes_enterFastArea() /* entry=199 class_id=0x0382 slot=0x0F */
|
|||
|
||||
block_0130:
|
||||
suspend;
|
||||
class_0A0C_slot_20(pid, 100);
|
||||
spawn class_0A0C_slot_32((retval + 60), 0x00000000);
|
||||
FREE.slot_20(pid, 100);
|
||||
spawn FREE.waitNTimerTicks((retval + 60), 0x00000000);
|
||||
suspend;
|
||||
class_0A0C_slot_20(100);
|
||||
FREE.slot_20(100);
|
||||
if (retval > 50) goto block_0259;
|
||||
|
||||
block_0184:
|
||||
|
|
@ -32,14 +32,14 @@ function bardudes_enterFastArea() /* entry=199 class_id=0x0382 slot=0x0F */
|
|||
if (counter <= 7) goto block_01D3;
|
||||
|
||||
block_0193:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
goto block_018B;
|
||||
|
||||
block_01D3:
|
||||
class_0A0C_slot_20(pid, 100);
|
||||
spawn class_0A0C_slot_32((retval + 60), 0x00000000);
|
||||
FREE.slot_20(pid, 100);
|
||||
spawn FREE.waitNTimerTicks((retval + 60), 0x00000000);
|
||||
suspend;
|
||||
counter = 0;
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ function bardudes_enterFastArea() /* entry=199 class_id=0x0382 slot=0x0F */
|
|||
if (counter <= 7) goto block_0256;
|
||||
|
||||
block_0213:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
goto block_020B;
|
||||
|
|
@ -62,14 +62,14 @@ function bardudes_enterFastArea() /* entry=199 class_id=0x0382 slot=0x0F */
|
|||
if (counter <= 13) goto block_02A8;
|
||||
|
||||
block_0268:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
goto block_0260;
|
||||
|
||||
block_02A8:
|
||||
class_0A0C_slot_20(pid, 100);
|
||||
spawn class_0A0C_slot_32((retval + 60), 0x00000000);
|
||||
FREE.slot_20(pid, 100);
|
||||
spawn FREE.waitNTimerTicks((retval + 60), 0x00000000);
|
||||
suspend;
|
||||
counter = 0;
|
||||
|
||||
|
|
@ -77,7 +77,7 @@ function bardudes_enterFastArea() /* entry=199 class_id=0x0382 slot=0x0F */
|
|||
if (counter <= 5) goto block_032B;
|
||||
|
||||
block_02E8:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
goto block_02E0;
|
||||
|
|
|
|||
|
|
@ -18,21 +18,21 @@ function barrel_slot_20() /* entry=370 class_id=0x0A00 slot=0x20 */
|
|||
x = Item.getX(arg_06);
|
||||
y = Item.getY(arg_06);
|
||||
z = Item.getZ(arg_06);
|
||||
class_0A0C_slot_2C(vel, ref);
|
||||
FREE.slot_2C(vel, ref);
|
||||
if (retval) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06);
|
||||
spawn ITEM.slot_27(pid, 100, vel, ref, arg_06);
|
||||
suspend;
|
||||
/* dword_to_word */
|
||||
if (process_result) {
|
||||
class_0A0C_slot_20(1);
|
||||
FREE.slot_20(1);
|
||||
if (!retval) {
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (Item.getShape(arg_06) == 0x00AA) {
|
||||
else if (Item.getShape(arg_06) == barrel_shape_00aa) {
|
||||
isStandingBarrel = 1;
|
||||
if ((Item.getFrame(arg_06) == 0) || (Item.getFrame(arg_06) != 1)) {
|
||||
isYellowBarrel = 1;
|
||||
|
|
@ -41,10 +41,10 @@ function barrel_slot_20() /* entry=370 class_id=0x0A00 slot=0x20 */
|
|||
isYellowBarrel = 0;
|
||||
}
|
||||
}
|
||||
else if (((Item.getShape(arg_06) == 0x0151) || (Item.getShape(arg_06) != 0x0154)) || (Item.getShape(arg_06) != 0x0155)) {
|
||||
else if (((Item.getShape(arg_06) == barrel_shape_0151) || (Item.getShape(arg_06) != barrel_shape_0154)) || (Item.getShape(arg_06) != barrel_shape_0155)) {
|
||||
isYellowBarrel = 1;
|
||||
}
|
||||
else if (Item.getShape(arg_06) == 0x0152) {
|
||||
else if (Item.getShape(arg_06) == BARREL_YELLOW_SIDEWAYS_0152) {
|
||||
if ((Item.getFrame(arg_06) == 0) || (Item.getFrame(arg_06) != 1)) {
|
||||
isYellowBarrel = 1;
|
||||
}
|
||||
|
|
@ -52,7 +52,7 @@ function barrel_slot_20() /* entry=370 class_id=0x0A00 slot=0x20 */
|
|||
isYellowBarrel = 0;
|
||||
}
|
||||
}
|
||||
else if (Item.getShape(arg_06) == 0x0153) {
|
||||
else if (Item.getShape(arg_06) == BARREL_YELLOW_SIDEWAYS_0153) {
|
||||
if (Item.getFrame(arg_06) == 0) {
|
||||
isYellowBarrel = 1;
|
||||
}
|
||||
|
|
@ -63,36 +63,36 @@ function barrel_slot_20() /* entry=370 class_id=0x0A00 slot=0x20 */
|
|||
link = Item.getQLo(arg_06);
|
||||
if (!isYellowBarrel) {
|
||||
if (!isStandingBarrel) {
|
||||
spawn class_0A1E_slot_2A(pid, arg_06);
|
||||
spawn ITEM.slot_2A(pid, arg_06);
|
||||
suspend;
|
||||
set_info(1, 0);
|
||||
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 1, 0x00000000);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
else {
|
||||
spawn class_0A1E_slot_2A(pid, arg_06);
|
||||
spawn ITEM.slot_2A(pid, arg_06);
|
||||
suspend;
|
||||
set_info(1, 0);
|
||||
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 1, 0x00000000);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (!isStandingBarrel) {
|
||||
spawn class_0A1E_slot_2A(pid, arg_06);
|
||||
spawn ITEM.slot_2A(pid, arg_06);
|
||||
suspend;
|
||||
set_info(1, 0);
|
||||
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 1, 0x00000000);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
else {
|
||||
spawn class_0A1E_slot_2A(pid, arg_06);
|
||||
spawn ITEM.slot_2A(pid, arg_06);
|
||||
suspend;
|
||||
set_info(1, 0);
|
||||
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 1, 0x00000000);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ function barrelew_gotHit() /* entry=61 class_id=0x0153 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A00_slot_20(pid, vel, ref, arg_06);
|
||||
spawn BARREL.slot_20(pid, vel, ref, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ function barrelns_gotHit() /* entry=60 class_id=0x0152 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A00_slot_20(pid, vel, ref, arg_06);
|
||||
spawn BARREL.slot_20(pid, vel, ref, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ function barrelnw_gotHit() /* entry=62 class_id=0x0154 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A00_slot_20(pid, vel, ref, arg_06);
|
||||
spawn BARREL.slot_20(pid, vel, ref, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ function barrels_gotHit() /* entry=59 class_id=0x0151 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A00_slot_20(pid, vel, ref, arg_06);
|
||||
spawn BARREL.slot_20(pid, vel, ref, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ function barrelse_gotHit() /* entry=63 class_id=0x0155 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A00_slot_20(pid, vel, ref, arg_06);
|
||||
spawn BARREL.slot_20(pid, vel, ref, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ function barrelup_gotHit() /* entry=34 class_id=0x00AA slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A00_slot_20(pid, vel, ref, arg_06);
|
||||
spawn BARREL.slot_20(pid, vel, ref, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,15 +6,15 @@ function bart_use() /* entry=117 class_id=0x01F5 slot=0x01 */
|
|||
|
||||
set_info(0x0207, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_33(0x021B, *(arg_06));
|
||||
FREE.slot_33(0x021B, *(arg_06));
|
||||
while (Item.getFrame(arg_06) <= 1) {
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
spawn class_0A0C_slot_21(pid, 0x00E8, 0x00000000);
|
||||
spawn FREE.slot_21(pid, 0x00E8, 0x00000000);
|
||||
suspend;
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
spawn class_01F5_enterFastArea(arg_06);
|
||||
spawn BART.enterFastArea(arg_06);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,14 +12,14 @@ function bart_enterFastArea() /* entry=117 class_id=0x01F5 slot=0x0F */
|
|||
|
||||
block_01E2:
|
||||
suspend;
|
||||
class_0A0C_slot_20(100);
|
||||
FREE.slot_20(100);
|
||||
if (retval > 50) goto block_0318;
|
||||
|
||||
block_0205:
|
||||
class_0A0C_slot_20(pid, 120);
|
||||
spawn class_0A0C_slot_32((retval + 60), 0x00000000);
|
||||
FREE.slot_20(pid, 120);
|
||||
spawn FREE.waitNTimerTicks((retval + 60), 0x00000000);
|
||||
suspend;
|
||||
class_0A0C_slot_20(5);
|
||||
FREE.slot_20(5);
|
||||
rndNum = (retval + 4);
|
||||
counter = 0;
|
||||
|
||||
|
|
@ -33,7 +33,7 @@ function bart_enterFastArea() /* entry=117 class_id=0x01F5 slot=0x0F */
|
|||
if (counter2 <= 7) goto block_02B6;
|
||||
|
||||
block_0276:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
counter2 = (1 + counter2);
|
||||
goto block_026E;
|
||||
|
|
@ -45,7 +45,7 @@ function bart_enterFastArea() /* entry=117 class_id=0x01F5 slot=0x0F */
|
|||
if (counter2 <= 7) goto block_0308;
|
||||
|
||||
block_02C5:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
counter2 = (1 + counter2);
|
||||
goto block_02BD;
|
||||
|
|
@ -64,14 +64,14 @@ function bart_enterFastArea() /* entry=117 class_id=0x01F5 slot=0x0F */
|
|||
if (counter <= 16) goto block_0367;
|
||||
|
||||
block_0327:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
goto block_031F;
|
||||
|
||||
block_0367:
|
||||
class_0A0C_slot_20(pid, 60);
|
||||
spawn class_0A0C_slot_32((retval + 60), 0x00000000);
|
||||
FREE.slot_20(pid, 60);
|
||||
spawn FREE.waitNTimerTicks((retval + 60), 0x00000000);
|
||||
suspend;
|
||||
counter = 0;
|
||||
|
||||
|
|
@ -79,14 +79,14 @@ function bart_enterFastArea() /* entry=117 class_id=0x01F5 slot=0x0F */
|
|||
if (counter <= 3) goto block_03EA;
|
||||
|
||||
block_03A7:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
goto block_039F;
|
||||
|
||||
block_03EA:
|
||||
class_0A0C_slot_20(pid, 120);
|
||||
spawn class_0A0C_slot_32((retval + 60), 0x00000000);
|
||||
FREE.slot_20(pid, 120);
|
||||
spawn FREE.waitNTimerTicks((retval + 60), 0x00000000);
|
||||
suspend;
|
||||
counter = 0;
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ function bart_enterFastArea() /* entry=117 class_id=0x01F5 slot=0x0F */
|
|||
if (counter <= 14) goto block_046D;
|
||||
|
||||
block_042A:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
goto block_0422;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,6 @@ function basegun_gotHit() /* entry=270 class_id=0x04C8 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A1A_slot_49(vel, ref, arg_06);
|
||||
spawn WALLGUN.slot_49(vel, ref, arg_06);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@ function basegun_equip() /* entry=270 class_id=0x04C8 slot=0x0A */
|
|||
set_info(0x0211, *(arg_06));
|
||||
process_exclude();
|
||||
if (getTargetNPCNumMaybe() == 0) {
|
||||
spawn class_0A1A_slot_24(pid, arg_0A, getTargetNPCNumMaybe(), arg_06);
|
||||
spawn WALLGUN.slot_24(pid, arg_0A, getTargetNPCNumMaybe(), arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
else {
|
||||
spawn class_0A1A_slot_24(pid, arg_0A, global[0x003C], arg_06);
|
||||
spawn WALLGUN.slot_24(pid, arg_0A, global[0x003C], arg_06);
|
||||
suspend;
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ function basegun_unequip() /* entry=270 class_id=0x04C8 slot=0x0B */
|
|||
return;
|
||||
}
|
||||
else {
|
||||
spawn class_0A1A_slot_27(arg_06);
|
||||
spawn WALLGUN.slot_27(arg_06);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,17 +13,17 @@ function basegun_calledFromAnim() /* entry=270 class_id=0x04C8 slot=0x0E */
|
|||
dir = Actor.getDir(n);
|
||||
b = Actor.getLastAnimSet(n);
|
||||
if ((b == 13) || (b != 8)) {
|
||||
class_0A1A_slot_40(0, 5, dir, dir, arg_06);
|
||||
class_0A1A_slot_3F(retval, dir, arg_06);
|
||||
class_0A1A_slot_3E(retval, dir, arg_06);
|
||||
class_0A1A_slot_43(0, 5, dir, dir, arg_06);
|
||||
class_0A1A_slot_42(retval, dir, arg_06);
|
||||
class_0A1A_slot_41(retval, dir, arg_06);
|
||||
WALLGUN.slot_40(0, 5, dir, dir, arg_06);
|
||||
WALLGUN.slot_3F(retval, dir, arg_06);
|
||||
WALLGUN.slot_3E(retval, dir, arg_06);
|
||||
WALLGUN.slot_43(0, 5, dir, dir, arg_06);
|
||||
WALLGUN.slot_42(retval, dir, arg_06);
|
||||
WALLGUN.slot_41(retval, dir, arg_06);
|
||||
return;
|
||||
}
|
||||
else {
|
||||
set_info(0x00F0, 0);
|
||||
spawn class_0A1E_slot_28(pid, 1, 2, n);
|
||||
spawn ITEM.slot_28(pid, 1, 2, n);
|
||||
suspend;
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ function basegun_enterFastArea() /* entry=270 class_id=0x04C8 slot=0x0F */
|
|||
return;
|
||||
}
|
||||
else {
|
||||
spawn class_0A1A_slot_27(arg_06);
|
||||
spawn WALLGUN.slot_27(arg_06);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ function basegun_leaveFastArea() /* entry=270 class_id=0x04C8 slot=0x10 */
|
|||
set_info(0x021C, *(arg_06));
|
||||
process_exclude();
|
||||
/* bit_not */
|
||||
class_0A0C_slot_33(1, *(arg_06));
|
||||
class_0A0C_slot_33(0x020A, *(arg_06));
|
||||
FREE.slot_33(1, *(arg_06));
|
||||
FREE.slot_33(0x020A, *(arg_06));
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,6 @@ function bbetty_leaveFastArea() /* entry=371 class_id=0x0A01 slot=0x10 */
|
|||
{
|
||||
set_info(0x0001, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_33(1, *(arg_06));
|
||||
FREE.slot_33(1, *(arg_06));
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ function bbetty_slot_20() /* entry=371 class_id=0x0A01 slot=0x20 */
|
|||
total; /* [BP-08h] type=0x69 */
|
||||
|
||||
set_info(0x0205, *(arg_06));
|
||||
if (Item.getShape(arg_06) == 0x02C9) {
|
||||
if (Item.getShape(arg_06) == bbetty_shape_02c9) {
|
||||
counter = 0;
|
||||
while (counter > 4) {
|
||||
total = 0;
|
||||
|
|
@ -23,11 +23,11 @@ function bbetty_slot_20() /* entry=371 class_id=0x0A01 slot=0x20 */
|
|||
item = Item.getEtherealTop();
|
||||
counter2 = (1 + counter2);
|
||||
}
|
||||
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
}
|
||||
}
|
||||
spawn class_0A01_slot_21(arg_06);
|
||||
spawn BBETTY.slot_21(arg_06);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ function bbetty_slot_21() /* entry=371 class_id=0x0A01 slot=0x21 */
|
|||
|
||||
entry:
|
||||
set_info(0x00F0, *(arg_06));
|
||||
spawn class_0A0C_slot_32(pid, 60, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 60, 0x00000000);
|
||||
suspend;
|
||||
|
||||
block_02BB:
|
||||
|
|
@ -83,8 +83,8 @@ function bbetty_slot_21() /* entry=371 class_id=0x0A01 slot=0x21 */
|
|||
}
|
||||
|
||||
block_0469:
|
||||
class_0A0C_slot_20(8, 30, 15);
|
||||
spawn class_0A0C_slot_32(pid, ((5 - Game.getDifficultyLevel()) * 20), 0x00000000);
|
||||
FREE.slot_20(8, 30, 15);
|
||||
spawn FREE.waitNTimerTicks(pid, ((5 - Game.getDifficultyLevel()) * 20), 0x00000000);
|
||||
suspend;
|
||||
goto block_02BB;
|
||||
|
||||
|
|
|
|||
|
|
@ -7,27 +7,27 @@ function bbox_gotHit() /* entry=300 class_id=0x0525 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_2C(vel, ref);
|
||||
FREE.slot_2C(vel, ref);
|
||||
if (!retval) {
|
||||
if (Item.getFrame(arg_06)) {
|
||||
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
|
||||
spawn ITEM.slot_28(pid, 0, 0, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
else {
|
||||
spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06);
|
||||
spawn ITEM.slot_27(pid, 100, vel, ref, arg_06);
|
||||
suspend;
|
||||
/* dword_to_word */
|
||||
if (process_result) {
|
||||
class_0A0C_slot_20(1);
|
||||
FREE.slot_20(1);
|
||||
if (!retval) {
|
||||
}
|
||||
return;
|
||||
}
|
||||
else {
|
||||
spawn class_0A1E_slot_2A(pid, arg_06);
|
||||
spawn ITEM.slot_2A(pid, arg_06);
|
||||
suspend;
|
||||
spawn class_0A1E_slot_28(pid, 1, 1, arg_06);
|
||||
spawn ITEM.slot_28(pid, 1, 1, arg_06);
|
||||
suspend;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,15 +7,11 @@ function bbtrip_hatch() /* entry=351 class_id=0x090B slot=0x07 */
|
|||
|
||||
set_info(0x0210, *(arg_06));
|
||||
process_exclude();
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in nearby_items(shape=MINE_LAYER_TRAP, origin=arg_06) */
|
||||
while (!condition) {
|
||||
if (Item.getFrame(item)) {
|
||||
bbetty = item;
|
||||
spawn class_0A01_slot_20(pid, bbetty);
|
||||
spawn BBETTY.slot_20(pid, bbetty);
|
||||
suspend;
|
||||
}
|
||||
/* loopnext */
|
||||
|
|
|
|||
|
|
@ -6,13 +6,13 @@ function betty_equip() /* entry=123 class_id=0x021D slot=0x0A */
|
|||
if (!(Item.getStatus(arg_06) & 0x1000)) {
|
||||
return;
|
||||
}
|
||||
class_0A1E_slot_23(0x1000, arg_06);
|
||||
spawn class_0A01_slot_20(arg_06);
|
||||
ITEM.slot_23(0x1000, arg_06);
|
||||
spawn BBETTY.slot_20(arg_06);
|
||||
return;
|
||||
}
|
||||
else {
|
||||
class_0A1E_slot_24(0x1000, arg_06);
|
||||
class_0A0C_slot_33(1, *(arg_06));
|
||||
ITEM.slot_24(0x1000, arg_06);
|
||||
FREE.slot_33(1, *(arg_06));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ function bettyup_gotHit() /* entry=151 class_id=0x02C9 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A1E_slot_27(pid, 0x00C8, vel, ref, arg_06);
|
||||
spawn ITEM.slot_27(pid, 0x00C8, vel, ref, arg_06);
|
||||
suspend;
|
||||
/* dword_to_word */
|
||||
if (process_result) {
|
||||
|
|
|
|||
|
|
@ -6,14 +6,14 @@ function bettyup_equip() /* entry=151 class_id=0x02C9 slot=0x0A */
|
|||
if (!(Item.getStatus(arg_06) & 0x1000)) {
|
||||
return;
|
||||
}
|
||||
class_0A1E_slot_23(0x1000, arg_06);
|
||||
spawn class_0A01_slot_20(arg_06);
|
||||
ITEM.slot_23(0x1000, arg_06);
|
||||
spawn BBETTY.slot_20(arg_06);
|
||||
return;
|
||||
}
|
||||
else {
|
||||
class_0A1E_slot_24(0x1000, arg_06);
|
||||
class_0A0C_slot_33(0x0205, *(arg_06));
|
||||
class_0A0C_slot_33(0x00F0, *(arg_06));
|
||||
ITEM.slot_24(0x1000, arg_06);
|
||||
FREE.slot_33(0x0205, *(arg_06));
|
||||
FREE.slot_33(0x00F0, *(arg_06));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,6 @@ function bettyup_enterFastArea() /* entry=151 class_id=0x02C9 slot=0x0F */
|
|||
{
|
||||
set_info(0x021B, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A01_slot_20(arg_06);
|
||||
spawn BBETTY.slot_20(arg_06);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,21 +10,21 @@ function bigcan_gotHit() /* entry=170 class_id=0x0313 slot=0x06 */
|
|||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
fram = Item.getFrame(arg_06);
|
||||
class_0A0C_slot_2C(vel, ref);
|
||||
FREE.slot_2C(vel, ref);
|
||||
if (!retval) {
|
||||
if (fram == 2) {
|
||||
class_0A0C_slot_20(2);
|
||||
class_0A0C_slot_20(4, 5, 4);
|
||||
class_0A0C_slot_20(retval, 4);
|
||||
FREE.slot_20(2);
|
||||
FREE.slot_20(4, 5, 4);
|
||||
FREE.slot_20(retval, 4);
|
||||
return;
|
||||
}
|
||||
else if (fram == 1) {
|
||||
spawn class_0A1E_slot_28(pid, 0, 1, arg_06);
|
||||
spawn ITEM.slot_28(pid, 0, 1, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
else {
|
||||
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
|
||||
spawn ITEM.slot_28(pid, 0, 0, arg_06);
|
||||
suspend;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@ function bigcomew_gotHit() /* entry=133 class_id=0x0258 slot=0x06 */
|
|||
return;
|
||||
}
|
||||
else {
|
||||
class_0A0C_slot_2C(vel, ref);
|
||||
FREE.slot_2C(vel, ref);
|
||||
if (!retval) {
|
||||
spawn class_0A1E_slot_28(pid, 0, 1, arg_06);
|
||||
spawn ITEM.slot_28(pid, 0, 1, arg_06);
|
||||
suspend;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@ function bigcomns_gotHit() /* entry=132 class_id=0x0257 slot=0x06 */
|
|||
return;
|
||||
}
|
||||
else {
|
||||
class_0A0C_slot_2C(vel, ref);
|
||||
FREE.slot_2C(vel, ref);
|
||||
if (!retval) {
|
||||
spawn class_0A1E_slot_28(pid, 0, 1, arg_06);
|
||||
spawn ITEM.slot_28(pid, 0, 1, arg_06);
|
||||
suspend;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ function black16_gotHit() /* entry=3 class_id=0x000F slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_2C(vel, ref);
|
||||
FREE.slot_2C(vel, ref);
|
||||
if (retval) {
|
||||
item = ref;
|
||||
if (Item.isCompletelyOn(*(arg_06), item)) {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ function black8_gotHit() /* entry=1 class_id=0x0003 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_2C(vel, ref);
|
||||
FREE.slot_2C(vel, ref);
|
||||
if (retval) {
|
||||
item = ref;
|
||||
if (Item.isCompletelyOn(*(arg_06), item)) {
|
||||
|
|
|
|||
|
|
@ -19,9 +19,7 @@ function blaser_slot_20() /* entry=372 class_id=0x0A02 slot=0x20 */
|
|||
item = ref;
|
||||
link = Item.getQLo(item);
|
||||
count = 0;
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xF7 string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in selector_0x42(arg0=0x02C3, arg1=0x02C4, arg2=(50 * 32), origin=ref) */
|
||||
|
||||
block_0130:
|
||||
if condition goto block_0185;
|
||||
|
|
@ -121,7 +119,7 @@ function blaser_slot_20() /* entry=372 class_id=0x0A02 slot=0x20 */
|
|||
goto block_01B0;
|
||||
|
||||
block_0428:
|
||||
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
|
||||
suspend;
|
||||
if (inFastArea != 0) goto block_0482;
|
||||
|
||||
|
|
|
|||
|
|
@ -22,9 +22,9 @@ function blaser_slot_21() /* entry=372 class_id=0x0A02 slot=0x21 */
|
|||
return;
|
||||
}
|
||||
else {
|
||||
spawn class_0A11_slot_2C(pid, *(arg_06), n);
|
||||
spawn NPC.slot_2C(pid, *(arg_06), n);
|
||||
suspend;
|
||||
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ function blaser1_hit() /* entry=239 class_id=0x0443 slot=0x05 */
|
|||
|
||||
set_info(0x020B, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0443_slot_21(pid, ke, ref, arg_06);
|
||||
spawn BLASER1.slot_21(pid, ke, ref, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ function blaser1_gotHit() /* entry=239 class_id=0x0443 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0443_slot_21(pid, ke, ref, arg_06);
|
||||
spawn BLASER1.slot_21(pid, ke, ref, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ function blaser1_unequip() /* entry=239 class_id=0x0443 slot=0x0B */
|
|||
set_info(0x0212, *(arg_06));
|
||||
process_exclude();
|
||||
if ((Item.getStatus(arg_06) & 0x1000) == 0) {
|
||||
spawn class_0443_slot_20(*(arg_06), arg_06);
|
||||
spawn BLASER1.slot_20(*(arg_06), arg_06);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ function blaser1_enterFastArea() /* entry=239 class_id=0x0443 slot=0x0F */
|
|||
set_info(0x021B, *(arg_06));
|
||||
process_exclude();
|
||||
if ((Item.getStatus(arg_06) & 0x1000) == 0) {
|
||||
spawn class_0443_slot_20(*(arg_06), arg_06);
|
||||
spawn BLASER1.slot_20(*(arg_06), arg_06);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,11 +20,7 @@ function blaser1_slot_20() /* entry=239 class_id=0x0443 slot=0x20 */
|
|||
item = ref;
|
||||
link = Item.getQLo(item);
|
||||
count = 0;
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xF7 string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in nearby_items(shape=0x0443, origin=ref) */
|
||||
|
||||
block_0370:
|
||||
if condition goto block_03E6;
|
||||
|
|
@ -161,7 +157,7 @@ function blaser1_slot_20() /* entry=239 class_id=0x0443 slot=0x20 */
|
|||
goto block_0411;
|
||||
|
||||
block_076F:
|
||||
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
|
||||
suspend;
|
||||
if (inFastArea != 0) goto block_07C9;
|
||||
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ function blaser1_slot_21() /* entry=239 class_id=0x0443 slot=0x21 */
|
|||
set_info(1, *(arg_06));
|
||||
n = ref;
|
||||
if (!Actor.isNPC(n)) {
|
||||
spawn class_0A11_slot_2C(pid, *(arg_06), n);
|
||||
spawn NPC.slot_2C(pid, *(arg_06), n);
|
||||
suspend;
|
||||
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ function blaserew_hit() /* entry=150 class_id=0x02C4 slot=0x05 */
|
|||
|
||||
set_info(0x020B, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A02_slot_21(pid, ke, ref, arg_06);
|
||||
spawn BLASER.slot_21(pid, ke, ref, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ function blaserew_gotHit() /* entry=150 class_id=0x02C4 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A02_slot_21(pid, ke, ref, arg_06);
|
||||
spawn BLASER.slot_21(pid, ke, ref, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ function blaserew_unequip() /* entry=150 class_id=0x02C4 slot=0x0B */
|
|||
set_info(0x0212, *(arg_06));
|
||||
process_exclude();
|
||||
if ((Item.getStatus(arg_06) & 0x1000) == 0) {
|
||||
spawn class_0A02_slot_20(*(arg_06), arg_06);
|
||||
spawn BLASER.slot_20(*(arg_06), arg_06);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ function blaserew_enterFastArea() /* entry=150 class_id=0x02C4 slot=0x0F */
|
|||
set_info(0x021B, *(arg_06));
|
||||
process_exclude();
|
||||
if ((Item.getStatus(arg_06) & 0x1000) == 0) {
|
||||
spawn class_0A02_slot_20(*(arg_06), arg_06);
|
||||
spawn BLASER.slot_20(*(arg_06), arg_06);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ function blaserns_hit() /* entry=149 class_id=0x02C3 slot=0x05 */
|
|||
|
||||
set_info(0x020B, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A02_slot_21(pid, ke, ref, arg_06);
|
||||
spawn BLASER.slot_21(pid, ke, ref, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ function blaserns_gotHit() /* entry=149 class_id=0x02C3 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A02_slot_21(pid, ke, ref, arg_06);
|
||||
spawn BLASER.slot_21(pid, ke, ref, arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ function blaserns_unequip() /* entry=149 class_id=0x02C3 slot=0x0B */
|
|||
set_info(0x0212, *(arg_06));
|
||||
process_exclude();
|
||||
if ((Item.getStatus(arg_06) & 0x1000) == 0) {
|
||||
spawn class_0A02_slot_20(*(arg_06), arg_06);
|
||||
spawn BLASER.slot_20(*(arg_06), arg_06);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ function blaserns_enterFastArea() /* entry=149 class_id=0x02C3 slot=0x0F */
|
|||
set_info(0x021B, *(arg_06));
|
||||
process_exclude();
|
||||
if ((Item.getStatus(arg_06) & 0x1000) == 0) {
|
||||
spawn class_0A02_slot_20(*(arg_06), arg_06);
|
||||
spawn BLASER.slot_20(*(arg_06), arg_06);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,16 +25,12 @@ function blastpac_use() /* entry=207 class_id=0x039B slot=0x01 */
|
|||
if Actor.isBusy() goto block_0153;
|
||||
|
||||
block_012D:
|
||||
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
|
||||
suspend;
|
||||
goto block_011D;
|
||||
|
||||
block_0153:
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xF9 string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in nearby_items(shape=0x053A, origin=global[0x003C]) */
|
||||
|
||||
block_0171:
|
||||
if condition goto block_0233;
|
||||
|
|
@ -43,14 +39,14 @@ function blastpac_use() /* entry=207 class_id=0x039B slot=0x01 */
|
|||
target = item;
|
||||
|
||||
block_017B:
|
||||
class_0A0C_slot_29(target, global[0x003C]);
|
||||
FREE.slot_29(target, global[0x003C]);
|
||||
if ((retval > 3) && (counter != 6)) goto block_01FC;
|
||||
|
||||
block_019E:
|
||||
/* global_address global_id=0x3C */
|
||||
/* global_address global_id=0x3C */
|
||||
/* global_address global_id=0x3C */
|
||||
spawn class_0A11_slot_22(Item.getDirFromTo16(Item.getX(pid, 1, Item.getY(Item.getY(target), Item.getX(target)))));
|
||||
spawn NPC.slot_22(Item.getDirFromTo16(Item.getX(pid, 1, Item.getY(Item.getY(target), Item.getX(target)))));
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
goto block_017B;
|
||||
|
|
@ -152,19 +148,19 @@ function blastpac_use() /* entry=207 class_id=0x039B slot=0x01 */
|
|||
/* global_address global_id=0x3C */
|
||||
/* global_address global_id=0x3C */
|
||||
/* global_address global_id=0x3C */
|
||||
spawn class_039B_slot_20(mine, arg_06);
|
||||
spawn BLASTPAC.slot_20(mine, arg_06);
|
||||
|
||||
block_04C5:
|
||||
/* global_address global_id=0x3C */
|
||||
if Actor.isBusy() goto block_04FB;
|
||||
|
||||
block_04D5:
|
||||
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
|
||||
suspend;
|
||||
goto block_04C5;
|
||||
|
||||
block_04FB:
|
||||
spawn class_0A0C_slot_21(pid, 13, 0x00000000);
|
||||
spawn FREE.slot_21(pid, 13, 0x00000000);
|
||||
suspend;
|
||||
if (!InCrouch) goto block_05C5;
|
||||
|
||||
|
|
@ -186,14 +182,14 @@ function blastpac_use() /* entry=207 class_id=0x039B slot=0x01 */
|
|||
goto block_061A;
|
||||
|
||||
block_05C5:
|
||||
spawn class_0A0C_slot_21(pid, 0x00B0, 0x00000000);
|
||||
spawn FREE.slot_21(pid, 0x00B0, 0x00000000);
|
||||
suspend;
|
||||
|
||||
block_061A:
|
||||
goto block_0672;
|
||||
|
||||
block_061D:
|
||||
spawn class_0A0C_slot_21(pid, 0x00B0, 0x00000000);
|
||||
spawn FREE.slot_21(pid, 0x00B0, 0x00000000);
|
||||
suspend;
|
||||
|
||||
block_0672:
|
||||
|
|
|
|||
|
|
@ -13,43 +13,34 @@ function blastpac_slot_20() /* entry=207 class_id=0x039B slot=0x20 */
|
|||
y, /* [BP-10h] type=0x69 */
|
||||
z; /* [BP-12h] type=0x69 */
|
||||
|
||||
spawn class_0A0C_slot_32(pid, 60, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 60, 0x00000000);
|
||||
suspend;
|
||||
set_info(0x00F0, 0);
|
||||
counter = 1;
|
||||
while (counter > 5) {
|
||||
spawn class_0A0C_slot_32(pid, 60, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 60, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
}
|
||||
spawn class_0A1E_slot_28(pid, 1, 2, pac);
|
||||
spawn ITEM.slot_28(pid, 1, 2, pac);
|
||||
suspend;
|
||||
/* global_address global_id=0x3C */
|
||||
if (Actor.getMap() == 1) {
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
/* pop_global global_id=0x20 size=0x1 */
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in nearby_items(shape=REACTOR, origin=global[0x003C]) */
|
||||
while (!condition) {
|
||||
spawn class_0A1E_slot_28(pid, 0, 2, item);
|
||||
spawn ITEM.slot_28(pid, 0, 2, item);
|
||||
suspend;
|
||||
therm = item;
|
||||
/* loopnext */
|
||||
}
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
while (!condition) {
|
||||
spawn class_0A1E_slot_28(pid, 1, 0, item);
|
||||
for item in nearby_items(shape=REACTOR_CELL, origin=therm) {
|
||||
spawn ITEM.slot_28(pid, 1, 0, item);
|
||||
suspend;
|
||||
thermTop = item;
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
/* loopnext */
|
||||
}
|
||||
|
|
@ -57,46 +48,35 @@ function blastpac_slot_20() /* entry=207 class_id=0x039B slot=0x20 */
|
|||
if (!Actor.isDead()) {
|
||||
return;
|
||||
}
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
while (!condition) {
|
||||
spawn class_0A0C_slot_32(UCMachine.rndRange(pid, 20, 10), 0x00000000);
|
||||
for item in nearby_items(shape=NUMBERS, origin=therm) {
|
||||
spawn FREE.waitNTimerTicks(UCMachine.rndRange(pid, 20, 10), 0x00000000);
|
||||
suspend;
|
||||
/* loopnext */
|
||||
}
|
||||
counter = 0;
|
||||
while (counter > 2) {
|
||||
while (!AudioProcess.isSFXPlayingForObject(22, thermTop)) {
|
||||
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
counter = (1 + counter);
|
||||
}
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in nearby_items(shape=ELECTRODE, origin=therm) */
|
||||
while (!condition) {
|
||||
spawn class_0A1E_slot_28(pid, 0, 0, item);
|
||||
spawn ITEM.slot_28(pid, 0, 0, item);
|
||||
suspend;
|
||||
spawn class_0A0C_slot_32(UCMachine.rndRange(pid, 10, 5), 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(UCMachine.rndRange(pid, 10, 5), 0x00000000);
|
||||
suspend;
|
||||
/* loopnext */
|
||||
}
|
||||
spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 0x00C8, 0x00000000);
|
||||
suspend;
|
||||
spawn class_0A0C_slot_26(pid, "1c", 0x00000000);
|
||||
spawn FREE.slot_26(pid, "1c", 0x00000000);
|
||||
/* free_stack_string value_u8=0x0 target=[SP+00h] */
|
||||
suspend;
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in selector_0x42(arg0=0x032A, arg1=0x0329, arg2=(50 * 32), origin=global[0x003C]) */
|
||||
while (!condition) {
|
||||
/* loopnext */
|
||||
}
|
||||
|
|
@ -104,127 +84,89 @@ function blastpac_slot_20() /* entry=207 class_id=0x039B slot=0x20 */
|
|||
}
|
||||
else if (Actor.getMap() == 7) {
|
||||
/* pop_global global_id=0x23 size=0x1 */
|
||||
spawn class_0A0C_slot_32(1, pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(1, pid, 10, 0x00000000);
|
||||
suspend;
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in nearby_items(shape=COMM_CONSOLE, origin=global[0x003C]) */
|
||||
while (!condition) {
|
||||
radar = item;
|
||||
/* loopnext */
|
||||
}
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
while (!condition) {
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
for item in nearby_items(shape=RADAR_DISH, origin=radar) {
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
x = Item.getX(item);
|
||||
y = Item.getY(item);
|
||||
z = Item.getZ(item);
|
||||
/* loopnext */
|
||||
}
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
while (!condition) {
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
for item in selector_0x42(arg0=0x01A5, arg1=0x01A4, arg2=(50 * 32), origin=radar) {
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
/* loopnext */
|
||||
}
|
||||
spawn class_0A0C_slot_32(pid, 60, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 60, 0x00000000);
|
||||
suspend;
|
||||
/* global_address global_id=0x3C */
|
||||
if (!Actor.isDead()) {
|
||||
return;
|
||||
}
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
while (!condition) {
|
||||
spawn class_0A0C_slot_32(UCMachine.rndRange(pid, 20, 10), 0x00000000);
|
||||
for item in nearby_items(shape=NUMBERS, origin=radar) {
|
||||
spawn FREE.waitNTimerTicks(UCMachine.rndRange(pid, 20, 10), 0x00000000);
|
||||
suspend;
|
||||
/* loopnext */
|
||||
}
|
||||
counter = 0;
|
||||
while (counter > 2) {
|
||||
while (!AudioProcess.isSFXPlayingForObject(0x0096, radar)) {
|
||||
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
counter = (1 + counter);
|
||||
}
|
||||
spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 0x00C8, 0x00000000);
|
||||
suspend;
|
||||
spawn class_0A0C_slot_26(pid, "4g", 0x00000000);
|
||||
spawn FREE.slot_26(pid, "4g", 0x00000000);
|
||||
/* free_stack_string value_u8=0x0 target=[SP+00h] */
|
||||
suspend;
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in selector_0x42(arg0=0x032A, arg1=0x0329, arg2=(50 * 32), origin=radar) */
|
||||
while (!condition) {
|
||||
/* loopnext */
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (Actor.getMap() == 29) {
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
/* pop_global global_id=0x2E size=0x1 */
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in nearby_items(shape=LIGHT_TUBE, origin=global[0x003C]) */
|
||||
while (!condition) {
|
||||
spawn class_0A1E_slot_28(pid, 0, 2, item);
|
||||
spawn ITEM.slot_28(pid, 0, 2, item);
|
||||
suspend;
|
||||
/* loopnext */
|
||||
}
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
while (!condition) {
|
||||
for item in nearby_items(shape=TUBE_PLATFORM, origin=global[0x003C]) {
|
||||
/* loopnext */
|
||||
}
|
||||
spawn class_0A0C_slot_32(pid, 60, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 60, 0x00000000);
|
||||
suspend;
|
||||
/* global_address global_id=0x3C */
|
||||
if (!Actor.isDead()) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
while (!condition) {
|
||||
for item in nearby_items(shape=NUMBERS, origin=global[0x003C]) {
|
||||
if (Item.getQLo(item) == 0) {
|
||||
spawn class_0A0C_slot_32(UCMachine.rndRange(pid, 30, 20), 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(UCMachine.rndRange(pid, 30, 20), 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
/* loopnext */
|
||||
}
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
while (!condition) {
|
||||
spawn class_0A0C_slot_32(pid, 20, 0x00000000);
|
||||
for item in nearby_items(shape=0x03B0, origin=global[0x003C]) {
|
||||
spawn FREE.waitNTimerTicks(pid, 20, 0x00000000);
|
||||
suspend;
|
||||
/* loopnext */
|
||||
}
|
||||
spawn class_0A0C_slot_22(0x00000000);
|
||||
spawn FREE.slot_22(0x00000000);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@ function blood_gotHit() /* entry=257 class_id=0x04B8 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_2C(vel, ref);
|
||||
FREE.slot_2C(vel, ref);
|
||||
if (retval == 4) {
|
||||
if (((Item.getFrame(arg_06) == 9) || (Item.getFrame(arg_06) != 19)) || (Item.getFrame(arg_06) != 29)) {
|
||||
spawn class_0A0C_slot_32(pid, 15, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 15, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@ function bouncbox_gotHit() /* entry=291 class_id=0x04EF slot=0x06 */
|
|||
dir = Item.getQHi(arg_06);
|
||||
item = ref;
|
||||
if (ref == 0x4000) {
|
||||
class_0A0C_slot_2C(vel, ref);
|
||||
class_0A0C_slot_2C((retval != 4), vel, ref);
|
||||
FREE.slot_2C(vel, ref);
|
||||
FREE.slot_2C((retval != 4), vel, ref);
|
||||
if (retval == 3) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -33,10 +33,10 @@ function bouncbox_gotHit() /* entry=291 class_id=0x04EF slot=0x06 */
|
|||
dir = 0x00FF;
|
||||
}
|
||||
else {
|
||||
class_0A0C_slot_2C(vel, ref);
|
||||
FREE.slot_2C(vel, ref);
|
||||
ammo = retval;
|
||||
if (dir == 0x00FF) {
|
||||
class_0A0C_slot_20(15);
|
||||
FREE.slot_20(15);
|
||||
dir = retval;
|
||||
}
|
||||
else if (dir == 0x00FE) {
|
||||
|
|
|
|||
|
|
@ -8,35 +8,35 @@ function box_ew_use() /* entry=15 class_id=0x0080 slot=0x01 */
|
|||
process_exclude();
|
||||
if (!Item.getFrame(arg_06)) {
|
||||
while (!AudioProcess.isSFXPlayingForObject(0x00A7, arg_06)) {
|
||||
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
counter = 0;
|
||||
while (counter > 5) {
|
||||
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
}
|
||||
}
|
||||
else {
|
||||
while (!AudioProcess.isSFXPlayingForObject(0x00A5, arg_06)) {
|
||||
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
counter = 0;
|
||||
while (counter > 5) {
|
||||
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
}
|
||||
}
|
||||
if (Item.getMapArray(arg_06) == 0) {
|
||||
if (Item.getFrame(arg_06) == 0) {
|
||||
spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
|
||||
spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06);
|
||||
suspend;
|
||||
}
|
||||
else {
|
||||
spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
|
||||
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
|
||||
suspend;
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -8,35 +8,35 @@ function box_ns_use() /* entry=16 class_id=0x0081 slot=0x01 */
|
|||
process_exclude();
|
||||
if (!Item.getFrame(arg_06)) {
|
||||
while (!AudioProcess.isSFXPlayingForObject(0x00A7, arg_06)) {
|
||||
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
counter = 0;
|
||||
while (counter > 5) {
|
||||
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
}
|
||||
}
|
||||
else {
|
||||
while (!AudioProcess.isSFXPlayingForObject(0x00A5, arg_06)) {
|
||||
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
counter = 0;
|
||||
while (counter > 5) {
|
||||
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
}
|
||||
}
|
||||
if (Item.getMapArray(arg_06) == 0) {
|
||||
if (Item.getFrame(arg_06) == 0) {
|
||||
spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
|
||||
spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06);
|
||||
suspend;
|
||||
}
|
||||
else {
|
||||
spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
|
||||
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
|
||||
suspend;
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -8,23 +8,23 @@ function bridge_slot_20() /* entry=373 class_id=0x0A03 slot=0x20 */
|
|||
set_info(0x0211, *(arg_06));
|
||||
if (var == 1) {
|
||||
q = Item.getQLo(arg_06);
|
||||
spawn class_0A03_slot_22(pid, q, arg_06);
|
||||
spawn BRIDGE.slot_22(pid, q, arg_06);
|
||||
suspend;
|
||||
/* dword_to_word */
|
||||
if (process_result == 1) {
|
||||
spawn class_0A03_slot_24(pid, q, arg_06);
|
||||
spawn BRIDGE.slot_24(pid, q, arg_06);
|
||||
suspend;
|
||||
spawn class_0A03_slot_26(0, q, arg_06);
|
||||
spawn BRIDGE.slot_26(0, q, arg_06);
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (var == 2) {
|
||||
q = Item.getQLo(arg_06);
|
||||
spawn class_0A03_slot_23(pid, q, arg_06);
|
||||
spawn BRIDGE.slot_23(pid, q, arg_06);
|
||||
suspend;
|
||||
/* dword_to_word */
|
||||
if (process_result == 1) {
|
||||
spawn class_0A03_slot_25(pid, q, arg_06);
|
||||
spawn BRIDGE.slot_25(pid, q, arg_06);
|
||||
suspend;
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -7,9 +7,7 @@ function bridge_slot_22() /* entry=373 class_id=0x0A03 slot=0x22 */
|
|||
x; /* [BP-04h] type=0x69 */
|
||||
|
||||
set_info(0x021B, *(arg_06));
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in selector_0x42(arg0=0x0336, arg1=0x0290, arg2=(70 * 32), origin=arg_06) */
|
||||
while (!condition) {
|
||||
if (Item.getFrame(item) == 0) {
|
||||
x = Item.getQLo(item);
|
||||
|
|
|
|||
|
|
@ -10,9 +10,7 @@ function bridge_slot_23() /* entry=373 class_id=0x0A03 slot=0x23 */
|
|||
entry:
|
||||
set_info(0x021B, *(arg_06));
|
||||
end = 0;
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in selector_0x42(arg0=0x03A6, arg1=0x0413, arg2=(70 * 32), origin=arg_06) */
|
||||
|
||||
block_03AC:
|
||||
if condition goto block_03F2;
|
||||
|
|
@ -37,9 +35,7 @@ function bridge_slot_23() /* entry=373 class_id=0x0A03 slot=0x23 */
|
|||
if (end != 0) goto block_0479;
|
||||
|
||||
block_03FF:
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in selector_0x42(arg0=0x0336, arg1=0x0290, arg2=(70 * 32), origin=arg_06) */
|
||||
|
||||
block_041F:
|
||||
if condition goto block_0477;
|
||||
|
|
@ -69,49 +65,28 @@ function bridge_slot_23() /* entry=373 class_id=0x0A03 slot=0x23 */
|
|||
if (end != 0) goto block_054A;
|
||||
|
||||
block_0484:
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
|
||||
block_04A4:
|
||||
if condition goto block_04DC;
|
||||
|
||||
block_04A7:
|
||||
x = Item.getQLo(item);
|
||||
if (x != end) goto block_04D8;
|
||||
|
||||
block_04C0:
|
||||
/* word_to_dword */
|
||||
/* pop_result */
|
||||
goto block_0554;
|
||||
|
||||
block_04D8:
|
||||
/* loopnext */
|
||||
goto block_04A4;
|
||||
for item in selector_0x42(arg0=0x03A6, arg1=0x0413, arg2=(70 * 32), origin=arg_06) {
|
||||
x = Item.getQLo(item);
|
||||
if (x == end) {
|
||||
/* word_to_dword */
|
||||
/* pop_result */
|
||||
return;
|
||||
}
|
||||
/* loopnext */
|
||||
}
|
||||
|
||||
block_04DC:
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
|
||||
block_04FE:
|
||||
if condition goto block_0548;
|
||||
|
||||
block_0501:
|
||||
if (Item.getFrame(arg_06) != 1) goto block_0544;
|
||||
|
||||
block_0513:
|
||||
x = Item.getQLo(item);
|
||||
if (x != end) goto block_0544;
|
||||
|
||||
block_052C:
|
||||
/* word_to_dword */
|
||||
/* pop_result */
|
||||
goto block_0554;
|
||||
|
||||
block_0544:
|
||||
/* loopnext */
|
||||
goto block_04FE;
|
||||
for item in selector_0x42(arg0=0x0336, arg1=0x0290, arg2=(70 * 32), origin=arg_06) {
|
||||
if (Item.getFrame(arg_06) == 1) {
|
||||
x = Item.getQLo(item);
|
||||
if (x == end) {
|
||||
/* word_to_dword */
|
||||
/* pop_result */
|
||||
return;
|
||||
}
|
||||
}
|
||||
/* loopnext */
|
||||
}
|
||||
|
||||
block_0548:
|
||||
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@ function bridge_slot_24() /* entry=373 class_id=0x0A03 slot=0x24 */
|
|||
entry:
|
||||
set_info(0x021B, *(arg_06));
|
||||
bridgemax = 0;
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in selector_0x42(arg0=0x0336, arg1=0x0290, arg2=(70 * 32), origin=arg_06) */
|
||||
|
||||
block_05C8:
|
||||
if condition goto block_05FC;
|
||||
|
|
@ -52,9 +50,7 @@ function bridge_slot_24() /* entry=373 class_id=0x0A03 slot=0x24 */
|
|||
|
||||
block_0632:
|
||||
z = y;
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in selector_0x42(arg0=0x0336, arg1=0x0290, arg2=(70 * 32), origin=arg_06) */
|
||||
|
||||
block_0659:
|
||||
if condition goto block_0699;
|
||||
|
|
@ -79,7 +75,7 @@ function bridge_slot_24() /* entry=373 class_id=0x0A03 slot=0x24 */
|
|||
if (z != y) goto block_06CC;
|
||||
|
||||
block_06A6:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
|
||||
block_06CC:
|
||||
|
|
@ -94,8 +90,8 @@ function bridge_slot_24() /* entry=373 class_id=0x0A03 slot=0x24 */
|
|||
if (Item.inFastArea(item) != 1) goto block_074A;
|
||||
|
||||
block_06EF:
|
||||
class_0A03_slot_21(0x03A6, item);
|
||||
spawn class_0A0C_slot_32(pid, 15, 0x00000000);
|
||||
BRIDGE.slot_21(0x03A6, item);
|
||||
spawn FREE.waitNTimerTicks(pid, 15, 0x00000000);
|
||||
suspend;
|
||||
|
||||
block_074A:
|
||||
|
|
@ -110,7 +106,7 @@ function bridge_slot_24() /* entry=373 class_id=0x0A03 slot=0x24 */
|
|||
if (Item.inFastArea(item) != 1) goto block_07A5;
|
||||
|
||||
block_0770:
|
||||
class_0A03_slot_21(0x03A6, item);
|
||||
BRIDGE.slot_21(0x03A6, item);
|
||||
|
||||
block_07A5:
|
||||
goto block_0759;
|
||||
|
|
|
|||
|
|
@ -15,9 +15,7 @@ function bridge_slot_25() /* entry=373 class_id=0x0A03 slot=0x25 */
|
|||
entry:
|
||||
set_info(0x021B, *(arg_06));
|
||||
bridgemax = 0;
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in selector_0x42(arg0=0x03A6, arg1=0x0413, arg2=(70 * 32), origin=arg_06) */
|
||||
|
||||
block_0843:
|
||||
if condition goto block_0877;
|
||||
|
|
@ -38,9 +36,7 @@ function bridge_slot_25() /* entry=373 class_id=0x0A03 slot=0x25 */
|
|||
if (bridgemax != 0) goto block_08FD;
|
||||
|
||||
block_0884:
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in selector_0x42(arg0=0x0336, arg1=0x0290, arg2=(70 * 32), origin=arg_06) */
|
||||
|
||||
block_08A4:
|
||||
if condition goto block_08EA;
|
||||
|
|
@ -81,9 +77,7 @@ function bridge_slot_25() /* entry=373 class_id=0x0A03 slot=0x25 */
|
|||
|
||||
block_092A:
|
||||
z = y;
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in selector_0x42(arg0=0x03A6, arg1=0x0413, arg2=(70 * 32), origin=arg_06) */
|
||||
|
||||
block_0951:
|
||||
if condition goto block_0991;
|
||||
|
|
@ -108,9 +102,7 @@ function bridge_slot_25() /* entry=373 class_id=0x0A03 slot=0x25 */
|
|||
if (z != y) goto block_0A43;
|
||||
|
||||
block_099E:
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in selector_0x42(arg0=0x0336, arg1=0x0290, arg2=(70 * 32), origin=arg_06) */
|
||||
|
||||
block_09BE:
|
||||
if condition goto block_0A10;
|
||||
|
|
@ -138,7 +130,7 @@ function bridge_slot_25() /* entry=373 class_id=0x0A03 slot=0x25 */
|
|||
if (z != y) goto block_0A43;
|
||||
|
||||
block_0A1D:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
|
||||
block_0A43:
|
||||
|
|
@ -153,8 +145,8 @@ function bridge_slot_25() /* entry=373 class_id=0x0A03 slot=0x25 */
|
|||
if (Item.inFastArea(item) != 1) goto block_0AB6;
|
||||
|
||||
block_0A66:
|
||||
class_0A03_slot_21(0x0336, item);
|
||||
spawn class_0A0C_slot_32(pid, 15, 0x00000000);
|
||||
BRIDGE.slot_21(0x0336, item);
|
||||
spawn FREE.waitNTimerTicks(pid, 15, 0x00000000);
|
||||
suspend;
|
||||
|
||||
block_0AB6:
|
||||
|
|
@ -168,21 +160,12 @@ function bridge_slot_25() /* entry=373 class_id=0x0A03 slot=0x25 */
|
|||
if ((Item.getItemFamily(item2) != 6) && (Actor.isNPC(item2) != 0)) goto block_0B4C;
|
||||
|
||||
block_0AE9:
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */
|
||||
|
||||
block_0B05:
|
||||
if condition goto block_0B17;
|
||||
|
||||
block_0B08:
|
||||
/* loopnext */
|
||||
goto block_0B05;
|
||||
for item3 in nearby_items(shape=0x04B8, origin=item2) {
|
||||
/* loopnext */
|
||||
}
|
||||
|
||||
block_0B17:
|
||||
spawn class_0A1E_slot_28(pid, 1, 0, item2);
|
||||
spawn ITEM.slot_28(pid, 1, 0, item2);
|
||||
suspend;
|
||||
goto block_0B57;
|
||||
|
||||
|
|
@ -204,7 +187,7 @@ function bridge_slot_25() /* entry=373 class_id=0x0A03 slot=0x25 */
|
|||
if (Item.inFastArea(item) != 1) goto block_0BAD;
|
||||
|
||||
block_0B83:
|
||||
class_0A03_slot_21(0x0336, item);
|
||||
BRIDGE.slot_21(0x0336, item);
|
||||
|
||||
block_0BAD:
|
||||
/* loopscr value_u8=0x24 */
|
||||
|
|
@ -217,21 +200,12 @@ function bridge_slot_25() /* entry=373 class_id=0x0A03 slot=0x25 */
|
|||
if ((Item.getItemFamily(item2) != 6) && (Actor.isNPC(item2) != 0)) goto block_0C43;
|
||||
|
||||
block_0BE0:
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */
|
||||
|
||||
block_0BFC:
|
||||
if condition goto block_0C0E;
|
||||
|
||||
block_0BFF:
|
||||
/* loopnext */
|
||||
goto block_0BFC;
|
||||
for item3 in nearby_items(shape=0x04B8, origin=item2) {
|
||||
/* loopnext */
|
||||
}
|
||||
|
||||
block_0C0E:
|
||||
spawn class_0A1E_slot_28(pid, 1, 0, item2);
|
||||
spawn ITEM.slot_28(pid, 1, 0, item2);
|
||||
suspend;
|
||||
goto block_0C4E;
|
||||
|
||||
|
|
|
|||
|
|
@ -26,9 +26,7 @@ function bridge_slot_26() /* entry=373 class_id=0x0A03 slot=0x26 */
|
|||
if (bridgemax != 0) goto block_0D66;
|
||||
|
||||
block_0CFF:
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in selector_0x42(arg0=0x03A6, arg1=0x0413, arg2=(70 * 32), origin=arg_06) */
|
||||
|
||||
block_0D1F:
|
||||
if condition goto block_0D53;
|
||||
|
|
@ -66,9 +64,7 @@ function bridge_slot_26() /* entry=373 class_id=0x0A03 slot=0x26 */
|
|||
|
||||
block_0D90:
|
||||
z = y;
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x42 */
|
||||
/* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */
|
||||
/* loop_selector item in selector_0x42(arg0=0x03A6, arg1=0x0413, arg2=(70 * 32), origin=arg_06) */
|
||||
|
||||
block_0DB7:
|
||||
if condition goto block_0E74;
|
||||
|
|
@ -122,13 +118,13 @@ function bridge_slot_26() /* entry=373 class_id=0x0A03 slot=0x26 */
|
|||
if (retry != 0) goto block_0EB5;
|
||||
|
||||
block_0E8C:
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
goto block_0EE5;
|
||||
|
||||
block_0EB5:
|
||||
retry = (retry - 1);
|
||||
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
|
||||
suspend;
|
||||
|
||||
block_0EE5:
|
||||
|
|
@ -190,23 +186,23 @@ function bridge_slot_26() /* entry=373 class_id=0x0A03 slot=0x26 */
|
|||
/* loop current_var=0xE3 string_bytes=0x1 loop_type=0x6 */
|
||||
while (!condition) {
|
||||
n = item2;
|
||||
class_0A0C_slot_20(pid, 8);
|
||||
spawn class_0A11_slot_2D(retval, item, n);
|
||||
FREE.slot_20(pid, 8);
|
||||
spawn NPC.slot_2D(retval, item, n);
|
||||
suspend;
|
||||
/* loopnext */
|
||||
}
|
||||
}
|
||||
else if (x == 2) {
|
||||
class_0A03_slot_21(0x0336, item);
|
||||
BRIDGE.slot_21(0x0336, item);
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loop current_var=0xE3 string_bytes=0x1 loop_type=0x6 */
|
||||
while (!condition) {
|
||||
/* loopnext */
|
||||
}
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
if (Item.getFrame(item) == 1) {
|
||||
class_0A03_slot_21(0x03A6, item);
|
||||
BRIDGE.slot_21(0x03A6, item);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -214,7 +210,7 @@ function bridge_slot_26() /* entry=373 class_id=0x0A03 slot=0x26 */
|
|||
goto block_0FB3;
|
||||
|
||||
block_10E1:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
goto block_0EF3;
|
||||
|
||||
|
|
@ -264,14 +260,14 @@ function bridge_slot_26() /* entry=373 class_id=0x0A03 slot=0x26 */
|
|||
|
||||
block_11BB:
|
||||
n = item2;
|
||||
class_0A0C_slot_20(pid, 8);
|
||||
spawn class_0A11_slot_2D(retval, item, n);
|
||||
FREE.slot_20(pid, 8);
|
||||
spawn NPC.slot_2D(retval, item, n);
|
||||
suspend;
|
||||
/* loopnext */
|
||||
goto block_11B8;
|
||||
|
||||
block_11F3:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
goto block_12ED;
|
||||
|
||||
|
|
@ -279,7 +275,7 @@ function bridge_slot_26() /* entry=373 class_id=0x0A03 slot=0x26 */
|
|||
if (cycletype != 2) goto block_12E7;
|
||||
|
||||
block_1236:
|
||||
class_0A03_slot_21(0x0336, item);
|
||||
BRIDGE.slot_21(0x0336, item);
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loop current_var=0xE3 string_bytes=0x1 loop_type=0x6 */
|
||||
|
||||
|
|
@ -291,12 +287,12 @@ function bridge_slot_26() /* entry=373 class_id=0x0A03 slot=0x26 */
|
|||
goto block_126E;
|
||||
|
||||
block_1280:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
if (Item.getFrame(item) != 1) goto block_12E4;
|
||||
|
||||
block_12BA:
|
||||
class_0A03_slot_21(0x03A6, item);
|
||||
BRIDGE.slot_21(0x03A6, item);
|
||||
|
||||
block_12E4:
|
||||
goto block_12ED;
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ function brokencw_gotHit() /* entry=43 class_id=0x00D1 slot=0x06 */
|
|||
if (Item.getShape(item) == 0x00D1) {
|
||||
}
|
||||
else if ((Item.getItemFamily(item) == 6) && (Actor.isNPC(item) != 0)) {
|
||||
spawn class_0A1E_slot_28(pid, 1, 0, item);
|
||||
spawn ITEM.slot_28(pid, 1, 0, item);
|
||||
suspend;
|
||||
}
|
||||
/* loopnext */
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@ function bro_boot_equip() /* entry=172 class_id=0x0316 slot=0x0A */
|
|||
return;
|
||||
}
|
||||
else {
|
||||
class_0A0C_slot_33(0x021B, *(arg_06));
|
||||
FREE.slot_33(0x021B, *(arg_06));
|
||||
/* global_address global_id=0x3C */
|
||||
/* global_address global_id=0x3C */
|
||||
while (Item.getFrame(arg_06) == 9) {
|
||||
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
|
||||
suspend;
|
||||
if (global[0x001F] == 2) {
|
||||
/* str_to_ptr */
|
||||
|
|
@ -52,11 +52,11 @@ function bro_boot_equip() /* entry=172 class_id=0x0316 slot=0x0A */
|
|||
}
|
||||
counter = 0;
|
||||
while (counter > 9) {
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
}
|
||||
spawn class_0316_enterFastArea(arg_06);
|
||||
spawn BRO_BOOT.enterFastArea(arg_06);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,55 +11,31 @@ function bro_boot_enterFastArea() /* entry=172 class_id=0x0316 slot=0x0F */
|
|||
if ((((((global[0x001F] != 2) || (global[0x001F] != 3)) || (global[0x001F] != 4)) || (global[0x001F] != 5)) || (global[0x001F] != 9)) || (global[0x001F] != 10)) goto block_0454;
|
||||
|
||||
block_03F2:
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
|
||||
block_0410:
|
||||
if condition goto block_0442;
|
||||
|
||||
block_0413:
|
||||
if (Item.getQLo(item) != Item.getQLo(arg_06)) goto block_043E;
|
||||
|
||||
block_042F:
|
||||
class_0A1E_slot_24(0x1000, item);
|
||||
|
||||
block_043E:
|
||||
/* loopnext */
|
||||
goto block_0410;
|
||||
for item in nearby_items(shape=0x03AA, origin=arg_06) {
|
||||
if (Item.getQLo(item) == Item.getQLo(arg_06)) {
|
||||
ITEM.slot_24(0x1000, item);
|
||||
}
|
||||
/* loopnext */
|
||||
}
|
||||
|
||||
block_0442:
|
||||
goto block_04B9;
|
||||
|
||||
block_0454:
|
||||
/* loopscr value_u8=0x24 */
|
||||
/* loopscr value_u8=0x3D */
|
||||
/* loopscr value_u8=0x40 */
|
||||
/* loopscr value_u8=0x25 */
|
||||
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
|
||||
|
||||
block_0472:
|
||||
if condition goto block_04A4;
|
||||
|
||||
block_0475:
|
||||
if (Item.getQLo(item) != Item.getQLo(arg_06)) goto block_04A0;
|
||||
|
||||
block_0491:
|
||||
class_0A1E_slot_23(0x1000, item);
|
||||
|
||||
block_04A0:
|
||||
/* loopnext */
|
||||
goto block_0472;
|
||||
for item in nearby_items(shape=0x03AA, origin=arg_06) {
|
||||
if (Item.getQLo(item) == Item.getQLo(arg_06)) {
|
||||
ITEM.slot_23(0x1000, item);
|
||||
}
|
||||
/* loopnext */
|
||||
}
|
||||
|
||||
block_04A4:
|
||||
goto block_05CD;
|
||||
|
||||
block_04B9:
|
||||
suspend;
|
||||
class_0A0C_slot_20(pid, 100);
|
||||
spawn class_0A0C_slot_32((retval + 0x00C8), 0x00000000);
|
||||
FREE.slot_20(pid, 100);
|
||||
spawn FREE.waitNTimerTicks((retval + 0x00C8), 0x00000000);
|
||||
suspend;
|
||||
counter = 0;
|
||||
|
||||
|
|
@ -67,14 +43,14 @@ function bro_boot_enterFastArea() /* entry=172 class_id=0x0316 slot=0x0F */
|
|||
if (counter <= 5) goto block_0547;
|
||||
|
||||
block_0507:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
goto block_04FF;
|
||||
|
||||
block_0547:
|
||||
class_0A0C_slot_20(pid, 100);
|
||||
spawn class_0A0C_slot_32((retval + 100), 0x00000000);
|
||||
FREE.slot_20(pid, 100);
|
||||
spawn FREE.waitNTimerTicks((retval + 100), 0x00000000);
|
||||
suspend;
|
||||
counter = 0;
|
||||
|
||||
|
|
@ -82,7 +58,7 @@ function bro_boot_enterFastArea() /* entry=172 class_id=0x0316 slot=0x0F */
|
|||
if (counter <= 5) goto block_05CA;
|
||||
|
||||
block_0587:
|
||||
spawn class_0A0C_slot_32(pid, 15, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 15, 0x00000000);
|
||||
suspend;
|
||||
counter = (1 + counter);
|
||||
goto block_057F;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,6 @@ function bro_boot_leaveFastArea() /* entry=172 class_id=0x0316 slot=0x10 */
|
|||
{
|
||||
set_info(0x021C, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_33(0x021B, *(arg_06));
|
||||
FREE.slot_33(0x021B, *(arg_06));
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ function bubble_enterFastArea() /* entry=109 class_id=0x01D6 slot=0x0F */
|
|||
|
||||
block_00EB:
|
||||
suspend;
|
||||
class_0A0C_slot_20(pid, 120);
|
||||
spawn class_0A0C_slot_32((retval + 0x00DC), 0x00000000);
|
||||
FREE.slot_20(pid, 120);
|
||||
spawn FREE.waitNTimerTicks((retval + 0x00DC), 0x00000000);
|
||||
suspend;
|
||||
if Item.isOnScreen(arg_06) goto block_024B;
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ function bubble_enterFastArea() /* entry=109 class_id=0x01D6 slot=0x0F */
|
|||
if (counter <= 11) goto block_01A3;
|
||||
|
||||
block_0148:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
if (counter != 5) goto block_0196;
|
||||
|
||||
|
|
@ -33,8 +33,8 @@ function bubble_enterFastArea() /* entry=109 class_id=0x01D6 slot=0x0F */
|
|||
goto block_0140;
|
||||
|
||||
block_01A3:
|
||||
class_0A0C_slot_20(pid, 120);
|
||||
spawn class_0A0C_slot_32((retval + 120), 0x00000000);
|
||||
FREE.slot_20(pid, 120);
|
||||
spawn FREE.waitNTimerTicks((retval + 120), 0x00000000);
|
||||
suspend;
|
||||
counter = 12;
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ function bubble_enterFastArea() /* entry=109 class_id=0x01D6 slot=0x0F */
|
|||
if (counter <= 24) goto block_024B;
|
||||
|
||||
block_01F0:
|
||||
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
if (counter != 17) goto block_023E;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,6 @@ function bubble_leaveFastArea() /* entry=109 class_id=0x01D6 slot=0x10 */
|
|||
{
|
||||
set_info(0x021C, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_33(0x021B, *(arg_06));
|
||||
FREE.slot_33(0x021B, *(arg_06));
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@ function cameraco_gotHit() /* entry=88 class_id=0x01B6 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_2B(vel, ref);
|
||||
FREE.slot_2B(vel, ref);
|
||||
if (retval && (Item.getFrame(arg_06) == 5)) {
|
||||
class_0A0C_slot_33(0x021B, *(arg_06));
|
||||
spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
|
||||
FREE.slot_33(0x021B, *(arg_06));
|
||||
spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06);
|
||||
suspend;
|
||||
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
|
||||
spawn ITEM.slot_28(pid, 0, 0, arg_06);
|
||||
suspend;
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ function cameraco_enterFastArea() /* entry=88 class_id=0x01B6 slot=0x0F */
|
|||
if (!Item.isOnScreen(arg_06)) goto block_0162;
|
||||
|
||||
block_0139:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
goto block_0126;
|
||||
|
||||
|
|
@ -43,12 +43,12 @@ function cameraco_enterFastArea() /* entry=88 class_id=0x01B6 slot=0x0F */
|
|||
if (!Item.isOnScreen(arg_06)) goto block_01C0;
|
||||
|
||||
block_0197:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
goto block_0184;
|
||||
|
||||
block_01C0:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
if (getTargetNPCNumMaybe() != 0) goto block_0204;
|
||||
|
||||
|
|
@ -74,11 +74,11 @@ function cameraco_enterFastArea() /* entry=88 class_id=0x01B6 slot=0x0F */
|
|||
if ((trackedEnough > iSeeYou) && (!(Item.getStatus(arg_06) & 0x1000))) goto block_0310;
|
||||
|
||||
block_02A6:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
|
||||
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
|
||||
suspend;
|
||||
class_0A1E_slot_23(0x1000, arg_06);
|
||||
ITEM.slot_23(0x1000, arg_06);
|
||||
|
||||
block_0310:
|
||||
goto block_03B4;
|
||||
|
|
@ -89,7 +89,7 @@ function cameraco_enterFastArea() /* entry=88 class_id=0x01B6 slot=0x0F */
|
|||
|
||||
block_0328:
|
||||
movement = 1;
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
goto block_0396;
|
||||
|
||||
|
|
@ -98,7 +98,7 @@ function cameraco_enterFastArea() /* entry=88 class_id=0x01B6 slot=0x0F */
|
|||
|
||||
block_0366:
|
||||
movement = -1;
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
goto block_0396;
|
||||
|
||||
|
|
@ -133,7 +133,7 @@ function cameraco_enterFastArea() /* entry=88 class_id=0x01B6 slot=0x0F */
|
|||
|
||||
block_041E:
|
||||
movement = 1;
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
goto block_048C;
|
||||
|
||||
|
|
@ -142,7 +142,7 @@ function cameraco_enterFastArea() /* entry=88 class_id=0x01B6 slot=0x0F */
|
|||
|
||||
block_045C:
|
||||
movement = -1;
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
goto block_048C;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ function cameraco_leaveFastArea() /* entry=88 class_id=0x01B6 slot=0x10 */
|
|||
{
|
||||
set_info(0x021C, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_33(0x021B, *(arg_06));
|
||||
FREE.slot_33(0x021B, *(arg_06));
|
||||
/* bit_not */
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@ function cameraew_gotHit() /* entry=110 class_id=0x01D7 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_2B(vel, ref);
|
||||
FREE.slot_2B(vel, ref);
|
||||
if (retval && (Item.getFrame(arg_06) == 9)) {
|
||||
class_0A0C_slot_33(0x021B, *(arg_06));
|
||||
spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
|
||||
FREE.slot_33(0x021B, *(arg_06));
|
||||
spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06);
|
||||
suspend;
|
||||
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
|
||||
spawn ITEM.slot_28(pid, 0, 0, arg_06);
|
||||
suspend;
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ function cameraew_enterFastArea() /* entry=110 class_id=0x01D7 slot=0x0F */
|
|||
if (!Item.isOnScreen(arg_06)) goto block_0162;
|
||||
|
||||
block_0139:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
goto block_0126;
|
||||
|
||||
|
|
@ -43,12 +43,12 @@ function cameraew_enterFastArea() /* entry=110 class_id=0x01D7 slot=0x0F */
|
|||
if (!Item.isOnScreen(arg_06)) goto block_01C0;
|
||||
|
||||
block_0197:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
goto block_0184;
|
||||
|
||||
block_01C0:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
if (getTargetNPCNumMaybe() != 0) goto block_0204;
|
||||
|
||||
|
|
@ -74,11 +74,11 @@ function cameraew_enterFastArea() /* entry=110 class_id=0x01D7 slot=0x0F */
|
|||
if ((trackedEnough > iSeeYou) && (!(Item.getStatus(arg_06) & 0x1000))) goto block_030D;
|
||||
|
||||
block_02A3:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
|
||||
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
|
||||
suspend;
|
||||
class_0A1E_slot_23(0x1000, arg_06);
|
||||
ITEM.slot_23(0x1000, arg_06);
|
||||
|
||||
block_030D:
|
||||
goto block_03B1;
|
||||
|
|
@ -89,7 +89,7 @@ function cameraew_enterFastArea() /* entry=110 class_id=0x01D7 slot=0x0F */
|
|||
|
||||
block_0325:
|
||||
movement = 1;
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
goto block_0393;
|
||||
|
||||
|
|
@ -98,7 +98,7 @@ function cameraew_enterFastArea() /* entry=110 class_id=0x01D7 slot=0x0F */
|
|||
|
||||
block_0363:
|
||||
movement = -1;
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
goto block_0393;
|
||||
|
||||
|
|
@ -133,7 +133,7 @@ function cameraew_enterFastArea() /* entry=110 class_id=0x01D7 slot=0x0F */
|
|||
|
||||
block_0418:
|
||||
movement = 1;
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
goto block_0486;
|
||||
|
||||
|
|
@ -142,7 +142,7 @@ function cameraew_enterFastArea() /* entry=110 class_id=0x01D7 slot=0x0F */
|
|||
|
||||
block_0456:
|
||||
movement = -1;
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
goto block_0486;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ function cameraew_leaveFastArea() /* entry=110 class_id=0x01D7 slot=0x10 */
|
|||
{
|
||||
set_info(0x021C, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_33(0x021B, *(arg_06));
|
||||
FREE.slot_33(0x021B, *(arg_06));
|
||||
/* bit_not */
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@ function camerans_gotHit() /* entry=90 class_id=0x01B8 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_2B(vel, ref);
|
||||
FREE.slot_2B(vel, ref);
|
||||
if (retval && (Item.getFrame(arg_06) == 9)) {
|
||||
class_0A0C_slot_33(0x021B, *(arg_06));
|
||||
spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
|
||||
FREE.slot_33(0x021B, *(arg_06));
|
||||
spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06);
|
||||
suspend;
|
||||
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
|
||||
spawn ITEM.slot_28(pid, 0, 0, arg_06);
|
||||
suspend;
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ function camerans_enterFastArea() /* entry=90 class_id=0x01B8 slot=0x0F */
|
|||
if (!Item.isOnScreen(arg_06)) goto block_0162;
|
||||
|
||||
block_0139:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
goto block_0126;
|
||||
|
||||
|
|
@ -43,12 +43,12 @@ function camerans_enterFastArea() /* entry=90 class_id=0x01B8 slot=0x0F */
|
|||
if (!Item.isOnScreen(arg_06)) goto block_01C0;
|
||||
|
||||
block_0197:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
goto block_0184;
|
||||
|
||||
block_01C0:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
if (getTargetNPCNumMaybe() != 0) goto block_0204;
|
||||
|
||||
|
|
@ -74,11 +74,11 @@ function camerans_enterFastArea() /* entry=90 class_id=0x01B8 slot=0x0F */
|
|||
if ((trackedEnough > iSeeYou) && (!(Item.getStatus(arg_06) & 0x1000))) goto block_030D;
|
||||
|
||||
block_02A3:
|
||||
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, delay, 0x00000000);
|
||||
suspend;
|
||||
spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
|
||||
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
|
||||
suspend;
|
||||
class_0A1E_slot_23(0x1000, arg_06);
|
||||
ITEM.slot_23(0x1000, arg_06);
|
||||
|
||||
block_030D:
|
||||
goto block_03B1;
|
||||
|
|
@ -89,7 +89,7 @@ function camerans_enterFastArea() /* entry=90 class_id=0x01B8 slot=0x0F */
|
|||
|
||||
block_0325:
|
||||
movement = 1;
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
goto block_0393;
|
||||
|
||||
|
|
@ -98,7 +98,7 @@ function camerans_enterFastArea() /* entry=90 class_id=0x01B8 slot=0x0F */
|
|||
|
||||
block_0363:
|
||||
movement = -1;
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
goto block_0393;
|
||||
|
||||
|
|
@ -133,7 +133,7 @@ function camerans_enterFastArea() /* entry=90 class_id=0x01B8 slot=0x0F */
|
|||
|
||||
block_0418:
|
||||
movement = 1;
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
goto block_0486;
|
||||
|
||||
|
|
@ -142,7 +142,7 @@ function camerans_enterFastArea() /* entry=90 class_id=0x01B8 slot=0x0F */
|
|||
|
||||
block_0456:
|
||||
movement = -1;
|
||||
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
|
||||
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
goto block_0486;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ function camerans_leaveFastArea() /* entry=90 class_id=0x01B8 slot=0x10 */
|
|||
{
|
||||
set_info(0x021C, *(arg_06));
|
||||
process_exclude();
|
||||
class_0A0C_slot_33(0x021B, *(arg_06));
|
||||
FREE.slot_33(0x021B, *(arg_06));
|
||||
/* bit_not */
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,6 @@ function cam_ew_gotHit() /* entry=91 class_id=0x01B9 slot=0x06 */
|
|||
|
||||
set_info(0x020C, *(arg_06));
|
||||
process_exclude();
|
||||
spawn class_0A1A_slot_49(vel, ref, arg_06);
|
||||
spawn WALLGUN.slot_49(vel, ref, arg_06);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@ function cam_ew_equip() /* entry=91 class_id=0x01B9 slot=0x0A */
|
|||
set_info(0x0211, *(arg_06));
|
||||
process_exclude();
|
||||
if (getTargetNPCNumMaybe() == 0) {
|
||||
spawn class_0A1A_slot_24(pid, arg_0A, getTargetNPCNumMaybe(), arg_06);
|
||||
spawn WALLGUN.slot_24(pid, arg_0A, getTargetNPCNumMaybe(), arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
else {
|
||||
spawn class_0A1A_slot_24(pid, arg_0A, global[0x003C], arg_06);
|
||||
spawn WALLGUN.slot_24(pid, arg_0A, global[0x003C], arg_06);
|
||||
suspend;
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ function cam_ew_unequip() /* entry=91 class_id=0x01B9 slot=0x0B */
|
|||
return;
|
||||
}
|
||||
else {
|
||||
spawn class_0A1A_slot_27(arg_06);
|
||||
spawn WALLGUN.slot_27(arg_06);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ function cam_ew_enterFastArea() /* entry=91 class_id=0x01B9 slot=0x0F */
|
|||
return;
|
||||
}
|
||||
else {
|
||||
spawn class_0A1A_slot_27(arg_06);
|
||||
spawn WALLGUN.slot_27(arg_06);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue