mirror of
https://github.com/OpenDriver2/REDRIVER2.git
synced 2024-11-22 18:32:42 +01:00
- fix DrawTargetArrow
- included missing files
This commit is contained in:
parent
2a02417d3b
commit
93a14f8a06
@ -9,706 +9,7 @@
|
||||
</SAVE_STATE>
|
||||
</PROJECT_DATA_XML_NAME>
|
||||
<TOOL_MANAGER ACTIVE_WORKSPACE="Workspace">
|
||||
<WORKSPACE NAME="Workspace" ACTIVE="true">
|
||||
<RUNNING_TOOL TOOL_NAME="CodeBrowser">
|
||||
<ROOT_NODE X_POS="-8" Y_POS="-8" WIDTH="1936" HEIGHT="1056" EX_STATE="7">
|
||||
<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="1920" HEIGHT="939" DIVIDER_LOCATION="217" ORIENTATION="HORIZONTAL">
|
||||
<SPLIT_NODE WIDTH="416" HEIGHT="939" DIVIDER_LOCATION="639" ORIENTATION="VERTICAL">
|
||||
<SPLIT_NODE WIDTH="416" HEIGHT="597" 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="3336092370730337119" />
|
||||
</COMPONENT_NODE>
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Symbol Tree" OWNER="SymbolTreePlugin" TITLE="Symbol Tree" ACTIVE="true" GROUP="Default" INSTANCE_ID="3336092379265745729" />
|
||||
</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="3336092379265745735" />
|
||||
</COMPONENT_NODE>
|
||||
</SPLIT_NODE>
|
||||
<SPLIT_NODE WIDTH="1500" HEIGHT="939" DIVIDER_LOCATION="866" ORIENTATION="VERTICAL">
|
||||
<SPLIT_NODE WIDTH="1500" HEIGHT="734" DIVIDER_LOCATION="705" ORIENTATION="VERTICAL">
|
||||
<SPLIT_NODE WIDTH="1500" HEIGHT="810" DIVIDER_LOCATION="611" ORIENTATION="HORIZONTAL">
|
||||
<SPLIT_NODE WIDTH="1500" HEIGHT="810" DIVIDER_LOCATION="460" ORIENTATION="HORIZONTAL">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Listing" OWNER="CodeBrowserPlugin" TITLE="Listing: DRIVER2_ITALIAN.ELF" ACTIVE="true" GROUP="Core" INSTANCE_ID="3336092370730337115" />
|
||||
</COMPONENT_NODE>
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Decompiler" OWNER="DecompilePlugin" TITLE="Decompile: InitThrownBombs" ACTIVE="true" GROUP="Default" INSTANCE_ID="3336092370730337112" />
|
||||
</COMPONENT_NODE>
|
||||
</SPLIT_NODE>
|
||||
<SPLIT_NODE WIDTH="353" HEIGHT="734" DIVIDER_LOCATION="613" 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="3336092379374797636" />
|
||||
</COMPONENT_NODE>
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Bytes" OWNER="ByteViewerPlugin" TITLE="Bytes: DRIVER2_ITALIAN.ELF" ACTIVE="false" GROUP="Default" INSTANCE_ID="3336092370730337113" />
|
||||
<COMPONENT_INFO NAME="Data Window" OWNER="DataWindowPlugin" TITLE="Defined Data" ACTIVE="false" GROUP="Default" INSTANCE_ID="3336092379374797640" />
|
||||
<COMPONENT_INFO NAME="Defined Strings" OWNER="ViewStringsPlugin" TITLE="Defined Strings" ACTIVE="false" GROUP="Default" INSTANCE_ID="3336092379374797641" />
|
||||
<COMPONENT_INFO NAME="Equates Table" OWNER="EquateTablePlugin" TITLE="Equates Table" ACTIVE="false" GROUP="Default" INSTANCE_ID="3336092370730337109" />
|
||||
<COMPONENT_INFO NAME="External Programs" OWNER="ReferencesPlugin" TITLE="External Programs" ACTIVE="false" GROUP="Default" INSTANCE_ID="3336092379265745732" />
|
||||
<COMPONENT_INFO NAME="Functions Window" OWNER="FunctionWindowPlugin" TITLE="Functions" ACTIVE="false" GROUP="Default" INSTANCE_ID="3336092379265745734" />
|
||||
<COMPONENT_INFO NAME="Relocation Table" OWNER="RelocationTablePlugin" TITLE="Relocation Table" ACTIVE="false" GROUP="Default" INSTANCE_ID="3336092379374797642" />
|
||||
</COMPONENT_NODE>
|
||||
</SPLIT_NODE>
|
||||
</SPLIT_NODE>
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Virtual Disassembler - Current Instruction" OWNER="DisassembledViewPlugin" TITLE="Disassembled View" ACTIVE="false" GROUP="Default" INSTANCE_ID="3336092379265745733" />
|
||||
</COMPONENT_NODE>
|
||||
</SPLIT_NODE>
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Console" OWNER="ConsolePlugin" TITLE="Console" ACTIVE="true" GROUP="Default" INSTANCE_ID="3336092370730337117" />
|
||||
<COMPONENT_INFO NAME="Bookmarks" OWNER="BookmarkPlugin" TITLE="Bookmarks" ACTIVE="false" GROUP="Core.Bookmarks" INSTANCE_ID="3336092370730337118" />
|
||||
</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="3336092379265745731" />
|
||||
</COMPONENT_NODE>
|
||||
</SPLIT_NODE>
|
||||
<WINDOW_NODE X_POS="883" Y_POS="100" WIDTH="1033" HEIGHT="837">
|
||||
<SPLIT_NODE WIDTH="1920" HEIGHT="970" DIVIDER_LOCATION="611" ORIENTATION="HORIZONTAL">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Script Manager" OWNER="GhidraScriptMgrPlugin" TITLE="Script Manager" ACTIVE="false" GROUP="Script Group" INSTANCE_ID="3336092370730337116" />
|
||||
</COMPONENT_NODE>
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Script Editor" OWNER="GhidraScriptMgrPlugin" TITLE="DRIVER2_ITALIANTDRDefineFunctions.java" ACTIVE="false" GROUP="Script Group" INSTANCE_ID="3323422984231791895" />
|
||||
</COMPONENT_NODE>
|
||||
</SPLIT_NODE>
|
||||
</WINDOW_NODE>
|
||||
<WINDOW_NODE X_POS="423" Y_POS="144" WIDTH="1088" HEIGHT="701">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Memory Map" OWNER="MemoryMapPlugin" TITLE="Memory Map" ACTIVE="false" GROUP="Default" INSTANCE_ID="3336092379265745728" />
|
||||
</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="3336092379374797646" />
|
||||
</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="3336092379374797637" />
|
||||
</COMPONENT_NODE>
|
||||
</WINDOW_NODE>
|
||||
<WINDOW_NODE X_POS="287" Y_POS="186" WIDTH="1424" HEIGHT="666">
|
||||
<SPLIT_NODE WIDTH="1408" HEIGHT="557" 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="3336092379374797644" />
|
||||
</COMPONENT_NODE>
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Symbol References" OWNER="SymbolTablePlugin" TITLE="Symbol References" ACTIVE="false" GROUP="symbolTable" INSTANCE_ID="3336092379374797645" />
|
||||
</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="3336092370730337114" />
|
||||
</COMPONENT_NODE>
|
||||
</WINDOW_NODE>
|
||||
<WINDOW_NODE X_POS="750" Y_POS="402" WIDTH="420" HEIGHT="584">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Function Tags" OWNER="FunctionTagPlugin" TITLE="Function Tags" ACTIVE="false" GROUP="Default" INSTANCE_ID="3336092379265745730" />
|
||||
</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="3336092379374797643" />
|
||||
</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="3336092379374797639" />
|
||||
</COMPONENT_NODE>
|
||||
</WINDOW_NODE>
|
||||
<WINDOW_NODE X_POS="450" Y_POS="0" WIDTH="1020" HEIGHT="1086">
|
||||
<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="3336092379374797638" />
|
||||
</COMPONENT_NODE>
|
||||
</WINDOW_NODE>
|
||||
<WINDOW_NODE X_POS="285" Y_POS="93" WIDTH="1351" HEIGHT="854">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Structure Editor" OWNER="DataTypeManagerPlugin" TITLE="Structure Editor - REPLAY_SAVE_HEADER (DRIVER2_ITALIAN.ELF)" ACTIVE="false" GROUP="Default" INSTANCE_ID="3334463969144387048" />
|
||||
</COMPONENT_NODE>
|
||||
</WINDOW_NODE>
|
||||
<WINDOW_NODE X_POS="12" Y_POS="131" WIDTH="857" HEIGHT="764">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Location References Provider" OWNER="LocationReferencesPlugin" TITLE="References to padid.33 - 1 locations" ACTIVE="false" GROUP="Default" INSTANCE_ID="3334267665006419688" />
|
||||
</COMPONENT_NODE>
|
||||
</WINDOW_NODE>
|
||||
<WINDOW_NODE X_POS="393" Y_POS="582" WIDTH="836" HEIGHT="313">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="References Editor " OWNER="ReferencesPlugin" TITLE="References Editor @ 00041a5c (DRIVER2_ITALIAN.ELF)" ACTIVE="false" GROUP="Default" INSTANCE_ID="3328640692750989492" />
|
||||
</COMPONENT_NODE>
|
||||
</WINDOW_NODE>
|
||||
<WINDOW_NODE X_POS="764" Y_POS="459" WIDTH="410" HEIGHT="302">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Enum Editor" OWNER="DataTypeManagerPlugin" TITLE="Enum Editor - CDTYPE (DRIVER2_ITALIAN.ELF)" ACTIVE="false" GROUP="Default" INSTANCE_ID="3324308891244826744" />
|
||||
</COMPONENT_NODE>
|
||||
</WINDOW_NODE>
|
||||
<WINDOW_NODE X_POS="696" Y_POS="112" WIDTH="870" HEIGHT="787">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Stack Editor" OWNER="StackEditorManagerPlugin" TITLE="Stack Editor - CreateCivCarWotDrivesABitThenStops (DRIVER2_ITALIAN.ELF)" ACTIVE="false" GROUP="Default" INSTANCE_ID="3335700258060672092" />
|
||||
</COMPONENT_NODE>
|
||||
</WINDOW_NODE>
|
||||
<WINDOW_NODE X_POS="0" Y_POS="0" WIDTH="472" HEIGHT="536">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Operands" OWNER="TableServicePlugin" TITLE="Operand References for 0004e3f8" ACTIVE="false" GROUP="Default" INSTANCE_ID="3330613345743735482" />
|
||||
</COMPONENT_NODE>
|
||||
</WINDOW_NODE>
|
||||
<WINDOW_NODE X_POS="368" Y_POS="378" WIDTH="878" HEIGHT="514">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Union Editor" OWNER="DataTypeManagerPlugin" TITLE="Union Editor - RigidBodyState (DRIVER2_ITALIAN.ELF)" ACTIVE="false" GROUP="Default" INSTANCE_ID="3328503434454314670" />
|
||||
</COMPONENT_NODE>
|
||||
</WINDOW_NODE>
|
||||
<WINDOW_NODE X_POS="524" Y_POS="245" WIDTH="870" HEIGHT="617">
|
||||
<COMPONENT_NODE TOP_INFO="0">
|
||||
<COMPONENT_INFO NAME="Instruction Info" OWNER="ShowInstructionInfoPlugin" TITLE="Instruction Info: Address 00041ac0" ACTIVE="false" GROUP="Default" INSTANCE_ID="3328641676944423089" />
|
||||
</COMPONENT_NODE>
|
||||
</WINDOW_NODE>
|
||||
</ROOT_NODE>
|
||||
<DATA_STATE>
|
||||
<PLUGIN NAME="ProgramManagerPlugin">
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="6" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="BOMB" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="PATHNAME_0" TYPE="string" VALUE="/DRIVER2_ITALIAN.ELF" />
|
||||
<STATE NAME="CURRENT_FILE" TYPE="string" VALUE="DRIVER2_ITALIAN.ELF" />
|
||||
<STATE NAME="PROJECT_NAME_0" TYPE="string" VALUE="REDRIVER_2" />
|
||||
<STATE NAME="NUM_PROGRAMS" TYPE="int" VALUE="1" />
|
||||
<STATE NAME="VERSION_0" TYPE="int" VALUE="-1" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.DecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="LOCATION_0" TYPE="string" VALUE="H:\Projects\driver2_disasm" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0001f570" />
|
||||
</PLUGIN>
|
||||
<PLUGIN NAME="DecompilePlugin">
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337112" />
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="6" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="BOMB" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="Num Disconnected" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.DecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="INDEX" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
||||
</PLUGIN>
|
||||
<PLUGIN NAME="ByteViewerPlugin">
|
||||
<STATE NAME="X Offset" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337113" />
|
||||
<STATE NAME="Block Column" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Y Offset" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Num Disconnected" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Block Num" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Index" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Block Offset" TYPE="string" VALUE="0" />
|
||||
</PLUGIN>
|
||||
<PLUGIN NAME="CodeBrowserPlugin">
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337115" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.AddressFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="Num Disconnected" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="INDEX" TYPE="int" VALUE="128332" />
|
||||
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="-11" />
|
||||
<STATE NAME="_ADDR_REP" TYPE="string" VALUE="0001f570" />
|
||||
</PLUGIN>
|
||||
<PLUGIN NAME="ProgramTreePlugin">
|
||||
<STATE NAME="NavigationToggleState" TYPE="boolean" VALUE="false" />
|
||||
<ARRAY NAME="GroupNameProgram Tree0" TYPE="string">
|
||||
<A VALUE="DRIVER2_ITALIAN.ELF" />
|
||||
</ARRAY>
|
||||
<STATE NAME="Current Viewname" TYPE="string" VALUE="Program Tree" />
|
||||
<STATE NAME="NumberOfViews" TYPE="int" VALUE="1" />
|
||||
<STATE NAME="NumberOfGroupsProgram Tree" TYPE="int" VALUE="1" />
|
||||
<STATE NAME="TreeName-0" TYPE="string" VALUE="Program Tree" />
|
||||
</PLUGIN>
|
||||
<PLUGIN NAME="FunctionGraphPlugin">
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092379374797646" />
|
||||
<ENUM NAME="EDGE_HOVER_HIGHLIGHT" TYPE="enum" CLASS="ghidra.app.plugin.core.functiongraph.EdgeDisplayType" VALUE="ScopedFlowsFromVertex" />
|
||||
<STATE NAME="DISPLAY_SATELLITE" TYPE="boolean" VALUE="true" />
|
||||
<STATE NAME="Disconnected Count" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="LAYOUT_NAME" TYPE="string" VALUE="ghidra.app.plugin.core.functiongraph.graph.layout.DecompilerNestedLayoutProvider" />
|
||||
<STATE NAME="DISPLAY_POPUPS" TYPE="boolean" VALUE="true" />
|
||||
<ENUM NAME="EDGE_SELECTION_HIGHLIGHT" TYPE="enum" CLASS="ghidra.app.plugin.core.functiongraph.EdgeDisplayType" VALUE="AllCycles" />
|
||||
<STATE NAME="DOCK_SATELLITE" TYPE="boolean" VALUE="true" />
|
||||
</PLUGIN>
|
||||
<PLUGIN NAME="NavigationHistoryPlugin">
|
||||
<XML NAME="HISTORY_LIST_0">
|
||||
<SAVE_STATE>
|
||||
<XML NAME="MEMENTO_DATA2">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="void" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0002a4c4" />
|
||||
<XML NAME="MEMENTO0">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337115" />
|
||||
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="void" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
||||
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="367" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="void __stdcall AttemptUnPark(_CAR_DATA * cp)" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="void AttemptUnPark(_CAR_DATA * cp)" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="1" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="-1" />
|
||||
<XML NAME="MEMENTO_DATA3">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="4" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="byte" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="0" />
|
||||
<XML NAME="MEMENTO1">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337112" />
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="4" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="byte" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.decompile.DecompilerLocationMemento" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.DecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
<STATE NAME="INDEX" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="X_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0002a4c4" />
|
||||
<XML NAME="MEMENTO0">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337115" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.AddressFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
<STATE NAME="_ADDR_REP" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="367" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.DecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="2" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="LOCATION_COUNT" TYPE="int" VALUE="9" />
|
||||
<XML NAME="MEMENTO_DATA0">
|
||||
<SAVE_STATE>
|
||||
<ARRAY NAME="_COMMENT" TYPE="string" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="00000000" />
|
||||
<XML NAME="MEMENTO0">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337115" />
|
||||
<ARRAY NAME="_COMMENT" TYPE="string" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="00000000" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
||||
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.MemoryBlockStartFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="00000000" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
<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="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.MemoryBlockStartFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="00000000" />
|
||||
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="1" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
<STATE NAME="_TYPE" TYPE="int" VALUE="-1" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="MEMENTO_CLASS1" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="MEMENTO_CLASS0" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<XML NAME="MEMENTO_DATA1">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0010042c" />
|
||||
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="uint" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0010042c" />
|
||||
<XML NAME="MEMENTO0">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337115" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0010042c" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
||||
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="367" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.AddressFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0010042c" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
<ARRAY NAME="_COMP_PATH" TYPE="int">
|
||||
<A VALUE="20524" />
|
||||
</ARRAY>
|
||||
<STATE NAME="_ADDR_REP" TYPE="string" VALUE="0010042c" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="uint CardFormatted__3PADi(PAD * this, int slot)" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0010042c" />
|
||||
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="1" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<XML NAME="MEMENTO_DATA6">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="void" />
|
||||
<XML NAME="MEMENTO1">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337112" />
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="4" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="long" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.decompile.DecompilerLocationMemento" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.DecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
<STATE NAME="INDEX" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="X_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0001f570" />
|
||||
<XML NAME="MEMENTO0">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337115" />
|
||||
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="void" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
||||
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="367" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="void InitThrownBombs(void)" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="void InitThrownBombs(void)" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="2" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="CURRENT_LOC_INDEX" TYPE="int" VALUE="8" />
|
||||
<XML NAME="MEMENTO_DATA7">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="12" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="BOMB_000aca68" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="15" />
|
||||
<XML NAME="MEMENTO1">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337112" />
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="12" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="BOMB_000aca68" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="15" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0001f584" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.decompile.DecompilerLocationMemento" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.DecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0001f584" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
<STATE NAME="INDEX" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="X_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0001f584" />
|
||||
<XML NAME="MEMENTO0">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337115" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.AddressFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0001f584" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0001f584" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
<STATE NAME="_ADDR_REP" TYPE="string" VALUE="0001f584" />
|
||||
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="583" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.DecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="FOCUSED_NAV" TYPE="long" VALUE="3336092370730337112" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0001f584" />
|
||||
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="2" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<XML NAME="MEMENTO_DATA4">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="int" />
|
||||
<XML NAME="MEMENTO1">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337112" />
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="4" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="byte" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.decompile.DecompilerLocationMemento" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.DecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0002a4c4" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
<STATE NAME="INDEX" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="X_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0002b8e4" />
|
||||
<XML NAME="MEMENTO0">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337115" />
|
||||
<STATE NAME="_FUNC_ADDRESS" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="_RETURN_TYPE" TYPE="string" VALUE="int" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
||||
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="367" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="int __stdcall CivFindStation(_CAR_DATA * cp)" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_SIGNATURE" TYPE="string" VALUE="int CivFindStation(_CAR_DATA * cp)" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.FunctionReturnTypeFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="2" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<XML NAME="MEMENTO_DATA5">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="4" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="long" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="0" />
|
||||
<XML NAME="MEMENTO1">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337112" />
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="4" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="long" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.decompile.DecompilerLocationMemento" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.DecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
<STATE NAME="INDEX" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="X_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0002b8e4" />
|
||||
<XML NAME="MEMENTO0">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337115" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.AddressFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
<STATE NAME="_ADDR_REP" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="367" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.DecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0002b8e4" />
|
||||
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="2" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<XML NAME="MEMENTO_DATA8">
|
||||
<SAVE_STATE>
|
||||
<XML NAME="MEMENTO1">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337112" />
|
||||
<STATE NAME="_LINE_NUM" TYPE="int" VALUE="12" />
|
||||
<STATE NAME="_TOKEN_TEXT" TYPE="string" VALUE="BOMB_000aca68" />
|
||||
<STATE NAME="_CHAR_POS" TYPE="int" VALUE="15" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="0001f584" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.decompile.DecompilerLocationMemento" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_FUNCTION_ENTRY" TYPE="string" VALUE="0001f570" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.app.decompiler.DecompilerLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="0001f584" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
<STATE NAME="INDEX" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="X_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="Y_OFFSET" TYPE="int" VALUE="0" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="000aca68" />
|
||||
<XML NAME="MEMENTO0">
|
||||
<SAVE_STATE>
|
||||
<STATE NAME="NAV_ID" TYPE="long" VALUE="3336092370730337115" />
|
||||
<STATE NAME="_ADDRESS" TYPE="string" VALUE="000aca68" />
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.codebrowser.CodeViewerLocationMemento" />
|
||||
<STATE NAME="CURSOR_OFFSET" TYPE="int" VALUE="367" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.AddressFieldLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="000aca68" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
<ARRAY NAME="_COMP_PATH" TYPE="int" />
|
||||
<STATE NAME="_ADDR_REP" TYPE="string" VALUE="000aca68" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="MEMENTO_CLASS" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="PROGRAM_ID" TYPE="long" VALUE="3322667047346813432" />
|
||||
<STATE NAME="_CLASSNAME" TYPE="string" VALUE="ghidra.program.util.ProgramLocation" />
|
||||
<STATE NAME="_COLUMN" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_CHAR_OFFSET" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="FOCUSED_NAV" TYPE="long" VALUE="3336092370730337112" />
|
||||
<STATE NAME="_ROW" TYPE="int" VALUE="0" />
|
||||
<STATE NAME="_BYTE_ADDR" TYPE="string" VALUE="000aca68" />
|
||||
<STATE NAME="NUM_MEMENTOS" TYPE="int" VALUE="2" />
|
||||
<STATE NAME="PROGRAM_PATH_" TYPE="string" VALUE="REDRIVER_2:/DRIVER2_ITALIAN.ELF" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="MEMENTO_CLASS7" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="MEMENTO_CLASS6" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="MEMENTO_CLASS8" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="MEMENTO_CLASS3" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="MEMENTO_CLASS2" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="MEMENTO_CLASS5" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
<STATE NAME="MEMENTO_CLASS4" TYPE="string" VALUE="ghidra.app.plugin.core.gotoquery.DefaultNavigatableLocationMemento" />
|
||||
</SAVE_STATE>
|
||||
</XML>
|
||||
<STATE NAME="LIST_COUNT" TYPE="int" VALUE="1" />
|
||||
</PLUGIN>
|
||||
</DATA_STATE>
|
||||
</RUNNING_TOOL>
|
||||
</WORKSPACE>
|
||||
<WORKSPACE NAME="Workspace" ACTIVE="true" />
|
||||
</TOOL_MANAGER>
|
||||
</PROJECT>
|
||||
|
||||
|
96
src_rebuild/EMULATOR/GTE/half_float.cpp
Normal file
96
src_rebuild/EMULATOR/GTE/half_float.cpp
Normal file
@ -0,0 +1,96 @@
|
||||
#include "half_float.h"
|
||||
|
||||
half::half(const float x)
|
||||
{
|
||||
union
|
||||
{
|
||||
float floatI;
|
||||
unsigned int i;
|
||||
};
|
||||
|
||||
floatI = x;
|
||||
|
||||
// unsigned int i = *((unsigned int *) &x);
|
||||
int e = ((i >> 23) & 0xFF) - 112;
|
||||
int m = i & 0x007FFFFF;
|
||||
|
||||
sh = (i >> 16) & 0x8000;
|
||||
if (e <= 0)
|
||||
{
|
||||
// Denorm
|
||||
m = ((m | 0x00800000) >> (1 - e)) + 0x1000;
|
||||
sh |= (m >> 13);
|
||||
}
|
||||
else if (e == 143)
|
||||
{
|
||||
sh |= 0x7C00;
|
||||
if (m != 0)
|
||||
{
|
||||
// NAN
|
||||
m >>= 13;
|
||||
sh |= m | (m == 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m += 0x1000;
|
||||
if (m & 0x00800000)
|
||||
{
|
||||
// Mantissa overflow
|
||||
m = 0;
|
||||
e++;
|
||||
}
|
||||
if (e >= 31)
|
||||
{
|
||||
// Exponent overflow
|
||||
sh |= 0x7C00;
|
||||
}
|
||||
else
|
||||
{
|
||||
sh |= (e << 10) | (m >> 13);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
half::half(const half& other)
|
||||
{
|
||||
sh = other.sh;
|
||||
}
|
||||
|
||||
half::operator float() const
|
||||
{
|
||||
union
|
||||
{
|
||||
unsigned int s;
|
||||
float result;
|
||||
};
|
||||
|
||||
s = (sh & 0x8000) << 16;
|
||||
unsigned int e = (sh >> 10) & 0x1F;
|
||||
unsigned int m = sh & 0x03FF;
|
||||
|
||||
if (e == 0)
|
||||
{
|
||||
// +/- 0
|
||||
if (m == 0) return result;
|
||||
|
||||
// Denorm
|
||||
while ((m & 0x0400) == 0)
|
||||
{
|
||||
m += m;
|
||||
e--;
|
||||
}
|
||||
e++;
|
||||
m &= ~0x0400;
|
||||
}
|
||||
else if (e == 31)
|
||||
{
|
||||
// INF / NAN
|
||||
s |= 0x7F800000 | (m << 13);
|
||||
return result;
|
||||
}
|
||||
|
||||
s |= ((e + 112) << 23) | (m << 13);
|
||||
|
||||
return result;
|
||||
}
|
20
src_rebuild/EMULATOR/GTE/half_float.h
Normal file
20
src_rebuild/EMULATOR/GTE/half_float.h
Normal file
@ -0,0 +1,20 @@
|
||||
#ifndef HALF_FLOAT
|
||||
#define HALF_FLOAT
|
||||
|
||||
struct half
|
||||
{
|
||||
unsigned short sh;
|
||||
|
||||
half() {};
|
||||
half(const float x);
|
||||
half(const half& other);
|
||||
operator float() const;
|
||||
|
||||
half& operator=(const half& other)
|
||||
{
|
||||
sh = other.sh;
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
||||
#endif // HALF_FLOAT
|
@ -315,6 +315,7 @@ void DrawTargetArrow(VECTOR *pos, ulong flags)
|
||||
poly = (POLY_G3 *)current->primptr;
|
||||
|
||||
setPolyG3(poly);
|
||||
setSemiTrans(poly, 1);
|
||||
|
||||
poly->r0 = 24;
|
||||
poly->g0 = 24;
|
||||
|
Loading…
Reference in New Issue
Block a user