private void findFileOffset(object sender, EventArgs e)
 {
     Console.WriteLine("DEBUG > 03system Offset: " + FormatHandler.getHexString(Pcsx2Memory.getFileOffset(Enum.FileType.KH2_03SYSTEM), ProcessType.PCSX2));
     //Console.WriteLine("DEBUG > 00battle Offset: " + Pcsx2Memory.getFileOffset(Enum.FileType.KH2_00BATTLE));
     //Console.WriteLine("DEBUG > 00objentry Offset: " + Pcsx2Memory.getFileOffset(Enum.FileType.KH2_00OBJENTRY));
     //Console.WriteLine("DEBUG > jiminy Offset: " + Pcsx2Memory.getFileOffset(Enum.FileType.KH2_JIMINY));
     //Console.WriteLine("DEBUG > mixdata Offset: " + Pcsx2Memory.getFileOffset(Enum.FileType.KH2_MIXDATA));
     //Console.WriteLine("DEBUG > SUBBAR: " + Pcsx2Memory.getOffsetOfSubBar(0x20000000 + Pcsx2Memory.getFileOffset(Enum.FileType.KH2_03SYSTEM), "cmd\0"));
     //Console.WriteLine("DEBUG > SUBSUBBAR: " + FormatHandler.getHexString(Pcsx2Memory.getAddressOfSubSubBar(Enum.FileType.KH2_03SYSTEM, "pref", "magi"), ProcessType.PCSX2));
 }
        public void findAddress()
        {
            if (AddressFound)
            {
                return;
            }
            Pcsx2Memory.findProcess();

            // Find by pointers
            long autoAddress = -1;

            if (fileType == FileType.KH2_00OBJENTRY)
            {
                autoAddress = Pcsx2Memory.getAddressOfSubBar(fileType, null);
            }
            else if (subBarName != null && subSubBarName != null)
            {
                autoAddress = Pcsx2Memory.getAddressOfSubSubBar(fileType, subBarName, subSubBarName);
            }
            else if (subBarName != null)
            {
                autoAddress = Pcsx2Memory.getAddressOfSubBar(fileType, subBarName);
            }
            // Find by string search
            if (autoAddress <= 0 && fileType != FileType.KH2_00OBJENTRY)
            {
                autoAddress = Pcsx2Memory.findBarFileAddress(stringToFind);
            }

            // If address was found
            if (autoAddress > 0)
            {
                AddressFound = true;
                MemOffset    = FormatHandler.getHexString(autoAddress, ProcessType.PCSX2);
                if (Pcsx2Memory.process_current_Type == ProcessType.PCSX2 && autoAddress > 0x2FFFFFFF)
                {
                    MemOffset = NOT_FOUND;
                }
            }
            else
            {
                MemOffset = NOT_FOUND;
            }
        }
        public void findAddressDirect()
        {
            if (AddressFound)
            {
                return;
            }

            long addressInt = Pcsx2Memory.findAddressOf(stringToFind);

            AddressFound = true;

            if (addressInt == -1)
            {
                MemOffset = MemOffsetFallback;
            }
            else
            {
                MemOffset = FormatHandler.getHexString(addressInt, ProcessType.PCSX2);
            }
            if (procType == ProcessType.PCSX2 && addressInt > 0x2FFFFFFF)
            {
                MemOffset = MemOffsetFallback;
            }
        }