init commit
This commit is contained in:
Binary file not shown.
BIN
.vs/p2epPSX_CDToolkit/v15/.suo
Normal file
BIN
.vs/p2epPSX_CDToolkit/v15/.suo
Normal file
Binary file not shown.
0
.vs/p2epPSX_CDToolkit/v15/Server/sqlite3/db.lock
Normal file
0
.vs/p2epPSX_CDToolkit/v15/Server/sqlite3/db.lock
Normal file
BIN
.vs/p2epPSX_CDToolkit/v15/Server/sqlite3/storage.ide
Normal file
BIN
.vs/p2epPSX_CDToolkit/v15/Server/sqlite3/storage.ide
Normal file
Binary file not shown.
BIN
.vs/p2epPSX_CDToolkit/v17/.suo
Normal file
BIN
.vs/p2epPSX_CDToolkit/v17/.suo
Normal file
Binary file not shown.
41
.vs/p2epPSX_CDToolkit/v17/DocumentLayout.json
Normal file
41
.vs/p2epPSX_CDToolkit/v17/DocumentLayout.json
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "C:\\Users\\Sergey\\source\\repos\\p2epPSX_CDToolkit\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{E92973F5-DC31-4C53-B473-A203A0E6AA29}|p2isPSX_CDToolkit\\p2epPSX_CDToolkit.vbproj|c:\\users\\sergey\\source\\repos\\p2eppsx_cdtoolkit\\p2ispsx_cdtoolkit\\scripttools.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}",
|
||||
"RelativeMoniker": "D:0:0:{E92973F5-DC31-4C53-B473-A203A0E6AA29}|p2isPSX_CDToolkit\\p2epPSX_CDToolkit.vbproj|solutionrelative:p2ispsx_cdtoolkit\\scripttools.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
{
|
||||
"Orientation": 0,
|
||||
"VerticalTabListWidth": 256,
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 1,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
"Name": "ST:0:0:{cce594b6-0c39-4442-ba28-10c64ac7e89f}"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "ScriptTools.vb",
|
||||
"DocumentMoniker": "C:\\Users\\Sergey\\source\\repos\\p2epPSX_CDToolkit\\p2isPSX_CDToolkit\\ScriptTools.vb",
|
||||
"RelativeDocumentMoniker": "p2isPSX_CDToolkit\\ScriptTools.vb",
|
||||
"ToolTip": "C:\\Users\\Sergey\\source\\repos\\p2epPSX_CDToolkit\\p2isPSX_CDToolkit\\ScriptTools.vb",
|
||||
"RelativeToolTip": "p2isPSX_CDToolkit\\ScriptTools.vb",
|
||||
"ViewState": "AQIAAFoFAAAAAAAAAAAAAHgFAAAAAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|",
|
||||
"WhenOpened": "2024-05-06T18:10:40.088Z",
|
||||
"EditorCaption": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
.vs/p2isPSX_CDToolkit/v14/.suo
Normal file
BIN
.vs/p2isPSX_CDToolkit/v14/.suo
Normal file
Binary file not shown.
BIN
.vs/p2isPSX_CDToolkit/v15/.suo
Normal file
BIN
.vs/p2isPSX_CDToolkit/v15/.suo
Normal file
Binary file not shown.
0
.vs/p2isPSX_CDToolkit/v15/Server/sqlite3/db.lock
Normal file
0
.vs/p2isPSX_CDToolkit/v15/Server/sqlite3/db.lock
Normal file
BIN
.vs/p2isPSX_CDToolkit/v15/Server/sqlite3/storage.ide
Normal file
BIN
.vs/p2isPSX_CDToolkit/v15/Server/sqlite3/storage.ide
Normal file
Binary file not shown.
BIN
.vs/p2isPSX_CDToolkit/v15/Server/sqlite3/storage.ide-shm
Normal file
BIN
.vs/p2isPSX_CDToolkit/v15/Server/sqlite3/storage.ide-shm
Normal file
Binary file not shown.
BIN
.vs/p2isPSX_CDToolkit/v15/Server/sqlite3/storage.ide-wal
Normal file
BIN
.vs/p2isPSX_CDToolkit/v15/Server/sqlite3/storage.ide-wal
Normal file
Binary file not shown.
25
p2epPSX_CDToolkit.sln
Normal file
25
p2epPSX_CDToolkit.sln
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.28307.902
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "p2epPSX_CDToolkit", "p2isPSX_CDToolkit\p2epPSX_CDToolkit.vbproj", "{E92973F5-DC31-4C53-B473-A203A0E6AA29}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{E92973F5-DC31-4C53-B473-A203A0E6AA29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E92973F5-DC31-4C53-B473-A203A0E6AA29}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E92973F5-DC31-4C53-B473-A203A0E6AA29}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E92973F5-DC31-4C53-B473-A203A0E6AA29}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {9C1C757D-614E-4AEC-A43E-AB1FB7AC5BB7}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
625
p2isPSX_CDToolkit/Additions.vb
Normal file
625
p2isPSX_CDToolkit/Additions.vb
Normal file
@@ -0,0 +1,625 @@
|
||||
Imports System.IO
|
||||
Imports System.Text
|
||||
Imports System.IO.Compression
|
||||
|
||||
Partial Class Form1
|
||||
|
||||
Private Sub ImportCode_Click(sender As Object, e As EventArgs) Handles ImportCode.Click
|
||||
|
||||
If Not UserRadio.Checked Then MsgBox("YOU CAN IMPORT ONLY IN USER ISO!!!") : Exit Sub
|
||||
|
||||
Dim cd = New ISOTools
|
||||
|
||||
'OpensFile
|
||||
|
||||
OpenFileDialog1.Multiselect = True
|
||||
If OpenFileDialog1.ShowDialog <> DialogResult.OK Then Exit Sub
|
||||
OpenFileDialog1.Multiselect = False
|
||||
|
||||
For Each filee In OpenFileDialog1.FileNames
|
||||
|
||||
Dim fileInfo = Path.GetFileName(filee)
|
||||
|
||||
Dim f = File.ReadAllBytes(filee)
|
||||
|
||||
If fileInfo.Contains("SLPS_028.25") Then
|
||||
cd.saveCDfile(UserPath.Text, 27, UBound(f) + 1, f)
|
||||
End If
|
||||
|
||||
|
||||
Next
|
||||
|
||||
|
||||
MsgBox(String.Format("Imported {0} files ", UBound(OpenFileDialog1.FileNames) + 1), MsgBoxStyle.Exclamation)
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub ExpMainExe_Click(sender As Object, e As EventArgs) Handles ExpMainExe.Click
|
||||
Dim iso = New ISOTools
|
||||
Dim fil = iso.getCDfile(getFilnam, 27, 1812408)
|
||||
SaveFileDialog1.FileName = WorkDir.Text & "SLPS_028.25"
|
||||
If SaveFileDialog1.ShowDialog <> DialogResult.OK Then Exit Sub
|
||||
|
||||
My.Computer.FileSystem.WriteAllBytes(SaveFileDialog1.FileName, fil.ToArray, False)
|
||||
End Sub
|
||||
|
||||
Private Sub Export181RUS_Click(sender As Object, e As EventArgs) Handles Export181RUS.Click
|
||||
|
||||
Dim files As New List(Of String)
|
||||
files = IO.Directory.GetFiles("D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\UnRLE\0057_ALL_SCENERY\", "*.TRNSL").ToList
|
||||
Dim OutPut_Dir = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\UnRLE\0057_ALL_SCENERY\TRANSLATED_RAW\"
|
||||
Dim iso = New ISOTools
|
||||
Dim filnam = getFilnam()
|
||||
Dim r = New rleTools
|
||||
|
||||
For a = 57 To 397
|
||||
|
||||
Dim fil = iso.getCDfile(filnam, files1(a).Sector, files1(a).Sizw)
|
||||
|
||||
If a = 397 Then
|
||||
fil = iso.getCDfile(filnam, files1(390).Sector, files1(390).Sizw) 'заменяем последний файл...
|
||||
My.Computer.FileSystem.WriteAllBytes(OutPut_Dir & a.ToString("D4") & "_orig.bin", fil.ToArray, False) : Continue For
|
||||
End If
|
||||
|
||||
Dim ind = files.FindIndex(Function(x) x.Contains(a.ToString("D4")))
|
||||
|
||||
'If file withoout translation
|
||||
If ind = -1 Then
|
||||
My.Computer.FileSystem.WriteAllBytes(OutPut_Dir & a.ToString("D4") & "_orig.bin", fil.ToArray, False) : Continue For
|
||||
End If
|
||||
|
||||
Debug.WriteLine("Working On......" & a.ToString("D4"))
|
||||
DeconstructFile(fil.ToArray) 'here is separated binfile
|
||||
|
||||
Dim curfile As rleFile = binFile.Last
|
||||
Dim RusFile = My.Computer.FileSystem.ReadAllBytes(files(ind))
|
||||
|
||||
binFile.Last.Bytes = r.decodeRLEnew(RusFile, curfile).ToArray 'Pack and replace 8th file
|
||||
|
||||
'АРХИВИРУЕМ МАССИВ ФАЙЛОВ ДЛЯ ЗАПИСИ В ОДИН ФАЙЛ
|
||||
Dim lastSectorID As Integer = 0
|
||||
Dim finalPack = New List(Of Byte)
|
||||
|
||||
For Each bin In binFile
|
||||
|
||||
'filling sector to end (making sectorgap) in the middle of the file
|
||||
If bin.SectorID <> lastSectorID Then
|
||||
Dim gap = 2048 - (finalPack.Count Mod 2048)
|
||||
For g = 0 To gap - 1
|
||||
finalPack.Add(0)
|
||||
Next
|
||||
End If
|
||||
|
||||
'Adding currentfile Sector Size (for at least 0004)
|
||||
bin.SectorSize = bin.Bytes.Count \ 2048
|
||||
If bin.Bytes.Count Mod 2048 > 0 Then bin.SectorSize += 1
|
||||
|
||||
'adding currentfile and address for 0x0090
|
||||
finalPack.AddRange(bin.Bytes)
|
||||
|
||||
'AddingBytesAfter
|
||||
For g = 0 To bin.BytesAfter - 1
|
||||
finalPack.Add(0)
|
||||
Next
|
||||
|
||||
lastSectorID = bin.SectorID
|
||||
Next
|
||||
|
||||
'Fill file to END of Sector
|
||||
If finalPack.Count Mod 2048 > 0 Then
|
||||
For g = 1 To (2048 - (finalPack.Count Mod 2048))
|
||||
finalPack.Add(0)
|
||||
Next g
|
||||
End If
|
||||
My.Computer.FileSystem.WriteAllBytes(OutPut_Dir & a.ToString("D4") & "_rus.bin", finalPack.ToArray, False)
|
||||
Next
|
||||
MsgBox("Export Done")
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Private Sub SceneryImport_Click(sender As Object, e As EventArgs) Handles SceneryImport.Click
|
||||
|
||||
|
||||
If Not UserRadio.Checked Then MsgBox("YOU CAN IMPORT ONLY IN USER ISO!!!") : Exit Sub
|
||||
If IsNothing(files1) Then MsgBox("PLEASE READ CD FILES FIRST!") : Exit Sub
|
||||
|
||||
Dim files = IO.Directory.GetFiles("D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\UnRLE\0057_ALL_SCENERY\TRANSLATED_RAW\", "*.bin").ToList
|
||||
Dim filesSize = 0
|
||||
'For Each f In files
|
||||
' filesSize += My.Computer.FileSystem.GetFileInfo(f).Length
|
||||
'Next
|
||||
Dim curSector = files1(57).Sector
|
||||
Dim max = files1(398).Sector
|
||||
|
||||
'MsgBox($"Sectors have - {max - curSector}" & vbCrLf & $"Sectors in files - {filesSize / 2048}") : Exit Sub
|
||||
Dim iso = New ISOTools
|
||||
Dim filnam = getFilnam()
|
||||
|
||||
|
||||
|
||||
For a = 57 To 397
|
||||
'reading files
|
||||
Debug.WriteLine("Working On......" & a.ToString("D4"))
|
||||
Dim ind = files.FindIndex(Function(x) x.Contains(a.ToString("D4")))
|
||||
If ind = -1 Then Debug.WriteLine("NOT FOUND") : Continue For
|
||||
Dim impFile = My.Computer.FileSystem.ReadAllBytes(files(ind))
|
||||
|
||||
Dim SectorSizw As Integer = (UBound(impFile) + 1) / 2048
|
||||
|
||||
'Overload check
|
||||
If curSector + SectorSizw >= max Then MsgBox("!!!OVERLOAD at file " & a) : Exit For
|
||||
|
||||
|
||||
|
||||
'debugfile move to end of disk
|
||||
' If a = 570 Then curSector = 278100
|
||||
|
||||
|
||||
|
||||
iso.saveCDfile(filnam, curSector, UBound(impFile) + 1, impFile)
|
||||
|
||||
'Update SectorNumber and FileSize In FileArray
|
||||
files1(a).Sizw = UBound(impFile) + 1
|
||||
files1(a).Sector = curSector
|
||||
|
||||
|
||||
|
||||
curSector += SectorSizw
|
||||
|
||||
|
||||
Next
|
||||
|
||||
'Update FileTable In ISO
|
||||
iso.UpdateFileListTable(filnam, files1)
|
||||
|
||||
MsgBox("Files Imported")
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub Export1112RUS_Click(sender As Object, e As EventArgs) Handles Export1112RUS.Click
|
||||
|
||||
Dim files As New List(Of String)
|
||||
files = IO.Directory.GetFiles("D:\Games\PSX\Persona.2.Innocent.Sin\Export\UnRLE\1112_ALL_CITIES_SCRIPTS", "*.TRNSL").ToList
|
||||
Dim OutPut_Dir = "D:\Games\PSX\Persona.2.Innocent.Sin\Export\UnRLE\1112_ALL_CITIES_SCRIPTS\TRANSLATED_RAW\"
|
||||
Dim iso = New ISOTools
|
||||
Dim filnam = getFilnam()
|
||||
Dim r = New rleTools
|
||||
|
||||
For a = 1112 To 1117
|
||||
|
||||
Dim fil = iso.getCDfile(filnam, files1(a).Sector, files1(a).Sizw)
|
||||
|
||||
Dim ind = files.FindIndex(Function(x) x.Contains(a.ToString("D4")))
|
||||
'If file withoout translation
|
||||
If ind = -1 Then
|
||||
My.Computer.FileSystem.WriteAllBytes(OutPut_Dir & a.ToString("D4") & "_orig.bin", fil.ToArray, False) : Continue For
|
||||
End If
|
||||
|
||||
|
||||
Debug.WriteLine("Working On......" & a.ToString("D4"))
|
||||
DeconstructFile(fil.ToArray) 'here is separated binfile
|
||||
|
||||
Dim curfile As rleFile = binFile(binFile.Count - 1)
|
||||
Dim RusFile = My.Computer.FileSystem.ReadAllBytes(files(ind))
|
||||
|
||||
binFile(binFile.Count - 1).Bytes = r.decodeRLEnew(RusFile, curfile).ToArray 'Pack and replace 8th file
|
||||
|
||||
|
||||
'АРХИВИРУЕМ МАССИВ ФАЙЛОВ ДЛЯ ЗАПИСИ В ОДИН ФАЙЛ
|
||||
Dim lastSectorID As Integer = 0
|
||||
Dim finalPack = New List(Of Byte)
|
||||
Dim addresses = New List(Of Integer) 'Start Addr for all files
|
||||
|
||||
For Each bin In binFile
|
||||
|
||||
'filling sector to end (making sectorgap) in the middle of the file
|
||||
If bin.SectorID <> lastSectorID Then
|
||||
Dim gap = 2048 - (finalPack.Count Mod 2048)
|
||||
For g = 0 To gap - 1
|
||||
finalPack.Add(0)
|
||||
Next
|
||||
End If
|
||||
|
||||
'Adding currentfile Sector Size (for at least 0004)
|
||||
bin.SectorSize = bin.Bytes.Count \ 2048
|
||||
If bin.Bytes.Count Mod 2048 > 0 Then bin.SectorSize += 1
|
||||
|
||||
|
||||
'adding currentfile and address for 0x0090
|
||||
addresses.Add(finalPack.Count)
|
||||
finalPack.AddRange(bin.Bytes)
|
||||
|
||||
'AddingBytesAfter
|
||||
For g = 0 To bin.BytesAfter - 1
|
||||
finalPack.Add(0)
|
||||
Next
|
||||
|
||||
lastSectorID = bin.SectorID
|
||||
|
||||
|
||||
Next
|
||||
|
||||
'Fill file to END of Sector
|
||||
|
||||
If finalPack.Count Mod 2048 > 0 Then
|
||||
For g = 1 To (2048 - (finalPack.Count Mod 2048))
|
||||
finalPack.Add(0)
|
||||
Next g
|
||||
End If
|
||||
|
||||
'SAVING POINTERS TABLE
|
||||
SavePointersTableToFile(addresses, OutPut_Dir & a.ToString("D4") & ".pointers", binFile)
|
||||
|
||||
|
||||
|
||||
My.Computer.FileSystem.WriteAllBytes(OutPut_Dir & a.ToString("D4") & "_rus.bin", finalPack.ToArray, False)
|
||||
|
||||
|
||||
Next
|
||||
|
||||
|
||||
MsgBox("Export Done")
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ConvertEventsForEditing_Click(sender As Object, e As EventArgs) Handles ConvertEventsForEditing.Click
|
||||
Dim srcDir = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\UnRLE\0057_ALL_SCENERY"
|
||||
Dim destDir = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\P2EP_Editing\"
|
||||
Dim files As New List(Of String)
|
||||
files = IO.Directory.GetFiles(srcDir, "*.txt").ToList
|
||||
Dim s = New ScriptTools
|
||||
For Each f In files
|
||||
Dim a = Path.GetFileName(f)
|
||||
s.ConvertForEdit(f, destDir & Path.GetFileName(f))
|
||||
Next
|
||||
|
||||
MsgBox("Done!")
|
||||
End Sub
|
||||
|
||||
Private Sub MakePointers_Click(sender As Object, e As EventArgs) Handles MakePointers.Click
|
||||
|
||||
If binFile.Count = 0 Or CDFileList.SelectedIndex = -1 Then Exit Sub
|
||||
Dim fil = MakePointersArray()
|
||||
If CreateBinDirCheck.Checked And CDFileList.SelectedIndex > -1 Then
|
||||
Dim cat = WorkDir.Text & Strings.Left(FilnamLabel.Text, 4) & "_" & files1(CDFileList.SelectedIndex).Descript
|
||||
If Not Directory.Exists(cat) Then
|
||||
Directory.CreateDirectory(cat)
|
||||
|
||||
End If
|
||||
ExportBinPath.Text = cat & "\"
|
||||
End If
|
||||
Dim filename = ExportBinPath.Text & Strings.Left(FilnamLabel.Text, 4)
|
||||
If japRadio.Checked Then filename &= "_J"
|
||||
If EngRadio.Checked Then filename &= "_E"
|
||||
If UserRadio.Checked Then filename &= "_U"
|
||||
|
||||
'SAVING POINTERS TABLE
|
||||
My.Computer.FileSystem.WriteAllBytes(filename & ".pointers", fil.ToArray, False)
|
||||
'SavePointersTableToFile(addresses, filename & ".pointers", binFile)
|
||||
'My.Computer.FileSystem.WriteAllBytes(filename & ".TEMPPACK", finalPack.ToArray, False)
|
||||
Savedlbl.Text = "SAVED TO " & filename
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub SearchPointers_Click(sender As Object, e As EventArgs) Handles SearchPointers.Click
|
||||
If CDFileList.Items.Count = 0 Or CDFileList.SelectedIndex = -1 Then Exit Sub
|
||||
If Not IsNumeric(CompareBTS.Text) Then Exit Sub
|
||||
Dim xxx = Convert.ToInt16(CompareBTS.Text)
|
||||
|
||||
Dim fil As List(Of Byte) = MakePointersArray()
|
||||
Dim finfil = New List(Of Byte)
|
||||
|
||||
|
||||
|
||||
For a = 0 To xxx
|
||||
If a > fil.Count - 1 Then Exit For
|
||||
finfil.Add(fil(a))
|
||||
Next
|
||||
|
||||
|
||||
Dim cd = New ISOTools
|
||||
Dim exeFile = cd.getCDfile(getFilnam, 27, 1812408)
|
||||
|
||||
'search in exe
|
||||
Dim res = ByteSearch(exeFile.ToArray, finfil.ToArray)
|
||||
If res > -1 Then MsgBox("FOUND! IN SLPS!" & vbCrLf & "Offset: " & res) : Exit Sub
|
||||
|
||||
|
||||
'all files to video
|
||||
For a = 0 To 864
|
||||
Dim curFile = cd.getCDfile(getFilnam, files1(a).Sector, files1(a).Sizw)
|
||||
'If curFile(0) = 1 Or curFile(0) = 2 Then Continue For 'IF ARCHIVE
|
||||
'If curFile(1) = 1 Or curFile(1) = 2 Then Continue For
|
||||
Debug.WriteLine("Searching... " & a)
|
||||
res = ByteSearch(curFile.ToArray, finfil.ToArray)
|
||||
If res > -1 Then MsgBox("FOUND! IN file #" & a & vbCrLf & "Offset: " & res) : Exit For
|
||||
Next
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Public Function MakePointersArray()
|
||||
|
||||
'АРХИВИРУЕМ МАССИВ ФАЙЛОВ ДЛЯ ЗАПИСИ В ОДИН ФАЙЛ
|
||||
Dim lastSectorID As Integer = 0
|
||||
Dim finalPack = New List(Of Byte)
|
||||
Dim addresses = New List(Of Integer) 'Start Addr for all files
|
||||
|
||||
For Each bin In binFile
|
||||
'filling sector to end (making sectorgap) in the middle of the file
|
||||
If bin.SectorID <> lastSectorID Then
|
||||
Dim gap = 2048 - (finalPack.Count Mod 2048)
|
||||
For g = 0 To gap - 1
|
||||
finalPack.Add(0)
|
||||
Next
|
||||
End If
|
||||
'Adding currentfile Sector Size (for at least 0004)
|
||||
bin.SectorSize = bin.Bytes.Count \ 2048
|
||||
If bin.Bytes.Count Mod 2048 > 0 Then bin.SectorSize += 1
|
||||
|
||||
addresses.Add(finalPack.Count)
|
||||
finalPack.AddRange(bin.Bytes)
|
||||
'AddingBytesAfter
|
||||
For g = 0 To bin.BytesAfter - 1
|
||||
finalPack.Add(0)
|
||||
Next
|
||||
lastSectorID = bin.SectorID
|
||||
Next
|
||||
'Fill file to END of Sector
|
||||
|
||||
If finalPack.Count Mod 2048 > 0 Then
|
||||
For g = 1 To (2048 - (finalPack.Count Mod 2048))
|
||||
finalPack.Add(0)
|
||||
Next g
|
||||
End If
|
||||
|
||||
'Making POINTERS TABLE
|
||||
Dim fil = New List(Of Byte)
|
||||
|
||||
For a = 0 To binFile.Count - 1
|
||||
'Dim curAddr = a * 8 + offset
|
||||
Dim cursect As Int16 = addresses(a) \ 2048
|
||||
Dim modSect As Int16 = addresses(a) Mod 2048
|
||||
fil.Add(BitConverter.GetBytes(modSect)(0))
|
||||
fil.Add(BitConverter.GetBytes(modSect)(1)) 'BE or LE???
|
||||
fil.Add(BitConverter.GetBytes(cursect)(0))
|
||||
fil.Add(BitConverter.GetBytes(cursect)(1)) 'BE or LE???
|
||||
|
||||
Dim bts As Integer = binFile(a).Bytes.Count
|
||||
If Tim8Shift.Checked And binFile(a).Compr = 0 Then bts -= 8 'Its Uncompressed TIM??
|
||||
|
||||
fil.Add(BitConverter.GetBytes(bts)(0)) 'Saving Size of file
|
||||
fil.Add(BitConverter.GetBytes(bts)(1)) 'BE or LE???
|
||||
fil.Add(BitConverter.GetBytes(bts)(2))
|
||||
fil.Add(BitConverter.GetBytes(bts)(3))
|
||||
Next
|
||||
Return fil
|
||||
End Function
|
||||
|
||||
Private Sub RelpaceTextExecs_Click(sender As Object, e As EventArgs) Handles RelpaceTextExecs.Click
|
||||
|
||||
If CDFileList.Items.Count = 0 Or CDFileList.SelectedIndex = -1 Then Exit Sub
|
||||
|
||||
Dim sb = New List(Of Byte) From {&HEA, &H68, 0, &HC}
|
||||
Dim cd = New ISOTools
|
||||
Dim curFile = cd.getCDfile(getFilnam, files1(CDFileList.SelectedIndex).Sector, files1(CDFileList.SelectedIndex).Sizw)
|
||||
Dim replaceCount As Integer = 0
|
||||
|
||||
For a = 0 To curFile.Count - 1 Step 4
|
||||
If curFile(a) = sb(0) And curFile(a + 1) = sb(1) And curFile(a + 2) = sb(2) And curFile(a + 3) = sb(3) Then
|
||||
replaceCount += 1
|
||||
curFile(a) = 0 : curFile(a + 1) = &H40 : curFile(a + 2) = &H2 : curFile(a + 3) = &HC
|
||||
End If
|
||||
Next
|
||||
|
||||
cd.saveCDfile(getFilnam, files1(CDFileList.SelectedIndex).Sector, files1(CDFileList.SelectedIndex).Sizw, curFile.ToArray)
|
||||
|
||||
|
||||
MsgBox("Found and replaced " & replaceCount & " text calls.")
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ExportDUNGScripts_Click(sender As Object, e As EventArgs) Handles ExportDUNGScripts.Click
|
||||
|
||||
Dim lengths = New List(Of Integer)
|
||||
lengths.AddRange({232, 228, 328, 336, 328, 336, 328, 336, 316, 332})
|
||||
Dim DungScr = New List(Of PointerAndSize)
|
||||
Dim initaddr = 114232
|
||||
For Each l In lengths
|
||||
DungScr.Add(New PointerAndSize With {.Addr = initaddr, .Sizw = l})
|
||||
initaddr += l
|
||||
Next
|
||||
|
||||
|
||||
|
||||
DungScr.Add(New PointerAndSize With {.Addr = 119336, .Sizw = 240})
|
||||
DungScr.Add(New PointerAndSize With {.Addr = 119576, .Sizw = 240})
|
||||
|
||||
Dim cd = New ISOTools
|
||||
Dim txt = New ScriptTools
|
||||
|
||||
'Reading filetable and make array
|
||||
files1 = cd.makeFileList(UserPath.Text)
|
||||
'files2 = cd.makeFileList(EngISOPath.Text)
|
||||
Dim CurFile() As Byte = cd.getCDfile(UserPath.Text, files1(736).Sector, files1(736).Sizw).ToArray
|
||||
'Dim EngFile() As Byte = cd.getCDfile(EngISOPath.Text, files2(736).Sector, files2(736).Sizw).ToArray 'loading files
|
||||
Dim JRes = New ScriptFile
|
||||
Dim ERes = New ScriptFile
|
||||
|
||||
For Each scr In DungScr
|
||||
|
||||
Dim JapBytes(scr.Sizw - 1) As Byte : Dim EngBytes(scr.Sizw - 1) As Byte
|
||||
Array.Copy(CurFile, scr.Addr, JapBytes, 0, scr.Sizw) 'Array.Copy(EngFile, scr.Addr, EngBytes, 0, scr.Sizw) 'Copying Arrays
|
||||
|
||||
txt.ParseResource(JapBytes, JRes) : txt.ParseText(JRes, False)
|
||||
'txt.ParseResource(EngBytes, ERes) : txt.ParseText(ERes, True)
|
||||
Dim combText = txt.CombineParsedText(ERes, JRes)
|
||||
Dim combResData = txt.compileData(JRes)
|
||||
|
||||
Dim fil = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\0736_DUNG_SCRIPTS\" & DungScr.IndexOf(scr).ToString("D4") & ".txt"
|
||||
|
||||
My.Computer.FileSystem.WriteAllText(fil, combResData & combText, False)
|
||||
Next
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ConvertContact_Click(sender As Object, e As EventArgs) Handles ExportContact.Click
|
||||
|
||||
|
||||
Dim Japfiles = IO.Directory.GetFiles("D:\Games\PSX\Persona.2.Innocent.Sin\Export\1075_Battle_Contacts", "*_J").ToList
|
||||
Dim Engfiles = IO.Directory.GetFiles("D:\Games\PSX\Persona.2.Innocent.Sin\Export\1075_Battle_Contacts", "*_E*").ToList
|
||||
Dim OutPut_Dir = "D:\Games\PSX\Persona.2.Innocent.Sin\Export\1075_Battle_Contacts\Processing\Back\"
|
||||
|
||||
Dim scr = New ScriptTools
|
||||
Dim cnt = 0
|
||||
|
||||
For Each fil In Japfiles
|
||||
|
||||
Dim contact As String = scr.MakeExportFile(My.Computer.FileSystem.ReadAllBytes(fil), My.Computer.FileSystem.ReadAllBytes(Engfiles(Japfiles.IndexOf(fil))), cnt)
|
||||
|
||||
Dim filename = OutPut_Dir & Path.GetFileName(fil) & "_exp.txt"
|
||||
|
||||
My.Computer.FileSystem.WriteAllText(filename, contact, False, Encoding.GetEncoding(1251))
|
||||
Next
|
||||
|
||||
|
||||
MsgBox("Converted " & cnt & " dialogs!", MsgBoxStyle.Information)
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Summon_Export_Click(sender As Object, e As EventArgs) Handles Summon_Export.Click
|
||||
|
||||
Dim Japfiles = IO.Directory.GetFiles("D:\Games\PSX\Persona.2.Innocent.Sin\Export\0077_Summon_Text", "*_U").ToList
|
||||
Dim Engfiles = IO.Directory.GetFiles("D:\Games\PSX\Persona.2.Innocent.Sin\Export\0077_Summon_Text", "*_E*").ToList
|
||||
Dim OutPut_Dir = "D:\Games\PSX\Persona.2.Innocent.Sin\Export\0077_Summon_Text\Processing\Back\"
|
||||
|
||||
Dim scr = New ScriptTools
|
||||
Dim cnt = 0
|
||||
|
||||
For Each fil In Japfiles
|
||||
|
||||
Dim contact As String = scr.MakeSummonExport(My.Computer.FileSystem.ReadAllBytes(fil), My.Computer.FileSystem.ReadAllBytes(Engfiles(Japfiles.IndexOf(fil))), cnt)
|
||||
|
||||
Dim filename = OutPut_Dir & Path.GetFileName(fil) & "_exp.txt"
|
||||
|
||||
My.Computer.FileSystem.WriteAllText(filename, contact, False, Encoding.GetEncoding(1251))
|
||||
Next
|
||||
|
||||
|
||||
MsgBox("Converted " & cnt & " dialogs!", MsgBoxStyle.Information)
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Convert_Summon_Click(sender As Object, e As EventArgs) Handles Convert_Summon.Click
|
||||
|
||||
Dim Japfiles = IO.Directory.GetFiles("D:\Games\PSX\Persona.2.Innocent.Sin\Export\0077_Summon_Text\Processing\", "*.txt").ToList
|
||||
|
||||
DialogCounter = 0
|
||||
|
||||
|
||||
Dim txt = New ScriptTools
|
||||
|
||||
|
||||
For Each JFile In Japfiles
|
||||
Debug.WriteLine("Converting " & JFile)
|
||||
txt.convertSummonScript(JFile, DialogCounter)
|
||||
Next
|
||||
|
||||
MsgBox("Success! Converted " & UBound(OpenFileDialog1.FileNames) + 1 & " file(s)" & vbCrLf & "Overall Dialogs Count: " & DialogCounter)
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub PSP_UNPACK_EVENT_BIN_Click(sender As Object, e As EventArgs) Handles PSP_UNPACK_EVENT_BIN.Click
|
||||
Dim zips = New List(Of Byte())
|
||||
|
||||
Dim fil = My.Computer.FileSystem.ReadAllBytes("D:\Games\PSX\Persona 2 - Innocent Sin USA\PSP_GAME\USRDIR\pack\unpack\event.bin")
|
||||
Dim filenames = New List(Of String)
|
||||
|
||||
For a = 0 To 396
|
||||
Dim a1 = BitConverter.ToInt32(fil, a * 8)
|
||||
Dim a2 = BitConverter.ToInt32(fil, a * 8 + 4)
|
||||
Dim zzz(a2 - a1) As Byte
|
||||
Array.Copy(fil, a1, zzz, 0, a2 - a1)
|
||||
Dim fn = ""
|
||||
For bbb = 0 To 8
|
||||
fn &= Chr(zzz(bbb + 10))
|
||||
Next
|
||||
filenames.Add(fn)
|
||||
Dim Decomp = DecompressGZip(zzz)
|
||||
zips.Add(Decomp)
|
||||
'My.Computer.FileSystem.WriteAllBytes("D:\Games\PSX\Persona 2 - Innocent Sin USA\PSP_GAME\USRDIR\pack\unpack\Event\" & a.ToString("D4") & "_" & (a + 181).ToString("D3") & "_" & fn, Decomp, False)
|
||||
|
||||
Next
|
||||
|
||||
Dim scr = New ScriptTools
|
||||
|
||||
For Each zip In zips
|
||||
Dim filePack = New List(Of Byte())
|
||||
Dim startRead As Integer = 48
|
||||
|
||||
For a = 0 To 8
|
||||
Dim a1 = BitConverter.ToInt32(zip, a * 4 + 4)
|
||||
Dim curFil(a1 - 1) As Byte
|
||||
Array.Copy(zip, startRead, curFil, 0, a1)
|
||||
|
||||
startRead += a1
|
||||
Dim BA = startRead Mod 16
|
||||
If BA > 0 Then startRead += 16 - BA
|
||||
|
||||
filePack.Add(curFil)
|
||||
|
||||
Next
|
||||
Dim b = zips.IndexOf(zip)
|
||||
Dim fn = "D:\Games\PSX\Persona 2 - Innocent Sin USA\PSP_GAME\USRDIR\pack\unpack\Event\" & b.ToString("D4") & "_" & (b + 181).ToString("D3") & "_" & filenames(b)
|
||||
'SAVING 8th LAST FILE!!!
|
||||
Dim txt = scr.ConvertPSPTextFile(filePack.Last)
|
||||
' My.Computer.FileSystem.WriteAllBytes(fn & ".txt", filePack.Last, False)
|
||||
My.Computer.FileSystem.WriteAllText(fn & ".txt", txt, False, Encoding.GetEncoding(1251))
|
||||
|
||||
Next
|
||||
|
||||
|
||||
'For Each z In
|
||||
|
||||
|
||||
MsgBox("EXPORTED")
|
||||
End Sub
|
||||
|
||||
Public Function DecompressGZip(bytesToDecompress As Byte()) As Byte()
|
||||
Using stream As New GZipStream(New MemoryStream(bytesToDecompress), CompressionMode.Decompress)
|
||||
Const size As Integer = 4096
|
||||
Dim buffer As Byte() = New Byte(size - 1) {}
|
||||
Using memoryStream As New MemoryStream()
|
||||
Dim count As Integer
|
||||
Do
|
||||
count = stream.Read(buffer, 0, size)
|
||||
If count > 0 Then
|
||||
memoryStream.Write(buffer, 0, count)
|
||||
End If
|
||||
Loop While count > 0
|
||||
Return memoryStream.ToArray()
|
||||
End Using
|
||||
End Using
|
||||
End Function
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
Public Class PointerAndSize
|
||||
Public Addr As Integer
|
||||
Public Sizw As Integer
|
||||
End Class
|
||||
|
||||
6
p2isPSX_CDToolkit/App.config
Normal file
6
p2isPSX_CDToolkit/App.config
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
227
p2isPSX_CDToolkit/CityEditor.Designer.vb
generated
Normal file
227
p2isPSX_CDToolkit/CityEditor.Designer.vb
generated
Normal file
@@ -0,0 +1,227 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||
Partial Class CityEditor
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Форма переопределяет dispose для очистки списка компонентов.
|
||||
<System.Diagnostics.DebuggerNonUserCode()>
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Является обязательной для конструктора форм Windows Forms
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Примечание: следующая процедура является обязательной для конструктора форм Windows Forms
|
||||
'Для ее изменения используйте конструктор форм Windows Form.
|
||||
'Не изменяйте ее в редакторе исходного кода.
|
||||
<System.Diagnostics.DebuggerStepThrough()>
|
||||
Private Sub InitializeComponent()
|
||||
Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
|
||||
Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
|
||||
Me.ID = New System.Windows.Forms.TextBox()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.UserTitle = New System.Windows.Forms.TextBox()
|
||||
Me.Button1 = New System.Windows.Forms.Button()
|
||||
Me.Button2 = New System.Windows.Forms.Button()
|
||||
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
|
||||
Me.EngTitle = New System.Windows.Forms.TextBox()
|
||||
Me.SaveToISO = New System.Windows.Forms.Button()
|
||||
Me.Button4 = New System.Windows.Forms.Button()
|
||||
Me.ChrCount = New System.Windows.Forms.Label()
|
||||
Me.AreaCount = New System.Windows.Forms.Label()
|
||||
Me.Column1 = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.Column2 = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.Column3 = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.STAT_E = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'ID
|
||||
'
|
||||
Me.ID.Location = New System.Drawing.Point(467, 7)
|
||||
Me.ID.Name = "ID"
|
||||
Me.ID.Size = New System.Drawing.Size(138, 20)
|
||||
Me.ID.TabIndex = 0
|
||||
Me.ID.Text = "713"
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Location = New System.Drawing.Point(351, 10)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(99, 13)
|
||||
Me.Label1.TabIndex = 1
|
||||
Me.Label1.Text = "DictrictID (713-719)"
|
||||
'
|
||||
'UserTitle
|
||||
'
|
||||
Me.UserTitle.Location = New System.Drawing.Point(12, 59)
|
||||
Me.UserTitle.Name = "UserTitle"
|
||||
Me.UserTitle.Size = New System.Drawing.Size(196, 20)
|
||||
Me.UserTitle.TabIndex = 2
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.Location = New System.Drawing.Point(467, 31)
|
||||
Me.Button1.Name = "Button1"
|
||||
Me.Button1.Size = New System.Drawing.Size(69, 22)
|
||||
Me.Button1.TabIndex = 3
|
||||
Me.Button1.Text = "<<<"
|
||||
Me.Button1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Button2
|
||||
'
|
||||
Me.Button2.Location = New System.Drawing.Point(542, 31)
|
||||
Me.Button2.Name = "Button2"
|
||||
Me.Button2.Size = New System.Drawing.Size(63, 22)
|
||||
Me.Button2.TabIndex = 3
|
||||
Me.Button2.Text = ">>>"
|
||||
Me.Button2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'DataGridView1
|
||||
'
|
||||
Me.DataGridView1.AllowUserToAddRows = False
|
||||
Me.DataGridView1.AllowUserToDeleteRows = False
|
||||
Me.DataGridView1.AllowUserToResizeRows = False
|
||||
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
|
||||
Me.DataGridView1.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.Column1, Me.Column2, Me.Column3, Me.STAT_E})
|
||||
DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
|
||||
DataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window
|
||||
DataGridViewCellStyle1.Font = New System.Drawing.Font("Consolas", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
|
||||
DataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText
|
||||
DataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight
|
||||
DataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText
|
||||
DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
|
||||
Me.DataGridView1.DefaultCellStyle = DataGridViewCellStyle1
|
||||
Me.DataGridView1.Location = New System.Drawing.Point(12, 85)
|
||||
Me.DataGridView1.MultiSelect = False
|
||||
Me.DataGridView1.Name = "DataGridView1"
|
||||
Me.DataGridView1.RowHeadersVisible = False
|
||||
Me.DataGridView1.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing
|
||||
DataGridViewCellStyle2.Font = New System.Drawing.Font("Lucida Sans Typewriter", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.DataGridView1.RowsDefaultCellStyle = DataGridViewCellStyle2
|
||||
Me.DataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect
|
||||
Me.DataGridView1.Size = New System.Drawing.Size(593, 675)
|
||||
Me.DataGridView1.TabIndex = 4
|
||||
'
|
||||
'EngTitle
|
||||
'
|
||||
Me.EngTitle.Location = New System.Drawing.Point(409, 59)
|
||||
Me.EngTitle.Name = "EngTitle"
|
||||
Me.EngTitle.Size = New System.Drawing.Size(196, 20)
|
||||
Me.EngTitle.TabIndex = 2
|
||||
'
|
||||
'SaveToISO
|
||||
'
|
||||
Me.SaveToISO.Location = New System.Drawing.Point(329, 766)
|
||||
Me.SaveToISO.Name = "SaveToISO"
|
||||
Me.SaveToISO.Size = New System.Drawing.Size(166, 40)
|
||||
Me.SaveToISO.TabIndex = 5
|
||||
Me.SaveToISO.Text = "SaveToUSERISO"
|
||||
Me.SaveToISO.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Button4
|
||||
'
|
||||
Me.Button4.Location = New System.Drawing.Point(208, 783)
|
||||
Me.Button4.Name = "Button4"
|
||||
Me.Button4.Size = New System.Drawing.Size(115, 23)
|
||||
Me.Button4.TabIndex = 6
|
||||
Me.Button4.Text = "UpdateFileTable??"
|
||||
Me.Button4.UseVisualStyleBackColor = True
|
||||
'
|
||||
'ChrCount
|
||||
'
|
||||
Me.ChrCount.AutoSize = True
|
||||
Me.ChrCount.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
|
||||
Me.ChrCount.Location = New System.Drawing.Point(189, 36)
|
||||
Me.ChrCount.Name = "ChrCount"
|
||||
Me.ChrCount.Size = New System.Drawing.Size(19, 20)
|
||||
Me.ChrCount.TabIndex = 7
|
||||
Me.ChrCount.Text = "0"
|
||||
'
|
||||
'AreaCount
|
||||
'
|
||||
Me.AreaCount.AutoSize = True
|
||||
Me.AreaCount.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
|
||||
Me.AreaCount.Location = New System.Drawing.Point(247, 59)
|
||||
Me.AreaCount.Name = "AreaCount"
|
||||
Me.AreaCount.Size = New System.Drawing.Size(19, 20)
|
||||
Me.AreaCount.TabIndex = 8
|
||||
Me.AreaCount.Text = "0"
|
||||
'
|
||||
'Column1
|
||||
'
|
||||
Me.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
|
||||
Me.Column1.FillWeight = 35.0!
|
||||
Me.Column1.HeaderText = "COORDS"
|
||||
Me.Column1.Name = "Column1"
|
||||
'
|
||||
'Column2
|
||||
'
|
||||
Me.Column2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
|
||||
Me.Column2.HeaderText = "USER_TEXT"
|
||||
Me.Column2.Name = "Column2"
|
||||
'
|
||||
'Column3
|
||||
'
|
||||
Me.Column3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
|
||||
Me.Column3.HeaderText = "ENG_TEXT"
|
||||
Me.Column3.Name = "Column3"
|
||||
'
|
||||
'STAT_E
|
||||
'
|
||||
Me.STAT_E.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
|
||||
Me.STAT_E.FillWeight = 35.0!
|
||||
Me.STAT_E.HeaderText = "COORDS_E"
|
||||
Me.STAT_E.Name = "STAT_E"
|
||||
'
|
||||
'CityEditor
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(608, 818)
|
||||
Me.Controls.Add(Me.AreaCount)
|
||||
Me.Controls.Add(Me.ChrCount)
|
||||
Me.Controls.Add(Me.Button4)
|
||||
Me.Controls.Add(Me.SaveToISO)
|
||||
Me.Controls.Add(Me.DataGridView1)
|
||||
Me.Controls.Add(Me.Button2)
|
||||
Me.Controls.Add(Me.Button1)
|
||||
Me.Controls.Add(Me.EngTitle)
|
||||
Me.Controls.Add(Me.UserTitle)
|
||||
Me.Controls.Add(Me.Label1)
|
||||
Me.Controls.Add(Me.ID)
|
||||
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
|
||||
Me.MaximizeBox = False
|
||||
Me.MinimizeBox = False
|
||||
Me.Name = "CityEditor"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "CityEditor"
|
||||
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents ID As TextBox
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents UserTitle As TextBox
|
||||
Friend WithEvents Button1 As Button
|
||||
Friend WithEvents Button2 As Button
|
||||
Friend WithEvents DataGridView1 As DataGridView
|
||||
Friend WithEvents EngTitle As TextBox
|
||||
Friend WithEvents SaveToISO As Button
|
||||
Friend WithEvents Button4 As Button
|
||||
Friend WithEvents ChrCount As Label
|
||||
Friend WithEvents AreaCount As Label
|
||||
Friend WithEvents Column1 As DataGridViewTextBoxColumn
|
||||
Friend WithEvents Column2 As DataGridViewTextBoxColumn
|
||||
Friend WithEvents Column3 As DataGridViewTextBoxColumn
|
||||
Friend WithEvents STAT_E As DataGridViewTextBoxColumn
|
||||
End Class
|
||||
132
p2isPSX_CDToolkit/CityEditor.resx
Normal file
132
p2isPSX_CDToolkit/CityEditor.resx
Normal file
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="STAT_E.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
||||
268
p2isPSX_CDToolkit/CityEditor.vb
Normal file
268
p2isPSX_CDToolkit/CityEditor.vb
Normal file
@@ -0,0 +1,268 @@
|
||||
Public Class CityEditor
|
||||
|
||||
Public files1 As List(Of fileInfo)
|
||||
Public files2 As List(Of fileInfo)
|
||||
Public CurFile As rleFile
|
||||
Public CurFileUnrle As Byte()
|
||||
Public EngFile As rleFile
|
||||
Public EngFileUnrle As Byte()
|
||||
|
||||
|
||||
Private Sub DungeonEditor_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
|
||||
Dim cd = New ISOTools
|
||||
|
||||
'Reading filetable and make array
|
||||
files1 = cd.makeFileList(Form1.UserPath.Text)
|
||||
files2 = cd.makeFileList(Form1.EngISOPath.Text)
|
||||
|
||||
|
||||
LoadDistrict()
|
||||
End Sub
|
||||
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
If ID.Text = 713 Then
|
||||
ID.Text = 719
|
||||
Else
|
||||
ID.Text -= 1
|
||||
End If
|
||||
|
||||
|
||||
LoadDistrict()
|
||||
End Sub
|
||||
|
||||
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
||||
If ID.Text = 719 Then
|
||||
ID.Text = 713
|
||||
Else
|
||||
ID.Text += 1
|
||||
End If
|
||||
|
||||
|
||||
LoadDistrict()
|
||||
End Sub
|
||||
|
||||
|
||||
Public Sub LoadDistrict()
|
||||
|
||||
Dim cd = New ISOTools
|
||||
Dim rle = New rleTools
|
||||
|
||||
|
||||
|
||||
Form1.DeconstructFile(cd.getCDfile(Form1.UserPath.Text, files1(ID.Text).Sector, files1(ID.Text).Sizw).ToArray) 'here is separated binfile
|
||||
CurFile = Form1.binFile(Form1.binFile.Count - 2) 'Get Before Last File
|
||||
CurFileUnrle = CurFile.Bytes.ToArray
|
||||
Form1.DeconstructFile(cd.getCDfile(Form1.EngISOPath.Text, files2(ID.Text).Sector, files2(ID.Text).Sizw).ToArray) 'here is separated binfile
|
||||
EngFile = Form1.binFile(Form1.binFile.Count - 2) 'Get Before Last File
|
||||
EngFileUnrle = EngFile.Bytes.ToArray
|
||||
'Dim curfile As rleFile = binFile(8)
|
||||
|
||||
|
||||
Dim JapBlock1Len = CurFileUnrle(8)
|
||||
Dim JapBlock2Len = CurFileUnrle(9)
|
||||
Dim JapBlockLines = CurFileUnrle(10)
|
||||
Dim EnBlock1Len = EngFileUnrle(8)
|
||||
Dim EnBlock2Len = EngFileUnrle(9)
|
||||
Dim EnBlockLines = EngFileUnrle(10)
|
||||
|
||||
Dim JapTextStart = JapBlock1Len * 16 + JapBlock2Len * 8 + 8 + 4 'header 8 + head 4 block
|
||||
Dim EngTextStart = EnBlock1Len * 16 + EnBlock2Len * 8 + 8 + 4
|
||||
|
||||
|
||||
EngTitle.Text = readEngText(EngTextStart + 4) 'after coords...
|
||||
UserTitle.Text = readRusText(JapTextStart + 4) 'after coords...
|
||||
DataGridView1.Rows.Clear()
|
||||
|
||||
|
||||
For a = 1 To JapBlockLines - 1
|
||||
JapTextStart += 40
|
||||
EngTextStart += 40 'Move to Next Block...
|
||||
Dim jap_coords As String = BitConverter.ToInt16(CurFileUnrle, JapTextStart) & " x " & BitConverter.ToInt16(CurFileUnrle, JapTextStart + 2)
|
||||
Dim japLoc = readRusText(JapTextStart + 4 + 14) ' aftercoords
|
||||
|
||||
Dim en_coords As String = BitConverter.ToInt16(CurFileUnrle, EngTextStart) & " x " & BitConverter.ToInt16(CurFileUnrle, EngTextStart + 2)
|
||||
Dim enLoc = readEngText(JapTextStart + 4 + 14) ' aftercoords
|
||||
DataGridView1.Rows.Add(jap_coords, japLoc, enLoc, en_coords)
|
||||
|
||||
Next
|
||||
|
||||
'Do
|
||||
' If pointer >= endByte Then Exit Do
|
||||
|
||||
' Dim status = BitConverter.ToInt16(CurFileUnrle, pointer)
|
||||
' Dim statusE = EngFileUnrle(pointer)
|
||||
|
||||
' pointer += 2
|
||||
' Dim engString = readEngText(pointer - 1)
|
||||
' Dim rustext = readRusText(pointer)
|
||||
|
||||
' DataGridView1.Rows.Add(status, rustext, engString, statusE)
|
||||
' pointer += 30
|
||||
'Loop
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function readEngText(ByVal Curbt As Integer)
|
||||
Dim a = ""
|
||||
Do
|
||||
If EngFileUnrle(Curbt) = 3 Or EngFileUnrle(Curbt) = 0 Then Exit Do
|
||||
If EngFileUnrle(Curbt) > 128 Then EngFileUnrle(Curbt) = Asc("-")
|
||||
a &= Chr(EngFileUnrle(Curbt))
|
||||
Curbt += 1
|
||||
Loop
|
||||
Return a
|
||||
End Function
|
||||
|
||||
|
||||
Public Function readRusText(ByVal Curbt As Integer)
|
||||
Dim a = ""
|
||||
If BitConverter.ToInt16(CurFileUnrle, Curbt) And &H2000 Then
|
||||
Dim len = BitConverter.ToInt16(CurFileUnrle, Curbt) And &HFF
|
||||
Curbt += 2
|
||||
For b = 0 To len - 1
|
||||
a &= Chr(CurFileUnrle(Curbt))
|
||||
Curbt += 1
|
||||
Next
|
||||
Else
|
||||
Dim b = BitConverter.ToInt16(CurFileUnrle, Curbt)
|
||||
|
||||
Do
|
||||
Dim curChar = BitConverter.ToInt16(CurFileUnrle, Curbt)
|
||||
If (curChar < &H1000) Then a &= Form1.chars(curChar)
|
||||
'a &= CurFileUnrle(Curbt).ToString("X2") & CurFileUnrle(Curbt + 1).ToString("X2")
|
||||
Curbt += 2
|
||||
If Curbt >= CurFileUnrle.Count Then Exit Do
|
||||
b = BitConverter.ToInt16(CurFileUnrle, Curbt)
|
||||
Loop Until (b And &H1000)
|
||||
End If
|
||||
Return a
|
||||
End Function
|
||||
|
||||
Private Sub UserTitle_TextChanged(sender As Object, e As EventArgs) Handles UserTitle.TextChanged
|
||||
ChrCount.Text = UserTitle.Text.Length
|
||||
If UserTitle.Text.Length > 14 Then
|
||||
ChrCount.ForeColor = Color.Red
|
||||
Else
|
||||
ChrCount.ForeColor = Color.DarkGreen
|
||||
End If
|
||||
End Sub
|
||||
Private Sub DataGridView1_CurrentCellChanged(sender As Object, e As EventArgs) Handles DataGridView1.CurrentCellChanged
|
||||
If IsNothing(DataGridView1.CurrentCell) Then Exit Sub
|
||||
Dim a = DataGridView1.CurrentCell.Value.ToString.Length
|
||||
AreaCount.Text = a
|
||||
If a > 20 Then
|
||||
AreaCount.ForeColor = Color.Red
|
||||
Else
|
||||
AreaCount.ForeColor = Color.DarkGreen
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles SaveToISO.Click
|
||||
'CHANGING FILE!
|
||||
|
||||
Dim cd = New ISOTools
|
||||
Dim rle = New rleTools
|
||||
|
||||
'Making title bytes
|
||||
MakeSaveRussianString(UserTitle.Text, 24, 0)
|
||||
|
||||
Dim off As Int32 = BitConverter.ToInt32(CurFileUnrle, 104)
|
||||
'Dim pointer As Int32 = BitConverter.ToInt32(CurFileUnrle, 104)
|
||||
Dim endByte As Int32 = BitConverter.ToInt32(CurFileUnrle, 60)
|
||||
|
||||
|
||||
For Each row In DataGridView1.Rows
|
||||
|
||||
CurFileUnrle(off) = row.Cells(0).Value
|
||||
CurFileUnrle(off + 1) = 0
|
||||
|
||||
MakeSaveRussianString(Trim(row.Cells(1).Value), 30, off + 2)
|
||||
|
||||
off += 32
|
||||
Next
|
||||
|
||||
|
||||
Form1.DeconstructFile(cd.getCDfile(Form1.UserPath.Text, files1(ID.Text).Sector, files1(ID.Text).Sizw).ToArray) 'here is separated binfile
|
||||
Dim curfile = Form1.binFile(0)
|
||||
|
||||
Dim before = curfile.Bytes.Count
|
||||
Form1.binFile(0).Bytes = rle.decodeRLEnew(CurFileUnrle, curfile).ToArray
|
||||
Form1.binFile(0).BytesAfter = 0
|
||||
Dim after = Form1.binFile(0).Bytes.Count
|
||||
|
||||
'Packing
|
||||
Dim finalPack = New List(Of Byte)
|
||||
For Each bin In Form1.binFile
|
||||
finalPack.AddRange(bin.Bytes)
|
||||
|
||||
'AddingBytesAfter
|
||||
For g = 0 To bin.BytesAfter - 1
|
||||
finalPack.Add(0)
|
||||
Next
|
||||
|
||||
Next
|
||||
|
||||
|
||||
If finalPack.Count Mod 2048 > 0 Then
|
||||
For g = 1 To (2048 - (finalPack.Count Mod 2048))
|
||||
finalPack.Add(0)
|
||||
Next g
|
||||
End If
|
||||
|
||||
Dim beforeSize As Integer = files1(ID.Text).Sizw
|
||||
|
||||
If finalPack.Count <= files1(ID.Text).Sizw Then
|
||||
'If sizw matched
|
||||
|
||||
cd.saveCDfile(Form1.UserPath.Text, files1(ID.Text).Sector, finalPack.Count, finalPack.ToArray)
|
||||
MsgBox("Succesfully Saved!" & vbCrLf & "Bofore: " & before & vbCrLf & "Afta: " & after & vbCrLf & after - before & "b.")
|
||||
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
|
||||
If MsgBox("finalPack is Bigger than source :(" &
|
||||
vbCrLf & "Bofore: " & before & vbCrLf & "Afta: " & after & vbCrLf & after - before & "b." &
|
||||
vbCrLf & "Do you wanna save it to file?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
|
||||
|
||||
If Form1.SaveFileDialog1.ShowDialog <> DialogResult.OK Then Exit Sub
|
||||
|
||||
My.Computer.FileSystem.WriteAllBytes(Form1.SaveFileDialog1.FileName, finalPack.ToArray, False)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
'My.Computer.FileSystem.WriteAllBytes("D:\Games\PSX\Persona.2.Innocent.Sin\Export\UnRLE\0097\EDITOR_TEST", CurFileUnrle, False)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub MakeSaveRussianString(ByVal str As String, ByVal maxBytes As Integer, ByVal offs As String)
|
||||
Dim a = New List(Of Byte)
|
||||
If str = "0010" Then
|
||||
For x = 0 To maxBytes - 1 Step 2
|
||||
CurFileUnrle(offs + x) = 0
|
||||
CurFileUnrle(offs + x + 1) = &H10
|
||||
Next
|
||||
Exit Sub
|
||||
|
||||
End If
|
||||
|
||||
|
||||
a.Add(str.Length)
|
||||
a.Add(&H20)
|
||||
For x = 0 To str.Length - 1
|
||||
a.Add(Asc(str(x)))
|
||||
Next
|
||||
For x = 0 To maxBytes - str.Length - 3
|
||||
a.Add(0)
|
||||
Next
|
||||
For x = 0 To maxBytes - 1
|
||||
CurFileUnrle(x + offs) = a(x)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
227
p2isPSX_CDToolkit/DungeonEditor.Designer.vb
generated
Normal file
227
p2isPSX_CDToolkit/DungeonEditor.Designer.vb
generated
Normal file
@@ -0,0 +1,227 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class DungeonEditor
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Форма переопределяет dispose для очистки списка компонентов.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Является обязательной для конструктора форм Windows Forms
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Примечание: следующая процедура является обязательной для конструктора форм Windows Forms
|
||||
'Для ее изменения используйте конструктор форм Windows Form.
|
||||
'Не изменяйте ее в редакторе исходного кода.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
|
||||
Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
|
||||
Me.ID = New System.Windows.Forms.TextBox()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.UserTitle = New System.Windows.Forms.TextBox()
|
||||
Me.Button1 = New System.Windows.Forms.Button()
|
||||
Me.Button2 = New System.Windows.Forms.Button()
|
||||
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
|
||||
Me.Column1 = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.Column2 = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.Column3 = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.STAT_E = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.EngTitle = New System.Windows.Forms.TextBox()
|
||||
Me.SaveToISO = New System.Windows.Forms.Button()
|
||||
Me.Button4 = New System.Windows.Forms.Button()
|
||||
Me.ChrCount = New System.Windows.Forms.Label()
|
||||
Me.AreaCount = New System.Windows.Forms.Label()
|
||||
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'ID
|
||||
'
|
||||
Me.ID.Location = New System.Drawing.Point(358, 5)
|
||||
Me.ID.Name = "ID"
|
||||
Me.ID.Size = New System.Drawing.Size(138, 20)
|
||||
Me.ID.TabIndex = 0
|
||||
Me.ID.Text = "741"
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Location = New System.Drawing.Point(242, 8)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(110, 13)
|
||||
Me.Label1.TabIndex = 1
|
||||
Me.Label1.Text = "DungeonID (741-788)"
|
||||
'
|
||||
'UserTitle
|
||||
'
|
||||
Me.UserTitle.Location = New System.Drawing.Point(12, 59)
|
||||
Me.UserTitle.Name = "UserTitle"
|
||||
Me.UserTitle.Size = New System.Drawing.Size(196, 20)
|
||||
Me.UserTitle.TabIndex = 2
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.Location = New System.Drawing.Point(358, 29)
|
||||
Me.Button1.Name = "Button1"
|
||||
Me.Button1.Size = New System.Drawing.Size(69, 22)
|
||||
Me.Button1.TabIndex = 3
|
||||
Me.Button1.Text = "<<<"
|
||||
Me.Button1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Button2
|
||||
'
|
||||
Me.Button2.Location = New System.Drawing.Point(433, 29)
|
||||
Me.Button2.Name = "Button2"
|
||||
Me.Button2.Size = New System.Drawing.Size(63, 22)
|
||||
Me.Button2.TabIndex = 3
|
||||
Me.Button2.Text = ">>>"
|
||||
Me.Button2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'DataGridView1
|
||||
'
|
||||
Me.DataGridView1.AllowUserToAddRows = False
|
||||
Me.DataGridView1.AllowUserToDeleteRows = False
|
||||
Me.DataGridView1.AllowUserToResizeRows = False
|
||||
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
|
||||
Me.DataGridView1.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.Column1, Me.Column2, Me.Column3, Me.STAT_E})
|
||||
DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
|
||||
DataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window
|
||||
DataGridViewCellStyle1.Font = New System.Drawing.Font("Consolas", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
|
||||
DataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText
|
||||
DataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight
|
||||
DataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText
|
||||
DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
|
||||
Me.DataGridView1.DefaultCellStyle = DataGridViewCellStyle1
|
||||
Me.DataGridView1.Location = New System.Drawing.Point(12, 85)
|
||||
Me.DataGridView1.MultiSelect = False
|
||||
Me.DataGridView1.Name = "DataGridView1"
|
||||
Me.DataGridView1.RowHeadersVisible = False
|
||||
Me.DataGridView1.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing
|
||||
DataGridViewCellStyle2.Font = New System.Drawing.Font("Lucida Sans Typewriter", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.DataGridView1.RowsDefaultCellStyle = DataGridViewCellStyle2
|
||||
Me.DataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect
|
||||
Me.DataGridView1.Size = New System.Drawing.Size(484, 675)
|
||||
Me.DataGridView1.TabIndex = 4
|
||||
'
|
||||
'Column1
|
||||
'
|
||||
Me.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
|
||||
Me.Column1.FillWeight = 10.0!
|
||||
Me.Column1.HeaderText = "STATUS"
|
||||
Me.Column1.Name = "Column1"
|
||||
'
|
||||
'Column2
|
||||
'
|
||||
Me.Column2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
|
||||
Me.Column2.HeaderText = "USER_TEXT"
|
||||
Me.Column2.Name = "Column2"
|
||||
'
|
||||
'Column3
|
||||
'
|
||||
Me.Column3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
|
||||
Me.Column3.HeaderText = "ENG_TEXT"
|
||||
Me.Column3.Name = "Column3"
|
||||
'
|
||||
'STAT_E
|
||||
'
|
||||
Me.STAT_E.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
|
||||
Me.STAT_E.FillWeight = 15.0!
|
||||
Me.STAT_E.HeaderText = "STAT_E"
|
||||
Me.STAT_E.Name = "STAT_E"
|
||||
'
|
||||
'EngTitle
|
||||
'
|
||||
Me.EngTitle.Location = New System.Drawing.Point(300, 59)
|
||||
Me.EngTitle.Name = "EngTitle"
|
||||
Me.EngTitle.Size = New System.Drawing.Size(196, 20)
|
||||
Me.EngTitle.TabIndex = 2
|
||||
'
|
||||
'SaveToISO
|
||||
'
|
||||
Me.SaveToISO.Location = New System.Drawing.Point(329, 766)
|
||||
Me.SaveToISO.Name = "SaveToISO"
|
||||
Me.SaveToISO.Size = New System.Drawing.Size(166, 40)
|
||||
Me.SaveToISO.TabIndex = 5
|
||||
Me.SaveToISO.Text = "SaveToUSERISO"
|
||||
Me.SaveToISO.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Button4
|
||||
'
|
||||
Me.Button4.Location = New System.Drawing.Point(208, 783)
|
||||
Me.Button4.Name = "Button4"
|
||||
Me.Button4.Size = New System.Drawing.Size(115, 23)
|
||||
Me.Button4.TabIndex = 6
|
||||
Me.Button4.Text = "UpdateFileTable??"
|
||||
Me.Button4.UseVisualStyleBackColor = True
|
||||
'
|
||||
'ChrCount
|
||||
'
|
||||
Me.ChrCount.AutoSize = True
|
||||
Me.ChrCount.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
|
||||
Me.ChrCount.Location = New System.Drawing.Point(189, 36)
|
||||
Me.ChrCount.Name = "ChrCount"
|
||||
Me.ChrCount.Size = New System.Drawing.Size(19, 20)
|
||||
Me.ChrCount.TabIndex = 7
|
||||
Me.ChrCount.Text = "0"
|
||||
'
|
||||
'AreaCount
|
||||
'
|
||||
Me.AreaCount.AutoSize = True
|
||||
Me.AreaCount.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
|
||||
Me.AreaCount.Location = New System.Drawing.Point(247, 59)
|
||||
Me.AreaCount.Name = "AreaCount"
|
||||
Me.AreaCount.Size = New System.Drawing.Size(19, 20)
|
||||
Me.AreaCount.TabIndex = 8
|
||||
Me.AreaCount.Text = "0"
|
||||
'
|
||||
'DungeonEditor
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(507, 818)
|
||||
Me.Controls.Add(Me.AreaCount)
|
||||
Me.Controls.Add(Me.ChrCount)
|
||||
Me.Controls.Add(Me.Button4)
|
||||
Me.Controls.Add(Me.SaveToISO)
|
||||
Me.Controls.Add(Me.DataGridView1)
|
||||
Me.Controls.Add(Me.Button2)
|
||||
Me.Controls.Add(Me.Button1)
|
||||
Me.Controls.Add(Me.EngTitle)
|
||||
Me.Controls.Add(Me.UserTitle)
|
||||
Me.Controls.Add(Me.Label1)
|
||||
Me.Controls.Add(Me.ID)
|
||||
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
|
||||
Me.MaximizeBox = False
|
||||
Me.MinimizeBox = False
|
||||
Me.Name = "DungeonEditor"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "DungeonEditor"
|
||||
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents ID As TextBox
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents UserTitle As TextBox
|
||||
Friend WithEvents Button1 As Button
|
||||
Friend WithEvents Button2 As Button
|
||||
Friend WithEvents DataGridView1 As DataGridView
|
||||
Friend WithEvents EngTitle As TextBox
|
||||
Friend WithEvents SaveToISO As Button
|
||||
Friend WithEvents Button4 As Button
|
||||
Friend WithEvents Column1 As DataGridViewTextBoxColumn
|
||||
Friend WithEvents Column2 As DataGridViewTextBoxColumn
|
||||
Friend WithEvents Column3 As DataGridViewTextBoxColumn
|
||||
Friend WithEvents STAT_E As DataGridViewTextBoxColumn
|
||||
Friend WithEvents ChrCount As Label
|
||||
Friend WithEvents AreaCount As Label
|
||||
End Class
|
||||
132
p2isPSX_CDToolkit/DungeonEditor.resx
Normal file
132
p2isPSX_CDToolkit/DungeonEditor.resx
Normal file
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="STAT_E.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
||||
247
p2isPSX_CDToolkit/DungeonEditor.vb
Normal file
247
p2isPSX_CDToolkit/DungeonEditor.vb
Normal file
@@ -0,0 +1,247 @@
|
||||
Public Class DungeonEditor
|
||||
|
||||
Public files1 As List(Of fileInfo)
|
||||
Public files2 As List(Of fileInfo)
|
||||
Public CurFile As rleFile
|
||||
Public CurFileUnrle As Byte()
|
||||
Public EngFile As rleFile
|
||||
Public EngFileUnrle As Byte()
|
||||
|
||||
|
||||
Private Sub DungeonEditor_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
|
||||
Dim cd = New ISOTools
|
||||
|
||||
'Reading filetable and make array
|
||||
files1 = cd.makeFileList(form1.UserPath.Text)
|
||||
files2 = cd.makeFileList(Form1.EngISOPath.Text)
|
||||
|
||||
|
||||
LoadDungeon()
|
||||
End Sub
|
||||
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
If ID.Text = 741 Then
|
||||
ID.Text = 788
|
||||
Else
|
||||
ID.Text -= 1
|
||||
End If
|
||||
|
||||
|
||||
LoadDungeon()
|
||||
End Sub
|
||||
|
||||
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
||||
If ID.Text = 788 Then
|
||||
ID.Text = 741
|
||||
Else
|
||||
ID.Text += 1
|
||||
End If
|
||||
|
||||
|
||||
LoadDungeon()
|
||||
End Sub
|
||||
|
||||
|
||||
Public Sub LoadDungeon()
|
||||
|
||||
Dim cd = New ISOTools
|
||||
Dim rle = New rleTools
|
||||
|
||||
|
||||
|
||||
Form1.DeconstructFile(cd.getCDfile(Form1.UserPath.Text, files1(ID.Text).Sector, files1(ID.Text).Sizw).ToArray) 'here is separated binfile
|
||||
CurFile = Form1.binFile(0)
|
||||
CurFileUnrle = rle.Unrle(CurFile.Bytes).ToArray
|
||||
Form1.DeconstructFile(cd.getCDfile(Form1.EngISOPath.Text, files2(ID.Text).Sector, files2(ID.Text).Sizw).ToArray) 'here is separated binfile
|
||||
EngFile = Form1.binFile(0)
|
||||
EngFileUnrle = rle.Unrle(EngFile.Bytes).ToArray
|
||||
'Dim curfile As rleFile = binFile(8)
|
||||
|
||||
EngTitle.Text = readEngText(0)
|
||||
UserTitle.Text = readRusText(0)
|
||||
|
||||
|
||||
Dim pointer As Int32 = BitConverter.ToInt32(CurFileUnrle, 104)
|
||||
Dim endByte As Int32 = BitConverter.ToInt32(CurFileUnrle, 60)
|
||||
DataGridView1.Rows.Clear()
|
||||
|
||||
Do
|
||||
|
||||
If pointer >= endByte Then Exit Do
|
||||
|
||||
Dim status = BitConverter.ToInt16(CurFileUnrle, pointer)
|
||||
Dim statusE = EngFileUnrle(pointer)
|
||||
|
||||
pointer += 2
|
||||
Dim engString = readEngText(pointer - 1)
|
||||
Dim rustext = readRusText(pointer)
|
||||
|
||||
DataGridView1.Rows.Add(status, rustext, engString, statusE)
|
||||
pointer += 30
|
||||
Loop
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function readEngText(ByVal Curbt As Integer)
|
||||
Dim a = ""
|
||||
Do
|
||||
If EngFileUnrle(Curbt) = 3 Or EngFileUnrle(Curbt) = 0 Then Exit Do
|
||||
If EngFileUnrle(Curbt) > 128 Then EngFileUnrle(Curbt) = Asc("-")
|
||||
a &= Chr(EngFileUnrle(Curbt))
|
||||
Curbt += 1
|
||||
Loop
|
||||
Return a
|
||||
End Function
|
||||
|
||||
|
||||
Public Function readRusText(ByVal Curbt As Integer)
|
||||
Dim a = ""
|
||||
If BitConverter.ToInt16(CurFileUnrle, Curbt) And &H2000 Then
|
||||
Dim len = BitConverter.ToInt16(CurFileUnrle, Curbt) And &HFF
|
||||
Curbt += 2
|
||||
For b = 0 To len - 1
|
||||
a &= Chr(CurFileUnrle(Curbt))
|
||||
Curbt += 1
|
||||
Next
|
||||
Else
|
||||
Dim b = BitConverter.ToInt16(CurFileUnrle, Curbt)
|
||||
|
||||
Do
|
||||
Dim curChar = BitConverter.ToInt16(CurFileUnrle, Curbt)
|
||||
If (curChar < &H1000) Then a &= Form1.chars(curChar)
|
||||
'a &= CurFileUnrle(Curbt).ToString("X2") & CurFileUnrle(Curbt + 1).ToString("X2")
|
||||
Curbt += 2
|
||||
If Curbt >= CurFileUnrle.Count Then Exit Do
|
||||
b = BitConverter.ToInt16(CurFileUnrle, Curbt)
|
||||
Loop Until (b And &H1000)
|
||||
End If
|
||||
Return a
|
||||
End Function
|
||||
|
||||
Private Sub UserTitle_TextChanged(sender As Object, e As EventArgs) Handles UserTitle.TextChanged
|
||||
ChrCount.Text = UserTitle.Text.Length
|
||||
If UserTitle.Text.Length > 14 Then
|
||||
ChrCount.ForeColor = Color.Red
|
||||
Else
|
||||
ChrCount.ForeColor = Color.DarkGreen
|
||||
End If
|
||||
End Sub
|
||||
Private Sub DataGridView1_CurrentCellChanged(sender As Object, e As EventArgs) Handles DataGridView1.CurrentCellChanged
|
||||
If IsNothing(DataGridView1.CurrentCell) Then Exit Sub
|
||||
Dim a = DataGridView1.CurrentCell.Value.ToString.Length
|
||||
AreaCount.Text = a
|
||||
If a > 20 Then
|
||||
AreaCount.ForeColor = Color.Red
|
||||
Else
|
||||
AreaCount.ForeColor = Color.DarkGreen
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles SaveToISO.Click
|
||||
'CHANGING FILE!
|
||||
|
||||
Dim cd = New ISOTools
|
||||
Dim rle = New rleTools
|
||||
|
||||
'Making title bytes
|
||||
MakeSaveRussianString(UserTitle.Text, 24, 0)
|
||||
|
||||
Dim off As Int32 = BitConverter.ToInt32(CurFileUnrle, 104)
|
||||
'Dim pointer As Int32 = BitConverter.ToInt32(CurFileUnrle, 104)
|
||||
Dim endByte As Int32 = BitConverter.ToInt32(CurFileUnrle, 60)
|
||||
|
||||
|
||||
For Each row In DataGridView1.Rows
|
||||
|
||||
CurFileUnrle(off) = row.Cells(0).Value
|
||||
CurFileUnrle(off + 1) = 0
|
||||
|
||||
MakeSaveRussianString(Trim(row.Cells(1).Value), 30, off + 2)
|
||||
|
||||
off += 32
|
||||
Next
|
||||
|
||||
|
||||
Form1.DeconstructFile(cd.getCDfile(Form1.UserPath.Text, files1(ID.Text).Sector, files1(ID.Text).Sizw).ToArray) 'here is separated binfile
|
||||
Dim curfile = Form1.binFile(0)
|
||||
|
||||
Dim before = curfile.Bytes.Count
|
||||
Form1.binFile(0).Bytes = rle.decodeRLEnew(CurFileUnrle, curfile).ToArray
|
||||
Form1.binFile(0).BytesAfter = 0
|
||||
Dim after = Form1.binFile(0).Bytes.Count
|
||||
|
||||
'Packing
|
||||
Dim finalPack = New List(Of Byte)
|
||||
For Each bin In Form1.binFile
|
||||
finalPack.AddRange(bin.Bytes)
|
||||
|
||||
'AddingBytesAfter
|
||||
For g = 0 To bin.BytesAfter - 1
|
||||
finalPack.Add(0)
|
||||
Next
|
||||
|
||||
Next
|
||||
|
||||
|
||||
If finalPack.Count Mod 2048 > 0 Then
|
||||
For g = 1 To (2048 - (finalPack.Count Mod 2048))
|
||||
finalPack.Add(0)
|
||||
Next g
|
||||
End If
|
||||
|
||||
Dim beforeSize As Integer = files1(ID.Text).Sizw
|
||||
|
||||
If finalPack.Count <= files1(ID.Text).Sizw Then
|
||||
'If sizw matched
|
||||
|
||||
cd.saveCDfile(Form1.UserPath.Text, files1(ID.Text).Sector, finalPack.Count, finalPack.ToArray)
|
||||
MsgBox("Succesfully Saved!" & vbCrLf & "Bofore: " & before & vbCrLf & "Afta: " & after & vbCrLf & after - before & "b.")
|
||||
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
|
||||
If MsgBox("finalPack is Bigger than source :(" &
|
||||
vbCrLf & "Bofore: " & before & vbCrLf & "Afta: " & after & vbCrLf & after - before & "b." &
|
||||
vbCrLf & "Do you wanna save it to file?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
|
||||
|
||||
If Form1.SaveFileDialog1.ShowDialog <> DialogResult.OK Then Exit Sub
|
||||
|
||||
My.Computer.FileSystem.WriteAllBytes(Form1.SaveFileDialog1.FileName, finalPack.ToArray, False)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
'My.Computer.FileSystem.WriteAllBytes("D:\Games\PSX\Persona.2.Innocent.Sin\Export\UnRLE\0097\EDITOR_TEST", CurFileUnrle, False)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub MakeSaveRussianString(ByVal str As String, ByVal maxBytes As Integer, ByVal offs As String)
|
||||
Dim a = New List(Of Byte)
|
||||
If str = "0010" Then
|
||||
For x = 0 To maxBytes - 1 Step 2
|
||||
CurFileUnrle(offs + x) = 0
|
||||
CurFileUnrle(offs + x + 1) = &H10
|
||||
Next
|
||||
Exit Sub
|
||||
|
||||
End If
|
||||
|
||||
|
||||
a.Add(str.Length)
|
||||
a.Add(&H20)
|
||||
For x = 0 To str.Length - 1
|
||||
a.Add(Asc(str(x)))
|
||||
Next
|
||||
For x = 0 To maxBytes - str.Length - 3
|
||||
a.Add(0)
|
||||
Next
|
||||
For x = 0 To maxBytes - 1
|
||||
CurFileUnrle(x + offs) = a(x)
|
||||
Next
|
||||
End Sub
|
||||
End Class
|
||||
262
p2isPSX_CDToolkit/FontTools.vb
Normal file
262
p2isPSX_CDToolkit/FontTools.vb
Normal file
@@ -0,0 +1,262 @@
|
||||
Public Class FontTools
|
||||
|
||||
Dim drawSurface As Bitmap
|
||||
Public Colors = New List(Of Color)
|
||||
|
||||
Public Function GetColors()
|
||||
Colors.Add(Color.Black)
|
||||
Colors.Add(Color.FromArgb(238, 238, 238))
|
||||
Colors.Add(Color.FromArgb(24, 24, 24))
|
||||
Colors.Add(Color.FromArgb(156, 156, 156))
|
||||
Colors.Add(Color.FromArgb(49, 49, 49))
|
||||
Colors.Add(Color.FromArgb(246, 82, 131))
|
||||
Colors.Add(Color.FromArgb(24, 24, 24))
|
||||
Colors.Add(Color.FromArgb(148, 213, 255)) 'Persona2 TEXT PALETTE
|
||||
Colors.Add(Color.FromArgb(24, 24, 49))
|
||||
Colors.Add(Color.FromArgb(131, 230, 131))
|
||||
Colors.Add(Color.FromArgb(24, 24, 24))
|
||||
Colors.Add(Color.FromArgb(230, 230, 74))
|
||||
Colors.Add(Color.FromArgb(49, 49, 24))
|
||||
Colors.Add(Color.FromArgb(255, 131, 49))
|
||||
Colors.Add(Color.FromArgb(49, 24, 24))
|
||||
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
Public Sub convertTo16()
|
||||
|
||||
'DONE
|
||||
|
||||
Dim CurByte As Byte
|
||||
|
||||
Dim tempByte As Byte
|
||||
Dim tempByte2 As Byte
|
||||
Dim tempByte3 As Byte
|
||||
Dim tempByte4 As Byte
|
||||
Dim vertCounter As Integer
|
||||
Dim newFont = New List(Of Byte)
|
||||
|
||||
Dim fontRawData = My.Computer.FileSystem.ReadAllBytes("D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export/JapFont.bin")
|
||||
|
||||
Dim ReadCounter = 64919
|
||||
Dim readAddr = 1152
|
||||
|
||||
Do
|
||||
|
||||
If readAddr >= ReadCounter Then Exit Do
|
||||
|
||||
newFont.Add(ReverseBits(fontRawData(readAddr)))
|
||||
|
||||
tempByte2 = ReverseBits(fontRawData(readAddr + 1))
|
||||
newFont.Add(tempByte2 And &HF0)
|
||||
|
||||
|
||||
|
||||
tempByte3 = ReverseBits(fontRawData(readAddr + 2))
|
||||
|
||||
|
||||
|
||||
Dim collby3 As Byte = (tempByte3 >> 4)
|
||||
|
||||
newFont.Add(tempByte2 << 4 Or collby3) 'Need last 4 bits
|
||||
|
||||
tempByte4 = tempByte3 << 4
|
||||
newFont.Add(tempByte4)
|
||||
|
||||
readAddr += 3
|
||||
|
||||
vertCounter += 1
|
||||
If vertCounter = 6 Then
|
||||
vertCounter = 0
|
||||
newFont.Add(0)
|
||||
newFont.Add(0)
|
||||
newFont.Add(0)
|
||||
newFont.Add(0)
|
||||
newFont.Add(0)
|
||||
newFont.Add(0)
|
||||
newFont.Add(0)
|
||||
newFont.Add(0)
|
||||
End If
|
||||
Loop
|
||||
|
||||
My.Computer.FileSystem.WriteAllBytes("D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]/Export/WatchMyFont.bin.bak", newFont.ToArray, False)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
'DONE
|
||||
|
||||
Public Sub ConvertTo12()
|
||||
|
||||
Dim CurByte As Byte
|
||||
Dim newFont = New List(Of Byte)
|
||||
|
||||
Dim tempByte2 As Byte
|
||||
Dim tempByte3 As Byte
|
||||
Dim tempByte4 As Byte
|
||||
|
||||
If Not My.Computer.FileSystem.FileExists(Form1.WorkDir.Text & "/JapFont.bin") Then MsgBox(Form1.WorkDir.Text & "/JapFont.bin not found. Check Export path!") : Exit Sub
|
||||
Dim fontHeader As Byte() = My.Computer.FileSystem.ReadAllBytes(Form1.WorkDir.Text & "/JapFont.bin")
|
||||
ReDim Preserve fontHeader(1151) 'Loading font header (1152 bytes of normal first font)
|
||||
newFont.AddRange(fontHeader.ToList)
|
||||
|
||||
|
||||
Dim vertCounter As Integer
|
||||
Dim fontRawData = My.Computer.FileSystem.ReadAllBytes(Form1.WorkDir.Text & "/WatchMyFont.bin")
|
||||
Dim ReadCounter = 82572
|
||||
Dim readAddr = 0
|
||||
|
||||
Do
|
||||
|
||||
If readAddr >= ReadCounter Then Exit Do
|
||||
newFont.Add(ReverseBits(fontRawData(readAddr)))
|
||||
|
||||
tempByte2 = fontRawData(readAddr + 1) And &HF0
|
||||
tempByte3 = fontRawData(readAddr + 2) >> 4
|
||||
newFont.Add(ReverseBits(tempByte2 Or tempByte3))
|
||||
|
||||
tempByte3 = fontRawData(readAddr + 2) << 4
|
||||
tempByte4 = fontRawData(readAddr + 3) >> 4
|
||||
newFont.Add(ReverseBits(tempByte3 Or tempByte4))
|
||||
|
||||
readAddr += 4
|
||||
vertCounter += 1
|
||||
If vertCounter = 6 Then
|
||||
readAddr += 8
|
||||
vertCounter = 0
|
||||
|
||||
End If
|
||||
|
||||
|
||||
Loop
|
||||
|
||||
|
||||
'Creating Rus 8x12 Font @ BA00 (47616)
|
||||
For aaa = 1 To 47616 - newFont.Count
|
||||
newFont.Add(0)
|
||||
Next
|
||||
|
||||
readAddr = 32 * 32 ' Starting with CHR32 (space)
|
||||
|
||||
Do
|
||||
For a = 0 To 11 '12 rows loop
|
||||
newFont.Add(ReverseBits(fontRawData(readAddr)))
|
||||
readAddr += 2 'skip 2 bytes
|
||||
Next
|
||||
readAddr += 8 'skip empty 12*4 bytes
|
||||
Loop While readAddr < 256 * 32 'All symbols readed - exit
|
||||
|
||||
|
||||
|
||||
|
||||
For aaa = 1 To 65520 - newFont.Count
|
||||
newFont.Add(0)
|
||||
Next
|
||||
|
||||
|
||||
My.Computer.FileSystem.WriteAllBytes(Form1.WorkDir.Text & "/0059_00_0_0_U", newFont.ToArray, False)
|
||||
|
||||
MsgBox("OK to /Export/0059_00_0_0_U", MsgBoxStyle.Information)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
Public Function ReverseBits(x As Byte) As Byte
|
||||
x = (((x And &HAA) >> 1) Or ((x And &H55) << 1))
|
||||
x = (((x And &HCC) >> 2) Or ((x And &H33) << 2))
|
||||
x = (((x And &HF0) >> 4) Or ((x And &HF) << 4))
|
||||
Return ((x))
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Public Sub DrawChars(ByRef byt As List(Of Byte), ByRef df As Bitmap, ByVal y As Integer, ByRef CurColor As Integer)
|
||||
|
||||
Dim curX = 10
|
||||
Dim curY = 10 + y
|
||||
'Load Font Here
|
||||
Dim font = New List(Of List(Of Byte))
|
||||
Dim fil = My.Computer.FileSystem.ReadAllBytes("D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\WatchMyFont.bin.bak").ToList
|
||||
Dim charCount As Integer = fil.Count / 32
|
||||
For x = 0 To fil.Count - 32 Step 32
|
||||
Dim curChar = New List(Of Byte)
|
||||
curChar.AddRange(fil.GetRange(x, 32))
|
||||
font.Add(curChar)
|
||||
Next
|
||||
|
||||
|
||||
For a = 0 To byt.Count - 2 Step 2
|
||||
|
||||
Dim c = byt(a) + byt(a + 1) * 256
|
||||
|
||||
If c = &H1120 Or c = &H1131 Then
|
||||
curX = curX + 12
|
||||
Continue For
|
||||
End If
|
||||
|
||||
If c = &H122E Then
|
||||
CurColor = byt(a + 2)
|
||||
a = a + 2
|
||||
Continue For
|
||||
End If
|
||||
|
||||
If c = &H1103 Then
|
||||
y = y + 12
|
||||
Continue For
|
||||
End If
|
||||
|
||||
'DrawChar(font(c), curX, curY, df, CurColor)
|
||||
DrawChar(font(c), curX, curY, df, 0)
|
||||
curX = curX + 12
|
||||
notDraw:
|
||||
|
||||
|
||||
Next
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Public Sub DrawChar(ByRef ch As List(Of Byte), ByVal tx As Integer, ByVal ty As Integer, ByRef df As Bitmap, ByRef CurColor As Integer)
|
||||
|
||||
Dim ch2 = New List(Of Byte)
|
||||
For Each C In ch
|
||||
ch2.Add(ReverseBits(C))
|
||||
Next
|
||||
Dim curSize = Form1.PictureBox1.Size
|
||||
|
||||
Dim bits = New BitArray(ch2.ToArray)
|
||||
|
||||
For x = 0 To 15
|
||||
For y = 0 To 15
|
||||
If x + tx >= curSize.Width Or y + ty >= curSize.Height Then Continue For
|
||||
|
||||
If Not bits(x + 16 * y) Then Continue For
|
||||
DrawX2(x + tx, y + ty, df, Colors(CurColor))
|
||||
Next
|
||||
Next
|
||||
|
||||
Form1.PictureBox1.Invalidate()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Public Sub DrawX2(ByRef x As Integer, ByRef y As Integer, ByRef df As Bitmap, ByVal col As Color)
|
||||
|
||||
|
||||
df.SetPixel(x * 2, y * 2, col)
|
||||
df.SetPixel(x * 2 + 1, y * 2, col)
|
||||
df.SetPixel(x * 2, y * 2 + 1, col)
|
||||
df.SetPixel(x * 2 + 1, y * 2 + 1, col)
|
||||
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
2212
p2isPSX_CDToolkit/Form1.Designer.vb
generated
Normal file
2212
p2isPSX_CDToolkit/Form1.Designer.vb
generated
Normal file
File diff suppressed because it is too large
Load Diff
227
p2isPSX_CDToolkit/Form1.resx
Normal file
227
p2isPSX_CDToolkit/Form1.resx
Normal file
@@ -0,0 +1,227 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="DataGridViewTextBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="JAP.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="SizeB.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Eng.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="EndSec.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Gap.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="SaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>159, 17</value>
|
||||
</metadata>
|
||||
<metadata name="BackgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>296, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJjpf46MUL+SkJa/lJjpf5SY6X+UmOl/lJjpf5SY6X+SkJa/jox
|
||||
Qv4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUmOl/kpCWv5KQlr+SkJa/kpCWv5SY6X+UmOl/lJj
|
||||
pf5KQlr+OjFC/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUmOl/kpCWv5KQlr+SkJa/kpC
|
||||
Wv5SY6X+SkJa/joxQv4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUmOl/lJj
|
||||
pf5KQlr+SkJa/kpCWv46MUL+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA//AAH//wAA//8AAH//gAB//4AAf/+AEH//gBB//4AQf/+AAP4fgAD8B4
|
||||
AA/AGAAfwAAAH8AAAD/jAAA//4AAf//AAP//wAH//+AD///wB///8AP///wB///8A////AH///gB///4
|
||||
Af//+AH///gB///8A////gf///////////8=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
2049
p2isPSX_CDToolkit/Form1.vb
Normal file
2049
p2isPSX_CDToolkit/Form1.vb
Normal file
File diff suppressed because it is too large
Load Diff
94
p2isPSX_CDToolkit/Form2.Designer.vb
generated
Normal file
94
p2isPSX_CDToolkit/Form2.Designer.vb
generated
Normal file
@@ -0,0 +1,94 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class ScriptParserWin
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Форма переопределяет dispose для очистки списка компонентов.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Является обязательной для конструктора форм Windows Forms
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Примечание: следующая процедура является обязательной для конструктора форм Windows Forms
|
||||
'Для ее изменения используйте конструктор форм Windows Form.
|
||||
'Не изменяйте ее в редакторе исходного кода.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.TextBox1 = New System.Windows.Forms.TextBox()
|
||||
Me.ScriptVarCalculated = New System.Windows.Forms.TextBox()
|
||||
Me.ScriptVarAddr = New System.Windows.Forms.TextBox()
|
||||
Me.Button2 = New System.Windows.Forms.Button()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'TextBox1
|
||||
'
|
||||
Me.TextBox1.BackColor = System.Drawing.Color.Black
|
||||
Me.TextBox1.Font = New System.Drawing.Font("Courier New", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.TextBox1.ForeColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer))
|
||||
Me.TextBox1.Location = New System.Drawing.Point(13, 12)
|
||||
Me.TextBox1.Multiline = True
|
||||
Me.TextBox1.Name = "TextBox1"
|
||||
Me.TextBox1.ScrollBars = System.Windows.Forms.ScrollBars.Both
|
||||
Me.TextBox1.Size = New System.Drawing.Size(1291, 1312)
|
||||
Me.TextBox1.TabIndex = 0
|
||||
Me.TextBox1.WordWrap = False
|
||||
'
|
||||
'ScriptVarCalculated
|
||||
'
|
||||
Me.ScriptVarCalculated.Location = New System.Drawing.Point(1036, 1330)
|
||||
Me.ScriptVarCalculated.Name = "ScriptVarCalculated"
|
||||
Me.ScriptVarCalculated.Size = New System.Drawing.Size(268, 20)
|
||||
Me.ScriptVarCalculated.TabIndex = 27
|
||||
'
|
||||
'ScriptVarAddr
|
||||
'
|
||||
Me.ScriptVarAddr.Location = New System.Drawing.Point(545, 1330)
|
||||
Me.ScriptVarAddr.Name = "ScriptVarAddr"
|
||||
Me.ScriptVarAddr.Size = New System.Drawing.Size(204, 20)
|
||||
Me.ScriptVarAddr.TabIndex = 26
|
||||
'
|
||||
'Button2
|
||||
'
|
||||
Me.Button2.ForeColor = System.Drawing.Color.Black
|
||||
Me.Button2.Location = New System.Drawing.Point(755, 1330)
|
||||
Me.Button2.Name = "Button2"
|
||||
Me.Button2.Size = New System.Drawing.Size(276, 22)
|
||||
Me.Button2.TabIndex = 25
|
||||
Me.Button2.Text = "Calculate Script Var Addr"
|
||||
Me.Button2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'ScriptParserWin
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.BackColor = System.Drawing.Color.Gray
|
||||
Me.ClientSize = New System.Drawing.Size(1316, 1362)
|
||||
Me.Controls.Add(Me.ScriptVarCalculated)
|
||||
Me.Controls.Add(Me.ScriptVarAddr)
|
||||
Me.Controls.Add(Me.Button2)
|
||||
Me.Controls.Add(Me.TextBox1)
|
||||
Me.ForeColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
|
||||
Me.MaximizeBox = False
|
||||
Me.MinimizeBox = False
|
||||
Me.Name = "ScriptParserWin"
|
||||
Me.ShowIcon = False
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "ScriptParser"
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents TextBox1 As TextBox
|
||||
Friend WithEvents ScriptVarCalculated As TextBox
|
||||
Friend WithEvents ScriptVarAddr As TextBox
|
||||
Friend WithEvents Button2 As Button
|
||||
End Class
|
||||
120
p2isPSX_CDToolkit/Form2.resx
Normal file
120
p2isPSX_CDToolkit/Form2.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
23
p2isPSX_CDToolkit/Form2.vb
Normal file
23
p2isPSX_CDToolkit/Form2.vb
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
Imports System.Runtime.Remoting.Metadata.W3cXsd2001
|
||||
|
||||
Public Class ScriptParserWin
|
||||
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
||||
Dim addr As Integer
|
||||
|
||||
'ScriptVarAddr.Text = ScriptVarAddr.Text.ToString("X4")
|
||||
|
||||
|
||||
Try
|
||||
Dim addrArr = SoapHexBinary.Parse(ScriptVarAddr.Text).Value
|
||||
addr = addrArr(0) * 256 + addrArr(1)
|
||||
Catch ex As Exception
|
||||
MsgBox("error") : Exit Sub
|
||||
End Try
|
||||
|
||||
Dim blockNum = addr >> 5
|
||||
Dim bits As String = (1 << (addr And &H1F)).ToString("X8")
|
||||
Dim revBits = bits.Substring(6, 2) & bits.Substring(4, 2) & bits.Substring(2, 2) & bits.Substring(0, 2)
|
||||
ScriptVarCalculated.Text = "Blk Addr: " & (&H800820E0 + blockNum * 4).ToString("X8") & " | Onbyt: " & revBits
|
||||
End Sub
|
||||
End Class
|
||||
157
p2isPSX_CDToolkit/ISOTools.vb
Normal file
157
p2isPSX_CDToolkit/ISOTools.vb
Normal file
@@ -0,0 +1,157 @@
|
||||
Imports System
|
||||
Imports System.IO
|
||||
|
||||
Public Class ISOTools
|
||||
|
||||
Public Function getCDfile(ByVal ISOname As String, ByVal StartSector As Integer, ByVal FileSize As Integer)
|
||||
|
||||
|
||||
Dim fileArr = New List(Of Byte)
|
||||
Dim fs As New FileStream(ISOname, FileMode.Open, FileAccess.Read)
|
||||
Dim br As New BinaryReader(fs)
|
||||
|
||||
|
||||
If Not Form1.Mode2352.Checked Then
|
||||
|
||||
|
||||
Dim SectorsToRead As Integer = FileSize \ 2048
|
||||
If FileSize Mod 2048 > 0 Then SectorsToRead += 1
|
||||
|
||||
Dim bytesToread = 2048
|
||||
|
||||
For a = StartSector To SectorsToRead + StartSector - 1
|
||||
|
||||
Dim bytepos = a * &H930 + 24
|
||||
br.BaseStream.Position = bytepos
|
||||
fileArr.AddRange(br.ReadBytes(2048))
|
||||
|
||||
Next
|
||||
|
||||
|
||||
|
||||
Else
|
||||
|
||||
''''''''''READ RAW FILE WITH 2352 MODE!
|
||||
|
||||
br.BaseStream.Position = StartSector * &H930
|
||||
fileArr.AddRange(br.ReadBytes(FileSize))
|
||||
|
||||
|
||||
End If
|
||||
|
||||
br.Dispose()
|
||||
fs.Dispose()
|
||||
|
||||
Return fileArr
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
Public Function saveCDfile(ByVal ISOname As String, ByVal StartSector As Integer, ByVal FileSize As Integer, ByRef bytes As Byte())
|
||||
Try
|
||||
|
||||
|
||||
Dim fs As New FileStream(ISOname, FileMode.Open, FileAccess.Write)
|
||||
Dim br As New BinaryWriter(fs)
|
||||
|
||||
If Not Form1.Mode2352.Checked Then
|
||||
|
||||
|
||||
|
||||
Dim SectorsToWrite As Integer = FileSize \ 2048
|
||||
If FileSize Mod 2048 > 0 Then
|
||||
SectorsToWrite += 1
|
||||
ReDim Preserve bytes(FileSize + (2048 - (FileSize Mod 2048)))
|
||||
End If
|
||||
|
||||
Dim bytecounter = 0
|
||||
|
||||
For a = StartSector To SectorsToWrite + StartSector - 1
|
||||
|
||||
Dim bytepos = a * &H930 + 24
|
||||
|
||||
br.BaseStream.Position = bytepos
|
||||
|
||||
br.Write(bytes, bytecounter, 2048)
|
||||
bytecounter += 2048
|
||||
|
||||
Next
|
||||
|
||||
|
||||
|
||||
Else ''''''''''READ RAW FILE WITH 2352 MODE!
|
||||
|
||||
|
||||
|
||||
|
||||
br.BaseStream.Position = StartSector * &H930
|
||||
br.Write(bytes, 0, FileSize)
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
br.Dispose()
|
||||
fs.Dispose()
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Error! Exception: " & vbCrLf & ex.ToString, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Sub UpdateFileListTable(ByVal ISOname As String, ByRef fileInf As List(Of fileInfo))
|
||||
|
||||
Dim tab = New List(Of Byte)
|
||||
|
||||
For Each fil In fileInf
|
||||
tab.AddRange(BitConverter.GetBytes(fil.Sector).ToList)
|
||||
tab.AddRange(BitConverter.GetBytes(fil.Sizw).ToList)
|
||||
Next
|
||||
saveCDfile(ISOname, &H17, &H1B88, tab.ToArray)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function makeFileList(ByVal ISOname As String)
|
||||
Dim a = New List(Of fileInfo)
|
||||
|
||||
Dim FilesSectors = getCDfile(ISOname, &H17, &H1B88).ToArray
|
||||
If ISOname.Contains("KUDOS") Then FilesSectors = getCDfile(ISOname, &H31, &H1B88).ToArray
|
||||
|
||||
For x = 0 To 880
|
||||
a.Add(New fileInfo With {.FileID = x, .Sector = Form1.Read32bitNum(FilesSectors, x * 8), .Sizw = Form1.Read32bitNum(FilesSectors, x * 8 + 4)})
|
||||
Next
|
||||
|
||||
Return a
|
||||
End Function
|
||||
|
||||
|
||||
Public Sub ReallocateDown(ByVal ISOname As String, ByRef fileInf As List(Of fileInfo), ByVal StartFile As Integer, ByVal BySectors As Integer)
|
||||
|
||||
|
||||
|
||||
|
||||
'Dim lastSector = fileInf.Last.Sector + (fileInf.Last.Sizw \ 2048)
|
||||
'If fileInf.Last.Sizw Mod 2048 > 0 Then lastSector += 1
|
||||
|
||||
|
||||
'For a = lastSector To fileInf(StartFile).Sector Step -1
|
||||
|
||||
|
||||
|
||||
|
||||
'Next
|
||||
|
||||
|
||||
''Reading eachFile from end and Save it +Bysectors
|
||||
'For a = 1143 To StartFile Step -1
|
||||
' fileInf(a).Sector += BySectors
|
||||
'Next
|
||||
''UpdateFileListTable(ISOname, fileInf)
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
||||
92
p2isPSX_CDToolkit/JapCharCodeGenerator.Designer.vb
generated
Normal file
92
p2isPSX_CDToolkit/JapCharCodeGenerator.Designer.vb
generated
Normal file
@@ -0,0 +1,92 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class JapCharCodeGenerator
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Форма переопределяет dispose для очистки списка компонентов.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Является обязательной для конструктора форм Windows Forms
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Примечание: следующая процедура является обязательной для конструктора форм Windows Forms
|
||||
'Для ее изменения используйте конструктор форм Windows Form.
|
||||
'Не изменяйте ее в редакторе исходного кода.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.TextBox1 = New System.Windows.Forms.TextBox()
|
||||
Me.TextBox2 = New System.Windows.Forms.TextBox()
|
||||
Me.Button1 = New System.Windows.Forms.Button()
|
||||
Me.Button2 = New System.Windows.Forms.Button()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'TextBox1
|
||||
'
|
||||
Me.TextBox1.Font = New System.Drawing.Font("Lucida Sans Typewriter", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.TextBox1.Location = New System.Drawing.Point(1216, 12)
|
||||
Me.TextBox1.Multiline = True
|
||||
Me.TextBox1.Name = "TextBox1"
|
||||
Me.TextBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
|
||||
Me.TextBox1.Size = New System.Drawing.Size(275, 663)
|
||||
Me.TextBox1.TabIndex = 0
|
||||
'
|
||||
'TextBox2
|
||||
'
|
||||
Me.TextBox2.Font = New System.Drawing.Font("Lucida Sans Typewriter", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.TextBox2.Location = New System.Drawing.Point(12, 12)
|
||||
Me.TextBox2.Multiline = True
|
||||
Me.TextBox2.Name = "TextBox2"
|
||||
Me.TextBox2.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
|
||||
Me.TextBox2.Size = New System.Drawing.Size(1198, 663)
|
||||
Me.TextBox2.TabIndex = 0
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.Location = New System.Drawing.Point(382, 694)
|
||||
Me.Button1.Name = "Button1"
|
||||
Me.Button1.Size = New System.Drawing.Size(121, 23)
|
||||
Me.Button1.TabIndex = 1
|
||||
Me.Button1.Text = "Generate >>>>"
|
||||
Me.Button1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Button2
|
||||
'
|
||||
Me.Button2.Location = New System.Drawing.Point(569, 694)
|
||||
Me.Button2.Name = "Button2"
|
||||
Me.Button2.Size = New System.Drawing.Size(75, 23)
|
||||
Me.Button2.TabIndex = 2
|
||||
Me.Button2.Text = "Save!"
|
||||
Me.Button2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'JapCharCodeGenerator
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(1503, 729)
|
||||
Me.Controls.Add(Me.Button2)
|
||||
Me.Controls.Add(Me.Button1)
|
||||
Me.Controls.Add(Me.TextBox2)
|
||||
Me.Controls.Add(Me.TextBox1)
|
||||
Me.MaximizeBox = False
|
||||
Me.MinimizeBox = False
|
||||
Me.Name = "JapCharCodeGenerator"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "JapCharCodeGenerator"
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents TextBox1 As TextBox
|
||||
Friend WithEvents TextBox2 As TextBox
|
||||
Friend WithEvents Button1 As Button
|
||||
Friend WithEvents Button2 As Button
|
||||
End Class
|
||||
120
p2isPSX_CDToolkit/JapCharCodeGenerator.resx
Normal file
120
p2isPSX_CDToolkit/JapCharCodeGenerator.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
54
p2isPSX_CDToolkit/JapCharCodeGenerator.vb
Normal file
54
p2isPSX_CDToolkit/JapCharCodeGenerator.vb
Normal file
@@ -0,0 +1,54 @@
|
||||
Public Class JapCharCodeGenerator
|
||||
|
||||
Public allText As String
|
||||
Public curBlock As Integer
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
allText = ""
|
||||
TextBox2.Text = "Dim chars = New List(Of String)" & vbCrLf
|
||||
'TextBox2.Text = "d.AddRange({""a"", ""b"", ""c"", ""d""})"
|
||||
|
||||
curBlock = 0
|
||||
|
||||
Dim accum = ""
|
||||
Dim t = TextBox1.Text
|
||||
Dim x = 0
|
||||
Do
|
||||
If (t(x) = vbCr And t(x + 1) = vbLf) Or x = t.Length - 1 Then
|
||||
generateline(accum)
|
||||
accum = ""
|
||||
x += 2
|
||||
Continue Do
|
||||
End If
|
||||
|
||||
accum &= t(x)
|
||||
x += 1
|
||||
|
||||
Loop While x < t.Length - 2
|
||||
|
||||
|
||||
TextBox2.Text = allText
|
||||
End Sub
|
||||
|
||||
Public Sub generateline(accum)
|
||||
|
||||
If accum = "---" Then allText &= " 'Block " & curBlock & vbCrLf : curBlock += 1 : Exit Sub
|
||||
|
||||
|
||||
allText &= "chars.AddRange({"
|
||||
For a = 0 To accum.Length - 1
|
||||
|
||||
allText &= """" & accum(a) & """"
|
||||
If a <> accum.Length - 1 Then allText &= ", "
|
||||
Next
|
||||
allText &= "}) '" & accum.Length & vbCrLf
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
||||
Dim f = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\FontCode\AtlusFontAppend.vb"
|
||||
Dim f2 = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\FontCode\codes_source.txt"
|
||||
My.Computer.FileSystem.WriteAllText(f2, TextBox1.Text, False)
|
||||
My.Computer.FileSystem.WriteAllText(f, TextBox2.Text, False)
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
230
p2isPSX_CDToolkit/JapChars.vb
Normal file
230
p2isPSX_CDToolkit/JapChars.vb
Normal file
@@ -0,0 +1,230 @@
|
||||
Partial Class Form1
|
||||
|
||||
Public Sub LoadChars()
|
||||
|
||||
chars = New List(Of Char)
|
||||
'Block 0
|
||||
chars.AddRange({"「", "」", "、", "・", "零", "一", "二", "三", "四", "五", "六", "七", "八", "九"}) '14
|
||||
chars.AddRange({"十", "あ", "い", "う", "え", "お", "か", "き", "く", "け", "こ", "さ", "し", "す"}) '14
|
||||
chars.AddRange({"せ", "そ", "た", "ち", " ", "!", """", "#", "$", "%", "&", "'", "(", ")"}) '14
|
||||
chars.AddRange({"*", "+", ",", "-", ".", "/", "0", "1", "2", "3", "4", "5", "6", "7"}) '14
|
||||
chars.AddRange({"8", "9", ":", ";", "<", "=", ">", "?", "@", "A", "B", "C", "D", "E"}) '14
|
||||
chars.AddRange({"F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S"}) '14
|
||||
chars.AddRange({"T", "U", "V", "W", "X", "Y", "Z", "[", "¥", "]", " ", "_", "'", "a"}) '14
|
||||
chars.AddRange({"b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o"}) '14
|
||||
chars.AddRange({"p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "{", "|", "}"}) '14
|
||||
chars.AddRange({"_", "。", "覧", "酒", "ケ", "ン", "回", "を", "見", "る", "~", "ん", "課", "長"}) '14
|
||||
chars.AddRange({"代", "理", "以", "上", "は", "タ", "イ", "ム", "カ", "ー", "ド", "廃", "止", "接"}) '14
|
||||
chars.AddRange({"待", "で", "飲", "翌", "日", "つ", "ら", "前", "死", "ね", "デ", "バ", "ッ", "グ"}) '14
|
||||
chars.AddRange({"テ", "ス", "ト", "に", "て", "と", "仕", "置", "れ", "げ", "主", "人", "公", "じ"}) '14
|
||||
chars.AddRange({"ゃ", "が", "ラ", "メ", "食", "過", "ぎ", "腹", "わ", "よ", "ゲ", "リ", "ピ", "マ"}) '14
|
||||
chars.AddRange({"ク", "口", "な", "の", "早", "朝", "フ", "レ", "退", "社", "蛇", "苺", "紅", "茶"}) '14
|
||||
chars.AddRange({"キ", "サ", "本", "当", "嬉", "·", "モ", "ナ", "共", "生", "だ", "ア", "ど", "探"}) '14
|
||||
chars.AddRange({"み", "エ", "ル", "存", "道", "出", "来", "ば", "手", "伝", "無", "っ", "水", "都"}) '14
|
||||
chars.AddRange({"ろ", "自", "分", "何", "り", "も", "素", "晴", "俺", "遠", "恵", "ぜ", "私", "ま"}) '14
|
||||
chars.AddRange({"時", "老", "緒", "へ", "行", "兄", "彼", "女", "守", "ょ", "術", "世", "界", "身"}) '14
|
||||
chars.AddRange({"他", "方", "法", "異", "端", "者", "や", "血", "争", "ひ", "大", "丈", "夫", "戦"}) '14
|
||||
chars.AddRange({"闘", "開", "始", "動", "設", "定", "コ", "ズ", "ィ", "却", "工", "事", "中", "攻"}) '14
|
||||
'Block 1
|
||||
chars.AddRange({"撃", "魔", "ペ", "ソ", "防", "御", "舞", "耶", "淳", "ミ", "シ", "ェ", "ギ", "ユ"}) '14
|
||||
chars.AddRange({"ブ", "オ", "ダ", "ハ", "軣", "編", "僕", "買", "今", "半", "下", "め", "言", "損"}) '14
|
||||
chars.AddRange({"ず", "利", "用", "ぁ", "警", "団", "少", "铪", "料", "木", "夢", "ぇ", "取", "未"}) '14
|
||||
chars.AddRange({"精", "神", "持", "安", "心", "坂", "君", "文", "句", "間", "慟", "ぐ", "ふ", "怒"}) '14
|
||||
chars.AddRange({"触", "正", "直", "真", "傷", "藥", "次", "元", "消", "ゴ", "ガ", "仙", "桃", "宝"}) '14
|
||||
chars.AddRange({"玉", "チ", "ュ", "ウ", "卵", "ヒ", "ヤ", "地", "返", "反", "魂", "香", "崖", "縁"}) '14
|
||||
chars.AddRange({"粉", "末", "陣", "背", "解", "毒", "剤", "镇", "静", "パ", "幣", "升", "麻", "ジ"}) '14
|
||||
chars.AddRange({"セ", "封", "節", "逃", "銀", "二", "ャ", "懸", "肖", "鐘", "効", "果", "味", "量"}) '14
|
||||
chars.AddRange({"復", "使", "可", "能", "全", "最", "值", "亡", "猛", "狂", "暴", "幻", "影", "睡"}) '14
|
||||
chars.AddRange({"眠", "憑", "依", "的", "有", "読", "字", "ご", "移", "物", "射", "吸", "収", "避"}) '14
|
||||
chars.AddRange({"聖", "暗", "黒", "化", "応", "蒜", "音", "楽", "箱", "敵", "現", "率", "抑", "個"}) '14
|
||||
chars.AddRange({"X", "数", "哉", "漢", "枣", "叱", "举", "芝", "逹", "悪", "名", "表", "示", "説"}) '14
|
||||
chars.AddRange({"得", "語", "目", "殺", "ビ", "相", "談", "親", "子", "踊", "恋", "愛", "悩", "酔"}) '14
|
||||
chars.AddRange({"場", "切", "歌", "諭", "撮", "甘", "星", "占", "花", "ボ", "燃", "男", "ツ", "プ"}) '14
|
||||
chars.AddRange({"詰", "合", "視", "線", "ザ", "笑", "良", "居", "激", "写", "様", "議", "惑", "調"}) '14
|
||||
chars.AddRange({"べ", "誕", "光", "失", "畋", "性", "へ", "対", "象", "選", "択", "掛", "契", "約"}) '14
|
||||
chars.AddRange({"破", "栾", "戻", "ネ", "機", "诬", "熱", "送", "気", "急", "异", "ァ", "顥", "姉"}) '14
|
||||
chars.AddRange({"聞", "配", "ぞ", "絆", "強", "父", "母", "孝", "凄", "ワ", "ゅ", "ヨ", "家", "族"}) '14
|
||||
chars.AddRange({"林", "寺", "污", "好", "振", "向", "帝", "初", "覚", "会", "忘", "ぶ", "胸", "苦"}) '14
|
||||
chars.AddRange({"お", "う", "美", "罪", "オ", "許", "ウ", "ノ", "故", "ベ", "腰", "指", "瞳", "抱"}) '14
|
||||
chars.AddRange({"欲", "奴", "体", "驅", "訳", "話", "風", "情", "粋", "昔", "ヴ", "感", "贈", "受"}) '14
|
||||
'Block 2
|
||||
chars.AddRange({"曲", "ゆ", "価", "意", "志", "決", "違", "考", "位", "寝", "多", "思", "黙", "入"}) '14
|
||||
chars.AddRange({"ぱ", "歯", "落", "番", "不", "器", "顔", "須", "牡", "羊", "座", "義", "勇", "猪"}) '14
|
||||
chars.AddRange({"突", "進", "型", "牛", "堅", "実", "派", "忍", "耐", "双", "頭", "転", "速", "交"}) '14
|
||||
chars.AddRange({"奇", "旺", "盛", "面", "飽", "ぼ", "天", "屋", "費", "む", "獅", "流", "嗜", "労"}) '14
|
||||
chars.AddRange({"厭", "寂", "乙", "繊", "細", "完", "璧", "潔", "癖", "症", "批", "判", "厳", "秤"}) '14
|
||||
chars.AddRange({"庸", "柔", "断", "蠍", "秘", "密", "鋭", "洞", "察", "力", "倍", "慎", "重", "屈"}) '14
|
||||
chars.AddRange({"絶", "成", "功", "山", "第", "標", "努", "積", "瓶", "論", "科", "学", "客", "観"}) '14
|
||||
chars.AddRange({"独", "比", "類", "博", "左", "右", "同", "想", "必", "叶", "信", "ぬ", "赤", "似"}) '14
|
||||
chars.AddRange({"髙", "ポ", "込", "付", "恐", "確", "及", "恥", "度", "雑", "詰", "特", "集", "足"}) '14
|
||||
chars.AddRange({"記", "校", "答", "色", "總", "臣", "賣", "問", "周", "饒", "舌", "所", "知", "準"}) '14
|
||||
chars.AddRange({"備", "倒", "喋", "期", "枚", "甕", "永", "残", "ほ", "疇", "誰", "離", "加", "揮"}) '14
|
||||
chars.AddRange({"声", "聴", "皆", "歳", "若", "粧", "教", "室", "講", "師", "瞭", "綺", "露", "負"}) '14
|
||||
chars.AddRange({"週", "春", "超", "球", "口", "先", "士", "栄", "吉", "審", "頃", "邪", "仮", "党"}) '14
|
||||
chars.AddRange({"供", "包", "小", "悲", "ゼ", "訴", "任", "垚", "白", "々", "誤", "貴", "愉", "快"}) '14
|
||||
chars.AddRange({"変", "礼", "差", "関", "宜", "帚", "後", "悔", "惮", "千", "万", "円", "我", "慢"}) '14
|
||||
chars.AddRange({"癒", "葉", "巨", "蟹", "宮", "徴", "保", "護", "去", "順", "産", "排", "臆", "病"}) '14
|
||||
chars.AddRange({"題", "明", "活", "健", "康", "雰", "囲", "然", "噂", "武", "具", "飛", "曰", "野"}) '14
|
||||
chars.AddRange({"裕", "郎", "照", "電", "輝", "南", "澄", "騙", "限", "O", "池", "髑", "髏", "晶"}) '14
|
||||
chars.AddRange({"火", "属", "躊", "路", "尊", "散", "憐", "追", "憧", "書", "歓", "び", "喜", "厚"}) '14
|
||||
chars.AddRange({"謎", "注", "炎", "予", "告", "通", "焦", "塩", "期", "案", "運", "幅", "富", "潮"}) '14
|
||||
chars.AddRange({"外", "腕", "計", "煙", "草", "壞", "雇", "缶", "札", "駄", "桐", "ヨ", "件", "首"}) '14
|
||||
'Block 3
|
||||
chars.AddRange({"金", "曜", "部", "普", "太", "連", "支", "扎", "掃", "除", "ぼ", "満", "ヂ", "寸"}) '14
|
||||
chars.AddRange({"疑", "状", "渡", "姓", "書", "企", "い", "架", "宿", "命", "艦", "囚", "鳥", "嵐"}) '14
|
||||
chars.AddRange({"荒", "波", "浮", "拐", "ぎ", "招", "級", "朋", "続", "呼", "塗", "店", "並", "劣"}) '14
|
||||
chars.AddRange({"孤", "鎖", "哀", "堕", "杯", "息", "薏", "簡", "单", "仲", "脅", "迫", "弜", "難"}) '14
|
||||
chars.AddRange({"章", "呪", "材", "算", "由", "づ", "立", "幕", "助", "泣", "溶", "偶", "戒", "緊"}) '14
|
||||
chars.AddRange({"般", "禁", "宙", "監", "督", "ぴ", "群", "埋", "識", "放", "貌", "困", "内", "頼"}) '14
|
||||
chars.AddRange({"扱", "念", "新", "辱", "組", "罠", "佐", "木", "申", "渉", "権", "勝", "増", "迢"}) '14
|
||||
chars.AddRange({"鷙", "作", "壁", "徒", "垚", "憧", "蓮", "華", "台", "平", "区", "崎", "港", "蝸"}) '14
|
||||
chars.AddRange({"带", "園", "祭", "狙", "年", "休", "乓", "脱", "起", "冝", "補", "欠", "妹", "珠"}) '14
|
||||
chars.AddRange({"阯", "市", "打", "経", "抜", "納", "練", "習", "改", "造", "務", "魬", "淯", "怪"}) '14
|
||||
chars.AddRange({"路", "奪", "資", "格", "磁", "常", "月", "乗", "冴", "鳴", "羅", "門", "石", "近"}) '14
|
||||
chars.AddRange({"響", "勒", "妙", "著", "像", "婔", "発", "別", "毛", "災", "谷", "議", "験", "階"}) '14
|
||||
chars.AddRange({"職", "氿", "編", "赴", "譲", "横", "割", "壳", "卒", "業", "式", "降", "態", "険"}) '14
|
||||
chars.AddRange({"痴", "黛", "臨", "紀", "救", "忠", "寡", "訣", "己", "紹", "介", "覆", "辺", "広"}) '14
|
||||
chars.AddRange({"係", "危", "引", "街", "涙", "布", "密", "例", "証", "役", "ペ", "遊", "町", "勘"}) '14
|
||||
chars.AddRange({"原", "因", "究", "劇", "留", "驱", "深", "疲", "銃", "痛", "狭", "携", "儀", "臭"}) '14
|
||||
chars.AddRange({"固", "品", "ゾ", "要", "詳", "則", "村", "試", "罰", "步", "洋", "汝", "述", "掟"}) '14
|
||||
chars.AddRange({"形", "源", "貰", "終", "了", "劫", "冗", "馬", "鹿", "謇", "望", "与", "車", "輪"}) '14
|
||||
chars.AddRange({"導", "謝", "怨", "肉", "殻", "朽", "虫", "震", "哭", "寛", "容", "霜", "讐", "ヌ"}) '14
|
||||
chars.AddRange({"兵", "錵", "英", "称", "嘲", " ", "霊", "呆", "戚", "杏", "奈", "藤", "槍", "騎"}) '14
|
||||
chars.AddRange({"微", "攝", "痩", "制", "服", "盗", "住", "東", "亜", " ", "倫", "敦", "柊", "季"}) '14
|
||||
'Block 4
|
||||
chars.AddRange({"絵", "条", "装", "曝", "弾", "種", "駐", "段", "汎", "押", "土", "庭", "衝", "扉"}) '14
|
||||
chars.AddRange({"画", "処", "駅", "角", "空", "壕", "育", "館", "紫", "徐", "登", "刑", "陸", "点"}) '14
|
||||
chars.AddRange({"減", "洋", "堂", "袖", "控", "報", "吹", "船", "伴", "各", "崩", ">", "揺", "搭"}) '14
|
||||
chars.AddRange({"海", "岸", "砂", "浜", "基", "鏡", "泉", "砲", "雪", "岩", "橋", "環", "瓦", "礫"}) '14
|
||||
chars.AddRange({"殿", "炸", "裂", "川", "停", "泊", "走", "航", "滝", "壷", "床", "冷", "城", "跡"}) '14
|
||||
chars.AddRange({"商", "湯", "葛", "偵", "寿", "司", "参", "牧", "霧", "宙", "邸", "玄", "版", "局"}) '14
|
||||
chars.AddRange({"署", "庫", "閲", "箇", "従", "某", "鍵", "穂", "推", "緑", "管", "提", "嬢", "号"}) '14
|
||||
chars.AddRange({"拾", "挺", "膳", "摘", "柱", "躍", "丸", "距", "曹", "祖", "研", "漕", "在", "更"}) '14
|
||||
chars.AddRange({"仁", "浦", "賀", "汗", "認", "否", "拒", "刻", "逆", "為", "児", "獄", "将", "雷"}) '14
|
||||
chars.AddRange({"鉄", "津", "竜", "裁", "隕", "淀", "闇", "審", "乱", "投", "雄", "叫", "厔", "楼"}) '14
|
||||
chars.AddRange({"召", "喚", "祈", "扮", "竹", "梅", "雲", "隅", "幸", "妖", "烈", "咲", "百", "繚"}) '14
|
||||
chars.AddRange({"枢", "斬", "氷", "結", "疾", "稲", "妻", "孔", "針", "痺", "滴", "掻", "閃", "伽"}) '14
|
||||
chars.AddRange({"瑠", "圧", "瀑", "布", "魅", "蒸", "焔", "渦", "噴", "洪", "穴", "獣", "福", "剣"}) '14
|
||||
chars.AddRange({"王", "散", "整", "頓", "友", "碁", "嫁", "途", "唄", "被", "害", "卑", "嘘", "含"}) '14
|
||||
chars.AddRange({"辞", "粗", "匹", "狼", "珍", "迷", "姫", "詐", "欺", "逞", "随", "槙", "旅", "喫"}) '14
|
||||
chars.AddRange({"骸", "臓", "餓", "程", "揚", "詮", "眼", "看", "婦", "丁", "束", "民", "毎", "沢"}) '14
|
||||
chars.AddRange({"厄", "漕", "越", "減", "久", "捨", "墜", "壇", "操", "縦", "襲", "徹", "底", "勢"}) '14
|
||||
chars.AddRange({"恵", "井", "等", "挑", "軍", "鞭", "専", "印", "唱", "誠", "紳", "国", "雅", "肝"}) '14
|
||||
chars.AddRange({"稀", "極", "描", "踪", "扮", "如", "讃", "誇", "芸", "才", "届", "忽", "織", "根"}) '14
|
||||
chars.AddRange({"況", "犯", "軽", "尾", "鰭", "捏", "猥", "黒", "喧", "煤", "偽", "暮", "瞞", "替"}) '14
|
||||
chars.AddRange({"凍", "鬼", "忙", "混", "継", "巷", "拝", "拙", "擦", "勿", "幹", "隆", "皮", "ケ"}) '14
|
||||
'Block 5
|
||||
chars.AddRange({"酷", "省", "頓", "令", "様", "荒", "滝", "営", "悌", "額", "競", "是", "非", "短"}) '14
|
||||
chars.AddRange({"慌", "弥", "無", "託", "宝", "就", "謬", "到", "臓", "貫", "規", "賞", "迎", "範"}) '14
|
||||
chars.AddRange({"桁", "希", "悠", "儘", "訣", "昨", "幾", "歪", "再", "姓", "奥", "洗", "鼻", "載"}) '14
|
||||
chars.AddRange({"既", "繰", "暖", "昧", "修", "遅", "結", "洛", "醜", "紙", "候", "辛", "策", "尽"}) '14
|
||||
chars.AddRange({"耳", "挟", "刊", "委", "銀", "氣", "往", "應", "碑", "芝", "乏", "授", "医", "糖"}) '14
|
||||
chars.AddRange({"捕", "杉", "巧", "純", "睨", "思", "励", "書", "和", "茹", "派", "要", "戸", "汲"}) '14
|
||||
chars.AddRange({"慰", "肌", "井", "酒", "続", "領", "査", "掌", "革", "輌", "図", "暇", "坊", "猫"}) '14
|
||||
chars.AddRange({"沙", "法", "愛", "旗", "祖", "遺", "垂", "漢", "換", "餐", "防", "阻", "節", "胆"}) '14
|
||||
chars.AddRange({"倍", "製", "儲", "矛", "盾", "答", "繁", "姫", "象", "田", "舎", "古", "索", "麺"}) '14
|
||||
chars.AddRange({"餌", "常", "皿", "胃", "頑", "刀", "△", "折", "席", "捜", "測", "造", "齢", "俊"}) '14
|
||||
chars.AddRange({"匠", "犠", "性", "些", "悦", "凌", "惜", "片", "預", "焼", "析", "堪", "映", "棟"}) '14
|
||||
chars.AddRange({"渋", "油", "哮", "嚼", "髪", "伸", "揃", "秀", "彦", "凡", "趣", "勾", "建", "夜"}) '14
|
||||
chars.AddRange({"境", "鮮", "虐", "凶", "虚", "【", "】", "献", "患", "植", "君", "蜜", "維", "詳"}) '14
|
||||
chars.AddRange({"勉", "評", "清", "楚", "仔", "騎", "関", "両", "間", "刺", "❤", "哎", "貫", "墅"}) '14
|
||||
chars.AddRange({"ヅ", "籃", "喂", "嗎", "丹", "購", "纂", "低", "列", "討", "抵", "拠", "赫", "担"}) '14
|
||||
chars.AddRange({"肩", "凝", "揉", "喰", "療", "縮", "脚", "拠", "体", "遂", "覇", "闇", "脳", "洗"}) '14
|
||||
chars.AddRange({"壮", "冒", "側", "仏", "陀", "娘", "陸", "只", "易", "偲", "懲", "蹄", "荷", "検"}) '14
|
||||
chars.AddRange({"愚", "相", "概", "弁", "西", "剥", "戸", "吊", "漫", "閉", "仰", "湧", "腔", "康"}) '14
|
||||
chars.AddRange({"紡", "崎", "塞", "求", "雛", "獲", "伯", "爵", "桁", "総", "泌", "菌", "惨", "菊"}) '14
|
||||
chars.AddRange({"瘾", "冇", "哪", "間", "貯", "腫", "袋", "至", "何", "魚", "骨", "喉", "煮", "羽"}) '14
|
||||
chars.AddRange({"嘆", "昼", "抑", "旨", "靴", "蔦", "旦", "那", "釈", "迦", "適", "漁", "潤", "賑"}) '14
|
||||
'Block 6
|
||||
chars.AddRange({"催", "符", "鹸", "和", "濃", "捌", "綾", "委", "融", "繁", "晒", "握", "蘇", "尚"}) '14
|
||||
chars.AddRange({"矢", "播", "Ⓞ", "完", "捨", "淑", "稽", "裁", "暑", "蔡", "盆", "栽", "軸", "築"}) '14
|
||||
chars.AddRange({"衰", "煩", "締", "喜", "恩", "技", "泥", "貸", "吐", "冠", "陸", "狗", "敷", "倉"}) '14
|
||||
chars.AddRange({"協", "♪", "濁", "濫", "堤", "殊", "咆", "哮", "●", "▲", "灸", "据", "利", "嫉"}) '14
|
||||
chars.AddRange({"掴", "曇", "克", "昂", "睡", "悟", "竜", "伏", "請", "磨", "豆", "免", "詩", "肥"}) '14
|
||||
chars.AddRange({"盤", "阡", "釘", "婆", "翻", "叩", "慭", "想", "域", "播", "傾", "嚟", "嘞", "痣"}) '14
|
||||
chars.AddRange({"唯", "恨", "砕", "板", "星", "柄", "諸", "鉢", "詞", "歴", "史", "禍", "拘", "輸"}) '14
|
||||
chars.AddRange({"辿", "官", "噴", "冬", "輮", "稿", "採", "瞳", "鈍", "河", "童", "溺", "逮", "核"}) '14
|
||||
chars.AddRange({" ", " ", " ", " ", "窓", "覗", "軒", "項", "胞", "粱", "膨", "漂", "通", "僧"}) '14
|
||||
chars.AddRange({"致", "懇", "秒", "北", "没", "援", "陳", "宛", "濯", "漢", "拜", "慈", "紐", "宗"}) '14
|
||||
chars.AddRange({" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}) '14
|
||||
chars.AddRange({"狩", "狐", "詠", "犬", "澹", "妾", "俗", "尋", "阿", "弥", "扇", "芽", "疎", "滑"}) '14
|
||||
chars.AddRange({"穏", "溥", "政", "程", "泰", "旧", "尻", "拭", "律", "爽", "沸", "呟", "這", "沌"}) '14
|
||||
chars.AddRange({"弄", "苗", "弟", "伊", "鍛", "陽", "夏", "幼", "胡", "蝶", "炉", "瑠", "陶", "嚇"}) '14
|
||||
chars.AddRange({"江", "殴", "側", "溶", "院", "委", "惚", "里", "跳", "刃", "浩", "樹", "奮", "隙"}) '14
|
||||
chars.AddRange({"充", "羨", "黄", "睨", "糞", "剩", "濆", "謀", "執", "穫", "州", "碁", "爺", "隣"}) '14
|
||||
chars.AddRange({"鎌", "兜", "灼", "系", "瀕", "瀕", "即", "牙", "爪", "晩", "域", "楼", "絢", "爛"}) '14
|
||||
chars.AddRange({"釜", "翼", "創", "朱", "雀", "龍", "虎", "干", "挨", "拶", "誅", "淵", "壱", "恰"}) '14
|
||||
chars.AddRange({"幅", "駣", "衣", "弐", "畑", "賛", "甲", "斐", "鵜", "掘", "☆", "碑", "駒", "貝"}) '14
|
||||
chars.AddRange({"櫂", "祝", "庶", "脇", "蛍", "前", "鶴", "浄", "鋼", "侯", "揶", "撥", "楯", "斉"}) '14
|
||||
chars.AddRange({"基", "繩", "耗", "鞄", "償", "敢", "娯", "略", "濡", "妨", "悉", "峠", "暫", "穰"}) '14
|
||||
'Block 7
|
||||
chars.AddRange({"質", "彫", "醒", "温", "戯", "董", "巡", "潤", "稚", "蓋", "貼", "唱", "粘", "丘"}) '14
|
||||
chars.AddRange({"枝", "履", "旋", "錯", "雨", "粒", "塵", "翔", "喆", "兆", "膝", "盲", "軌", "逸"}) '14
|
||||
chars.AddRange({"策", "均", "衡", "揮", "冥", "府", "染", "蛰", "岡", "齊", "筆", "浅", "妥", "拉"}) '14
|
||||
chars.AddRange({"序", "攫", "炊", "滞", "棚", "路", "財", "廊", "展", "輔", "隷", "妄", "慨", "喩"}) '14
|
||||
chars.AddRange({"露", "宇", "宙", "副", "島", "宵", "钔", "媽", "掲", "瓢", "碧", "抹", "煌", "麓"}) '14
|
||||
chars.AddRange({"褪", "倉", "昏", "蒼", "穹", "相", "罵", "貌", "悶", "礎", "唐", "傑", "嚙", "囮"}) '14
|
||||
chars.AddRange({"臺", "透", "沼", "衤", "塵", "杖", "帝", "菩", "后", "鑰", "欧", "誓", "孫", "股"}) '14
|
||||
chars.AddRange({"兼", "侯", "祥", "秩", "問", "憲", "徳", "摂", "蔗", "殖", "忿", "竺", "治", "逐"}) '14
|
||||
chars.AddRange({"痒", "還", "『", "』", "厘", "涯", "棘", "類", "餅", "咥", "舵", "乃", "挿", "唇"}) '14
|
||||
chars.AddRange({"鞭", "銥", "堰", "梃", "摺", "庇", "暁", "遮", "塊", "倉", "慄", "發", "锋", "灯"}) '14
|
||||
chars.AddRange({"持", "汀", "措", "葬", "票", "戴", "遥", "ヵ", "迣", "掌", "宴", "帳", "燈", "享"}) '14
|
||||
chars.AddRange({"荻", "嶋", "柴", "俊", "辰", "弄", "噂", "也", "刷", "輝", "欄", "鉾", "涌", "岬"}) '14
|
||||
chars.AddRange({"矯", "承", "焚", "舟", "削", "玩", "尖", "把", "畝", "晶", "屓", "躯", "菪", "溯"}) '14
|
||||
chars.AddRange({"漏", "媒", "夕", "闊", "哲", "捲", "梁", "佇", "撼", "苛", "忌", "ヲ", "蝿", "詫"}) '14
|
||||
chars.AddRange({"悴", "怠", "枷", "妊", "蹴", "猿", "又", "v", "瀧", "机", " ", "蓋", "添", "乳"}) '14
|
||||
chars.AddRange({"拡", "臼", "勾", "褐", "剛", "紺", "淡", "迅", "鞘", "鳥", "狗", "粕", "濤", "涛"}) '14
|
||||
chars.AddRange({"鉤", "雁", "鍋", "鉱", "卦", "鶏", "圏", "乾", "坤", "亀", "咥", "髭", "柳", "智"}) '14
|
||||
chars.AddRange({"嶺", "絹", "錬", "屑", "謙", "弘", "糸", "棲", "慶", "漆", "熟", "衆", "ぢ", "訓"}) '14
|
||||
chars.AddRange({"肯", "俯", "埒", "但", "顕", "冊", "胎", "摩", "挫", "県", "沿", "泡", "妃", "戮"}) '14
|
||||
chars.AddRange({"刎", "无", "虹", "儂", "闢", "卵", "朕", "梵", "馴", "擁", "洲", "叢", "薙", "舐"}) '14
|
||||
chars.AddRange({"鼹", "蓬", "帥", "跡", "兼", "弑", "趨", "伶", "刹", "灰", "毘", "菜", "貧", "咎"}) '14
|
||||
'Block 8
|
||||
chars.AddRange({"廻", "碑", "竟", "潟", "憤", "帆", "酌", "衛", "綣", "簾", "惹", "朧", "淫", "曼"}) '14
|
||||
chars.AddRange({"森", "艱", "鬣", "屠", "働", "飢", "貞", "虚", "蒔", "叡", "卓", "征", "迂", "謳"}) '14
|
||||
chars.AddRange({"渾", "尺", "巾", "需", "芳", "桂", "顧", "吃", "猶", "傀", "儡", "譜", "拍", "隔"}) '14
|
||||
chars.AddRange({"浴", "云", "啓", "麦", "瀬", "咀", "螺", "遇", "喝", "伍", "膳", "禅", "惰", "殉"}) '14
|
||||
chars.AddRange({"蔑", "循", "約", "芹", "槌", "菩", "♂", "♀", "醬", "噌", "菜", "蘭", "米", "虚"}) '14
|
||||
chars.AddRange({"代", "籍", "培", "縋", "漬", "淆", "淵", "訂", " ", " ", " ", " ", "ヶ", "懺"}) '14
|
||||
chars.AddRange({"弓", "炭", "蝕", "窟", "披", "癇", "蛮", "彷", "徨", "鋳", "藉", "薰", "壞", "岐"}) '14
|
||||
chars.AddRange({"脆", "些", "脂", "肪", "辟", "窮", "抽", "◯", "獎", "遼", "过", "褄", "玲", "玲"}) '14
|
||||
chars.AddRange({"央", "揣", "餌", "巣", "朗", "隅", "併", "暗", "跨", "餌", "庁", "腸", "↺", "↻"}) '14
|
||||
chars.AddRange({" ", "穢", "畏", "眭", "奉", "聡", "益", "遜", "媚", "乞", "浸", "鞋", "涼", "坦"}) '14
|
||||
chars.AddRange({"舅", "撲", "沁", "哦", "緑", "茂", "惧", "囗", "煉", "崇", "促", "弐", "串", "枯"}) '14
|
||||
chars.AddRange({"騎", "舗", "耕", "陥", "呂", "施", "蔓", "延", "懊", "圭", "裸", "葵", "枕", "誹"}) '14
|
||||
chars.AddRange({"搬", "疼", "霜", "貸", "晹", "弊", "蔽", "沫", "班", "籠", "其", "棋", "湖", "綿"}) '14
|
||||
chars.AddRange({"豚", "熊", "韋", "臂", "農", "鍔", "嘴", "蔗", "猟", "棍", "侵", "飼", "轄", "宰"}) '14
|
||||
chars.AddRange({"屍", "蛙", "憩", "捷", "靡", "艷", "鳶", "伎", "茹", "馴", "働", "-", "盟", "採"}) '14
|
||||
chars.AddRange({"偲", "釣", "漸", "睦", "毅", "奢", "彗", "昆", "脈", "侍", "頻", "禄", "鬆", "墊"}) '14
|
||||
chars.AddRange({"艦", "湾", "适", "愕", "錠", "午", "泳", "顎", "媧", "←", "ゐ", "ゑ", "菓", "興"}) '14
|
||||
chars.AddRange({"廉", "緋", "侠", "謂", "↑", "↓", "吾", "捉", "ヰ", "ヱ", "D", "椎", "撤", "騰"}) '14
|
||||
chars.AddRange({"践", "該", "荘", "搾", "寮", "一", "眉", "栓", "叔", "秋", "峰", "義", "皺", "嬲"}) '14
|
||||
chars.AddRange({"畴", "閑", "発", "剌", "鳩", "傘", "洩", "接", "之", "撓", "緑", "閥", "曹", "斎"}) '14
|
||||
chars.AddRange({"勲", "匿", "弛", "叙", "諜", "硝", "什", "繕", "唸", "緩", "邁", "棊", "撰", "艦"}) '14
|
||||
'Block 9
|
||||
chars.AddRange({"隻", "療", "墟", "梧", "冤", "呉", "株", "哨", "嵯", "峨", "碱", "賽", "肖", "酬"}) '14
|
||||
chars.AddRange({"棟", "堀", "毟", "肃", "塔", "謡", "句", "暦", "毀", "錮", "凸", "凹", "瓜", "戚"}) '14
|
||||
chars.AddRange({"斡", "筒", "嵌", "甚", "慒", "管", "疫", "俳", "逝", "沖", "亭", "塀", "掠", "吧"}) '14
|
||||
chars.AddRange({"气", "么", "曾", "脊", "斜", "啊", "氓", "※", "猞", "猪", "菅", "莫", "慇", "懃"}) '14
|
||||
chars.AddRange({"窃", "癪", "斥", "呢", "啦", "①", "②", "③", "④", "⑤", "⑥", "⑦", "⑧", "痕"}) '14
|
||||
chars.AddRange({"桑", "愴", "祠", "擲", "筮", "榖", "酵", "ン", "縞", "吼", "飴", "棺", "此", "貢"}) '14
|
||||
chars.AddRange({"頷", "寵", "駕", "恵", "貪", "褻", "芯", "鞆", "喘", "肘", "氾", "濫", "屁", "曝"}) '14
|
||||
chars.AddRange({"疚", "娑", "膏", "唾", "薀", "滴", "姑", "酉", "齧", "誑", "暢", "諾", "呈", "軟"}) '14
|
||||
chars.AddRange({"蟠", "且", "鋼", "狙", "京", "邦", "蟻", "糖", "尿", "糧", "趾", "卜", "篤", "吏"}) '14
|
||||
chars.AddRange({"巳", "墊", "括", "於", "楊", "綻", "世", "侶", "鶯", "嬉", "訟", "天", "更", "塞"}) '14
|
||||
chars.AddRange({"兌", "邂", "夬", "綬", "訝", "琥", "珀", "孕", "吠", "菱", "腿", "寞", "惟", "策"}) '14
|
||||
chars.AddRange({"篭", "燻", "券", "楠", "恒", "弔", "臢", "蠢", "駿", "阪", "倦", "壺", "斗", "攪"}) '14
|
||||
chars.AddRange({"拌", "旱", "魅", "蒙", "蝙", "蝠", "淙", "套", "蟲", "牢", "脹", "匍", "匋", "閇"}) '14
|
||||
chars.AddRange({"煤", "剖", "煤", "森", "径", "牌", "郣", "襟", "溪", "畦", "璃", "執", "雹", "徘"}) '14
|
||||
chars.AddRange({"徊", "★", "瞑", "窺", "擬", "薩", "乱", "畳", "涅", "槃", "曙", "胤", "裔", "咋"}) '14
|
||||
chars.AddRange({"峻", "橧", "麝", "拘", "櫞", "膜", "郵", "匋", "芙", "蓉", "祀", "礁", "響", "累"}) '14
|
||||
chars.AddRange({"糾", "呵", "祷", "竿", "諍", "胴", "巴", "磔", "唸", "嘗", "腱", "峰", "萎", "吉"}) '14
|
||||
chars.AddRange({"糾", "呵", "祷", "竿", "諍", "胴", "巴", "磔", "唸", "嘗", "腱", "峰", "萎", "嗚"}) '14
|
||||
chars.AddRange({"\"}) '1
|
||||
chars.AddRange({"\"}) '1
|
||||
chars.AddRange({"\"}) '1
|
||||
chars.AddRange({"\"}) '1
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
38
p2isPSX_CDToolkit/My Project/Application.Designer.vb
generated
Normal file
38
p2isPSX_CDToolkit/My Project/Application.Designer.vb
generated
Normal file
@@ -0,0 +1,38 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' Этот код создан программой.
|
||||
' Исполняемая версия:4.0.30319.42000
|
||||
'
|
||||
' Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||
' повторной генерации кода.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
|
||||
Namespace My
|
||||
|
||||
'ПРИМЕЧАНИЕ. Этот файл создан автоматически; не изменяйте его самостоятельно. Для внесения изменений
|
||||
' или, если в ходе сборки обнаружены ошибки в этом файле, перейдите в конструктор проектов
|
||||
' (перейдите к свойствам проекта или дважды щелкните узел "Мой проект" в
|
||||
' обозревателе решений), и внесите изменения на вкладке "Приложение".
|
||||
'
|
||||
Partial Friend Class MyApplication
|
||||
|
||||
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
|
||||
Public Sub New()
|
||||
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
|
||||
Me.IsSingleInstance = false
|
||||
Me.EnableVisualStyles = true
|
||||
Me.SaveMySettingsOnExit = true
|
||||
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
|
||||
End Sub
|
||||
|
||||
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
|
||||
Protected Overrides Sub OnCreateMainForm()
|
||||
Me.MainForm = Global.p2isPSX_CDView.Form1
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
11
p2isPSX_CDToolkit/My Project/Application.myapp
Normal file
11
p2isPSX_CDToolkit/My Project/Application.myapp
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<MySubMain>true</MySubMain>
|
||||
<MainForm>Form1</MainForm>
|
||||
<SingleInstance>false</SingleInstance>
|
||||
<ShutdownMode>0</ShutdownMode>
|
||||
<EnableVisualStyles>true</EnableVisualStyles>
|
||||
<AuthenticationMode>0</AuthenticationMode>
|
||||
<ApplicationType>0</ApplicationType>
|
||||
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
|
||||
</MyApplicationData>
|
||||
35
p2isPSX_CDToolkit/My Project/AssemblyInfo.vb
Normal file
35
p2isPSX_CDToolkit/My Project/AssemblyInfo.vb
Normal file
@@ -0,0 +1,35 @@
|
||||
Imports System
|
||||
Imports System.Reflection
|
||||
Imports System.Runtime.InteropServices
|
||||
|
||||
' Общие сведения об этой сборке предоставляются следующим набором
|
||||
' атрибутов. Отредактируйте значения этих атрибутов, чтобы изменить
|
||||
' общие сведения об этой сборке.
|
||||
|
||||
' Проверьте значения атрибутов сборки
|
||||
|
||||
<Assembly: AssemblyTitle("p2isPSX_CDView")>
|
||||
<Assembly: AssemblyDescription("")>
|
||||
<Assembly: AssemblyCompany("Microsoft")>
|
||||
<Assembly: AssemblyProduct("p2isPSX_CDView")>
|
||||
<Assembly: AssemblyCopyright("Copyright © Microsoft 2021")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
|
||||
<Assembly: ComVisible(False)>
|
||||
|
||||
'Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
|
||||
<Assembly: Guid("2f7cd285-77e2-41d0-91e7-6c7ad01b5b12")>
|
||||
|
||||
' Сведения о версии сборки состоят из следующих четырех значений:
|
||||
'
|
||||
' Основной номер версии
|
||||
' Дополнительный номер версии
|
||||
' Номер сборки
|
||||
' Редакция
|
||||
'
|
||||
' Можно задать все значения или принять номера сборки и редакции по умолчанию
|
||||
' используя "*", как показано ниже:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.0.0.0")>
|
||||
<Assembly: AssemblyFileVersion("1.0.0.0")>
|
||||
63
p2isPSX_CDToolkit/My Project/Resources.Designer.vb
generated
Normal file
63
p2isPSX_CDToolkit/My Project/Resources.Designer.vb
generated
Normal file
@@ -0,0 +1,63 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' Этот код создан программой.
|
||||
' Исполняемая версия:4.0.30319.42000
|
||||
'
|
||||
' Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||
' повторной генерации кода.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
Imports System
|
||||
|
||||
Namespace My.Resources
|
||||
|
||||
'Этот класс создан автоматически классом StronglyTypedResourceBuilder
|
||||
'с помощью такого средства, как ResGen или Visual Studio.
|
||||
'Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen
|
||||
'с параметром /str или перестройте свой проект VS.
|
||||
'''<summary>
|
||||
''' Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
|
||||
'''</summary>
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0"), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
|
||||
Friend Module Resources
|
||||
|
||||
Private resourceMan As Global.System.Resources.ResourceManager
|
||||
|
||||
Private resourceCulture As Global.System.Globalization.CultureInfo
|
||||
|
||||
'''<summary>
|
||||
''' Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
|
||||
Get
|
||||
If Object.ReferenceEquals(resourceMan, Nothing) Then
|
||||
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("p2isPSX_CDView.Resources", GetType(Resources).Assembly)
|
||||
resourceMan = temp
|
||||
End If
|
||||
Return resourceMan
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Перезаписывает свойство CurrentUICulture текущего потока для всех
|
||||
''' обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend Property Culture() As Global.System.Globalization.CultureInfo
|
||||
Get
|
||||
Return resourceCulture
|
||||
End Get
|
||||
Set
|
||||
resourceCulture = value
|
||||
End Set
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
117
p2isPSX_CDToolkit/My Project/Resources.resx
Normal file
117
p2isPSX_CDToolkit/My Project/Resources.resx
Normal file
@@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
73
p2isPSX_CDToolkit/My Project/Settings.Designer.vb
generated
Normal file
73
p2isPSX_CDToolkit/My Project/Settings.Designer.vb
generated
Normal file
@@ -0,0 +1,73 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' Этот код создан программой.
|
||||
' Исполняемая версия:4.0.30319.42000
|
||||
'
|
||||
' Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||
' повторной генерации кода.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
|
||||
Namespace My
|
||||
|
||||
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0"), _
|
||||
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Partial Friend NotInheritable Class MySettings
|
||||
Inherits Global.System.Configuration.ApplicationSettingsBase
|
||||
|
||||
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
|
||||
|
||||
#Region "Функция автоматического сохранения My.Settings"
|
||||
#If _MyType = "WindowsForms" Then
|
||||
Private Shared addedHandler As Boolean
|
||||
|
||||
Private Shared addedHandlerLockObject As New Object
|
||||
|
||||
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
|
||||
If My.Application.SaveMySettingsOnExit Then
|
||||
My.Settings.Save()
|
||||
End If
|
||||
End Sub
|
||||
#End If
|
||||
#End Region
|
||||
|
||||
Public Shared ReadOnly Property [Default]() As MySettings
|
||||
Get
|
||||
|
||||
#If _MyType = "WindowsForms" Then
|
||||
If Not addedHandler Then
|
||||
SyncLock addedHandlerLockObject
|
||||
If Not addedHandler Then
|
||||
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
|
||||
addedHandler = True
|
||||
End If
|
||||
End SyncLock
|
||||
End If
|
||||
#End If
|
||||
Return defaultInstance
|
||||
End Get
|
||||
End Property
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
Namespace My
|
||||
|
||||
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
|
||||
Friend Module MySettingsProperty
|
||||
|
||||
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
|
||||
Friend ReadOnly Property Settings() As Global.p2isPSX_CDView.My.MySettings
|
||||
Get
|
||||
Return Global.p2isPSX_CDView.My.MySettings.Default
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
7
p2isPSX_CDToolkit/My Project/Settings.settings
Normal file
7
p2isPSX_CDToolkit/My Project/Settings.settings
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
265
p2isPSX_CDToolkit/ScriptCheck.Designer.vb
generated
Normal file
265
p2isPSX_CDToolkit/ScriptCheck.Designer.vb
generated
Normal file
@@ -0,0 +1,265 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class ScriptCheck
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Форма переопределяет dispose для очистки списка компонентов.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Является обязательной для конструктора форм Windows Forms
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Примечание: следующая процедура является обязательной для конструктора форм Windows Forms
|
||||
'Для ее изменения используйте конструктор форм Windows Form.
|
||||
'Не изменяйте ее в редакторе исходного кода.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(ScriptCheck))
|
||||
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
|
||||
Me.Dir = New System.Windows.Forms.TextBox()
|
||||
Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
|
||||
Me.FilesLoad = New System.Windows.Forms.Button()
|
||||
Me.CurFileText = New System.Windows.Forms.Label()
|
||||
Me.CurFileName = New System.Windows.Forms.Label()
|
||||
Me.CurrentDial = New System.Windows.Forms.Label()
|
||||
Me.DemoText = New System.Windows.Forms.Label()
|
||||
Me.NxDial = New System.Windows.Forms.Button()
|
||||
Me.prevDial = New System.Windows.Forms.Button()
|
||||
Me.NxFile = New System.Windows.Forms.Button()
|
||||
Me.PrevFile = New System.Windows.Forms.Button()
|
||||
Me.Panel1 = New System.Windows.Forms.Panel()
|
||||
Me.IDsrch = New System.Windows.Forms.TextBox()
|
||||
Me.srch = New System.Windows.Forms.Button()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.Editor = New System.Windows.Forms.Button()
|
||||
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.Panel1.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'PictureBox1
|
||||
'
|
||||
Me.PictureBox1.BackColor = System.Drawing.Color.Transparent
|
||||
Me.PictureBox1.ErrorImage = Nothing
|
||||
Me.PictureBox1.InitialImage = Nothing
|
||||
Me.PictureBox1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.PictureBox1.Name = "PictureBox1"
|
||||
Me.PictureBox1.Size = New System.Drawing.Size(940, 188)
|
||||
Me.PictureBox1.TabIndex = 0
|
||||
Me.PictureBox1.TabStop = False
|
||||
'
|
||||
'Dir
|
||||
'
|
||||
Me.Dir.BackColor = System.Drawing.Color.Black
|
||||
Me.Dir.BorderStyle = System.Windows.Forms.BorderStyle.None
|
||||
Me.Dir.ForeColor = System.Drawing.SystemColors.InactiveCaption
|
||||
Me.Dir.Location = New System.Drawing.Point(183, 26)
|
||||
Me.Dir.Name = "Dir"
|
||||
Me.Dir.Size = New System.Drawing.Size(643, 13)
|
||||
Me.Dir.TabIndex = 1
|
||||
Me.Dir.Text = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\UnRLE\0057_ALL_SCENER" &
|
||||
"Y"
|
||||
'
|
||||
'ProgressBar1
|
||||
'
|
||||
Me.ProgressBar1.Location = New System.Drawing.Point(0, 475)
|
||||
Me.ProgressBar1.Name = "ProgressBar1"
|
||||
Me.ProgressBar1.Size = New System.Drawing.Size(940, 10)
|
||||
Me.ProgressBar1.TabIndex = 2
|
||||
'
|
||||
'FilesLoad
|
||||
'
|
||||
Me.FilesLoad.Location = New System.Drawing.Point(661, 45)
|
||||
Me.FilesLoad.Name = "FilesLoad"
|
||||
Me.FilesLoad.Size = New System.Drawing.Size(165, 23)
|
||||
Me.FilesLoad.TabIndex = 3
|
||||
Me.FilesLoad.Text = "Load TRNSL Files"
|
||||
Me.FilesLoad.UseVisualStyleBackColor = True
|
||||
'
|
||||
'CurFileText
|
||||
'
|
||||
Me.CurFileText.Font = New System.Drawing.Font("Montserrat", 27.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.CurFileText.ForeColor = System.Drawing.Color.DarkGray
|
||||
Me.CurFileText.Location = New System.Drawing.Point(492, 106)
|
||||
Me.CurFileText.Name = "CurFileText"
|
||||
Me.CurFileText.Size = New System.Drawing.Size(334, 52)
|
||||
Me.CurFileText.TabIndex = 4
|
||||
Me.CurFileText.Text = "0 / 0"
|
||||
Me.CurFileText.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'CurFileName
|
||||
'
|
||||
Me.CurFileName.Font = New System.Drawing.Font("Montserrat", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.CurFileName.ForeColor = System.Drawing.Color.DarkGray
|
||||
Me.CurFileName.Location = New System.Drawing.Point(292, 158)
|
||||
Me.CurFileName.Name = "CurFileName"
|
||||
Me.CurFileName.Size = New System.Drawing.Size(534, 29)
|
||||
Me.CurFileName.TabIndex = 4
|
||||
Me.CurFileName.Text = "Current File"
|
||||
Me.CurFileName.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'CurrentDial
|
||||
'
|
||||
Me.CurrentDial.Font = New System.Drawing.Font("Montserrat", 20.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.CurrentDial.ForeColor = System.Drawing.Color.DarkGray
|
||||
Me.CurrentDial.Location = New System.Drawing.Point(596, 195)
|
||||
Me.CurrentDial.Name = "CurrentDial"
|
||||
Me.CurrentDial.Size = New System.Drawing.Size(230, 37)
|
||||
Me.CurrentDial.TabIndex = 4
|
||||
Me.CurrentDial.Text = "0 / 0"
|
||||
Me.CurrentDial.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'DemoText
|
||||
'
|
||||
Me.DemoText.BackColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(0, Byte), Integer))
|
||||
Me.DemoText.Font = New System.Drawing.Font("Courier New", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
|
||||
Me.DemoText.ForeColor = System.Drawing.Color.White
|
||||
Me.DemoText.Location = New System.Drawing.Point(12, 92)
|
||||
Me.DemoText.Name = "DemoText"
|
||||
Me.DemoText.Size = New System.Drawing.Size(206, 155)
|
||||
Me.DemoText.TabIndex = 5
|
||||
Me.DemoText.Visible = False
|
||||
'
|
||||
'NxDial
|
||||
'
|
||||
Me.NxDial.Location = New System.Drawing.Point(646, 241)
|
||||
Me.NxDial.Name = "NxDial"
|
||||
Me.NxDial.Size = New System.Drawing.Size(180, 38)
|
||||
Me.NxDial.TabIndex = 6
|
||||
Me.NxDial.Text = ">>"
|
||||
Me.NxDial.UseVisualStyleBackColor = True
|
||||
'
|
||||
'prevDial
|
||||
'
|
||||
Me.prevDial.Location = New System.Drawing.Point(556, 257)
|
||||
Me.prevDial.Name = "prevDial"
|
||||
Me.prevDial.Size = New System.Drawing.Size(75, 23)
|
||||
Me.prevDial.TabIndex = 7
|
||||
Me.prevDial.Text = "<<"
|
||||
Me.prevDial.UseVisualStyleBackColor = True
|
||||
'
|
||||
'NxFile
|
||||
'
|
||||
Me.NxFile.Location = New System.Drawing.Point(751, 80)
|
||||
Me.NxFile.Name = "NxFile"
|
||||
Me.NxFile.Size = New System.Drawing.Size(75, 23)
|
||||
Me.NxFile.TabIndex = 6
|
||||
Me.NxFile.Text = ">>"
|
||||
Me.NxFile.UseVisualStyleBackColor = True
|
||||
'
|
||||
'PrevFile
|
||||
'
|
||||
Me.PrevFile.Location = New System.Drawing.Point(661, 81)
|
||||
Me.PrevFile.Name = "PrevFile"
|
||||
Me.PrevFile.Size = New System.Drawing.Size(75, 23)
|
||||
Me.PrevFile.TabIndex = 7
|
||||
Me.PrevFile.Text = "<<"
|
||||
Me.PrevFile.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Panel1
|
||||
'
|
||||
Me.Panel1.BackgroundImage = CType(resources.GetObject("Panel1.BackgroundImage"), System.Drawing.Image)
|
||||
Me.Panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch
|
||||
Me.Panel1.Controls.Add(Me.PictureBox1)
|
||||
Me.Panel1.Location = New System.Drawing.Point(0, 285)
|
||||
Me.Panel1.Name = "Panel1"
|
||||
Me.Panel1.Size = New System.Drawing.Size(931, 188)
|
||||
Me.Panel1.TabIndex = 9
|
||||
'
|
||||
'IDsrch
|
||||
'
|
||||
Me.IDsrch.Location = New System.Drawing.Point(492, 80)
|
||||
Me.IDsrch.Name = "IDsrch"
|
||||
Me.IDsrch.Size = New System.Drawing.Size(48, 20)
|
||||
Me.IDsrch.TabIndex = 10
|
||||
Me.IDsrch.Text = "0181"
|
||||
'
|
||||
'srch
|
||||
'
|
||||
Me.srch.Location = New System.Drawing.Point(547, 80)
|
||||
Me.srch.Name = "srch"
|
||||
Me.srch.Size = New System.Drawing.Size(75, 23)
|
||||
Me.srch.TabIndex = 11
|
||||
Me.srch.Text = "GO"
|
||||
Me.srch.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.Font = New System.Drawing.Font("Montserrat", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.Label1.ForeColor = System.Drawing.Color.DarkGray
|
||||
Me.Label1.Location = New System.Drawing.Point(315, 75)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(171, 29)
|
||||
Me.Label1.TabIndex = 4
|
||||
Me.Label1.Text = "SearchFileID -->"
|
||||
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'Editor
|
||||
'
|
||||
Me.Editor.Location = New System.Drawing.Point(219, 250)
|
||||
Me.Editor.Name = "Editor"
|
||||
Me.Editor.Size = New System.Drawing.Size(130, 23)
|
||||
Me.Editor.TabIndex = 12
|
||||
Me.Editor.Text = "Open Editor"
|
||||
Me.Editor.UseVisualStyleBackColor = True
|
||||
'
|
||||
'ScriptCheck
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(0, Byte), Integer), CType(CType(64, Byte), Integer))
|
||||
Me.ClientSize = New System.Drawing.Size(941, 485)
|
||||
Me.Controls.Add(Me.Editor)
|
||||
Me.Controls.Add(Me.srch)
|
||||
Me.Controls.Add(Me.IDsrch)
|
||||
Me.Controls.Add(Me.PrevFile)
|
||||
Me.Controls.Add(Me.prevDial)
|
||||
Me.Controls.Add(Me.NxFile)
|
||||
Me.Controls.Add(Me.NxDial)
|
||||
Me.Controls.Add(Me.DemoText)
|
||||
Me.Controls.Add(Me.Label1)
|
||||
Me.Controls.Add(Me.CurFileName)
|
||||
Me.Controls.Add(Me.CurrentDial)
|
||||
Me.Controls.Add(Me.CurFileText)
|
||||
Me.Controls.Add(Me.FilesLoad)
|
||||
Me.Controls.Add(Me.ProgressBar1)
|
||||
Me.Controls.Add(Me.Dir)
|
||||
Me.Controls.Add(Me.Panel1)
|
||||
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
|
||||
Me.MaximizeBox = False
|
||||
Me.MinimizeBox = False
|
||||
Me.Name = "ScriptCheck"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "ScriptCheck"
|
||||
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.Panel1.ResumeLayout(False)
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents PictureBox1 As PictureBox
|
||||
Friend WithEvents Dir As TextBox
|
||||
Friend WithEvents ProgressBar1 As ProgressBar
|
||||
Friend WithEvents FilesLoad As Button
|
||||
Friend WithEvents CurFileText As Label
|
||||
Friend WithEvents CurFileName As Label
|
||||
Friend WithEvents CurrentDial As Label
|
||||
Friend WithEvents DemoText As Label
|
||||
Friend WithEvents NxDial As Button
|
||||
Friend WithEvents prevDial As Button
|
||||
Friend WithEvents NxFile As Button
|
||||
Friend WithEvents PrevFile As Button
|
||||
Friend WithEvents Panel1 As Panel
|
||||
Friend WithEvents IDsrch As TextBox
|
||||
Friend WithEvents srch As Button
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents Editor As Button
|
||||
End Class
|
||||
613
p2isPSX_CDToolkit/ScriptCheck.resx
Normal file
613
p2isPSX_CDToolkit/ScriptCheck.resx
Normal file
@@ -0,0 +1,613 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="Panel1.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAA1EAAAC6CAIAAADAjFAhAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAcc1JREFUeF7tvelzY8eR7k0SBEmQLY9kqSXbWltSa993y9tIlu0ZW/Jc79v1vo49
|
||||
c9///9tbQFX+sphZzK4DoElQXRHPB0fms9TJSiFOuI/Ue9/74e8yfvXHf2X89Ld/z/jlH/6Z8bPf/iPj
|
||||
F7//Z8bPf/ffgn9k/PL3/8z42W//noEcw1/94V8ZVODg84vf/7fBz373jwzIPRFwfvGHf2ZEEfKA3rBV
|
||||
+VeGRohPNZYCWpCRV4YXhvLs+AB9HHlAIhhCw1CPUSr4/Dx5rkAE6ZAx7IqQldAIAYsUTD6MKCp8qpmX
|
||||
CNL1PFMi8GEawI+lJwIO9xVFXDyWVmUs5FjIc2PpiYDDfUURF4+lVRkLORby3Fh6IuBwX1HExWNpVa50
|
||||
IZPnCr/+078ynnzmPzL299/OODr6IOPg4O2Mo6P3M2azdzLmR+9nzA7fzTicv5cxF8xm72ZAPpi9k3F8
|
||||
/NWM8c63irhGCyTQx5EHJIIhNAz1GKWCz/hFS4CDD9MAfiw9EXC4ryji4rG0KmMhx0KeG0tPBBzuK4q4
|
||||
eCytyljIsZDnxtITAYf7iiIuHkurcqULuXrhG+98NgIfnZSAIULuiYDzeVsggT6OPCARDKFhqMcoFXzG
|
||||
L1oCHHyYBvBj6YmAw31FERePpVUZCzkW8txYeiLgcF9RxMVjaVXGQo6FPDeWngg43FcUcfFYWpUrXcjV
|
||||
C98OvfN96Su3Mm6/8k7GS299LeP519/PePHNDzNeeOMDwVczXnyz4PnXP8h46a0PM5Bj+Nxr72dQgdOK
|
||||
KKAFmYjAEA4H46gcPowohkFEpSoR6pxSVqBVkdeJ4KhE8DiQeWRvWFUYCxHbHstbH2ZUz77tCFHhgzNZ
|
||||
pPtHxnBiRAEtyEQEhnA4GEfl8GFEMQwiKlWJUOexkGMhzxvC4WAclcOHEcUwiKhUJUKdx0KOhTxvCIeD
|
||||
cVQOH0YUwyCiUpUIdb5rCwn505/+JuPWC9/LmKW3tBUOTt7JODr+IOPg5O2Mo+P3M2Yn72TMj9/LODx5
|
||||
14AWZOQYjne+iyKKYRBRqUqEOt+1BSKCx4HMI3vDqsJYiNj2WMYvWssQDgfjqBw+jCiGQUSlKhHqPBZy
|
||||
LOR5QzgcjKNy+DCiGAYRlapEqPNYyLGQ5w3hcDCOyuHDiGIYRFSqEqHOd20hIY93vjtGFNCCTERgCIeD
|
||||
cVQOH0YUwyCiUpUIdb5rC0QEjwOZR/aGVYWxELHtsYxftJYhHA7GUTl8GFEMg4hKVSLUeSzkWMjzhnA4
|
||||
GEfl8GFEMQwiKlWJUOexkGMhzxvC4WAclcOHEcUwiKhUJUKd79pCQt6Vd74HHvhSxu1X38l45uW3M557
|
||||
9d2MZ15+K4P3wmfBy29n3H713YxnXnor47lX38t4+qW3MqjAUZWEqrOAlpLXiuCoOPM4PsIbVhUZCxGM
|
||||
hQjB7VfezYCMvDK0ERxDD0YEIAKyRvgzlwocVUmEOgtoQfaGvqIR8uwcFfA4rFbPWOCgwkePTQQPKOdp
|
||||
GZYKHFVNGQtyDHsiOCrOPI6P8IZVRcZCBGMhQsClQEZeGdoIjqEHIwIQAVkj/JlLBY6qJEKdBbQge0Nf
|
||||
0YixkGEER8WZx/ER3rCqyFiIYCxECLgUyMgrQxvBMfRgRAAiIGuEP3OpwFGVRKizgBZkb+grGjEWMozg
|
||||
qDjzOD7CG1YVGQsRjIUIAZcCGXllaCM4hj/YMy+n0y7xnz/+VcYzz30nY3/vzYzW93ypuAQf5PGJ3uzw
|
||||
zYxDIB/2Vd/zvZlxcPBWBm+T451vCR/hDauKjIUIxkKEYGsLRAQgArJG+DOXChxVSYQ6C2hB9oa+ohHy
|
||||
7BwV8DisVs9Y4KDCR49NBA8o52kZlgocVU0ZC3IMeyI4Ks48jo/whlVFxkIEYyFCwKVARl4Z2giOoQcj
|
||||
AhABWSP8mUsFjqokQp0FtCB7Q1/RiLGQYQRHxZnH8RHesKrIWIhgLEQIuBTIyCtDG8Ex9GBEACIga4Q/
|
||||
c6nAUZVEqLOAFmRv6CsaMRYyjOCoOPM4PsIbVhUZCxGMhQgBlwIZeWVoIziGP9h451sCjqokVJ0FtJS8
|
||||
VgRHxZnH8RHesKrIWIhgLEQItrZARAAiIGuEP3OpwFGVRKizgBZkb+grGiHPzlEBj8Nq9YwFDip89NhE
|
||||
8IBynpZhqcBR1ZSxIMewJ4Kj4szj+AhvWFVkLEQwFiIEXApk5JWhjeAYejAiABGQNcKfuVTgqEoi1FlA
|
||||
C7I39BWNGAsZRnBUnHkcH+ENq4qMhQjGQoSAS4GMvDK0ERxDD0YEIAKyRvgzlwocVUmEOgtoQfaGvqIR
|
||||
YyHDCI6KM4/jI7xhVZGxEMFYiBBwKZCRV4Y2gmP4g+3cO9/Nm49nPP3iGxm3X0mPvcQjX/pKxsMPP5bx
|
||||
0M2vZNy8+WjBw49lPPTQVzIefuTxjAcf/HLGI488ntGoPPSVjCri0QwiaEFW+cURHIODcVSceZwq4ssZ
|
||||
3tBXWhFpIOdACzJyb6gVOQYHC8ZChMo7IlDhgzNZtO7i5B95LINH9oZaYSyiwgdnskjnPA3DRkR5Up6d
|
||||
aRBBC7LKL47gGByMo+LM41QRHWOJIs5tYwItyMi9oVaYvBwsGAsRKu+IQIUPzmTRuouTHwvZHItGdIwl
|
||||
iji3jQm0ICP3hlph8nKwYCxEqLwjAhU+OJNF6y5Ofixkcywa0TGWKOLcNibQgozcG2pFx1Lw6JPPZDyb
|
||||
3ulX+MFPfp1x65nvZcxm6S1tCT6208/vePmTCp/o8V9mOTx8t4Dv+U7ey5jN3s7gv/lycPJWxnjn280F
|
||||
KsfgYMFYiFB5RwQqfHAmi9ZdnPz4RWuORSM6xhJFnNvGBFqQkXtDrTB5OVgwFiJU3hGBCh+cyaJ1Fyc/
|
||||
FrI5Fo3oGEsUcW4bE2hBRu4NtcLk5WDBWIhQeUcEKnxwJovWXZz8WMjmWDSiYyxRxLltTKAFGbk31IqO
|
||||
pWC8891xUkSMBRq/aBdEMJbxi9YbcW4bE2hBRu4NtcLk5WDBWIhQeUcEKnxwJovWXZz8WMjmWDSiYyxR
|
||||
xLltTKAFGbk31AqTl4MFYyFC5R0RqPDBmSxad3HyYyGbY9GIjrFEEee2MYEWZOTeUCs6loLdfefT7/nk
|
||||
T7hffffrGd//r39mLBZ/zTg7szg9Lagqf8s4u/HXjIijFcsBvqXyXY0AvlVV1okALbKv9ETYClC5VixZ
|
||||
OUGEgApQuVacvIMDfEvl0RA+5xHAt6rKOhGgRfaVnghbASrXiiUrJ4gQUAEq14qTd3CAb6k8GsLnPAL4
|
||||
VlVZJwK0yL7SE2ErQOVasWTlBBECKkDlWnHyDg7wLZVHQ/icR4A8wGZ6HvJS3hjU3zO+8IUfZDz21K0M
|
||||
3vla3/O9kaFf7/H5nX7PVzCfF8wO38qovucrmM3eyqi+5ys4Oi4Y73xL+JbK14oAvlVV1okALbKv9ETY
|
||||
ClC5VixZOUGEgApQuVacvIMDfEvl0RA+5xHAt6rKOhGgRfaVnghbASrXiiUrJ4gQUAEq14qTd3CAb6k8
|
||||
GsLnPAL4VlVZJwK0yL7SE2ErQOVasWTlBBECKkDlWnHyDg7wLZVHQ/icRwDfqipBxHjn2+HbpQJ8S+Vr
|
||||
RQDfqirrRIAW2Vd6ImwFqFwrlqycIEJABahcK07ewQG+pfJoCJ/zCOBbVWWdCNAi+0pPhK0AlWvFkpUT
|
||||
RAioAJVrxck7OMC3VB4N4XMeAXyrqqwTAVpkX+mJsBWgcq1YsnKCCAEVoHKtOHkHB/iWyqMhfM4jgG9V
|
||||
lSDi+rzz3Xzk8YxbL76R8eZXP8r4j//6V8bp6T8F/1NwA/yzYFFwdva/GYsb/8o4O0vFJRaLf2Wc3fjf
|
||||
jMWNf2b0RCwWBZMikE+M+H8Z60b8b4FEnN34Z0YrogzBR5wuzTMujFjc+J+MuxkhQ5gScbr4n4KLI8Kr
|
||||
vDgiCVcIrnIs5BIaUa6SiElXSURwlUSMhWxe5VjIJTSiXCURk66SiOAqiRgL2bzKsZBLaES5SiImXeVi
|
||||
8b8Z9934YcajTzyVwTuffs+nfw/HGxnVm1n5L6ocnLyZwcvfbPZOBh/tHZ68WTAr4FO/2cnbGbzqETHe
|
||||
+S6KuNoFKhHBbwER4xeteZVjIZfQiHKVREy6SiKCqyRiLGTzKsdCLqER5SqJmHSVRARXScRYyOZVjoVc
|
||||
QiPKVRIx6SrHO99YoA0XqEQEvwVEjF+05lWOhVxCI8pVEjHpKokIrpKIsZDNqxwLuYRGlKskYtJVEhFc
|
||||
JRFjIZtXORZyCY0oV0nEpKu8Tu98/nu+1977RsZnP/n/MnjmakAOaYNXgFyN484V69YCZC8PKhzMuDXh
|
||||
5T2VKEJakL08qFi3FiB7eU/FuDUB2cuDCs9u3GosBF4eVURl3M5B0hvyjop1awGylwcVDmbcmvDynkoU
|
||||
IS3IXh5UrFsLkL28p2LcmoDs5UGFZzduNVgtL48qYyHXjpAWZC8PKtatBche3lMxbk1A9vKgwrMbtxqs
|
||||
lpdHlbGQa0dIC7KX+8rp2f9k3HffDzPW/Z6vQCuN7/kKWt/zFUTf8413vhpe3lOJIqQF2cuDinVrAbKX
|
||||
91SMWxOQvTyo8OzGrQa/TV4eVcYv2toR0oLs5UHFurUA2ct7KsatCcheHlR4duNWg9Xy8qgyFnLtCGlB
|
||||
9vKgYt1agOzlPRXj1gRkLw8qPLtxq8FqeXlUGQu5doS0IHu5r4x3viX8XIKKdWsBspcHFQ5m3Jrw8p5K
|
||||
FCEtyF4eVKxbC5C9vKdi3JqA7OVBhWc3bjX4bfLyqDJ+0daOkBZkLw8q1q0FyF7eUzFuTUD28qDCsxu3
|
||||
GqyWl0eVsZBrR0gLspcHFevWAmQv76kYtyYge3lQ4dmNWw1Wy8ujyljItSOkBdnLfeU6vfPx93BE3/Mx
|
||||
oMafgguk1fpT8P/OaP0peAFyhfFPG4x8SgRfLVj/hG1F4GD8EyQdspdrxI3/zoCjzqA2X0HlXRHyXALr
|
||||
n3DeP0HlFw9BORKhDsY/QVqQVb4bEcgVxn8sZEZtvoLKuyLkuQTWP+G8f4LKLx6CciRCHYx/grQgq3w3
|
||||
IpArjP9YyIzafAWVd0XIcwmsf8J5/wSVXzwE5UiEOhj/BGlBVvluRCBXGP97ayHLN6P33fhBRvQ9n/49
|
||||
HK9n6Nd78mbm39VmJwW8/Ok7n3zYNxfw8qfvjhIx3vnOQeWTInAw/gmSDtnLNWL8ou1MBHKF8R8LmVGb
|
||||
r6Dyrgh5LoH1Tzjvn6Dyi4egHIlQB+OfIC3IKt+NCOQK4z8WMqM2X0HlXRHyXALrn3DeP0HlFw9BORKh
|
||||
DsY/QVqQVb4bEcgVxv/eWsjxztc3ejjIFcZ//KJl1OYrqLwrQp5LYP0TzvsnqPziIShHItTB+CdIC7LK
|
||||
dyMCucL4j4XMqM1XUHlXhDyXwPonnPdPUPnFQ1CORKiD8U+QFmSV70YEcoXxHwuZUZuvoPKuCHkugfVP
|
||||
OO+foPKLh6AciVAH458gLcgq340I5Arjf28t5PV55wu/5/vfjMXiTxmnp38X/E3w54Kzv2VUf2nHPzIW
|
||||
iz9mVBU4f8tQH40ApQW5kt85goPhUx2eiPRoS/Bf014s/pJRGQYRgtO/CCTi7O8ZzHBSBP+Z7wo2ojIM
|
||||
Ii7k4FM5m8R4zhdG8OxBxEJQGXZEnP4po7pBIuSW5d65psrQR8AZCzkWciwkhydiLGQCziZxLKRBaUGu
|
||||
5HeO4GD4VIcnYrcWkv9f7L77/jOj73u+lzKOjt7I0Fc9KrNXMnjVq77ne7Vg/loGr3rV93wvZxwdv5Ex
|
||||
3vkydmuBqPBPfgUbURkGERdy8KmcTWI85wsjePYgYvyircDhiRgLmYCzSRwLaVBakCv5nSM4GD7V4YkY
|
||||
C5mAs0kcC2lQWpAr+Z0jOBg+1eGJ2K2FHO98S/i5VBU4Y4GiCP7Jr2AjKsMg4kIOPpWzSYznfGEEzx5E
|
||||
jF+0FTg8EWMhE3A2iWMhDUoLciW/cwQHw6c6PBFjIRNwNoljIQ1KC3Ilv3MEB8OnOjwRu7WQ1+mdL/x7
|
||||
OP47g/myiKc3/ib4U0Ha4BV0QDf+knF2lopLLBZ/zji78feMxY0/ZVQRMnoX0biDG3/OqCLkViQCeSsi
|
||||
PUiGj5BL3VLE2Y0/ZUyKOF2aZ/iIsv2LG3/NqCJkzlGEbH9XhFxlFFGukojTZJ7hrpKI6iov3hYfkYQr
|
||||
jIVcO6K6ygkRfdsyFrIVMRYyjKiuckJE37aMhWxFjIUMI6qr7IlI77VL3Hfj+xnR93z693C8nqGvenzP
|
||||
xxd+8vKn73Py0R6f8VV/D4e8F8rHf7zqETHe+TJ8xNUuUIno+7kZv2itiLGQYUR1lRMi+rZlLGQrYixk
|
||||
GFFd5YSIvm0ZC9mKGAsZRlRX2RMx3vnGAp2PmLhAJaLv52b8orUixkKGEdVVTojo25axkK2IsZBhRHWV
|
||||
EyL6tmUsZCtiLGQYUV1lT8T1eefr+57v9xmnp38U/MHi7I8Zi8UfMs7O/piBvKpYTmV1YQRkLw8iOJhx
|
||||
W8FmeXlVCSIE6iyQ9EBeVSzHurUA2cuvNoJnN24r5LH/cXH6hwwvryouQlT4OP968heesKpYTmV1YQRk
|
||||
Lw8iOJhxW8FmeXlVCSIE6iyQ9EBeVSzHurUA2cuvNoJnN24r5LGPhTSwWV5eVYIIgToLJD2QVxXLsW4t
|
||||
QPbyq43g2Y3bCnnsYyENbJaXV5UgQqDOAkkP5FWlcE7P/pxx333fzQi/5/sko/qe7/UM/fyOin7P93rG
|
||||
7PDVjNb3fK9kzI9ez1BDefkb73znsry8qgQRAnUWSHogryqWY91agOzlVxvBsxu3FfLYxy+agc3y8qoS
|
||||
RAjUWSDpgbyqWI51awGyl19tBM9u3FbIYx8LaWCzvLyqBBECdRZIeiCvKpZj3VqA7OVXG8GzG7cV8tjH
|
||||
QhrYLC+vKkGEQJ0Fkh7Iq0rhjHe+9lyqiuVUVhdGQPbyIIKDGbcVbJaXV5UgQqDOAkkP5FXFcqxbC5C9
|
||||
/GojeHbjtkIe+/hFM7BZXl5VggiBOgskPZBXFcuxbi1A9vKrjeDZjdsKeexjIQ1slpdXlSBCoM4CSQ/k
|
||||
VcVyrFsLkL38aiN4duO2Qh77WEgDm+XlVSWIEKizQNIDeVUpnOv0znfz5mMZ0fd8Z38q0D8Ft5Pij/mr
|
||||
PwV3I4PjR4Yz2FLEaTLPMP4J4nwmUPmkCA5p/BMkHbKXawShAnUGtfkKKr9nIox2CeM/FjLD+CdIOmQv
|
||||
1whCBeoMavMVVH7PRBjtEsZ/LGSG8U+QdMherhGECtQZ1OYrqPyeiTDaJYz/WMgM458g6ZC9XCMIlU8h
|
||||
77vxnYzoe75nPs6YzV7N0K/35M2Md7X58RsZfKI3n7+WwTuftgS8/PHuuH/yZsZ451ti9xaoQJ1Bbb6C
|
||||
yu+ZCKNdwviPhcww/gmSDtnLNYJQgTqD2nwFld8zEUa7hPEfC5lh/BMkHbKXawShAnUGtfkKKr9nIox2
|
||||
CeM/FjLD+CdIOmQv1whCxzvfcgodo4ejzmBLEVyh9U8Q591boAJ1BrX5Ciq/ZyKMdgnjPxYyw/gnSDpk
|
||||
L9cIQgXqDGrzFVR+z0QY7RLGfyxkhvFPkHTIXq4RhArUGdTmK6j8nokw2iWM/1jIDOOfIOmQvVwjCL1G
|
||||
73w93/MdL36fcXL6hwwdmeDkTJBoK/gBnZz9MYMKHJyB8U9YM+L0jxnGP0HNFwXIJ0XgY/wTdDUvlhNB
|
||||
KBycgfFPQI4hcipwqogyTOOfUJmnG18COYZXHCEqfIx/AumcBzmGYQQn3HbEWMh2RBmm8U+ozNfalkuI
|
||||
EBU+xj+BdM6DHMMwghNuO2IsZDuiDNP4J1Tma23LJUSICh/jn0A650GOYRjBCbcdcS0X8k8ZXd/z3f4k
|
||||
Y2/vpYKj1zP2D17O0He12SsZe/PXMnif452P1l6ircB7Ie+Oe8dvFIx3viXGL1o7ovxwIMfwiiNEhY/x
|
||||
TyCd8yDHMIzghNuOGAvZjijDNP4Jlfla23IJEaLCx/gnkM55kGMYRnDCbUeMhWxHlGEa/4TKfK1tuYQI
|
||||
UeFj/BNI5zzIMQwjOOG2I67lQo53vs7bZXbiDIx/wpoR4xetHVGGafwTKvPyw4EcwyuOEBU+xj+BdM6D
|
||||
HMMwghNuO2IsZDuiDNP4J1Tma23LJUSICh/jn0A650GOYRjBCbcdMRayHVGGafwTKvO1tuUSIkSFj/FP
|
||||
IJ3zIMcwjOCE2464lgt5fd75ur7nO/2t4DeCavorLE5/nXF29ruMakDpn7olFotfZVSVwumKWPw64+ws
|
||||
eS6BvDJ0Eae/z6gi/q8gFTOIQO4jqAQROBfQUvKUCA5WHRXz8jiV3EdQ8RFlmFUE4ArWi5AFkJVw/gkS
|
||||
cfa7jEp+5whU6mP9x0LmCJwLaCl5SgQHq46KeXmcSu4jqPiIsZBhhDx7FDEW8lxEeZxK7iOo+IixkGGE
|
||||
PHsUcQ8t5G8yer7ne+qZjzP0ez55M+NVj8r86LUMfdWbv1og73yzw1cy9FVv9nIGhvsHL2WMd74MIpD7
|
||||
CCpBBM4FtJQ8JYKDVUfFvDxOJfcRVHxEGWYVAbiC9SJkAWQlnH+CRIxftCW4U26ZCOQ+gkoQgXMBLSVP
|
||||
ieBg1VExL49TyX0EFR8xFjKMkGePIsZCnosoj1PJfQQVHzEWMoyQZ48i7qGFHO98Y4FWoKXkKREcrDoq
|
||||
5uVxKrmPoOIjyjCrCMAVrBchCyAr4fwTJGL8oi3BnXLLRCD3EVSCCJwLaCl5SgQHq46KeXmcSu4jqPiI
|
||||
sZBhhDx7FDEW8lxEeZxK7iOo+IixkGGEPHsUcQ8t5PV557v/gUcyWt/z/Stjsfh5xulpwcnpLwzOTn+e
|
||||
sVj8IuPkrIDK2dnPM05SN0M4p6fg4giRY4icChyNEPmlRBRnQAsycgyjCOSCyrw8DvKdi5CVMP4JREBu
|
||||
yC+OOF0IxMf4J5Du5VSI4Lng8OxRxMUnpAJHI0R+KRHFGdCCjBzDKAK5oDIvj4N85yLGQjYjRH4pEcUZ
|
||||
0IKMHMMoArmgMi+Pg3znIsZCNiNEfikRxRnQgowcQx9xevrLjPvu+yij9T3frzOeuP2tjL29FzKOjl7M
|
||||
0DezoxczDg5eypjPX8zYm71UcPhixlwwm72UsZdoK2BIxHjnOwfkGE6MKM6AFmTkGEYRyAWVeXkc5DsX
|
||||
ISth/BOIgNyQXxwxftG6I4ozoAUZOYZRBHJBZV4eB/nORYyFbEaI/FIiijOgBRk5hlEEckFlXh4H+c5F
|
||||
jIVsRoj8UiKKM6AFGTmGPmK887XnwuyYJpxLud1LiCjOgBZk5BhGEcgFlXl5HOQ7FyErYfwTiIDckF8c
|
||||
MX7RuiOKM6AFGTmGUQRyQWVeHgf5zkWMhWxGiPxSIoozoAUZOYZRBHJBZV4eB/nORYyFbEaI/FIiijOg
|
||||
BRk5hj7iOr3zhd/z/T1jcfrLjOoOyhOCxekvMs7OfpXBOHoqxq0JyF4eVeRgxm0F+zgNuVROz36VQeXs
|
||||
7JcZQYS2zn6ZUcnvHFH5FFABSm6ccEIE8FlKnhTRMRadoZdLpRVRhulvEFQRVt5TMW5NQPbyqCIHM24r
|
||||
2MdpyKXSGtRYyDCiYyw6Qy+XSitiLGRzUGMhw4iOsegMvVwqrYixkM1B3b2FLLjvxr9nhN/zfZQx8Xu+
|
||||
lzOq7/leyQi/53stg5e/8c537nEacqlUtwvn7i2QVNSngApQcuOEEyKAz1LypIiOsegMvVwqrYgyTH+D
|
||||
oIqw8p6KcWsCspdHFTmYcVvBPk5DLpXWoMZChhEdY9EZerlUWhFjIZuDGgsZRnSMRWfo5VJpRYyFbA7q
|
||||
7i1kwXjna0/KV4xbE5C9PKpwhc7QP05DLpXqduHcvQWSivoUUAFKbpxwQgTwWUqeFNExFp2hl0ulFVGG
|
||||
6W8QVBFW3lMxbk1A9vKoIgczbivYx2nIpdIa1FjIMKJjLDpDL5dKK2IsZHNQYyHDiI6x6Ay9XCqtiLGQ
|
||||
zUHdvYUsuAbvfA888EiG/57vBz/5V8Zs8fOMk+Wfdi/BH34fCeYCPv7jT8FVflYAZ5H+9wqHpwU+Auej
|
||||
swLkPREY+gg+aAgiTs8KfMRp6q6AYRBxuCg4PivoipAhHAsaETKEbUUwjUkRXKVGiJwIvy0nibYCEci3
|
||||
FYHcRzAEOET4OROBs9+WnggMfQTbEkREVzkWsorgKjVC5ET4bRkLWUewLUFEdJVjIasIrlIjRE6E35ax
|
||||
kHUE2xJERFd59xby9JcZPd/zPXP7Wxl8z8fXe/sHBXx+R4VP9GazgsPDAj7s25sV8PHfwUEBEeOdb4kg
|
||||
onG7EnEXF4gIGQI/N40IGcK2IpjGpAiuUiNEToTflvGLVkewLUFEdJVjIasIrlIjRE6E35axkHUE2xJE
|
||||
RFc5FrKK4Co1QuRE+G0ZC1lHsC1BRHSVd28hxztfQs/tjgW6Q4QMgZ+bRoQMYVsRTGNSBFepESInwm/L
|
||||
+EWrI9iWICK6yrGQVQRXqREiJ8Jvy1jIOoJtCSKiqxwLWUVwlRohciL8toyFrCPYliAiusq7t5DX6J0v
|
||||
/J7vbxmLtBbnwe0Cbck4GBDXTMVzjFsTSp4UwcEcfKshl8qmEZMMqXgfByVvFgF8lpInRTgfoC1nOK2y
|
||||
VkR0Zirn3ZpQ8qQIDubgWw25VDaNmGRIxfs4KHmzCOCzlDwpwvkAbTnDaZW1IqIzUznv1oSSJ0VwMAff
|
||||
asilsmnEJEMq3sdByZtFAJ+l5EkRzgdoyxlOq6wVEZ2Zynm3JpQ8KYKDOfhWQy6VTSMmGS5+mXHjxjcy
|
||||
+r7nez6DNzNe9ajMjwr0VW8ukHe+mUBf9WYFGOq743jnq1sNuVQ2jZhkSMX7OCh5swjgs5Q8KcL5AG05
|
||||
w2mVtSKiM1M579aEkidFcDAH32rIpbJpxCRDKt7HQcmbRQCfpeRJEc4HaMsZTqusFRGdmcp5tyaUPCmC
|
||||
gzn4VkMulU0jJhlS8T4OSt4sAvgsJU+KcD5AW85wWmWtiOjMVM67NaHkSREczMG3GnKpbBoxyXC8862m
|
||||
UBBOSirn3ZpQ8qQIDubgWw25VDaNmGRIxfs4KHmzCOCzlDwpwvkAbTnDaZW1IqIzUznv1oSSJ0VwMAff
|
||||
asilsmnEJEMq3sdByZtFAJ+l5EkRzgdoyxlOq6wVEZ2Zynm3JpQ8KYKDOfhWQy6VTSMmGVLxPg5K3iwC
|
||||
+CwlT4pwPkBbznBaZa2I6MxUzrs1oeRJERzMwbcacqlsGjHJ8Bq984V/D8d/ZywWP8o4Pv1JxuHpjzNO
|
||||
BGenP8k4XPwo4/jspxmLxf/JOD37acZs8aOMk7OfZpye/iiDiPnpjzNOTn+UcXb2k4xpEac/yTg9/XHG
|
||||
kWC+TFmiivhpxmzxfzJ8xCL97xWmRSTaCtMiTn+U4SOYz9HZTzK4Jh/BnOGcnP0kI7jK+emPMo7OfprB
|
||||
Cas524jTxY8yOHMQwVWuF8G29ET4OVcRcpVEjIVsRoyFDCPYlp4IP+cqQq6SiLGQzYixkGEE29IT4edc
|
||||
RchVEjEWsoo4Of1ZwX1fz3j8qVsZvPPxPV/193A8n9F4M5PP7/TlT97n+GiPz/iqv4ejgI//MCRivPPt
|
||||
4gJpxPhFCyPYlp4IP+cqQq6SiLGQzYixkGEE29IT4edcRchVEjEWshkxFjKMYFt6Ivycqwi5SiLGQlYR
|
||||
451vLJCLmLJAGjF+0cIItqUnws+5ipCrJGIsZDNiLGQYwbb0RPg5VxFylUSMhWxGjIUMI9iWngg/5ypC
|
||||
rpKIsZBVxHV65+v7nu/Hgh8JSoWR0To9+0kG42BkVDzH+wBtXSyPIryPgla6+yUacqlMigDacobselVx
|
||||
HA4WRMiPVEMeRYjKGfIPs6Y35FQujgjOTGuSoa+ID3faExFdJRXnA7R1sTyK8D4KWnee/KQIoC1n2DV5
|
||||
DhZEjIVcotxpT0R0lVScD9DWxfIowvsoaN158pMigLacYdfkOVgQMRZyiXKnPRHRVVJxPkBbF8ujCO+j
|
||||
oHXnyU+KANpyhuHk08MucQ2+5xvvfKvWri2QVDhYEDF+0ZYod9oTEV0lFecDtHWxPIrwPgpad578pAig
|
||||
LWfYNXkOFkSMhVyi3GlPRHSVVJwP0NbF8ijC+yho3XnykyKAtpxh1+Q5WBAxFnKJcqc9EdFVUnE+QFsX
|
||||
y6MI76OgdefJT4oA2nKG4eTTwy4x3vmWiEZPxfkAbV0sjyK8j4LWri2QVDhYEDF+0ZYod9oTEV0lFecD
|
||||
tHWxPIrwPgpad578pAigLWfYNXkOFkSMhVyi3GlPRHSVVJwP0NbF8ijC+yho3XnykyKAtpxh1+Q5WBAx
|
||||
FnKJcqc9EdFVUnE+QFsXy6MI76OgdefJT4oA2nKG4eTTwy5xDd75wr+H4x8Zs8WnGfPTzzKOTj81oAV5
|
||||
cfZZBpWjs88yDhefZsA5PP00A59jwXxZXAI5hsipwCHi5PSzDCJAT8Tp2WcZVODM00BWCCK0JedBjmEU
|
||||
IQfjqMY/4eTss4wgwg9qnswzXARXQATyaRHiY1YlgRZkL7/MCJ4LDs+OTzWfVFwCOYbIqcAhQldCIkBP
|
||||
RLQtYyHjCPExq5JAC7KXX2YEzwWHZ8enmk8qLoEcQ+RU4BChKyERoCci2paxkHGE+JhVSaAF2csvM4Ln
|
||||
gsOz41PNJxWXQI4hcipwiNCVkAjQExFty11byPnpDzMW9301I/ier/p7OJ4uOHo+Y//gmYyjo+cz9g+e
|
||||
zdibP58xm93OODx8LmMPzJ7NmM+fzzg4eDZj7+iFgvHOF0f424Vz9xYIDgfjqMY/YfyiJRj/BFqQvZwI
|
||||
ngsOz45PNZ9UXAI5hsipwCFCV0IiQE9EtC1jIeMI8TGrkkALspdfZgTPBYdnx6eaTyougRxD5FTgEKEr
|
||||
IRGgJyLalrGQcYT4mFVJoAXZyy8zgueCw7PjU80nFZdAjiFyKnCI0JWQCNATEW3LXVvI8c63RM/twmHi
|
||||
+PTcLnIqcIjQK6zuNaMnwt8unLu3QHA4GEc1/gnjFy3B+CfQguzlRPBccHh2fKr5pOISyDFETgUOEboS
|
||||
EgF6IqJtGQsZR4iPWZUEWpC9/DIjeC44PDs+1XxScQnkGCKnAocIXQmJAD0R0baMhYwjxMesSgItyF5+
|
||||
mRE8FxyeHZ9qPqm4BHIMkVOBQ4SuhESAnohoW+7aQl6nd77we76/ZFSDLg926nAoODkrWCwKTs8KZosC
|
||||
KnCOTwuiiEWBj1ik/71CEHF0arEQEIEcQ+RU4HRFSAsycgzhUIHDwQDzYWLIeyIYHcM0/gmTIqjA0QhZ
|
||||
CeOfoBFnBcgxDCJQ4WP8E0jnPMgxjCLk2aOIsZDVfJgY8p4IRscwjX/CpAgqcDRCVsL4J2jEWMh6WwRE
|
||||
IMcQORU4XRHSgowcQzhU4HAwwHyYGPKeCEbHMI1/wqQIKnA0QlbC+CdoxFjIelsERCDHEDkVOF0R0oKM
|
||||
HEM4VGaL/8q4ceODjEefuJXBO1/1Pd/HGa3v+V7IoDKfv5DBJ3qHhy8I/Pd8QnaG+j3feOfbyQUq4GCA
|
||||
+TAx5D0RjI5hGv+ESRFU4GiErITxT9CI8YtWb4uACOQYIqcCpytCWpCRYwiHChwOBpgPE0PeE8HoGKbx
|
||||
T5gUQQWORshKGP8EjRgLWW+LgAjkGCKnAqcrQlqQkWMIhwocDgaYDxND3hPB6Bim8U+YFEEFjkbIShj/
|
||||
BI0YC1lvi4AI5BgipwKnK0JakJFjCIfKeOc7d7t+dlTgjAVaQipwOBhgPkwMeU8Eo2OYxj9hUgQVOBoh
|
||||
K2H8EzRi/KLV2yIgAjmGyKnA6YqQFmTkGMKhAoeDAebDxJD3RDA6hmn8EyZFUIGjEbISxj9BI8ZC1tsi
|
||||
IAI5hsipwOmKkBZk5BjCoQKHgwHmw8SQ90QwOoZp/BMmRVCBoxGyEsY/QSPGQtbbIiACOYbIqcDpipAW
|
||||
ZOQYwqFynd757r//kYzwe74fZPCH6IcnFnz9APno5LMMrfDn4ic/yIDDn6YTMU+eKxCh8ikR85PPMogA
|
||||
RMwEKt9aRGlBVnlHBM/OUZkPESrfsQhWgghABN9DeHkUkYQr4GP8E0hvyKkQwXMJh2cngvkQofIpEawE
|
||||
EYCIsZB3I4KVIAIQMRayBhFjIe9GBCtBBCBiLGQNInZtIXnx7fme74mnvpXR+J5v/5kM/oqO6nu+5zL2
|
||||
925n7AFas2czVI4h3/ONd76EXVsgODw7R2U+RKh8xyJYCSIAEeMXrQYRYyHvRgQrQQQgYixkDSLGQt6N
|
||||
CFaCCEDEWMgaROzaQo53viX8XHR2TFM4OnFwDy8QHJ6dozIfIlS+YxGsBBGAiPGLVoOIsZB3I4KVIAIQ
|
||||
MRayBhFjIe9GBCtBBCBiLGQNInZtIa/TO9/Nm49mBN/zLRafFpz+IMP8W98Ji8UPMk7PPs1gHIuzTwsW
|
||||
3884Ofs043Dxg4zT008ziGCTjgXbijg9Tf97iUkRyOG0IkAh0zpZ/kvgSyDvieBg/EvmfRFlCIylK0JA
|
||||
CzIRi9TNmBJhViWBlh/CtIixkBWnFQEKmVa1LRMiONhYyHbEWMiK04oAhUyr2pYJERxsLGQ7YixkxWlF
|
||||
gEKmVW1LT0RB3/d838jgv7pycPBMBv+JFirz+XMZB7NnM/hPtMwObxfMns1QsvwnWuZHz2fs7z+dMd75
|
||||
dnOBCoeDjV+0dsRYyIrTigCFTKvalgkRHGwsZDtiLGTFaUWAQqZVbcuECA42FrIdMRay4rQiQCHTqral
|
||||
J6JgvPMtMel2iZh0u5MiuOZJEcjhtCJAIdOauECFw8HGL1o7YixkxWlFgEKmVW3LhAgONhayHTEWsuK0
|
||||
IkAh06q2ZUIEBxsL2Y4YC1lxWhGgkGlV29ITUXAN3vnuf+CRjMb3fD/6W8bs4KOM+UnB4el/FBx9L2M+
|
||||
/yhjtvg44+jsBxmz2bczjk4+ypgtPsmYL76fcXj4cUYjYv7djKOjjzL6Ir6TMT/5fsbh4UcFyXyF+dl/
|
||||
Zszm381oRCz/aVmiEXH6nYz5yX9mRBGH38k4Ov4oY7b4dkYV8XFGFfHdjPnxfxYcfpRRRXw/Y72Iw9Pv
|
||||
FRz/RwZXeXjycUYV8UlGIyL9cq1ARHWVEnGUFmYJImYnH2ccnX0/Yzb7JKOKKNtytPh+RitiLORYyPMR
|
||||
YyHHQpaIsZBjIVcRd20h5yffzljc93bG4089ncE7n37Pd/tbGfo9396tDH0z0y/8pAKHj/YObxfQEugX
|
||||
fvIXe8AZ73y7uEBVxPhFSxFlW8Yv2jJCr9JFjIUcCzkWcizkWMhylS7iri3keOe74+2OBUoRFy5QFTF+
|
||||
0VJE2Zbxi7aM0Kt0EWMhx0KOhRwLORayXKWLuGsLeZ3e+cLv+f6Ucbz4dsZ88XHG0Wl67HM4XHyccXL6
|
||||
SQZ3sDj9JIMKnMNFEi5xfFowd6C1rQjOPF8+0RLHp59kTIqoVCUCZ0CrYXj2SQYVOByDCI56JOBxNo4o
|
||||
PkQAWuw6cgx7InQgcngW6eQ0eS7h5UGFg+GjEQLSvdxfJRyGqREOtLYVwZmrybNaEyIqVYnAGdBqGHZt
|
||||
S4ngqNwpj7NxRPEhAtAaC1mD1rYiOHM1eVZrQkSlKhE4A1oNw65tKREclTvlcTaOKD5EAFpjIWvQ2lYE
|
||||
Z64mz2pNiKhUJQJnQKthePFVsgA3bryV8eiTtzJ456u+5/t6xsTv+Z7JODy8nRF+zyfyif8Ox3jniyIq
|
||||
VYnAGdBqGHb8FhDBUflR4HE2jig+RABaLDRyDHsidCByeBZp/KIlcOZq8qzWhIhKVSJwBrQahl3bUiI4
|
||||
KnfK42wcUXyIALTGQtagta0IzlxNntWaEFGpSgTOgFbDsGtbSgRH5U55nI0jig8RgNZYyBq0thXBmavJ
|
||||
s1oTIipVicAZ0GoYXnyVLMB451tNasrtmu1JoLWtCM68swvEMYjgqPwo8DgbRxQfIgAtFho5hj0ROhA5
|
||||
PIs0ftESOHM1eVZrQkSlKhE4A1oNw65tKREclTvlcTaOKD5EAFpjIWvQ2lYEZ64mz2pNiKhUJQJnQKth
|
||||
2LUtJYKjcqc8zsYRxYcIQGssZA1a24rgzNXkWa0JEZWqROAMaDUML75KFuAavPPdf//NjOB7voPDjzL4
|
||||
k/u9w4J9Aa3ZYcHeUcHBrOBoUbA/K4BzOC+YHxfszQuI0D+VnxQhPocpJeO4gBZk5BiuGSGgBRk5hhoh
|
||||
c4aDCh/ms14Eo+O+GC93qhFyKcg14rRgzQhpzeYFyH0EFTio8MGZLFqcBzlnZlA+gmdnGjpniRgLmcB8
|
||||
1otgdNwX4+VONUIuBblGjIUcC7kC81kvgtFxX4yXO9UIuRTkGjEW8l5ayPnJxxmLk7czou/5nvowY2/v
|
||||
qYKjWxn7+wV8frd/8HTG3vxWhn60B2jNCmjpq55EjHe+JSAjx3DNCAEtyMgx1AiZMxxU+DCf9SIYHffF
|
||||
eLlTjZBLQa4R4xdtLOQKzGe9CEbHfTFe7lQj5FKQa8RYyLGQKzCf9SIYHffFeLlTjZBLQa4RYyHvpYUc
|
||||
73zdtyucsUDLCJkzHFT4MJ/1Ihgd98V4uVONkEtBrhHjF20s5ArMZ70IRsd9MV7uVCPkUpBrxFjIsZAr
|
||||
MJ/1Ihgd98V4uVONkEtBrhFjIe+lhbxO73w93/NVHxl8VHBUcHT07Yzqj9U/ymBAi8UnGbPFRxkngtnh
|
||||
xxn8yf389KOCtEwrHB9/OyOK0D+5l4iTAv6V8urP7Ms/KmwtEdWf09uI6k/uS8TxScHh/OOMRoT8q+DH
|
||||
J9/OIGJxmo69RBXBpxsScVwwn39coN9MfJRBxMnJtzM0YpGGv8TB7OMMIg4XH2XwL6LP598uOE0pSxDB
|
||||
P7Eni29ncEIi+LfWGxHyr9P7bdGIWYGP0G2RCN2WsZBjIcdCjoUcC5m3ZSzklS1k4dy48UbGxO/5ns44
|
||||
OrqVQUU/0Zvdyjg8LGh9z3cr4+CgoPE933jn28kFkojxi1Zvy/hFGwuZt2Us5FjIHDEWst6WsZBXtpCF
|
||||
M975lhgLNH2BJGL8otXbMn7RxkLmbRkLORYyR4yFrLdlLOSVLWThXIN3vvsfuJnR+p7vLxl7B1/P2J9/
|
||||
VHAkmH8jY2/+zQz+FHxv8e8Z+7OvZewd/XsGf96/d/KtjP3Drxc0IlJxib2jb2VMjPhmxv7hNwSltX8s
|
||||
mBZR/iy/8vlmgYvYOy7gAadFMI0g4qSgL+LrGfrVAjj6RkG6xAwfgZw5a8S3MpRDBFfpI5BrBENwEWyL
|
||||
RFSHF4yFXPqMhUwRYyE7I8ZC1hFuW4DfFh+BnDlrxFjIzohruJDzjzO6vue7/WGGfs+nn9/J93zBF358
|
||||
tHcooCXQL/wOCuCMd76dXCAimEYQwW9BV4T7uQH+58ZHIGfOGjF+0TojxkLWEW5bgN8WH4GcOWvEWMjO
|
||||
iLGQdYTbFuC3xUcgZ84aMRayM+IaLuR452vPZSzQ+EUzEcg1giG4CLZFIqrDC8ZCLn3GQqaIsZCdEWMh
|
||||
6wi3LcBvi49Azpw1YixkZ8Q1XMhr9M4Xfs/3x4yj429kHM6/njE/+kaGtg6/nnFy8s2Mg9nXMk4W38rQ
|
||||
ysm3MmaHX8s4Pv5mxnz+jQKJoDU7/HoGcgwXi29lUOEYHIyj4szjVBHlPD6Cp5jNvpZxfPLNDHyO0kDO
|
||||
gxZk5BhqhIRyDA42TzPPkMMfHX8zgwfkkTEMxsIw8cGZLNI5DydUQzcWIjiYmUlCYyxE+LEQIRwOhg+H
|
||||
55ZJ5zzeUCvR5MdCjoU8PxYihMPB8OHw3DLpnMcbaiWa/FjIsZDnx0KEcDgYPhyeWyad83hDrUSTHwuZ
|
||||
Ir6ecePG6xl93/M9mcHnd9X3fPJBnvtEr/qeTzAr8OT5UYG+O453voQqYjcWqDGW8Ys2ftHORfAUTJ5h
|
||||
4mPGnkALMnIMNUJCOQYHY0k4PIvEA/LIGAZjYZj44EwW6ZyHE6qhGwsRHMzMJKExFiL8WIgQDgfDh8Nz
|
||||
y6RzHm+olWjyYyHHQp4fCxHC4WD4cHhumXTO4w21Ek1+LGSKGO98Y4FWoAUZOYYaIaEcg4PxK8Ph+SXi
|
||||
AXlkDIOxMEx8cCaLdM7DCdXQjYUIDmZmktAYCxF+LEQIh4Phw+G5ZdI5jzfUSjT5sZBjIc+PhQjhcDB8
|
||||
ODy3TDrn8YZaiSY/FnIs5PmxECEcDoYPh+eWSec83lAr0eTHQqaI6/POd//9D2eE3/N9tWD+QcHh+xn7
|
||||
h1/N2JsX7M/ez9g7+iBjf5aKS+wdFShHVcIRZxBGYChyDXUR+GAuj1PJMZwQsZ/MM6ZFvJdRVYSjqgsj
|
||||
9peTWaIiixzDg/cytOIjxEedyZJ0JfuIjqdgGlGETlXkaghnQoTe+6QIVQlHnEEY4U6ooS4CH8zlcSo5
|
||||
hhMidLzTIsZCJppE6FRFroZwJkTovU+KUJVwxBmEEe6EGuoi8MFcHqeSYzghQsc7LWIsZKJJhE5V5GoI
|
||||
Z0KE3vukCFUJR5xBGOFOqKEuAh/M5XEqOYYTInS80yKCqyw4OXk5I/qeT/8ejicF8kHe/qMZVUXe1YS8
|
||||
v/9YBhxQtSAjF4x3voRKjuGEiLuwQKgujOCXqCKLHMPxizY1QlXCEWcQRrgTaqiLwAdzeZxKjuGECB3v
|
||||
tIixkIkmETpVkashnAkReu+TIlQlHHEGYYQ7oYa6CHwwl8ep5BhOiNDxTosYC5loEqFTFbkawpkQofc+
|
||||
KUJVwhFnEEa4E2qoi8AHc3mcSo7hhAgd77SI4CoLxjtfHrTMRSclHFUJh9F3RbjRu9tVFT6YR7c7IeIu
|
||||
LBCqCyP4JarIIsdw/KJNjVCVcMQZhBHuhBrqIvDBXB6nkmM4IULHOy1iLGSiSYROVeRqCGdChN77pAhV
|
||||
CUecQRjhTqihLgIfzOVxKjmGEyJ0vNMixkImmkToVEWuhnAmROi9T4pQlXDEGYQR7oQa6iLwwVwep5Jj
|
||||
OCFCxzstIrjKgmvwzhd+z/f7jOOjDzKY1MFRwZHg8LDg4KSAcSwWBVRmJ4LDguPjAiIALcjIMfQRHIOD
|
||||
cVQO34hIZ8uYFDEvCCJOTgoOknCF2aKAChyNOC6Yzy1osbXIMYwiRIXP/Eiw9QiZBvPhUjRCHvlkUbB/
|
||||
UMBdcDvcF+ONIuSaiPBXqRFjIcdC5gh55LGQ5yLkkadFjIUcC7kChj6CY3AwjsrhGxHyyNMitr+QH2Yc
|
||||
33gpY93v+Z7KoOI/0Ts8fCqDz/jAfP5UBmTk+vI33vnORezKAkmE/APPrwygxQ8HcgyjCH5uiBi/aAlj
|
||||
IcdC5gh55LGQ5yLkkadFjIUcC7kChj6CY3AwjsrhGxHyyNMitr+Q451vLND5CJaDdQkXSCLkH3h+ZQAt
|
||||
fjiQYxhF8HNDxPhFSxgLORYyR8gjj4U8FyGPPC1iLORYyBUw9BEcg4NxVA7fiJBHnhax/YW8Pu984fd8
|
||||
f87Y23tP8H4Bf/gN9j4o2H+vgD9E55sJOLP3CoSzt/9+ARFzwYYR8sfzrQhpzd4vQO4j9t/LUA4qfIgA
|
||||
tCAjT6fN6IoQcPhGhDwychehzwWH8QYRnNDPeVIE2DRCVPgY/wTknCeIYHRBBPPZMIL7akRwlW5bfMRY
|
||||
yN5tuTgCbBohKnyMfwJyzhNEMLoggvlsGMF9NSK4SrctPmIsZO+2XBwBNo0QFT7GPwE55wkiGF0QwXw2
|
||||
jOC+GhFcpdsWH3GpC/nVjInf831FwOd3fM9XKnv7jxXsPZGxv/94BhXgv+er5PJ3fox3viX87fqIS10g
|
||||
HyHg8I0IeWTkLkKfCw7jDSI4oZ/zpAiwaYSo8DH+Ccg5TxDB6III5rNhBPfViOAq3bb4iLGQvdtycQTY
|
||||
NEJU+Bj/BOScJ4hgdEEE89kwgvtqRHCVblt8xFjI3m25OAJsGiEqfIx/AnLOE0QwuiCC+WwYwX01IrhK
|
||||
ty0+4lIXcrzz1aMfC5QAGXm0QD5CwOEbEfLIyF2EPhccxhtEcEI/50kRYNMIUeFj/BOQc54ggtEFEcxn
|
||||
wwjuqxHBVbpt8RFjIXu35eIIsGmEqPAx/gnIOU8QweiCCOazYQT31YjgKt22+IixkL3bcnEE2DRCVPgY
|
||||
/wTknCeIYHRBBPPZMIL7akRwlW5bfMSlLuT1eedrfc/3ccZ3/uv3GXtHaeGWODh8r0D+8Jt/aXnv8L2M
|
||||
2cn7Gfwh+t7igwyueXbyQcbe8t+RXuH4/YyDOfhqxt6xQHYC+bQInqIR8UGBi9hL5hnpf6/Av7CtHB8h
|
||||
4IsN5JMiDo4/yOBfBeefqyhCVnO2+CCjing/o4oo34s0ItJ1rKBznhRx+F5GtC3H72dEEX5QbMtYyLGQ
|
||||
/RFjIcdCZvRsi0aMhWxd5VjIcxFpektM+p5vb/ZEwcGjGXzPt3dwq2D+ZMbBwWMZ88NbGXsz8FjGfP5E
|
||||
Bt/z7c2fKkjvkRnjnW8VMX7R8K8ixi/aWMgViBgLuYzwgxoLmZD+9wpcpXJ8RLAtUyLGQi4j/KDGQiak
|
||||
/70CV6kcHxFsS1dEmt4S451vLNB6C1Qixi/aMsIPim0ZCzkWsj9iLORYyIyebdGIsZCtqxwLeS4iTW+J
|
||||
a/DOd//9NzNa3/P9MWNv703BO4K3C/YFe+8W7L9ZwFeA+28UaAUOqrcKNEKgrW1FyOG3FbGf+BlMA6xl
|
||||
qCo52H46ZAYz3+zMqvIRYEsRTEMPT8QkQyocjD1xEaQ35B1nbkQItLWtCDn8tiLGQsYRTEMPT8QkQyoc
|
||||
jD1xEaQ35B1nbkQItLWtCDn8tiLGQsYRTEMPT8QkQyocjD1xEaQ35B1nbkQItLWtCDn8tiK2v5ClcnLy
|
||||
XEb4Pd9XM/z3fPpmphX7Pd/e/uMFew5KvthwvPNtIWL7C4RKDqY/Acx8szOrykeALUUwDT08EZMMqXAw
|
||||
9sRFkN6Qd5y5ESHQ1rYi5PDbihgLGUcwDT08EZMMqXAw9sRFkN6Qd5y5ESHQ1rYi5PDbihgLGUcwDT08
|
||||
EZMMqXAw9sRFkN6Qd5y5ESHQ1rYi5PDbitj+QpbKeOfLcwkmhYorJEKgrW1FyOG3FbH9BUIlB9OfAGa+
|
||||
2ZlV5SPAliKYhh6eiEmGVDgYe+IiSG/IO87ciBBoa1sRcvhtRYyFjCOYhh6eiEmGVDgYe+IiSG/IO87c
|
||||
iBBoa1sRcvhtRYyFjCOYhh6eiEmGVDgYe+IiSG/IO87ciBBoa1sRcvhtRWx/IUvlGrzz3bz5lQz/Pd93
|
||||
/+v3GQdH72TooA/ezjg4Ktg/fDNj7+DdAhnQbPFeBpW92bsZ+7M3Mw6O38nQCAEtyMgxbETIMTgYR+Xw
|
||||
rYg3MiZGvJURRMxO3s3YP3gjg68E9tL/XgFOFfFOxsH8LcHbGbRYO+Q+ggocVPjgTBYtyCqXM/dFlGkw
|
||||
HyZWRZRHnp28l0FFI+R2uC/G24oYCzkW8qKIMg3mw8SqiPLIYyHPR4yFHAs5FrJcLhyucn78Ukbre77f
|
||||
ZDz1zPsZs9njGfsHj2bsHT2ZQYVP9PYOHis4fCLjcPZ4xmz2WMZeomUI+Wj+ZMb+/lcyxjufidiRBSKi
|
||||
/APPrwy/O7TYNuQ+ggocVPjgTBYtyCqXM/dFlGkwHyZWRZRHHr9o5yPGQo6FHAtZLhdOFVHuiyVhbWhx
|
||||
78h9BBU4qPDBmSxakFUuZ+6LKNNgPkysiiiPPBbyfMSOLGS5yvHOd8Ho5XrYCa5QIwS0ICPHsBGht3sd
|
||||
F4iI8g88vzL87tBi25D7CCpwUOGDM1m0IKtcztwXUabBfJhYFVEeefyinY8YCzkWcixkuVw4VUS5L5aE
|
||||
taHFvSP3EVTgoMIHZ7JoQVa5nLkvokyD+TCxKqI88ljI8xE7spDlKq/BO1/4Pd+fMvb2XnV4vWBfoK3X
|
||||
BG8U7L9WEHFeLVDOhhEiV46PoLWlCG0B5LsfAWj1yHs4xj+BVo+8hyPOaw7Bc8ZCXnkEoNUj7+EY/wRa
|
||||
PfIejjivOQTPGQt55RGAVo+8h2P8E2j1yHs44rzmEDxnLGQdUbDu93xfLkjvZBl8fqcVOHy0x5d8tAT6
|
||||
8R/f8wlnvPOtWluK0BZAvvsRgFaPvIdj/BNo9ch7OOK85hA8ZyzklUcAWj3yHo7xT6DVI+/hiPOaQ/Cc
|
||||
sZBXHgFo9ch7OMY/gVaPvIcjzmsOwXPGQtYRBeOdz8wl4IwFuvIIQKtH3sMx/gm0euQ9HHFecwieMxby
|
||||
yiMArR55D8f4J9DqkfdwxHnNIXjOWMgrjwC0euQ9HOOfQKtH3sMR5zWH4DljIeuIgmvwznfz5pcz/Pd8
|
||||
3/nsdxk8/MH+awUHr2fsAXn42eyNjP391zL2ln/WvgQVOKjwwRnQgowcwzUjlk+0BC3IDbmPOHgjg/ng
|
||||
QwRkvgDAsCcCH5wBLcjIMdzdCOQHr2dARq4cHyE+YyHPRYyFXDsC+VjI2nws5FVFIB8LWZvv7kIm4RLH
|
||||
x7czer7n4+/PqP4ejiczqPCJ3sHBoxnzw8cz9mbA/z0chcxf46HvjuOdbycXqKjwwRnQgowcw92NQD5+
|
||||
0WrzsZBXFYF8LGRtPhbyqiKQj4WszXd3IZNwifHOt5qdH72fnfjgDGhBRo7hmhHjF+2qIpCPX7TafCzk
|
||||
VUUgHwtZm4+FvKoI5GMha/PdXcgkXOIavPPdf/9DGdX3fN/MqP4eDv48e2BgYGBgYGBgAPA93+2M8Hu+
|
||||
dzL29r4kkI/tPHhXM/VOePl45xsYGBgYGBgYWBfjnW9gYGBgYGBg4POP6/POF3zP993PfpdxcPBaxt7e
|
||||
K4LyqI0/BXec2ez1DCoAFT5eTguy52wvIvGXoAU2jEC+XgRXACZFUIFDC3D4nggqgCFUHCsnArLnVPJS
|
||||
Aajw8XJakD3nWkUsby2BFtgwAvl6ESwJmBRBBQ4twOF7IqgAhlBxrJwIyJ5TyUsFoMLHy2lB9pxrFbG8
|
||||
tQRaYMMI5OtFsCRgUgQVOLQAh++JoAIYQsWxciIge04lLxWACh8vpwXZc65VxPLWEmiBDSOQT4qYz5/O
|
||||
CL/ney+Dvz9D/5IMeTOjwid6tMDh4eMZ+BhCAh8IYjje+ZagNel2QU8E8vUiuAIwKYIKHFqAw/dEUAEM
|
||||
oeJYORGQPaeSlwpAhY+X04LsOdcqYnlrCbTAhhHI14tgScCkCCpwaAEO3xNBBTCEimPlRED2nEpeKgAV
|
||||
Pl5OC7LnXKuI5a0l0AIbRiBfL4IlAZMiqMChBTh8TwQVwBAqjpUTAdlzKnmpAFT4eDktyJ5zrSKWt5ZA
|
||||
C2wYgXxSxHjnW8LPBaDCx8tpQfac7UVMuF3QE4F8vQiuAEyKoAKHFuDwPRFUAEOoOFZOBGTPqeSlAlDh
|
||||
4+W0IHvOtYpY3loCLbBhBPL1IlgSMCmCChxagMP3RFABDKHiWDkRkD2nkpcKQIWPl9OC7DnXKmJ5awm0
|
||||
wIYRyNeLYEnApAgqcGgBDt8TQQUwhIpj5URA9pxKXioAFT5eTguy51yriOWtJdACG0YgnxRxDd75wu/5
|
||||
/pCxt3fb4UUHQ0h4WfCcgNbzAji0AM4vCGhhiJwKHCJeEtACtNaLQIUPLUALMi0MtxXBI9PCcMMI5OtF
|
||||
cJWAFkDuI6jA2TDCy30ELYAzE6OFIXIqcIgI5kxrvQhU+NACtCDTwnBbETwyLQw3jEC+XgRXCWgB5D6C
|
||||
CpwNI7zcR9ACODMxWhgipwKHiGDOtNaLQIUPLUALMi0MtxXBI9PCcMMI5OtFcJWAFkDuI6jA2TDCy30E
|
||||
LYAzE6OFIXIqcIgI5kxrvQhU+NACtCDTwtBHFJycPJXR9z3fIwL7rnYXMd75VlgvAhU+tAAtyLQw3FYE
|
||||
j0wLww0jkK8XwVUCWgC5j6ACZ8MIL/cRtADOTIwWhsipwCEimDOt9SJQ4UML0IJMC8NtRfDItDDcMAL5
|
||||
ehFcJaAFkPsIKnA2jPByH0EL4MzEaGGInAocIoI501ovAhU+tAAtyLQw3FYEj0wLww0jkK8XwVUCWgC5
|
||||
j6ACZ8MIL/cRtADOTIwWhsipwCEimDOt9SJQ4UML0IJMC0MfUTDe+cxcaHG7cGgBnCeNHg4RXCEtQGu9
|
||||
CFT40AK0INPCcFsRPDItDDeMQL5eBFcJaAHkPoIKnA0jvNxH0AI4MzFaGCKnAoeIYM601otAhQ8tQAsy
|
||||
LQy3FcEj08Jwwwjk60VwlYAWQO4jqMDZMMLLfQQtgDMTo4UhcipwiAjmTGu9CFT40AK0INPCcFsRPDIt
|
||||
DDeMQL5eBFcJaAHkPoIKnA0jvNxH0AI4MzFaGCKnAoeIYM601otAhQ8tQAsyLQx9RME1eOcLvuf7zqe/
|
||||
ydjbezbj4OC2QTWOgtmsYH+/gBYVOLSA8U8whATkGNKiAocWMP4JhpAQyCdFQDaEhECOCh9DSKAF2RAS
|
||||
dj8COWRDSIBj6gk4A0NIQO4jqMChBYx/giEkIMeQFhU4tIDxTzCEhEA+KQKyISQEclT4GEICLciGkLD7
|
||||
EcghG0ICHFNPwBkYQgJyH0EFDi1g/BMMIQE5hrSowKEFjH+CISQE8kkRkA0hIZCjwscQEmhBNoSE3Y9A
|
||||
DtkQEuCYegLOwBASkPsIKnBoAeOfYAgJyDGkRQUOLWD8EwwhIZBPioBsCAmBHNXx8eMZjz35dAbvfNX3
|
||||
fPL3cLh3vqOjAirg4KBgPi8whARakA1hifHOl2AICYF8UgRkQ0gI5KjwMYQEWpANIWH3I5BDNoQEOKae
|
||||
gDMwhATkPoIKHFrA+CcYQgJyDGlRgUMLGP8EQ0gI5JMiIBtCQiBHhY8hJNCCbAgJux+BHLIhJMAx9QSc
|
||||
gSEkIPcRVODQAsY/wRASkGNIiwocWsD4JxhCQiCfFAHZEBICOSp8DCGBFmRDSNj9COSQDSEBjqkn4AwM
|
||||
IQG5j6AChxYw/gmGkIAcQ1pU4NACxj/BEBIC+aQIyIaQEMhRjXe+JWhRgUMLGP8EQ0hAjiEtKnBoAeOf
|
||||
YAgJgXxSBGRDSAjkqPAxhARakA0hYfcjkEM2hAQ4pp6AMzCEBOQ+ggocWsD4JxhCAnIMaVGBQwsY/wRD
|
||||
SAjkkyIgG0JCIEeFjyEk0IJsCAm7H4EcsiEkwDH1BJyBISQg9xFU4NACxj/BEBKQY0iLChxawPgnGEJC
|
||||
IJ8UAdkQEgI5KnwMIYEWZENI2P0I5JANIQGOqSfgDAwhAbmPoAKHFjD+CYaQgBxDWlTg0ALGP8EQEgL5
|
||||
pAjIhpAQyFFdg3e+vu/5yjvf3t4zDvbh9/aeFqCiRQUOLWD8EwwhATmGtKjAoQWMf4IhJATySRGQDSEh
|
||||
kKPCxxASaEE2hITdj0AO2RAS4Jh6As7AEBKQ+wgqcGgB459gCAnIMaRFBQ4tYPwTDCEhkE+KgGwICYEc
|
||||
FT6GkEALsiEk7H4EcsiGkADH1BNwBoaQgNxHUIFDCxj/BENIQI4hLSpwaAHjn2AICYF8UgRkQ0gI5Kjw
|
||||
MYQEWpANIWH3I5BDNoQEOKaegDMwhATkPoIKHFrA+CcYQgJyDGlRgUMLGP8EQ0gI5JMiIBtCQiAvqpOT
|
||||
xzOeeva5jBfe+GrGD3/+uwz+Wy3+nW9v74sCKuBhwUMCQ0ig5Z0F451vBUNICOSTIiAbQkIgR4WPISTQ
|
||||
gmwICbsfgRyyISTAMfUEnIEhJCD3EVTg0ALGP8EQEpBjSIsKHFrA+CcYQkIgnxQB2RASAjkqfAwhgRZk
|
||||
Q0jY/QjkkA0hAY6pJ+AMDCEBuY+gAocWMP4JhpCAHENaVODQAsY/wRASAvmkCMiGkBDIUeFjCAm0IBtC
|
||||
wu5HIIdsCAlwTD0BZ2AICch9BBU4tIDxTzCEBOQY0qIChxYw/gmGkBDIJ0VANoSEQF5U450vgxYVOLSA
|
||||
8U8whATkGNKiAocWMP4JhpAQyCdFQDaEhECOCh9DSKAF2RASdj8COWRDSIBj6gk4A0NIQO4jqMChBYx/
|
||||
giEkIMeQFhU4tIDxTzCEhEA+KQKyISQEclT4GEICLciGkLD7EQyBR+YBARxTT2A+wBASkPsIKnBoAeOf
|
||||
YAgJyDGkRQUOLWD8EwwhIZBPioBsCAmBHBU+hpBAC7IhJOx+BHLIhpAAx9QTcAaGkIDcR1CBQwsY/wRD
|
||||
SECOIS0qcGgB459gCAmBfFIEZENICORFdQ3e+aLv+T77TcbewbMF9jlv7x0I9gV+ZLNnC6jAQYWPcgS0
|
||||
ICOHs3MR0oI8E0BucC6OwBnQgozcR1CBgwqO8U+gBTmQT4qATAtyIEeFj3IEtCAjh3MvRkgL8ljIBJwh
|
||||
04IcyFHhoxwBLcjI4dyLEdKCPBYyAWfItCAHclT4KEdACzJyOPdihLQgr7WQJydPZjz17PMZL7zxYcYn
|
||||
n/4049HH38zYmz1SsP/lgr0vFVCZC/S9TTiHXy6YCWhBPhJgON75lqAFGTmcaRHSgrzWAikHZ0ALMnIf
|
||||
QQUOKjjGP4EW5EA+KQIyLciBHBU+yhHQgowczr0YIS3IYyETcIZMC3IgR4WPcgS0ICOHcy9GSAvyWMgE
|
||||
nCHTghzIUeGjHAEtyMjh3IsR0oK81kKOd74V3FyUgwof5QhoQUYOZ+cipAV5rQVSDs6AFmTkPoIKHFRw
|
||||
jH8CLciBfFIEZFqQAzkqfJQjoAUZOZx7MUJakMdCJuAMmRbkQI4KH+UIaEFGDudejJAW5LGQCThDpgU5
|
||||
kKPCRzkCWpCRw7kXI6QFea2FvAbvfOH3fL/N2Nt7TPCU4EnBEwJajwv4w2/kvnJLgApnQARk5N7QV1Dh
|
||||
g7M/M2Tk3pAKKnyIALQgI/eGVDgGKnw4PBGQkXtDX0GFD86AdMjIvSEVVJzZR9CCjNwb+goqfHAmixZk
|
||||
5N6QCk+KCmdABGTk3tBXUOGDsz8zZOTekAoqfIgAtCAj94ZUOAYqfDg8EZCRe0NfQYUPzoB0yMi9IRVU
|
||||
nNlH0IKM3Bv6Cip8cCaLFmTk3pAKT4oKZ0AEZOTe0FdQ4YOzPzNk5N6QCip8iAC0ICP3hlQ4Bip8ODwR
|
||||
kJF7Q19BhQ/OgHTIyL0hFVSc2UfQgozcG/oKKnxwJosWZOTekApPigpnQARk5N7QV1Dhg7M/M2Tk3pAK
|
||||
KnyIALQgI/eGVMoxTk6+lKHvfG9+mPHhx9/P+NKjr2VUX+/x+d2DAl/x3/PddKDl5fI6ON75zp8ZMnJv
|
||||
SAUVPkQAWpCRe0MqHAMVPhyeCMjIvaGvoMIHZ0A6ZOTekAoqzuwjaEFG7g19BRU+OJNFCzJyb0iFJ0WF
|
||||
MyACMnJv6Cuo8MHZnxkycm9IBRU+RABakJF7QyocAxU+HJ4IyMi9oa+gwgdnQDpk5N6QCirO7CNoQUbu
|
||||
DX0FFT44k0ULMnJvSIUnRYUzIAIycm/oK6jwwdmfGTJyb0gFFT5EAFqQkXtDKhwDFT4cngjIyL2hr6DC
|
||||
B2dAOmTk3pAKKs7sI2hBRu4NfQUVPjiTRQsycm9IhSdFhTMgAjJyb+grqPDB2Z8ZMnJvSAUVPkQAWpCR
|
||||
e0Mq5Rjjnc/MxVe4MFQ4AyIgI/eGvoIKH5z9mSEj94ZUUOFDBKAFGbk3pMIxUOHD4YmAjNwb+goqfHAG
|
||||
pENG7g2poOLMPoIWZOTe0FdQ4YMzWbQgI/eGVHhSVDgDIiAj94a+ggofnP2ZISP3hlRQ4UMEoAUZuTek
|
||||
wjFQ4cPhiYCM3Bv6Cip8cAakQ0buDamg4sw+ghZk5N7QV1DhgzNZtCAj94ZUeFJUOAMiICP3hr6CCh+c
|
||||
/ZkhI/eGVFDhQwSgBRm5N6TCMVDhw+GJgIzcG/oKKnxwBqRDRu4NqaDizD6CFmTk3tBXUOGDM1m0ICP3
|
||||
hlR4UlQ4AyIgI/eGvoIKH5z9mSEj94ZUUOFDBKAFGbk3pFKOcQ3e+aLv+fTv4ZCJHzwueKpAJy4Dmt0q
|
||||
2H+igAHtP1owe7oAZwZ98ITAR8h814wQTIrQVSDisQLl+AjBvkAjHi3QExIhHCIObhUwH8iNCDnhphFy
|
||||
lcxnWoT47D9eEETMnirwV9kTMRZyGSFXqRwf4beFiGDOwiGicZVCbkTICTeNkKtkPtMixGcs5B0iBJMi
|
||||
dAhEyFUqx0f4bSEimLNwiGhcpZAbEXLCTSPkKpnPtAjxGQt5hwjBpAgdAhFylcrxEX5biAjmDKcc4+T0
|
||||
qQz+Ho7br76X8fbXPsn45nd+mPGF+5/N0Je/o0cK+CCPV72DBwsaX/jJq978ZsHBlwt41SNivPPdIUJv
|
||||
l4i7v0BENH4LhNyIkBNuGiFXyXymRYjP+EW7Q4RgUoQOgQi5SuX4CL8tRARzFg4RjasUciNCTrhphFwl
|
||||
85kWIT5jIe8QIZgUoUMgQq5SOT7CbwsRwZyFQ0TjKoXciJATbhohV8l8pkWIz1jIO0QIJkXoEIiQq1SO
|
||||
j/DbQkQwZzjlGOOdbyzQWgtEROO3QMiNCDnhphFylcxnWoT4jF+0O0QIJkXoEIiQq1SOj/DbQkQwZ+EQ
|
||||
0bhKITci5ISbRshVMp9pEeIzFvIOEYJJEToEIuQqleMj/LYQEcxZOEQ0rlLIjQg54aYRcpXMZ1qE+IyF
|
||||
vEOEYFKEDoEIuUrl+Ai/LUQEc4ZTjnEN3vn6vufD+isXQ+ayaSWAJ1PhhFQ8hwrwrW1VgG9tqwJ8i8p6
|
||||
Y/Hw5PUqwLfWqwTw5PUqATyZynqT961tVYBvbasCfIvKemPx8OT1KsC31qsE8OT1KgE8mcp6k/etbVWA
|
||||
b22rAnyLynpj8fDk9SrAt9arBPDk9SoBPJnKepP3rW1VgG+tU/nCFx7PeO6l1zJefOtrGe9+4zsZ993/
|
||||
RIa+2PFm1vggD4684dmP+RJoQUYuhuOd73xrWxXgW9uqAN+ist5YPDx5vQrwrfUqATx5vUoAT6ay3uR9
|
||||
a1sV4FvbqgDforLeWDw8eb0K8K31KgE8eb1KAE+mst7kfWtbFeBb26oA36Ky3lg8PHm9CvCt9SoBPHm9
|
||||
SgBPprLe5H1rWxXgW+tUxjtffyWAJ1PhhFQ8hwrwrW1VgG9tqwJ8i8p6Y/Hw5PUqwLfWqwTw5PUqATyZ
|
||||
ynqT961tVYBvbasCfIvKemPx8OT1KsC31qsE8OT1KgE8mcp6k/etbVWAb22rAnyLynpj8fDk9SrAt9ar
|
||||
BPDk9SoBPJnKepP3rW1VgG+tU9ndd76bN7+U0fie77NfZewdfKVAn1BAi//Ksz68XOrs0QIqcFDhY/wT
|
||||
aEFGjmEUkYQr4GP8Ew4eLbh7EcinRYgcZ0ALMnIfQQUOKnyMfwItyA35WhFMjBbkhtxF4KNyAS3IyDG8
|
||||
4gh5dnyMf8JYyATjn0ALckO+VgQTowW5IXcR+KhcQAsycgyvOEKeHR/jnzAWMsH4J9CC3JCvFcHEaEFu
|
||||
yF0EPioX0IKMHMMrjpBnx8f4J+zuQhbO6emXMh6/dTvjudffz+ALv8UDT2bs7X+xgDez/QcL5g8X6Nub
|
||||
vOEdPlQwE9CCfPRwwf4DBeOdb4ndXSCR4wxoQUbuI6jAQYWP8U+gBbkhXyuCidGC3JC7CHxULqAFGTmG
|
||||
Vxwhz46P8U8YC5lg/BNoQW7I14pgYrQgN+QuAh+VC2hBRo7hFUfIs+Nj/BPGQiYY/wRakBvytSKYGC3I
|
||||
DbmLwEflAlqQkWN4xRHy7PgY/4TdXcjCGe987bmoCh/jn0ALMnIMo4iO293dBRI5zoAWZOQ+ggocVPgY
|
||||
/wRakBvytSKYGC3IDbmLwEflAlqQkWN4xRHy7PgY/4SxkAnGP4EW5IZ8rQgmRgtyQ+4i8FG5gBZk5Bhe
|
||||
cYQ8Oz7GP2EsZILxT6AFuSFfK4KJ0YLckLsIfFQuoAUZOYZXHCHPjo/xT9jdhSyc3X3n6/ueT86h/96v
|
||||
G5C2QHn4ahy0qMChBYx/giEkIMeQFhU4tIDxTzCEBOQY0qKyoRwOLYAzMIQE5BjSogKHFjD+CYaQgBxD
|
||||
WlTg0ALGP8EQEpBjSIsKHFrA+CcYQgJyDGlRgUMLGP8EQ0hAjiEtKnBoAeOfYAgJyDGkRWVDORxaAGdg
|
||||
CAnIMaRFBQ4tYPwTDCEBOYa0qMChBYx/giEkIMeQFhU4tIDxTzCEBOQY0qIChxYw/gmGkIAcQ1pU4NAC
|
||||
xj/BEBKQY0iLyoZyOLQAzsAQEpBjSIsKHFrA+CcYQgJyDGlRgUMLGP8EQ0hAjiEtKnBoAeOfYAgJyDGk
|
||||
RQUOLWD8EwwhATmGtKjAoQWMf4IhJCDHkBaVDeVwaAGcCx544LGM5195M+PFNz/MuPXCmxnzo5sZe3sP
|
||||
CHjponK/IH+xV7/h0YKcP+ZLyF8HJghnvPOdhyEkIMeQFpUN5XBoAZyBISQgx5AWFTi0gPFPMIQE5BjS
|
||||
ogKHFjD+CYaQgBxDWlTg0ALGP8EQEpBjSIsKHFrA+CcYQgJyDGlRgUMLGP8EQ0hAjiEtKhvK4dACOAND
|
||||
SECOIS0qcGgB459gCAnIMaRFBQ4tYPwTDCEBOYa0qMChBYx/giEkIMeQFhU4tIDxTzCEBOQY0qIChxYw
|
||||
/gmGkIAcQ1pUNpTDoQVwBoaQgBxDWlTg0ALGP8EQEpBjSIsKHFrA+CcYQgJyDGlRgUMLGP8EQ0hAjiEt
|
||||
KnBoAeOfYAgJyDGkRQUOLWD8EwwhATmGtKhsKIdDC+BcMN75MqjAoQWMf4IhJCDHkBYVOLSA8U8whATk
|
||||
GNKisqEcDi2AMzCEBOQY0qIChxYw/gmGkIAcQ1pU4NACxj/BEBKQY0iLChxawPgnGEICcgxpUYFDCxj/
|
||||
BENIQI4hLSpwaAHjn2AICcgxpEVlQzkcWgBnYAgJyDGkRQUOLWD8EwwhATmGtKjAoQWMf4IhJCDHkBYV
|
||||
OLSA8U8whATkGNKiAocWMP4JhpCAHENaVODQAsY/wRASkGNIi8qGcji0AM7AEBKQY0iLChxawPgnGEIC
|
||||
cgxpUYFDCxj/BENIQI4hLSpwaAHjn2AICcgxpEUFDi1g/BMMIQE5hrSowKEFjH+CISQgx5AWlQ3lcGgB
|
||||
nAt27p0v+p7v019lVI8K7IO1WlQYEBXPCSrAt6hMigC+ta0K8K1tVYBvUbmEsVxCxKQK8C0qk87sK8C3
|
||||
qEyKAL61rQrwrW1VgG9RuYSxXELEpArwLSqTzuwrwLeoTIoAvrWtCvCtbVWAb1G5hLFcQsSkCvAtKpPO
|
||||
7CvAt6hMigC+ta0K8K2NKvfdKHj2hVczXnrraxlPP/t8xnz+YEbrXY2KfKKnr3q8/AFakJHL6+B45zvf
|
||||
2lYF+Na2KsC3qFzCWC4hYlIF+BaVSWf2FeBbVCZFAN/aVgX41rYqwLeoXMJYLiFiUgX4FpVJZ/YV4FtU
|
||||
JkUA39pWBfjWtirAt6hcwlguIWJSBfgWlUln9hXgW1QmRQDf2lYF+NZGlfHOl+E5QQX4FpVJEcC3tlUB
|
||||
vrWtCvAtKpcwlkuImFQBvkVl0pl9BfgWlUkRwLe2VQG+ta0K8C0qlzCWS4iYVAG+RWXSmX0F+BaVSRHA
|
||||
t7ZVAb61rQrwLSqXMJZLiJhUAb5FZdKZfQX4FpVJEcC3tlUBvrVRZefe+e6//8GM1vd8v8mo9DiapARa
|
||||
kAnzFf88xq0JyF7uI6hwMOOWQAsy8p2NAL5FBXkQ4VVUAC0vp9ITYWaSQAuyl1O5kgjj1gRkL/cRVDiY
|
||||
cUugBRn5zkYA36KCPIjwKiqAlpdT6YkwM0mgBdnLqVxJhHFrArKX+wgqHMy4JdCCjHxnI4BvUUEeRHgV
|
||||
FUDLy6n0RJiZJNCC7OVUriTCuDUB2ct9BBUOZtwSaEFGvqMRN248lPHMC69m8M73+BO3Mg4PH8jQr+4U
|
||||
8q5m651w8vHOtwJk5DsbAXyLCvIgwquoAFpeTqUnwswkgRZkL6dyJRHGrQnIXu4jqHAw45ZACzLynY0A
|
||||
vkUFeRDhVVQALS+n0hNhZpJAC7KXU7mSCOPWBGQv9xFUOJhxS6AFGfnORgDfooI8iPAqKoCWl1PpiTAz
|
||||
SaAF2cupXEmEcWsCspf7CCoczLgl0IKMfEcjxjtfhp+dcWsCspf7CCoczLgl0IKMfGcjgG9RQR5EeBUV
|
||||
QMvLqfREmJkk0ILs5VSuJMK4NQHZy30EFQ5m3BJoQUa+sxHAt6ggDyK8igqg5eVUeiLMTBJoQfZyKlcS
|
||||
YdyagOzlPoIKBzNuCbQgI9/ZCOBbVJAHEV5FBdDycio9EWYmCbQgezmVK4kwbk1A9nIfQYWDGbcEWpCR
|
||||
72jEzr3z9X3Px782jBGgxchoEcYfdVOBgwofWoAWZFoYbhjBv2jNhdHCMIhgS7h4WiCIYJOIoAUmRWBI
|
||||
iwocWgBnsgwhATmGtHguOLRAEMFUGQIVOD0R3DL3TgvDIAIVPrQALci0MNwwggfkkWlhGEQwXgZOCwQR
|
||||
XC4RtMCkCAxpUYFDC+BMliEkIMeQFs8FhxYIIpgqQ6ACpyeCW+beaWEYRKDChxagBZkWhhtG8IA8Mi0M
|
||||
gwjGy8BpgSCCyyWCFpgUgSEtKnBoAZzJMoQE5BjS4rng0AJBBFNlCFTg9ERwy9w7LQyDCFT40AK0INPC
|
||||
cMMIHpBHpoVhEMF4GTgtEERwuUTQAiXixo0vZ/h3vseeeCqj9c7HmYMTMihgCAnIxXC8860Q3C6GQcTl
|
||||
LVBfBIa0qMChBXAmyxASkGNIi+eCQwsEEUyVIVCB0xPBLXPvtDAMIlDhQwvQgkwLww0jeEAemRaGQQTj
|
||||
ZeC0QBDB5RJBC0yKwJAWFTi0AM5kGUICcgxp8VxwaIEggqkyBCpweiK4Ze6dFoZBBCp8aAFakGlhuGEE
|
||||
D8gj08IwiGC8DJwWCCK4XCJogUkRGNKiAocWwJksQ0hAjiEtngsOLRBEMFWGQAVOTwS3zL3TwjCIQIUP
|
||||
LUALMi0MN4zgAXlkWhgGEYyXgdMCQQSXSwQtUCLGO18GHFT40AK0INPCcMOI4HYxDCIub4H6IjCkRQUO
|
||||
LYAzWYaQgBxDWjwXHFogiGCqDIEKnJ4Ibpl7p4VhEIEKH1qAFmRaGG4YwQPyyLQwDCIYLwOnBYIILpcI
|
||||
WmBSBIa0qMChBXAmyxASkGNIi+eCQwsEEUyVIVCB0xPBLXPvtDAMIlDhQwvQgkwLww0jeEAemRaGQQTj
|
||||
ZeC0QBDB5RJBC0yKwJAWFTi0AM5kGUICcgxp8VxwaIEggqkyBCpweiK4Ze6dFoZBBCp8aAFakGlhuGEE
|
||||
D8gj08IwiGC8DJwWCCK4XCJogRKxc+98fd/zGZep4PSmvkWMiIQeeQ8nwIbyHoyITux+RI+8hxNgQ3kP
|
||||
RkQndj+iR97DCbChvAcjohM7ERF8zxe+8901jHe+bux+RI+8hxNgQ3kPRkQndj+iR97DCbChvAcjohO7
|
||||
H9Ej7+EE2FDegxHRiZ2IGO98dwkjIqFH3sMJsKG8ByOiE7sf0SPv4QTYUN6DEdGJ3Y/okfdwAmwo78GI
|
||||
6MROROzcO1/4Pd/PM/b2/k3g9AMDAwMDAwMDAw733Xgow/89HOOdb2BgYGBgYGDgc4LxzjcwMDAwMDAw
|
||||
8PnHzr3zhd/z/Tpjb+8+AS9/X3Cg5ck9FePWBGQvDyrGpAnIXt5TMW5NQPbyoGJMmoDs5T0V49YEZC/v
|
||||
qRi3BN+i4uW+4lVUAC0v76kYtyYge3lQMSZNQPbynopxawKylwcVY9IEZC/vqRi3JiB7eU/FuCX4FhUv
|
||||
9xWvogJoeXlPxbg1AdnLg4oxaQKyl/dUjFsTkL08qBiTJiB7eU/FuDUB2ct7KsYtwbeoeLmveBUVQMvL
|
||||
eyrGrQnIXh5UjEkTkL28p2LcmoDs5UHFmHzhgQceyXj+lTczXnzraxmtd75TAQ5nAio3BKQDT6YiJxzv
|
||||
fCtA9vKeinFrArKXBxVj0gRkL++pGLcmIHt5T8W4JfgWFS/3Fa+iAmh5eU/FuDUB2cuDijFpArKX91SM
|
||||
WxOQvTyoGJMmIHt5T8W4NQHZy3sqxi3Bt6h4ua94FRVAy8t7KsatCcheHlSMSROQvbynYtyagOzlQcWY
|
||||
NAHZy3sqxq0JyF7eUzFuCb5Fxct9xauoAFpe3lMxbk1A9vKgYkyagOzlPRXj1gRkLw8qxmS8811YMW5N
|
||||
QPbyoGJMmoDs5T0V49YEZC8PKsakCche3lMxbk1A9vKeinFL8C0qXu4rXkUF0PLynopxawKylwcVY9IE
|
||||
ZC/vqRi3JiB7eVAxJk1A9vKeinFrArKX91SMW4JvUfFyX/EqKoCWl/dUjFsTkL08qBiTJiB7eU/FuDUB
|
||||
2cuDijFpArKX91SMWxOQvbynYtwSfIuKl/uKV1EBtLy8p2LcmoDs5UHFmDQB2ct7KsatCcheHlSMye69
|
||||
8/V9z4eePxUmFdDi4f3p4VCBgwoOZ+2JoAKHKQQcIiDTghzIUeFDC9CCTAvD9SIgI4cccKjAYbw9EVwc
|
||||
HCpwUMEhAtCCjBxDOFTgoIJj/BNoQUaOIRwqcFDBYT49EVTgcDsBhwjItCAHclT40AK0INPCcL0IyMgh
|
||||
BxwqcBhvTwQXB4cKHFRwiAC0ICPHEA4VOKjgGP8EWpCRYwiHChxUcJhPTwQVONxOwCECMi3IgRwVPrQA
|
||||
Lci0MFwvAjJyyAGHChzG2xPBxcGhAgcVHCIALcjIMYRDBQ4qOMY/gRZk5BjCoQIHFRzm0xNBBQ63E3CI
|
||||
gEwLciBHhQ8tQAsyLQyDiPLsp4svZNy6/VLGi29+TfBhRuudzxv2VIBvucp451sBMi3IgRwVPrQALci0
|
||||
MFwvAjJyyAGHChzG2xPBxcGhAgcVHCIALcjIMYRDBQ4qOMY/gRZk5BjCoQIHFRzm0xNBBQ63E3CIgEwL
|
||||
ciBHhQ8tQAsyLQzXi4CMHHLAoQKH8fZEcHFwqMBBBYcIQAsycgzhUIGDCo7xT6AFGTmGcKjAQQWH+fRE
|
||||
UIHD7QQcIiDTghzIUeFDC9CCTAvD9SIgI4cccKjAYbw9EVwcHCpwUMEhAtCCjBxDOFTgoIJj/BNoQUaO
|
||||
IRwqcFDBYT49EVTgcDsBhwjItCAHclT40AK0INPCMIgozz7e+YycChxUcBh9TwQVOFxYwCECMi3IgRwV
|
||||
PrQALci0MFwvAjJyyAGHChzG2xPBxcGhAgcVHCIALcjIMYRDBQ4qOMY/gRZk5BjCoQIHFRzm0xNBBQ63
|
||||
E3CIgEwLciBHhQ8tQAsyLQzXi4CMHHLAoQKH8fZEcHFwqMBBBYcIQAsycgzhUIGDCo7xT6AFGTmGcKjA
|
||||
QQWH+fREUIHD7QQcIiDTghzIUeFDC9CCTAvD9SIgI4cccKjAYbw9EVwcHCpwUMEhAtCCjBxDOFTgoIJj
|
||||
/BNoQUaOIRwqcFDBYT49EVTgcDsBhwjItCAHclT40AK0INPCMIgoz76773zh93y/zNjbmwuOBUcOvuUr
|
||||
JwIqnuMrwLc2rADf2rACfGvDCvCtDSvAt3zlEq7y8xExqQJ8a8MK8K0NK8C3NqwA3/KVS7jKz0fEpArw
|
||||
rQ0rwLc2rADf2rACfMtXLuEqPx8RkyrAtzasAN9ap/Jv9z+U8dxLr2fwGd+zL7+d8eVHn8g4nN2fUb1N
|
||||
8pLt30F5pQa0ICPHUF7+xjvfCr61YQX41oYV4FsbVoBv+colXOXnI2JSBfjWhhXgWxtWgG9tWAG+5SuX
|
||||
cJWfj4hJFeBbG1aAb21YAb61YQX4lq9cwlV+PiImVYBvbVgBvrVOZbzzZYwF2rwCfGvDCvAtX7mEq/x8
|
||||
REyqAN/asAJ8a8MK8K0NK8C3fOUSrvLzETGpAnxrwwrwrQ0rwLc2rADf8pVLuMrPR8SkCvCtDSvAt9ap
|
||||
7O47382bj2T47/m+98OfZxzOzzLmRzcuRupm+Mp9gqCCKgBkL/cVr6ISALI39BWvogJ8i4o39BVUASB7
|
||||
eU/FuDUB2ct9xauoBIDsDX3FaJvwZCre0FdQBYDs5b7iVVQCQPaGvuJVVIBvUfGGvoIqAGQv76kYtyYg
|
||||
e7mveBWVAJC9oa8YbROeTMUb+gqqAJC93Fe8ikoAyN7QV7yKCvAtKt7QV1AFgOzlPRXj1gRkL/cVr6IS
|
||||
ALI39BWjbcKTqXhDX0EVALKX+4pXUQkA2Rv6ildRAb5FxRuWyuH8NOPhL9/K4P87u/3Kuxm88z1x69mM
|
||||
46MvZlRvZv5djQrvc7zhmTe/BFqQkYvheOc7D8je0Fe8igrwLSre0FdQBYDs5T0V49YEZC/3Fa+iEgCy
|
||||
N/QVo23Ck6l4Q19BFQCyl/uKV1EJANkb+opXUQG+RcUb+gqqAJC9vKdi3JqA7OW+4lVUAkD2hr5itE14
|
||||
MhVv6CuoAkD2cl/xKioBIHtDX/EqKsC3qHhDX0EVALKX91SMWxOQvdxXvIpKAMje0FeMtglPpuINfQVV
|
||||
AMhe7iteRSUAZG/oK15FBfgWFW9YKuOdz1QunFRVQRUAspf7ildRCQDZG/qKV1EBvkXFG/oKqgCQvbyn
|
||||
YtyagOzlvuJVVAJA9oa+YrRNeDIVb+grqAJA9nJf8SoqASB7Q1/xKirAt6h4Q19BFQCyl/dUjFsTkL3c
|
||||
V7yKSgDI3tBXjLYJT6biDX0FVQDIXu4rXkUlAGRv6CteRQX4FhVv6CuoAkD28p6KcWsCspf7ildRCQDZ
|
||||
G/qK0TbhyVS8oa+gCgDZy33Fq6gEgOwNfcWrqADfouINS+U6vfP57/leeefrGb/5878yfvbbv2b84vd/
|
||||
z/j57/5mQOunv/1rxi//8I+Mn/7fv2Q0Kr//ewYRxjaBlkYEhlTkGKh+9ru/ZuCsLYn45R/+ntEwdBVU
|
||||
+OAMaEFG7g2rSjkGql/8PlktgXPVKhGV/M4RqPDB+RcCWlwTcm+oFTd5nAEtjQgMteLHcucIztMydJWx
|
||||
kO0IP/nlNo6FdGO5cwTnaRm6yljIdoSf/HIbx0K6sdw5gvO0DF1lLGQrgpel7//41xkvvPHVDP7LLM++
|
||||
8m7Go48/mTGf38hovJk1Kv59rn7by6AFGbkYjne+ZUsidmSBOAaq8Yu2qvix3DmC87QMXWUsZDvCT365
|
||||
jWMh3VjuHMF5WoauMhayHeEnv9zGsZBuLHeO4DwtQ1cZC9mK4GVpvPPdYVJjgWrDqlKOgWr8oq0qfix3
|
||||
juA8LUNXGQvZjvCTX27jWEg3ljtHcJ6WoauMhWxH+Mkvt3EspBvLnSM4T8vQVcZCtiJ4WboG73x8z/f0
|
||||
i29kPP/6B4L3Mzj0C298IOB5ClC99NaHGchfeutrGc+99n4GFTitiAJakIkIDOFwMI7K4cOIYhhEVKoS
|
||||
oc4pZQVaFXmdCI5KBI8DmUf2hlWFsRCx7bG89WFG9ezbjhAVPjiTRbp/ZAwnRhTQgkxEYAiHg3FUDh9G
|
||||
FMMgolKVCHUeCzkW8rwhHA7GUTl8GFEMg4hKVSLUeSzkWMjzhnA4GEfl8GFEMQwiKlWJUOe1FvLlt7+e
|
||||
8co738igghw8+fRzGScn92VEb2ZagcP7nHnPS6AFGTmGi4LxzndBRDEMIipViVDntRaIChxUHJUIHgcy
|
||||
j+wNqwpjIWLbYxm/aC1DOByMo3L4MKIYBhGVqkSo81jIsZDnDeFwMI7K4cOIYhhEVKoSoc5jIcdCnjeE
|
||||
w8E4KocPI4phEFGpSoQ6r7WQvOGNd758cxdOigqcVkQBLchEBIZwOBhH5fBhRDEMIipViVDntRaIChxU
|
||||
HJUIHgcyj+wNqwpjIWLbYxm/aC1DOByMo3L4MKIYBhGVqkSo81jIsZDnDeFwMI7K4cOIYhhEVKoSoc5j
|
||||
IcdCnjeEw8E4KocPI4phEFGpSoQ6r7WQvOFdp3e+++//YsbtV97OePqltzKee/XdjGdefiuDb/6eBfJf
|
||||
lL796rsZz7z0VsZzr76XURmWChxVvfx2hjoLaCl5rQiOijOP4yO8YVWRsRDBWIgQ8O9pQ0ZeGdoIjqEH
|
||||
IwIQAVkj/JlLBY6qJEKdBbQge0Nf0Qh5do4KeBxWq2cscFDho8cmggeU87QMSwWOqqaMBTmGPREcFWce
|
||||
x0d4w6oiYyGCsRAh4FIgI68MbQTH0IMRAYiArBH+zKUCR1USoc4CWpC9oa9oxFjIMIKj4szj+AhvWFVk
|
||||
LEQwFiIEXApk5JWhjeAYejAiABGQNcKfuVTgqEoi1FlAC7I39BWNGAsZRnBUnHkcH+ENq4qMhQjGQoSA
|
||||
S4GMvDK0ES+k18cMeSvl673HnrqdcXr6bxnV324i72GbVoBvucp450vwEd6wqshYiGAsRAjWWyCOoQcj
|
||||
AhABWSP8mUsFjqokQp0FtCB7Q1/RCHl2jgp4HFarZyxwUOGjxyaCB5TztAxLBY6qpowFOYY9ERwVZx7H
|
||||
R3jDqiJjIYKxECHgUiAjrwxtBMfQgxEBiICsEf7MpQJHVRKhzgJakL2hr2jEWMgwgqPizOP4CG9YVWQs
|
||||
RDAWIgRcCmTklaGN4Bh6MCIAEZA1wp+5VOCoSiLUWUALsjf0FY0YCxlGcFSceRwf4Q2rioyFCMZChIBL
|
||||
gYy8MrQR450vT8qPvlTgqEquUJ0FtJS8VgRHxZnH8RHesKrIWIhgLEQI1lsgjqEHIwIQAVkj/JlLBY6q
|
||||
JEKdBbQge0Nf0Qh5do4KeBxWq2cscFDho8cmggeU87QMSwWOqqaMBTmGPREcFWcex0d4w6oiYyGCsRAh
|
||||
4FIgI68MbQTH0IMRAYiArBH+zKUCR1USoc4CWpC9oa9oxFjIMIKj4szj+AhvWFVkLEQwFiIEXApk5JWh
|
||||
jeAYejAiABGQNcKfuVTgqEoi1FlAC7I39BWNGAsZRnBUnHkcH+ENq4qMhQjGQoSAS4GMvDK0Edfpne/B
|
||||
B29mfPGLD2Y8/MiXMh588KGMhx9+JOOhh24W3Hw446bgwYduZkD+4oMPZTzyyJcyvvjggxk+4ubDj2Ro
|
||||
hIAWZOQYVhEllGM8+NBDGRyVw3dFuLG0IsqzEwFoQVb5xREcg4NxVA6vEZzZRTTG8sgjGajSyTLS8Qum
|
||||
jKURIcfg2Tkqh6cFWeUugooeQ1QcFWeygojqzGMhx0IuQQuyyl0EFT2GqDgqzmQFEdWZx0KOhVyCFmSV
|
||||
uwgqegxRcVScyQoiqjOPhZw4edmf07MvZuzv32dQfWwXfH5HxXP8Z3zAk6nIy99457tDhBtLK6I8OxGA
|
||||
FmSVXxzBMTgYR+XwGsGZXURjLOMXbSzkBWNRw4snz8E4KofXCM7sIhpjGQs5FvKCsajhxZPnYByVw2sE
|
||||
Z3YRjbGMhRwLecFY1DCYvOzPeOcbC1TIKr84gmNwMI7K4TWCM7uIxljGL9pYyAvGooYXT56DcVQOrxGc
|
||||
2UU0xjIWcizkBWNRw4snz8E4KofXCM7sIhpjGQs5FvKCsahhMHnZnx1959tb/P+SyCDfrTyxJQAAAABJ
|
||||
RU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
413
p2isPSX_CDToolkit/ScriptCheck.vb
Normal file
413
p2isPSX_CDToolkit/ScriptCheck.vb
Normal file
@@ -0,0 +1,413 @@
|
||||
Imports IO
|
||||
Imports IO.Directory
|
||||
|
||||
Public Class ScriptCheck
|
||||
|
||||
Public files As New List(Of String)
|
||||
Public CurFilenum As Integer
|
||||
Public RRes As ScriptFile
|
||||
Public OverallDial As Integer
|
||||
Public CurDial As Integer
|
||||
|
||||
Public CurX, CurY
|
||||
Public CurColor As Color
|
||||
Public CurShadColor As Color
|
||||
Public IsNewWin As Boolean
|
||||
Public FontData As List(Of Byte)
|
||||
|
||||
Public Colors = New List(Of Color)
|
||||
|
||||
'Public CurEow As Integer
|
||||
Public NextEowPointer As Integer
|
||||
|
||||
Public SelectionCount As Integer
|
||||
Public Cursel As Integer
|
||||
|
||||
|
||||
Dim drawSurface As Bitmap
|
||||
|
||||
|
||||
Private Sub ScriptCheck_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
FontData = My.Computer.FileSystem.ReadAllBytes("D:\Games\PSX\Persona.2.Innocent.Sin\Export\0059_00_0_0_U").ToList
|
||||
Colors.Add(Color.Black)
|
||||
Colors.Add(Color.FromArgb(238, 238, 238))
|
||||
Colors.Add(Color.FromArgb(24, 24, 24))
|
||||
Colors.Add(Color.FromArgb(156, 156, 156))
|
||||
Colors.Add(Color.FromArgb(49, 49, 49))
|
||||
Colors.Add(Color.FromArgb(246, 82, 131))
|
||||
Colors.Add(Color.FromArgb(24, 24, 24))
|
||||
Colors.Add(Color.FromArgb(148, 213, 255)) 'Persona2 TEXT PALETTE
|
||||
Colors.Add(Color.FromArgb(24, 24, 49))
|
||||
Colors.Add(Color.FromArgb(131, 230, 131))
|
||||
Colors.Add(Color.FromArgb(24, 24, 24))
|
||||
Colors.Add(Color.FromArgb(230, 230, 74))
|
||||
Colors.Add(Color.FromArgb(49, 49, 24))
|
||||
Colors.Add(Color.FromArgb(255, 131, 49))
|
||||
Colors.Add(Color.FromArgb(49, 24, 24))
|
||||
|
||||
drawSurface = New Bitmap(PictureBox1.ClientSize.Width * 5, PictureBox1.ClientSize.Height * 5)
|
||||
PictureBox1.Image = drawSurface
|
||||
|
||||
|
||||
FilesLoad.PerformClick()
|
||||
|
||||
End Sub
|
||||
'Private Sub PictureBox1_Paint(sender As Object, e As PaintEventArgs) Handles PictureBox1.Paint
|
||||
' e.Graphics.InterpolationMode = Drawing2D.InterpolationMode.NearestNeighbor
|
||||
' e.Graphics.ScaleTransform(3, 3)
|
||||
' e.Graphics.DrawImage(drawSurface, 0, 0)
|
||||
'End Sub
|
||||
|
||||
|
||||
Private Sub FilesLoad_Click(sender As Object, e As EventArgs) Handles FilesLoad.Click
|
||||
|
||||
files = IO.Directory.GetFiles(Dir.Text, "*.TRNSL").ToList
|
||||
|
||||
CurFilenum = 0
|
||||
CurDial = 0
|
||||
If files.Count = 0 Then MsgBox("No TRNSL files in init directory!") : Exit Sub
|
||||
InitFile(0)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub InitFile(ByVal id As Integer)
|
||||
|
||||
Dim a = New ScriptTools
|
||||
|
||||
RRes = New ScriptFile
|
||||
a.ParseResource(My.Computer.FileSystem.ReadAllBytes(files(id)), RRes)
|
||||
' PictureBox2.Parent = PictureBox1
|
||||
|
||||
NextEowPointer = 0
|
||||
OverallDial = RRes.textPointers.Count
|
||||
CurDial = 0
|
||||
|
||||
PrintText()
|
||||
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub PrintText()
|
||||
|
||||
If IsNewWin Then ClearWinAndReset()
|
||||
|
||||
UpdateCurFileDial()
|
||||
|
||||
ShowDialodID(CurDial)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub ClearWinAndReset()
|
||||
|
||||
PictureBox1.BackColor = Color.Transparent
|
||||
PictureBox1.Invalidate()
|
||||
drawSurface = New Bitmap(PictureBox1.ClientSize.Width * 5, PictureBox1.ClientSize.Height * 5)
|
||||
PictureBox1.Image = drawSurface
|
||||
|
||||
CurX = 4
|
||||
CurY = 4
|
||||
|
||||
IsNewWin = False
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Public Sub UpdateCurFileDial()
|
||||
|
||||
CurFileText.Text = "f: " & CurFilenum + 1 & " / " & files.Count
|
||||
CurFileName.Text = Split(files(CurFilenum), "\").ToList.Last
|
||||
CurrentDial.Text = "w: " & CurDial + 1 & " / " & OverallDial
|
||||
|
||||
ProgressBar1.Value = CurDial / OverallDial * 100
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Public Sub ShowDialodID(ByVal id As Integer)
|
||||
|
||||
Dim m As List(Of Byte) = RRes.Text
|
||||
|
||||
|
||||
Dim a = RRes.textPointers(id) 'counter
|
||||
DemoText.Text = ""
|
||||
|
||||
If NextEowPointer <> 0 Then a = NextEowPointer
|
||||
|
||||
Do
|
||||
Dim c = get2(m, a)
|
||||
If c = &H122E Then 'Парсим код цвета текста
|
||||
CurColor = Colors(get2(m, a + 2))
|
||||
CurShadColor = Colors(get2(m, a + 2) + 1)
|
||||
a += 4
|
||||
GoTo endlineTest
|
||||
End If
|
||||
|
||||
|
||||
If c = &H1101 Then DemoText.Text &= vbCrLf : CurX = 3 : CurY += 14 : a += 2 : GoTo endlineTest ' Перенос строки
|
||||
If c = &H1131 Then DemoText.Text &= " " : CurX += 4 : a += 2 : GoTo endlineTest ' Табуляция (+12 пикс)
|
||||
|
||||
If c = &H1208 Then DemoText.Text &= "[SelectionMenu][" & get2(m, a + 2) & "]" : SelectionCount = get2(m, a + 2) : Cursel = 0 : a += 4 : GoTo endlineTest ' Пауза 1с при воспроизведении диалога
|
||||
|
||||
If c = &H1121 Then
|
||||
For vv = 0 To 3 : DrawChar(Asc("Суоу"(vv))) : Next
|
||||
a += 2 : GoTo endlineTest
|
||||
End If
|
||||
'Имя игрока
|
||||
If c = &H1120 Then
|
||||
For vv = 0 To 4 : DrawChar(Asc("Тацуя"(vv))) : Next
|
||||
a += 2
|
||||
GoTo endlineTest 'Фамилия игрока
|
||||
End If
|
||||
|
||||
'Кликуха
|
||||
If c = 4372 Then
|
||||
For vv = 0 To 3 : DrawChar(Asc("Тацу"(vv))) : Next
|
||||
a += 2
|
||||
GoTo endlineTest 'Кликуха
|
||||
End If
|
||||
|
||||
If c = &H1106 Then
|
||||
If get2(m, a + 2) = &H1102 Then
|
||||
If get2(m, a + 4) = &H1103 Then 'Закрыть окна диалога!
|
||||
IsNewWin = True
|
||||
NextEowPointer = 0
|
||||
Exit Do
|
||||
Else
|
||||
NextEowPointer = a + 4 'След диалог без закрытия окна
|
||||
Exit Do
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
If c = &H1109 Then
|
||||
If get2(m, a + 2) = &H1102 Then
|
||||
If get2(m, a + 4) = &H1103 Then 'Выбор варианта ответа!
|
||||
IsNewWin = True
|
||||
SelectionCount = 0 : Cursel = 0
|
||||
a += 6 : GoTo endlineTest
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
If c = &H1103 Then Exit Do
|
||||
|
||||
If c And &H1000 Then 'COMMAND PARSE
|
||||
|
||||
Dim comLen = c >> 8
|
||||
comLen = comLen And &HF 'command length check
|
||||
'Dim comCode = c And &HFF
|
||||
|
||||
a += comLen * 2 'Jump command
|
||||
GoTo endlineTest
|
||||
|
||||
|
||||
|
||||
ElseIf c And &H2000 Then 'Если строка в моём однобайтном формате
|
||||
|
||||
Dim charNum = c And &HFF
|
||||
a += 2
|
||||
For x = 1 To charNum
|
||||
DemoText.Text &= Chr(m(a))
|
||||
DrawChar(m(a))
|
||||
a += 1
|
||||
Next
|
||||
If charNum And 1 Then a += 1 'if AND1 - +1
|
||||
GoTo endlineTest
|
||||
|
||||
End If
|
||||
|
||||
'draw any char from font!
|
||||
DrawChar(c)
|
||||
a += 2
|
||||
|
||||
|
||||
endlineTest:
|
||||
|
||||
'Читаем до следующего текст-поинтера или конца массива
|
||||
If id < RRes.textPointers.Count - 1 Then
|
||||
If a >= RRes.textPointers(id + 1) Then Exit Do
|
||||
Else
|
||||
If a >= m.Count - 1 Then Exit Do
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Loop
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub DrawChar(ByVal chr As Integer)
|
||||
|
||||
Dim f = New FontTools
|
||||
Dim readAddr = 1152 + 18 * chr '18 bytes per char
|
||||
|
||||
'making shadow
|
||||
|
||||
For a = 0 To 5
|
||||
Dim b1 As Byte = FontData(readAddr + (a * 3))
|
||||
Dim b2 As Byte = FontData(readAddr + (a * 3) + 1)
|
||||
Dim b3 As Byte = FontData(readAddr + (a * 3) + 2)
|
||||
Dim b1bits = New BitArray(BitConverter.GetBytes(b1))
|
||||
Dim b2bits = New BitArray(BitConverter.GetBytes(b2))
|
||||
Dim b3bits = New BitArray(BitConverter.GetBytes(b3))
|
||||
For x = 0 To 7
|
||||
If b1bits(x) Then drawpixel(x + CurX + 1, CurY + 1, True)
|
||||
Next
|
||||
|
||||
Dim addX = CurX + 9
|
||||
For x = 0 To 7
|
||||
If b2bits(x) Then drawpixel(x + addX, CurY + 1, True)
|
||||
If x = 3 Then addX -= 12 : CurY += 1
|
||||
Next
|
||||
|
||||
For x = 0 To 7
|
||||
If b3bits(x) Then drawpixel(x + CurX + 5, CurY + 1, True)
|
||||
Next
|
||||
CurY += 1
|
||||
Next
|
||||
|
||||
CurY -= 12
|
||||
|
||||
'making char
|
||||
|
||||
For a = 0 To 5
|
||||
Dim b1 As Byte = FontData(readAddr + (a * 3))
|
||||
Dim b2 As Byte = FontData(readAddr + (a * 3) + 1)
|
||||
Dim b3 As Byte = FontData(readAddr + (a * 3) + 2)
|
||||
Dim b1bits = New BitArray(BitConverter.GetBytes(b1))
|
||||
Dim b2bits = New BitArray(BitConverter.GetBytes(b2))
|
||||
Dim b3bits = New BitArray(BitConverter.GetBytes(b3))
|
||||
For x = 0 To 7
|
||||
If b1bits(x) Then drawpixel(x + CurX, CurY, False)
|
||||
Next
|
||||
|
||||
Dim addX = CurX + 8
|
||||
For x = 0 To 7
|
||||
If b2bits(x) Then drawpixel(x + addX, CurY, False)
|
||||
If x = 3 Then addX -= 12 : CurY += 1
|
||||
Next
|
||||
|
||||
For x = 0 To 7
|
||||
If b3bits(x) Then drawpixel(x + CurX + 4, CurY, False)
|
||||
Next
|
||||
CurY += 1
|
||||
Next
|
||||
|
||||
|
||||
|
||||
PictureBox1.Invalidate()
|
||||
CurY -= 12
|
||||
CurX += 6
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Public Sub drawpixel(ByVal x As Integer, ByVal y As Integer, ByVal isShadow As Boolean)
|
||||
|
||||
For a = 0 To 2
|
||||
For b = 0 To 2
|
||||
If isShadow Then
|
||||
drawSurface.SetPixel(x * 3 + a, y * 3 + b, CurShadColor)
|
||||
Else
|
||||
drawSurface.SetPixel(x * 3 + a, y * 3 + b, CurColor)
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function get2(ByRef f As List(Of Byte), ByVal Index As Integer)
|
||||
Return f(Index) + f(Index + 1) * 256
|
||||
End Function
|
||||
|
||||
Private Sub NxFile_Click(sender As Object, e As EventArgs) Handles NxFile.Click
|
||||
If CurFilenum = files.Count - 1 Then
|
||||
|
||||
CurFilenum = 0
|
||||
Else
|
||||
CurFilenum += 1
|
||||
End If
|
||||
|
||||
|
||||
|
||||
InitFile(CurFilenum)
|
||||
UpdateCurFileDial()
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub PrevFile_Click(sender As Object, e As EventArgs) Handles PrevFile.Click
|
||||
If CurFilenum = 0 Then CurFilenum = files.Count
|
||||
|
||||
|
||||
CurFilenum -= 1
|
||||
|
||||
InitFile(CurFilenum)
|
||||
UpdateCurFileDial()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Private Sub NxDial_Click(sender As Object, e As EventArgs) Handles NxDial.Click
|
||||
If NextEowPointer <> 0 Then PrintText() : Exit Sub
|
||||
|
||||
If CurDial = OverallDial - 1 Then
|
||||
CurDial = 0
|
||||
If CurFilenum <> files.Count - 1 Then
|
||||
CurFilenum += 1
|
||||
InitFile(CurFilenum)
|
||||
UpdateCurFileDial()
|
||||
End If
|
||||
Else
|
||||
CurDial += 1
|
||||
End If
|
||||
|
||||
|
||||
|
||||
PrintText()
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub srch_Click(sender As Object, e As EventArgs) Handles srch.Click
|
||||
Dim a = files.FindIndex(Function(x) x.Contains(IDsrch.Text))
|
||||
|
||||
If a = -1 Then
|
||||
MsgBox("File not found :(")
|
||||
Exit Sub
|
||||
Else
|
||||
InitFile(a)
|
||||
CurFilenum = a
|
||||
UpdateCurFileDial()
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub prevDial_Click(sender As Object, e As EventArgs) Handles prevDial.Click
|
||||
If CurDial = 0 Then CurDial = OverallDial
|
||||
NextEowPointer = 0
|
||||
CurDial -= 1
|
||||
PrintText()
|
||||
End Sub
|
||||
|
||||
Private Sub Editor_Click(sender As Object, e As EventArgs) Handles Editor.Click
|
||||
Dim fil = Replace("""C:\Program Files (x86)\Notepad++\Notepad++.exe"" """ & files(CurFilenum) & """", ".TRNSL", "")
|
||||
|
||||
Shell(fil)
|
||||
End Sub
|
||||
|
||||
Private Sub ScriptCheck_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
|
||||
If e.KeyCode = Keys.Add Then NxDial.PerformClick()
|
||||
End Sub
|
||||
End Class
|
||||
1853
p2isPSX_CDToolkit/ScriptTools.vb
Normal file
1853
p2isPSX_CDToolkit/ScriptTools.vb
Normal file
File diff suppressed because it is too large
Load Diff
687
p2isPSX_CDToolkit/StringsOffsetEditorvb.Designer.vb
generated
Normal file
687
p2isPSX_CDToolkit/StringsOffsetEditorvb.Designer.vb
generated
Normal file
@@ -0,0 +1,687 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class StringsOffsetEditorvb
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Форма переопределяет dispose для очистки списка компонентов.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Является обязательной для конструктора форм Windows Forms
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Примечание: следующая процедура является обязательной для конструктора форм Windows Forms
|
||||
'Для ее изменения используйте конструктор форм Windows Form.
|
||||
'Не изменяйте ее в редакторе исходного кода.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
|
||||
Me.FileID = New System.Windows.Forms.TextBox()
|
||||
Me.Offset = New System.Windows.Forms.TextBox()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.Label3 = New System.Windows.Forms.Label()
|
||||
Me.Label4 = New System.Windows.Forms.Label()
|
||||
Me.Label5 = New System.Windows.Forms.Label()
|
||||
Me.UserPath = New System.Windows.Forms.TextBox()
|
||||
Me.EngISOPath = New System.Windows.Forms.TextBox()
|
||||
Me.JapISOPath = New System.Windows.Forms.TextBox()
|
||||
Me.LoadBtn = New System.Windows.Forms.Button()
|
||||
Me.SaveBtn = New System.Windows.Forms.Button()
|
||||
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
|
||||
Me.ID = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.JAP = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.Eng = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.Column1 = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.RadioFile = New System.Windows.Forms.RadioButton()
|
||||
Me.RadioSector = New System.Windows.Forms.RadioButton()
|
||||
Me.SetName = New System.Windows.Forms.TextBox()
|
||||
Me.Label6 = New System.Windows.Forms.Label()
|
||||
Me.Button1 = New System.Windows.Forms.Button()
|
||||
Me.tempSave = New System.Windows.Forms.Button()
|
||||
Me.tempLoad = New System.Windows.Forms.Button()
|
||||
Me.SaveSettings = New System.Windows.Forms.Button()
|
||||
Me.LoadSettings = New System.Windows.Forms.Button()
|
||||
Me.OffSz = New System.Windows.Forms.Label()
|
||||
Me.TxtSz = New System.Windows.Forms.Label()
|
||||
Me.Allsz = New System.Windows.Forms.Label()
|
||||
Me.YourTxtSz = New System.Windows.Forms.Label()
|
||||
Me.CurLen = New System.Windows.Forms.Label()
|
||||
Me.patchFileID = New System.Windows.Forms.TextBox()
|
||||
Me.PatchFileBtn = New System.Windows.Forms.Button()
|
||||
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
|
||||
Me.ReplaceAll = New System.Windows.Forms.Button()
|
||||
Me.PatchFileRadio = New System.Windows.Forms.RadioButton()
|
||||
Me.PatchExeRadio = New System.Windows.Forms.RadioButton()
|
||||
Me.patchOffset = New System.Windows.Forms.TextBox()
|
||||
Me.Label7 = New System.Windows.Forms.Label()
|
||||
Me.LineModeSimple = New System.Windows.Forms.RadioButton()
|
||||
Me.GroupBox2 = New System.Windows.Forms.GroupBox()
|
||||
Me.DontEnglish = New System.Windows.Forms.CheckBox()
|
||||
Me.OnlyCodes_Mode = New System.Windows.Forms.CheckBox()
|
||||
Me.LineModeComplex = New System.Windows.Forms.RadioButton()
|
||||
Me.EngSave = New System.Windows.Forms.Button()
|
||||
Me.EngOffset = New System.Windows.Forms.TextBox()
|
||||
Me.Label8 = New System.Windows.Forms.Label()
|
||||
Me.ListBox1 = New System.Windows.Forms.ListBox()
|
||||
Me.KudosLoad = New System.Windows.Forms.CheckBox()
|
||||
Me.Label9 = New System.Windows.Forms.Label()
|
||||
Me.KUDOSpath = New System.Windows.Forms.TextBox()
|
||||
Me.FindOffsetInJP = New System.Windows.Forms.Button()
|
||||
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.GroupBox1.SuspendLayout()
|
||||
Me.GroupBox2.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'FileID
|
||||
'
|
||||
Me.FileID.Location = New System.Drawing.Point(54, 125)
|
||||
Me.FileID.Name = "FileID"
|
||||
Me.FileID.Size = New System.Drawing.Size(100, 20)
|
||||
Me.FileID.TabIndex = 0
|
||||
Me.FileID.Text = "0681"
|
||||
'
|
||||
'Offset
|
||||
'
|
||||
Me.Offset.Location = New System.Drawing.Point(218, 125)
|
||||
Me.Offset.Name = "Offset"
|
||||
Me.Offset.Size = New System.Drawing.Size(52, 20)
|
||||
Me.Offset.TabIndex = 1
|
||||
Me.Offset.Text = "49376"
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Location = New System.Drawing.Point(4, 128)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(44, 13)
|
||||
Me.Label1.TabIndex = 2
|
||||
Me.Label1.Text = "Number"
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.AutoSize = True
|
||||
Me.Label2.Location = New System.Drawing.Point(164, 128)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(54, 13)
|
||||
Me.Label2.TabIndex = 2
|
||||
Me.Label2.Text = "JAPOffset"
|
||||
'
|
||||
'Label3
|
||||
'
|
||||
Me.Label3.AutoSize = True
|
||||
Me.Label3.Location = New System.Drawing.Point(376, 23)
|
||||
Me.Label3.Name = "Label3"
|
||||
Me.Label3.Size = New System.Drawing.Size(102, 13)
|
||||
Me.Label3.TabIndex = 6
|
||||
Me.Label3.Text = "User (Modified) .BIN"
|
||||
'
|
||||
'Label4
|
||||
'
|
||||
Me.Label4.AutoSize = True
|
||||
Me.Label4.Location = New System.Drawing.Point(54, 62)
|
||||
Me.Label4.Name = "Label4"
|
||||
Me.Label4.Size = New System.Drawing.Size(120, 13)
|
||||
Me.Label4.TabIndex = 7
|
||||
Me.Label4.Text = "USA EP CD Image .BIN"
|
||||
'
|
||||
'Label5
|
||||
'
|
||||
Me.Label5.AutoSize = True
|
||||
Me.Label5.Location = New System.Drawing.Point(54, 23)
|
||||
Me.Label5.Name = "Label5"
|
||||
Me.Label5.Size = New System.Drawing.Size(127, 13)
|
||||
Me.Label5.TabIndex = 8
|
||||
Me.Label5.Text = "Japan EP CD Image .BIN"
|
||||
'
|
||||
'UserPath
|
||||
'
|
||||
Me.UserPath.Location = New System.Drawing.Point(376, 38)
|
||||
Me.UserPath.Name = "UserPath"
|
||||
Me.UserPath.Size = New System.Drawing.Size(300, 20)
|
||||
Me.UserPath.TabIndex = 3
|
||||
Me.UserPath.Text = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Persona 2 - Batsu USER.bin"
|
||||
'
|
||||
'EngISOPath
|
||||
'
|
||||
Me.EngISOPath.Location = New System.Drawing.Point(54, 77)
|
||||
Me.EngISOPath.Name = "EngISOPath"
|
||||
Me.EngISOPath.Size = New System.Drawing.Size(300, 20)
|
||||
Me.EngISOPath.TabIndex = 4
|
||||
Me.EngISOPath.Text = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Persona 2 - EP (USA) [Locali" &
|
||||
"zed - Undub].bin"
|
||||
'
|
||||
'JapISOPath
|
||||
'
|
||||
Me.JapISOPath.Location = New System.Drawing.Point(54, 39)
|
||||
Me.JapISOPath.Name = "JapISOPath"
|
||||
Me.JapISOPath.Size = New System.Drawing.Size(300, 20)
|
||||
Me.JapISOPath.TabIndex = 5
|
||||
Me.JapISOPath.Text = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Persona 2 - Batsu (NTSC-J) [" &
|
||||
"SLPS-02825].bin"
|
||||
'
|
||||
'LoadBtn
|
||||
'
|
||||
Me.LoadBtn.Location = New System.Drawing.Point(54, 172)
|
||||
Me.LoadBtn.Name = "LoadBtn"
|
||||
Me.LoadBtn.Size = New System.Drawing.Size(328, 23)
|
||||
Me.LoadBtn.TabIndex = 9
|
||||
Me.LoadBtn.Text = "READ"
|
||||
Me.LoadBtn.UseVisualStyleBackColor = True
|
||||
'
|
||||
'SaveBtn
|
||||
'
|
||||
Me.SaveBtn.Location = New System.Drawing.Point(1023, 1095)
|
||||
Me.SaveBtn.Name = "SaveBtn"
|
||||
Me.SaveBtn.Size = New System.Drawing.Size(148, 38)
|
||||
Me.SaveBtn.TabIndex = 9
|
||||
Me.SaveBtn.Text = "SAVE"
|
||||
Me.SaveBtn.UseVisualStyleBackColor = True
|
||||
'
|
||||
'DataGridView1
|
||||
'
|
||||
Me.DataGridView1.AllowUserToAddRows = False
|
||||
Me.DataGridView1.AllowUserToDeleteRows = False
|
||||
Me.DataGridView1.AllowUserToResizeRows = False
|
||||
Me.DataGridView1.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells
|
||||
Me.DataGridView1.BackgroundColor = System.Drawing.Color.Gray
|
||||
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
|
||||
Me.DataGridView1.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.ID, Me.JAP, Me.Eng, Me.Column1})
|
||||
Me.DataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter
|
||||
Me.DataGridView1.Location = New System.Drawing.Point(12, 221)
|
||||
Me.DataGridView1.Name = "DataGridView1"
|
||||
Me.DataGridView1.RowHeadersVisible = False
|
||||
DataGridViewCellStyle1.Font = New System.Drawing.Font("Consolas", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
|
||||
Me.DataGridView1.RowsDefaultCellStyle = DataGridViewCellStyle1
|
||||
Me.DataGridView1.RowTemplate.DefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer))
|
||||
Me.DataGridView1.RowTemplate.DefaultCellStyle.ForeColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
|
||||
Me.DataGridView1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
|
||||
Me.DataGridView1.Size = New System.Drawing.Size(1433, 863)
|
||||
Me.DataGridView1.TabIndex = 11
|
||||
'
|
||||
'ID
|
||||
'
|
||||
Me.ID.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
|
||||
Me.ID.FillWeight = 20.0!
|
||||
Me.ID.HeaderText = "ID"
|
||||
Me.ID.Name = "ID"
|
||||
Me.ID.ReadOnly = True
|
||||
'
|
||||
'JAP
|
||||
'
|
||||
Me.JAP.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
|
||||
Me.JAP.HeaderText = "JAP_Str"
|
||||
Me.JAP.Name = "JAP"
|
||||
Me.JAP.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable
|
||||
'
|
||||
'Eng
|
||||
'
|
||||
Me.Eng.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
|
||||
Me.Eng.HeaderText = "Eng_Str"
|
||||
Me.Eng.Name = "Eng"
|
||||
Me.Eng.ReadOnly = True
|
||||
'
|
||||
'Column1
|
||||
'
|
||||
Me.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
|
||||
Me.Column1.FillWeight = 50.0!
|
||||
Me.Column1.HeaderText = "Kudos"
|
||||
Me.Column1.Name = "Column1"
|
||||
'
|
||||
'RadioFile
|
||||
'
|
||||
Me.RadioFile.AutoSize = True
|
||||
Me.RadioFile.Checked = True
|
||||
Me.RadioFile.Location = New System.Drawing.Point(67, 105)
|
||||
Me.RadioFile.Name = "RadioFile"
|
||||
Me.RadioFile.Size = New System.Drawing.Size(68, 17)
|
||||
Me.RadioFile.TabIndex = 12
|
||||
Me.RadioFile.TabStop = True
|
||||
Me.RadioFile.Text = "FILE or"
|
||||
Me.RadioFile.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RadioSector
|
||||
'
|
||||
Me.RadioSector.AutoSize = True
|
||||
Me.RadioSector.Location = New System.Drawing.Point(142, 105)
|
||||
Me.RadioSector.Name = "RadioSector"
|
||||
Me.RadioSector.Size = New System.Drawing.Size(88, 17)
|
||||
Me.RadioSector.TabIndex = 13
|
||||
Me.RadioSector.Text = "SLPS002825"
|
||||
Me.RadioSector.UseVisualStyleBackColor = True
|
||||
'
|
||||
'SetName
|
||||
'
|
||||
Me.SetName.Location = New System.Drawing.Point(472, 64)
|
||||
Me.SetName.Name = "SetName"
|
||||
Me.SetName.Size = New System.Drawing.Size(204, 20)
|
||||
Me.SetName.TabIndex = 16
|
||||
'
|
||||
'Label6
|
||||
'
|
||||
Me.Label6.AutoSize = True
|
||||
Me.Label6.Location = New System.Drawing.Point(376, 67)
|
||||
Me.Label6.Name = "Label6"
|
||||
Me.Label6.Size = New System.Drawing.Size(73, 13)
|
||||
Me.Label6.TabIndex = 2
|
||||
Me.Label6.Text = "SettingsName"
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.Location = New System.Drawing.Point(42, 1095)
|
||||
Me.Button1.Name = "Button1"
|
||||
Me.Button1.Size = New System.Drawing.Size(112, 38)
|
||||
Me.Button1.TabIndex = 17
|
||||
Me.Button1.Text = "ClearJapText"
|
||||
Me.Button1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'tempSave
|
||||
'
|
||||
Me.tempSave.Location = New System.Drawing.Point(309, 1095)
|
||||
Me.tempSave.Name = "tempSave"
|
||||
Me.tempSave.Size = New System.Drawing.Size(112, 38)
|
||||
Me.tempSave.TabIndex = 17
|
||||
Me.tempSave.Text = "TempSave"
|
||||
Me.tempSave.UseVisualStyleBackColor = True
|
||||
'
|
||||
'tempLoad
|
||||
'
|
||||
Me.tempLoad.Location = New System.Drawing.Point(181, 1094)
|
||||
Me.tempLoad.Name = "tempLoad"
|
||||
Me.tempLoad.Size = New System.Drawing.Size(112, 38)
|
||||
Me.tempLoad.TabIndex = 17
|
||||
Me.tempLoad.Text = "TempLoad"
|
||||
Me.tempLoad.UseVisualStyleBackColor = True
|
||||
'
|
||||
'SaveSettings
|
||||
'
|
||||
Me.SaveSettings.Location = New System.Drawing.Point(576, 92)
|
||||
Me.SaveSettings.Name = "SaveSettings"
|
||||
Me.SaveSettings.Size = New System.Drawing.Size(100, 23)
|
||||
Me.SaveSettings.TabIndex = 9
|
||||
Me.SaveSettings.Text = "SAVE"
|
||||
Me.SaveSettings.UseVisualStyleBackColor = True
|
||||
'
|
||||
'LoadSettings
|
||||
'
|
||||
Me.LoadSettings.Location = New System.Drawing.Point(472, 92)
|
||||
Me.LoadSettings.Name = "LoadSettings"
|
||||
Me.LoadSettings.Size = New System.Drawing.Size(100, 23)
|
||||
Me.LoadSettings.TabIndex = 9
|
||||
Me.LoadSettings.Text = "LOAD"
|
||||
Me.LoadSettings.UseVisualStyleBackColor = True
|
||||
'
|
||||
'OffSz
|
||||
'
|
||||
Me.OffSz.BackColor = System.Drawing.Color.LightGray
|
||||
Me.OffSz.Location = New System.Drawing.Point(732, 10)
|
||||
Me.OffSz.Name = "OffSz"
|
||||
Me.OffSz.Size = New System.Drawing.Size(128, 13)
|
||||
Me.OffSz.TabIndex = 2
|
||||
Me.OffSz.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'TxtSz
|
||||
'
|
||||
Me.TxtSz.BackColor = System.Drawing.Color.LightGray
|
||||
Me.TxtSz.Location = New System.Drawing.Point(732, 23)
|
||||
Me.TxtSz.Name = "TxtSz"
|
||||
Me.TxtSz.Size = New System.Drawing.Size(128, 13)
|
||||
Me.TxtSz.TabIndex = 2
|
||||
Me.TxtSz.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'Allsz
|
||||
'
|
||||
Me.Allsz.BackColor = System.Drawing.Color.LightGray
|
||||
Me.Allsz.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
|
||||
Me.Allsz.Location = New System.Drawing.Point(732, 36)
|
||||
Me.Allsz.Name = "Allsz"
|
||||
Me.Allsz.Size = New System.Drawing.Size(128, 13)
|
||||
Me.Allsz.TabIndex = 2
|
||||
Me.Allsz.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'YourTxtSz
|
||||
'
|
||||
Me.YourTxtSz.BackColor = System.Drawing.Color.LightGray
|
||||
Me.YourTxtSz.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
|
||||
Me.YourTxtSz.Location = New System.Drawing.Point(709, 61)
|
||||
Me.YourTxtSz.Name = "YourTxtSz"
|
||||
Me.YourTxtSz.Size = New System.Drawing.Size(151, 13)
|
||||
Me.YourTxtSz.TabIndex = 2
|
||||
Me.YourTxtSz.Text = " "
|
||||
Me.YourTxtSz.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'CurLen
|
||||
'
|
||||
Me.CurLen.AutoSize = True
|
||||
Me.CurLen.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
|
||||
Me.CurLen.Location = New System.Drawing.Point(253, 198)
|
||||
Me.CurLen.Name = "CurLen"
|
||||
Me.CurLen.Size = New System.Drawing.Size(17, 20)
|
||||
Me.CurLen.TabIndex = 18
|
||||
Me.CurLen.Text = "''"
|
||||
'
|
||||
'patchFileID
|
||||
'
|
||||
Me.patchFileID.Location = New System.Drawing.Point(29, 40)
|
||||
Me.patchFileID.Name = "patchFileID"
|
||||
Me.patchFileID.Size = New System.Drawing.Size(100, 20)
|
||||
Me.patchFileID.TabIndex = 19
|
||||
Me.patchFileID.Text = "0001"
|
||||
'
|
||||
'PatchFileBtn
|
||||
'
|
||||
Me.PatchFileBtn.Location = New System.Drawing.Point(29, 63)
|
||||
Me.PatchFileBtn.Name = "PatchFileBtn"
|
||||
Me.PatchFileBtn.Size = New System.Drawing.Size(246, 23)
|
||||
Me.PatchFileBtn.TabIndex = 21
|
||||
Me.PatchFileBtn.Text = "Patch"
|
||||
Me.PatchFileBtn.UseVisualStyleBackColor = True
|
||||
'
|
||||
'GroupBox1
|
||||
'
|
||||
Me.GroupBox1.Controls.Add(Me.PatchFileBtn)
|
||||
Me.GroupBox1.Controls.Add(Me.patchFileID)
|
||||
Me.GroupBox1.Controls.Add(Me.PatchFileRadio)
|
||||
Me.GroupBox1.Controls.Add(Me.PatchExeRadio)
|
||||
Me.GroupBox1.Controls.Add(Me.patchOffset)
|
||||
Me.GroupBox1.Controls.Add(Me.Label7)
|
||||
Me.GroupBox1.Enabled = False
|
||||
Me.GroupBox1.Location = New System.Drawing.Point(883, 12)
|
||||
Me.GroupBox1.Name = "GroupBox1"
|
||||
Me.GroupBox1.Size = New System.Drawing.Size(300, 103)
|
||||
Me.GroupBox1.TabIndex = 22
|
||||
Me.GroupBox1.TabStop = False
|
||||
Me.GroupBox1.Text = "Patch Text Routine Call"
|
||||
'
|
||||
'ReplaceAll
|
||||
'
|
||||
Me.ReplaceAll.Location = New System.Drawing.Point(912, 128)
|
||||
Me.ReplaceAll.Name = "ReplaceAll"
|
||||
Me.ReplaceAll.Size = New System.Drawing.Size(246, 42)
|
||||
Me.ReplaceAll.TabIndex = 22
|
||||
Me.ReplaceAll.Text = "Search And Replace All Text Calls"
|
||||
Me.ReplaceAll.UseVisualStyleBackColor = True
|
||||
'
|
||||
'PatchFileRadio
|
||||
'
|
||||
Me.PatchFileRadio.AutoSize = True
|
||||
Me.PatchFileRadio.Checked = True
|
||||
Me.PatchFileRadio.Location = New System.Drawing.Point(61, 19)
|
||||
Me.PatchFileRadio.Name = "PatchFileRadio"
|
||||
Me.PatchFileRadio.Size = New System.Drawing.Size(68, 17)
|
||||
Me.PatchFileRadio.TabIndex = 12
|
||||
Me.PatchFileRadio.TabStop = True
|
||||
Me.PatchFileRadio.Text = "FILE or"
|
||||
Me.PatchFileRadio.UseVisualStyleBackColor = True
|
||||
'
|
||||
'PatchExeRadio
|
||||
'
|
||||
Me.PatchExeRadio.AutoSize = True
|
||||
Me.PatchExeRadio.Location = New System.Drawing.Point(152, 19)
|
||||
Me.PatchExeRadio.Name = "PatchExeRadio"
|
||||
Me.PatchExeRadio.Size = New System.Drawing.Size(76, 17)
|
||||
Me.PatchExeRadio.TabIndex = 13
|
||||
Me.PatchExeRadio.Text = "SLPS0021"
|
||||
Me.PatchExeRadio.UseVisualStyleBackColor = True
|
||||
'
|
||||
'patchOffset
|
||||
'
|
||||
Me.patchOffset.Location = New System.Drawing.Point(175, 40)
|
||||
Me.patchOffset.Name = "patchOffset"
|
||||
Me.patchOffset.Size = New System.Drawing.Size(100, 20)
|
||||
Me.patchOffset.TabIndex = 1
|
||||
Me.patchOffset.Text = "361460"
|
||||
'
|
||||
'Label7
|
||||
'
|
||||
Me.Label7.AutoSize = True
|
||||
Me.Label7.Location = New System.Drawing.Point(240, 26)
|
||||
Me.Label7.Name = "Label7"
|
||||
Me.Label7.Size = New System.Drawing.Size(35, 13)
|
||||
Me.Label7.TabIndex = 2
|
||||
Me.Label7.Text = "Offset"
|
||||
'
|
||||
'LineModeSimple
|
||||
'
|
||||
Me.LineModeSimple.AutoSize = True
|
||||
Me.LineModeSimple.Checked = True
|
||||
Me.LineModeSimple.Location = New System.Drawing.Point(40, 19)
|
||||
Me.LineModeSimple.Name = "LineModeSimple"
|
||||
Me.LineModeSimple.Size = New System.Drawing.Size(56, 17)
|
||||
Me.LineModeSimple.TabIndex = 23
|
||||
Me.LineModeSimple.TabStop = True
|
||||
Me.LineModeSimple.Text = "Simple"
|
||||
Me.LineModeSimple.UseVisualStyleBackColor = True
|
||||
'
|
||||
'GroupBox2
|
||||
'
|
||||
Me.GroupBox2.Controls.Add(Me.DontEnglish)
|
||||
Me.GroupBox2.Controls.Add(Me.OnlyCodes_Mode)
|
||||
Me.GroupBox2.Controls.Add(Me.LineModeComplex)
|
||||
Me.GroupBox2.Controls.Add(Me.LineModeSimple)
|
||||
Me.GroupBox2.Location = New System.Drawing.Point(391, 121)
|
||||
Me.GroupBox2.Name = "GroupBox2"
|
||||
Me.GroupBox2.Size = New System.Drawing.Size(234, 68)
|
||||
Me.GroupBox2.TabIndex = 24
|
||||
Me.GroupBox2.TabStop = False
|
||||
Me.GroupBox2.Text = "LinesMode"
|
||||
'
|
||||
'DontEnglish
|
||||
'
|
||||
Me.DontEnglish.AutoSize = True
|
||||
Me.DontEnglish.Location = New System.Drawing.Point(114, 19)
|
||||
Me.DontEnglish.Name = "DontEnglish"
|
||||
Me.DontEnglish.Size = New System.Drawing.Size(115, 17)
|
||||
Me.DontEnglish.TabIndex = 25
|
||||
Me.DontEnglish.Text = "Dont Read English"
|
||||
Me.DontEnglish.UseVisualStyleBackColor = True
|
||||
'
|
||||
'OnlyCodes_Mode
|
||||
'
|
||||
Me.OnlyCodes_Mode.AutoSize = True
|
||||
Me.OnlyCodes_Mode.Location = New System.Drawing.Point(114, 42)
|
||||
Me.OnlyCodes_Mode.Name = "OnlyCodes_Mode"
|
||||
Me.OnlyCodes_Mode.Size = New System.Drawing.Size(67, 17)
|
||||
Me.OnlyCodes_Mode.TabIndex = 24
|
||||
Me.OnlyCodes_Mode.Text = "FullCode"
|
||||
Me.OnlyCodes_Mode.UseVisualStyleBackColor = True
|
||||
'
|
||||
'LineModeComplex
|
||||
'
|
||||
Me.LineModeComplex.AutoSize = True
|
||||
Me.LineModeComplex.Location = New System.Drawing.Point(40, 42)
|
||||
Me.LineModeComplex.Name = "LineModeComplex"
|
||||
Me.LineModeComplex.Size = New System.Drawing.Size(65, 17)
|
||||
Me.LineModeComplex.TabIndex = 23
|
||||
Me.LineModeComplex.Text = "Complex"
|
||||
Me.LineModeComplex.UseVisualStyleBackColor = True
|
||||
'
|
||||
'EngSave
|
||||
'
|
||||
Me.EngSave.Location = New System.Drawing.Point(529, 1094)
|
||||
Me.EngSave.Name = "EngSave"
|
||||
Me.EngSave.Size = New System.Drawing.Size(135, 38)
|
||||
Me.EngSave.TabIndex = 25
|
||||
Me.EngSave.Text = "ENG SAVE"
|
||||
Me.EngSave.UseVisualStyleBackColor = True
|
||||
'
|
||||
'EngOffset
|
||||
'
|
||||
Me.EngOffset.Location = New System.Drawing.Point(333, 125)
|
||||
Me.EngOffset.Name = "EngOffset"
|
||||
Me.EngOffset.Size = New System.Drawing.Size(49, 20)
|
||||
Me.EngOffset.TabIndex = 1
|
||||
Me.EngOffset.Text = "20332"
|
||||
'
|
||||
'Label8
|
||||
'
|
||||
Me.Label8.AutoSize = True
|
||||
Me.Label8.Location = New System.Drawing.Point(276, 128)
|
||||
Me.Label8.Name = "Label8"
|
||||
Me.Label8.Size = New System.Drawing.Size(58, 13)
|
||||
Me.Label8.TabIndex = 2
|
||||
Me.Label8.Text = "ENGOffset"
|
||||
'
|
||||
'ListBox1
|
||||
'
|
||||
Me.ListBox1.FormattingEnabled = True
|
||||
Me.ListBox1.Location = New System.Drawing.Point(698, 92)
|
||||
Me.ListBox1.Name = "ListBox1"
|
||||
Me.ListBox1.Size = New System.Drawing.Size(179, 82)
|
||||
Me.ListBox1.TabIndex = 26
|
||||
'
|
||||
'KudosLoad
|
||||
'
|
||||
Me.KudosLoad.AutoSize = True
|
||||
Me.KudosLoad.Location = New System.Drawing.Point(1258, 80)
|
||||
Me.KudosLoad.Name = "KudosLoad"
|
||||
Me.KudosLoad.Size = New System.Drawing.Size(113, 17)
|
||||
Me.KudosLoad.TabIndex = 27
|
||||
Me.KudosLoad.Text = "Load Kudos Text?"
|
||||
Me.KudosLoad.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Label9
|
||||
'
|
||||
Me.Label9.AutoSize = True
|
||||
Me.Label9.Location = New System.Drawing.Point(1189, 23)
|
||||
Me.Label9.Name = "Label9"
|
||||
Me.Label9.Size = New System.Drawing.Size(69, 13)
|
||||
Me.Label9.TabIndex = 29
|
||||
Me.Label9.Text = "KUDOS .BIN"
|
||||
'
|
||||
'KUDOSpath
|
||||
'
|
||||
Me.KUDOSpath.Location = New System.Drawing.Point(1189, 39)
|
||||
Me.KUDOSpath.Name = "KUDOSpath"
|
||||
Me.KUDOSpath.Size = New System.Drawing.Size(262, 20)
|
||||
Me.KUDOSpath.TabIndex = 28
|
||||
Me.KUDOSpath.Text = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\P2_KUDOS.bin"
|
||||
'
|
||||
'FindOffsetInJP
|
||||
'
|
||||
Me.FindOffsetInJP.Location = New System.Drawing.Point(307, 147)
|
||||
Me.FindOffsetInJP.Name = "FindOffsetInJP"
|
||||
Me.FindOffsetInJP.Size = New System.Drawing.Size(75, 23)
|
||||
Me.FindOffsetInJP.TabIndex = 30
|
||||
Me.FindOffsetInJP.Text = "Find in JP"
|
||||
Me.FindOffsetInJP.UseVisualStyleBackColor = True
|
||||
'
|
||||
'StringsOffsetEditorvb
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.BackColor = System.Drawing.Color.Gray
|
||||
Me.ClientSize = New System.Drawing.Size(1470, 1140)
|
||||
Me.Controls.Add(Me.FindOffsetInJP)
|
||||
Me.Controls.Add(Me.ReplaceAll)
|
||||
Me.Controls.Add(Me.Label9)
|
||||
Me.Controls.Add(Me.KUDOSpath)
|
||||
Me.Controls.Add(Me.KudosLoad)
|
||||
Me.Controls.Add(Me.ListBox1)
|
||||
Me.Controls.Add(Me.EngSave)
|
||||
Me.Controls.Add(Me.GroupBox2)
|
||||
Me.Controls.Add(Me.GroupBox1)
|
||||
Me.Controls.Add(Me.CurLen)
|
||||
Me.Controls.Add(Me.tempLoad)
|
||||
Me.Controls.Add(Me.tempSave)
|
||||
Me.Controls.Add(Me.Button1)
|
||||
Me.Controls.Add(Me.SetName)
|
||||
Me.Controls.Add(Me.RadioSector)
|
||||
Me.Controls.Add(Me.RadioFile)
|
||||
Me.Controls.Add(Me.DataGridView1)
|
||||
Me.Controls.Add(Me.SaveBtn)
|
||||
Me.Controls.Add(Me.SaveSettings)
|
||||
Me.Controls.Add(Me.LoadSettings)
|
||||
Me.Controls.Add(Me.LoadBtn)
|
||||
Me.Controls.Add(Me.Label3)
|
||||
Me.Controls.Add(Me.Label4)
|
||||
Me.Controls.Add(Me.Label5)
|
||||
Me.Controls.Add(Me.UserPath)
|
||||
Me.Controls.Add(Me.EngISOPath)
|
||||
Me.Controls.Add(Me.JapISOPath)
|
||||
Me.Controls.Add(Me.YourTxtSz)
|
||||
Me.Controls.Add(Me.Allsz)
|
||||
Me.Controls.Add(Me.TxtSz)
|
||||
Me.Controls.Add(Me.OffSz)
|
||||
Me.Controls.Add(Me.Label6)
|
||||
Me.Controls.Add(Me.Label8)
|
||||
Me.Controls.Add(Me.Label2)
|
||||
Me.Controls.Add(Me.EngOffset)
|
||||
Me.Controls.Add(Me.Label1)
|
||||
Me.Controls.Add(Me.Offset)
|
||||
Me.Controls.Add(Me.FileID)
|
||||
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
|
||||
Me.MaximizeBox = False
|
||||
Me.Name = "StringsOffsetEditorvb"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "StringsOffsetEditorvb"
|
||||
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.GroupBox1.ResumeLayout(False)
|
||||
Me.GroupBox1.PerformLayout()
|
||||
Me.GroupBox2.ResumeLayout(False)
|
||||
Me.GroupBox2.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents FileID As TextBox
|
||||
Friend WithEvents Offset As TextBox
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents Label2 As Label
|
||||
Friend WithEvents Label3 As Label
|
||||
Friend WithEvents Label4 As Label
|
||||
Friend WithEvents Label5 As Label
|
||||
Friend WithEvents UserPath As TextBox
|
||||
Friend WithEvents EngISOPath As TextBox
|
||||
Friend WithEvents JapISOPath As TextBox
|
||||
Friend WithEvents LoadBtn As Button
|
||||
Friend WithEvents SaveBtn As Button
|
||||
Friend WithEvents DataGridView1 As DataGridView
|
||||
Friend WithEvents RadioFile As RadioButton
|
||||
Friend WithEvents RadioSector As RadioButton
|
||||
Friend WithEvents SetName As TextBox
|
||||
Friend WithEvents Label6 As Label
|
||||
Friend WithEvents Button1 As Button
|
||||
Friend WithEvents tempSave As Button
|
||||
Friend WithEvents tempLoad As Button
|
||||
Friend WithEvents SaveSettings As Button
|
||||
Friend WithEvents LoadSettings As Button
|
||||
Friend WithEvents OffSz As Label
|
||||
Friend WithEvents TxtSz As Label
|
||||
Friend WithEvents Allsz As Label
|
||||
Friend WithEvents YourTxtSz As Label
|
||||
Friend WithEvents CurLen As Label
|
||||
Friend WithEvents patchFileID As TextBox
|
||||
Friend WithEvents PatchFileBtn As Button
|
||||
Friend WithEvents GroupBox1 As GroupBox
|
||||
Friend WithEvents PatchFileRadio As RadioButton
|
||||
Friend WithEvents PatchExeRadio As RadioButton
|
||||
Friend WithEvents patchOffset As TextBox
|
||||
Friend WithEvents Label7 As Label
|
||||
Friend WithEvents LineModeSimple As RadioButton
|
||||
Friend WithEvents GroupBox2 As GroupBox
|
||||
Friend WithEvents LineModeComplex As RadioButton
|
||||
Friend WithEvents EngSave As Button
|
||||
Friend WithEvents OnlyCodes_Mode As CheckBox
|
||||
Friend WithEvents EngOffset As TextBox
|
||||
Friend WithEvents Label8 As Label
|
||||
Friend WithEvents ReplaceAll As Button
|
||||
Friend WithEvents ListBox1 As ListBox
|
||||
Friend WithEvents DontEnglish As CheckBox
|
||||
Friend WithEvents ID As DataGridViewTextBoxColumn
|
||||
Friend WithEvents JAP As DataGridViewTextBoxColumn
|
||||
Friend WithEvents Eng As DataGridViewTextBoxColumn
|
||||
Friend WithEvents Column1 As DataGridViewTextBoxColumn
|
||||
Friend WithEvents KudosLoad As CheckBox
|
||||
Friend WithEvents Label9 As Label
|
||||
Friend WithEvents KUDOSpath As TextBox
|
||||
Friend WithEvents FindOffsetInJP As Button
|
||||
End Class
|
||||
132
p2isPSX_CDToolkit/StringsOffsetEditorvb.resx
Normal file
132
p2isPSX_CDToolkit/StringsOffsetEditorvb.resx
Normal file
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="JAP.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Eng.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
||||
741
p2isPSX_CDToolkit/StringsOffsetEditorvb.vb
Normal file
741
p2isPSX_CDToolkit/StringsOffsetEditorvb.vb
Normal file
@@ -0,0 +1,741 @@
|
||||
Imports System.IO
|
||||
Imports System.Runtime.Remoting.Metadata.W3cXsd2001
|
||||
|
||||
Public Class StringsOffsetEditorvb
|
||||
|
||||
Public files1 As List(Of fileInfo)
|
||||
Public files2 As List(Of fileInfo)
|
||||
Public files3 As List(Of fileInfo)
|
||||
Public files4 As List(Of fileInfo) 'KUDOS
|
||||
Public CurFile As Byte()
|
||||
Public EngFile As Byte()
|
||||
Public JapFile As Byte()
|
||||
Public KudosFile As Byte()
|
||||
|
||||
Public MaximusSize As Integer
|
||||
Public OffsetsTableSize As Integer
|
||||
Public TextSize As Integer
|
||||
|
||||
|
||||
Private Sub StringsOffsetEditorvb_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
|
||||
Dim cd = New ISOTools
|
||||
|
||||
'Reading filetable and make array
|
||||
files1 = cd.makeFileList(UserPath.Text)
|
||||
files2 = cd.makeFileList(EngISOPath.Text)
|
||||
files3 = cd.makeFileList(JapISOPath.Text)
|
||||
files4 = cd.makeFileList(KUDOSpath.Text)
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub FindOffsetInJP_Click(sender As Object, e As EventArgs) Handles FindOffsetInJP.Click
|
||||
|
||||
Dim cd = New ISOTools
|
||||
If Not IsNumeric(FileID.Text) Then MsgBox("FILE ID IS NOT NUMERIC!", MsgBoxStyle.Critical) : Exit Sub
|
||||
If Not IsNumeric(EngOffset.Text) Then MsgBox("ENG OFFSET IS NOT NUMERIC!", MsgBoxStyle.Critical) : Exit Sub
|
||||
|
||||
If RadioFile.Checked Then
|
||||
CurFile = cd.getCDfile(UserPath.Text, files1(FileID.Text).Sector, files1(FileID.Text).Sizw).ToArray
|
||||
EngFile = cd.getCDfile(EngISOPath.Text, files2(FileID.Text).Sector, files2(FileID.Text).Sizw).ToArray
|
||||
Else
|
||||
CurFile = cd.getCDfile(UserPath.Text, 27, 1812408).ToArray
|
||||
EngFile = cd.getCDfile(EngISOPath.Text, 27, 1812408).ToArray
|
||||
End If
|
||||
|
||||
Dim Off = BitConverter.ToInt32(EngFile, EngOffset.Text)
|
||||
If Off > 1000 Then MsgBox("Error in EngOffset (Kakaya-to Hnya)!", MsgBoxStyle.Critical) : Exit Sub
|
||||
|
||||
Dim offsets = New List(Of Integer)
|
||||
|
||||
For a = 0 To CurFile.Length - 1 Step 4
|
||||
If BitConverter.ToInt32(CurFile, a) = Off Then
|
||||
'Validate table with offsets
|
||||
If BitConverter.ToInt32(CurFile, a + 4) = Off * 4 + 4 Then offsets.Add(a) 'First_offset * 4 + 4 == must be address after offsets table
|
||||
End If
|
||||
Next
|
||||
|
||||
If offsets.Count = 0 Then MsgBox("Offsets not found in JAP ISO!", MsgBoxStyle.Critical) : Exit Sub
|
||||
If offsets.Count = 1 Then Offset.Text = offsets(0) : LoadBtn.PerformClick() : Exit Sub
|
||||
|
||||
Dim txt = "Found " & offsets.Count & " offsets.Count" & vbCrLf
|
||||
For a = 0 To offsets.Count - 1
|
||||
txt &= offsets(a) & " : " & BitConverter.ToInt32(CurFile, offsets(a)).ToString("X8") & " "
|
||||
txt &= BitConverter.ToInt32(CurFile, offsets(a) + 4).ToString("X8") & " "
|
||||
txt &= BitConverter.ToInt32(CurFile, offsets(a) + 8).ToString("X8") & " "
|
||||
txt &= BitConverter.ToInt32(CurFile, offsets(a) + 12).ToString("X8") & vbCrLf
|
||||
Next
|
||||
|
||||
|
||||
|
||||
Dim Input = InputBox(txt & vbCrLf & "Enter offset ID:", "More than 1", "0")
|
||||
If Not IsNumeric(Input) Then Exit Sub
|
||||
If Int(Input) > offsets.Count - 1 Then Exit Sub
|
||||
|
||||
'Load offset and texts
|
||||
Offset.Text = offsets(Input) : LoadBtn.PerformClick()
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub LoadBtn_Click(sender As Object, e As EventArgs) Handles LoadBtn.Click
|
||||
|
||||
Dim cd = New ISOTools
|
||||
|
||||
|
||||
If Not IsNumeric(FileID.Text) Then MsgBox("FILE ID IS NOT NUMERIC!", MsgBoxStyle.Critical) : Exit Sub
|
||||
If Not IsNumeric(Offset.Text) Then MsgBox("FILE OFFSET IS NOT NUMERIC!", MsgBoxStyle.Critical) : Exit Sub
|
||||
If RadioFile.Checked Then
|
||||
|
||||
CurFile = cd.getCDfile(UserPath.Text, files1(FileID.Text).Sector, files1(FileID.Text).Sizw).ToArray
|
||||
EngFile = cd.getCDfile(EngISOPath.Text, files2(FileID.Text).Sector, files2(FileID.Text).Sizw).ToArray
|
||||
JapFile = cd.getCDfile(JapISOPath.Text, files3(FileID.Text).Sector, files3(FileID.Text).Sizw).ToArray
|
||||
|
||||
KudosFile = cd.getCDfile(KUDOSpath.Text, files4(FileID.Text).Sector, files2(FileID.Text).Sizw).ToArray
|
||||
|
||||
|
||||
Else
|
||||
CurFile = cd.getCDfile(UserPath.Text, 27, 1812408).ToArray
|
||||
EngFile = cd.getCDfile(EngISOPath.Text, 27, 1812408).ToArray
|
||||
JapFile = cd.getCDfile(JapISOPath.Text, 27, 1812408).ToArray
|
||||
|
||||
KudosFile = cd.getCDfile(KUDOSpath.Text, 27 + 26, 1812408).ToArray
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If BitConverter.ToInt32(CurFile, Offset.Text) > 1000 Then MsgBox("Error in MainfileOffset!", MsgBoxStyle.Critical) : Exit Sub
|
||||
'If BitConverter.ToInt32(EngFile, Offset.Text) > 1000 Then MsgBox("Error in ENGfileOffset!", MsgBoxStyle.Critical) : Exit Sub
|
||||
Dim rws As Integer = BitConverter.ToInt32(CurFile, Offset.Text)
|
||||
Dim reader = Offset.Text + 4
|
||||
Dim engReader = EngOffset.Text + 4
|
||||
Dim japRd = 0
|
||||
Dim engRd = 0
|
||||
Dim kudRd = 0
|
||||
Dim estr As String = ""
|
||||
Dim kstr As String = ""
|
||||
DataGridView1.Rows.Clear()
|
||||
For a = 0 To rws - 1
|
||||
If DontEnglish.Checked Then GoTo dontEnglish
|
||||
|
||||
'READING ENG STRING
|
||||
|
||||
Dim curAddr As Integer = BitConverter.ToInt32(EngFile, engReader) + EngOffset.Text
|
||||
estr = ""
|
||||
Do
|
||||
Dim chrr = BitConverter.ToUInt16(EngFile, curAddr) 'Reading 2 Bytes!
|
||||
If chrr = &H96E Then estr &= "[man]" : curAddr += 2 : Continue Do
|
||||
If chrr = &H96F Then estr &= "[woman]" : curAddr += 2 : Continue Do
|
||||
If (chrr And &H1000) Or OnlyCodes_Mode.Checked Then
|
||||
If chrr = &H1101 And BitConverter.ToUInt16(EngFile, curAddr + 2) = &H1106 And
|
||||
BitConverter.ToUInt16(EngFile, curAddr + 4) = &H1101 And
|
||||
BitConverter.ToUInt16(EngFile, curAddr + 6) = &H1103 Then estr &= "[END]" : Exit Do
|
||||
If chrr = &H1136 Then
|
||||
curAddr += 2
|
||||
Dim aaa = EngFile(curAddr)
|
||||
Do Until aaa = 0
|
||||
estr &= Chr(aaa)
|
||||
curAddr += 1
|
||||
aaa = EngFile(curAddr)
|
||||
Loop
|
||||
If curAddr And 1 Then curAddr += 1
|
||||
Continue Do
|
||||
End If
|
||||
If chrr = &H1103 Then estr &= "[END311]" : Exit Do
|
||||
If chrr = &H1101 And BitConverter.ToUInt16(EngFile, curAddr + 2) = &H1103 Then estr &= "[end]" : Exit Do
|
||||
If chrr = &H1120 Then estr &= " " : curAddr += 2 : Continue Do
|
||||
If chrr = &H1121 Then estr &= " " : curAddr += 2 : Continue Do
|
||||
Dim c1 = EngFile(curAddr) : Dim c2 = EngFile(curAddr + 1)
|
||||
Dim gg = c2 And 15
|
||||
If OnlyCodes_Mode.Checked Then
|
||||
estr &= "[" & c1.ToString("X2") & c2.ToString("X2") & "]"
|
||||
curAddr += 2
|
||||
Else
|
||||
For byteskip = 1 To gg
|
||||
estr &= "[" & c1.ToString("X2") & c2.ToString("X2") & "]"
|
||||
curAddr += 2
|
||||
c1 = EngFile(curAddr) : c2 = EngFile(curAddr + 1)
|
||||
Next
|
||||
End If
|
||||
Continue Do
|
||||
End If
|
||||
chrr = chrr And 255 : If chrr < 32 Then chrr += 32
|
||||
estr &= Chr(chrr)
|
||||
curAddr += 2
|
||||
Loop
|
||||
|
||||
|
||||
'reading Kudos
|
||||
If Not KudosLoad.Checked Then GoTo dontEnglish
|
||||
kstr = ""
|
||||
curAddr = BitConverter.ToInt32(KudosFile, engReader) + EngOffset.Text
|
||||
Do
|
||||
|
||||
Dim chrr = BitConverter.ToUInt16(KudosFile, curAddr) 'Reading 2 Bytes!
|
||||
|
||||
If (chrr And &H1000) Or OnlyCodes_Mode.Checked Then
|
||||
If chrr = &H1101 And BitConverter.ToUInt16(KudosFile, curAddr + 2) = &H1106 And
|
||||
BitConverter.ToUInt16(KudosFile, curAddr + 4) = &H1101 And
|
||||
BitConverter.ToUInt16(KudosFile, curAddr + 6) = &H1103 Then kstr &= "[END]" : Exit Do
|
||||
If chrr = &H1136 Then
|
||||
curAddr += 2
|
||||
Dim aaa = KudosFile(curAddr)
|
||||
Do Until aaa = 0
|
||||
kstr &= Chr(aaa)
|
||||
curAddr += 1
|
||||
aaa = KudosFile(curAddr)
|
||||
Loop
|
||||
If curAddr And 1 Then curAddr += 1
|
||||
Continue Do
|
||||
End If
|
||||
If chrr = &H1103 Then Exit Do
|
||||
If chrr = &H1101 And BitConverter.ToUInt16(KudosFile, curAddr + 2) = &H1103 Then Exit Do
|
||||
If chrr = &H1120 Then kstr &= " " : curAddr += 2 : Continue Do
|
||||
If chrr = &H1121 Then kstr &= " " : curAddr += 2 : Continue Do
|
||||
Dim c1 = KudosFile(curAddr) : Dim c2 = KudosFile(curAddr + 1)
|
||||
Dim gg = c2 And 15
|
||||
If OnlyCodes_Mode.Checked Then
|
||||
kstr &= "[" & c1.ToString("X2") & c2.ToString("X2") & "]"
|
||||
curAddr += 2
|
||||
Else
|
||||
For byteskip = 1 To gg
|
||||
kstr &= "[" & c1.ToString("X2") & c2.ToString("X2") & "]"
|
||||
curAddr += 2
|
||||
c1 = KudosFile(curAddr) : c2 = KudosFile(curAddr + 1)
|
||||
Next
|
||||
End If
|
||||
Continue Do
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
chrr = chrr And 255 : If chrr < 32 Then chrr += 32
|
||||
kstr &= Chr(chrr)
|
||||
curAddr += 2
|
||||
Loop
|
||||
|
||||
kstr = Unkudos(kstr)
|
||||
|
||||
|
||||
|
||||
dontEnglish:
|
||||
|
||||
'READING JAP STRING
|
||||
Dim jstr As String = ""
|
||||
Dim curJAddr As Integer = BitConverter.ToInt32(CurFile, reader) + Offset.Text
|
||||
|
||||
Do
|
||||
|
||||
If BitConverter.ToInt16(CurFile, curJAddr) And &H2000 Then 'If its my rus text
|
||||
curJAddr += 2
|
||||
For x = 0 To CurFile(curJAddr - 2) - 1
|
||||
jstr &= Chr(CurFile(curJAddr + x))
|
||||
Next
|
||||
|
||||
curJAddr += CurFile(curJAddr - 2)
|
||||
If curJAddr And 1 Then curJAddr += 1
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
If LineModeSimple.Checked Then Exit Do
|
||||
If BitConverter.ToInt16(CurFile, curJAddr) And &H2000 Then Exit Do
|
||||
|
||||
'If jstr.Length > 500 Then Exit Do
|
||||
|
||||
Dim chrr = BitConverter.ToUInt16(CurFile, curJAddr) 'Reading 2 Bytes!
|
||||
|
||||
If chrr = &H96E Then jstr &= "[man]" : curJAddr += 2 : Continue Do
|
||||
If chrr = &H96F Then jstr &= "[woman]" : curJAddr += 2 : Continue Do
|
||||
|
||||
|
||||
If (chrr And &H1000) Or OnlyCodes_Mode.Checked Then
|
||||
If chrr = &H1101 And BitConverter.ToUInt16(CurFile, curJAddr + 2) = &H1106 And
|
||||
BitConverter.ToUInt16(CurFile, curJAddr + 4) = &H1101 And
|
||||
BitConverter.ToUInt16(CurFile, curJAddr + 6) = &H1103 Then jstr &= "[END]" : Exit Do
|
||||
|
||||
|
||||
If chrr = &H1103 Then jstr &= "[END311]" : Exit Do
|
||||
|
||||
If chrr = &H1101 And BitConverter.ToUInt16(CurFile, curJAddr + 2) = &H1103 Then Exit Do 'jstr &= "[end]" : Exit Do
|
||||
|
||||
If chrr = &H1120 Then jstr &= " " : curJAddr += 2 : Continue Do
|
||||
If chrr = &H1121 Then jstr &= " " : curJAddr += 2 : Continue Do
|
||||
|
||||
Dim c1 = CurFile(curJAddr) : Dim c2 = CurFile(curJAddr + 1)
|
||||
|
||||
Dim gg = c2 And 15
|
||||
If OnlyCodes_Mode.Checked Then
|
||||
|
||||
jstr &= "[" & c1.ToString("X2") & c2.ToString("X2") & "]"
|
||||
curJAddr += 2
|
||||
|
||||
Else
|
||||
For byteskip = 1 To gg
|
||||
jstr &= "[" & c1.ToString("X2") & c2.ToString("X2") & "]"
|
||||
curJAddr += 2
|
||||
c1 = CurFile(curJAddr) : c2 = CurFile(curJAddr + 1)
|
||||
Next
|
||||
End If
|
||||
|
||||
Continue Do
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
'chrr = chrr And 255 : If chrr < 32 Then chrr += 32
|
||||
'jstr &= CurFile(curJAddr).ToString("X2") & CurFile(curJAddr + 1).ToString("X2")
|
||||
jstr &= Form1.chars(CurFile(curJAddr) + CurFile(curJAddr + 1) * 256)
|
||||
curJAddr += 2
|
||||
|
||||
Loop
|
||||
Myscr:
|
||||
DataGridView1.Rows.Add(a, jstr, estr, kstr)
|
||||
reader += 4 'shift offset addr
|
||||
engReader += 4
|
||||
Next
|
||||
OffsetsTableSize = BitConverter.ToInt32(JapFile, Offset.Text) * 4 + 4
|
||||
Dim lastJapStrOffs As Integer = BitConverter.ToInt32(JapFile, OffsetsTableSize + Offset.Text - 4) + Offset.Text
|
||||
'reading japan table limis
|
||||
reader = lastJapStrOffs
|
||||
Do
|
||||
If JapFile(reader) = 3 And JapFile(reader + 1) = &H11 Then
|
||||
TextSize = reader + 2 - Offset.Text - OffsetsTableSize
|
||||
MaximusSize = reader + 2 - Offset.Text
|
||||
Exit Do
|
||||
End If
|
||||
reader += 1
|
||||
Loop
|
||||
OffSz.Text = "Offset Table: " & OffsetsTableSize
|
||||
TxtSz.Text = "Text Size: " & TextSize
|
||||
Allsz.Text = "OverAll: " & MaximusSize
|
||||
End Sub
|
||||
|
||||
Public Function CompileLine(ByRef str As String)
|
||||
Dim bts = New List(Of Byte)
|
||||
|
||||
Dim c As Integer 'counter
|
||||
|
||||
If str.Length = 0 Then Return bts
|
||||
|
||||
'OLD JAP TEXT FORMAT
|
||||
If str(0) = "#" Then
|
||||
'xx += 1
|
||||
For xx = 1 To str.Length - 1
|
||||
bts.Add(Asc(str(xx)))
|
||||
bts.Add(0)
|
||||
|
||||
Next
|
||||
bts.Add(0)
|
||||
bts.Add(16) 'Close string
|
||||
Return bts
|
||||
End If
|
||||
|
||||
|
||||
|
||||
'NEW FORMAT
|
||||
For xx = 0 To str.Length - 1
|
||||
If str(xx) = "^" Then xx += 1
|
||||
|
||||
|
||||
|
||||
If str(xx) = "[" Then
|
||||
Dim skRes As String = getFromSkobki(str, xx)
|
||||
If skRes = "END" Then
|
||||
bts.AddRange({1, 17, 6, 17, 1, 17, 3, 17}) : Exit For
|
||||
End If
|
||||
|
||||
If skRes = "end" Then
|
||||
bts.AddRange({1, 17, 3, 17}) : Exit For
|
||||
End If
|
||||
|
||||
If skRes = "END311" Then
|
||||
bts.AddRange({3, 17}) : Exit For
|
||||
End If
|
||||
|
||||
|
||||
If skRes = "man" Then bts.AddRange({110, 9}) : Continue For
|
||||
If skRes = "woman" Then bts.AddRange({111, 9}) : Continue For
|
||||
|
||||
If skRes.Length = 4 Then
|
||||
bts.AddRange(SoapHexBinary.Parse(skRes).Value.ToList)
|
||||
End If
|
||||
Continue For
|
||||
End If
|
||||
|
||||
|
||||
Dim SimpleTextAccum = New List(Of Byte)
|
||||
Dim readCounter As Byte = 1
|
||||
|
||||
Do
|
||||
If xx = str.Length Then xx -= 1 : Exit Do
|
||||
If Asc(str(xx)) < 32 Or Asc(str(xx)) = 91 Then xx -= 1 : Exit Do
|
||||
SimpleTextAccum.Add(Asc(str(xx)))
|
||||
xx += 1
|
||||
Loop
|
||||
|
||||
'if 1 or 2 bytes
|
||||
If SimpleTextAccum.Count = 1 Then bts.AddRange({SimpleTextAccum(0), 0}) : Continue For
|
||||
If SimpleTextAccum.Count = 2 Then bts.AddRange({SimpleTextAccum(0), 0, SimpleTextAccum(1), 0}) : Continue For
|
||||
|
||||
|
||||
bts.Add(SimpleTextAccum.Count)
|
||||
bts.Add(&H20) 'command & length
|
||||
bts.AddRange(SimpleTextAccum) 'attach textline
|
||||
If SimpleTextAccum.Count And 1 Then bts.Add(0) ' if and 1 - add empty byte
|
||||
|
||||
|
||||
|
||||
Next
|
||||
|
||||
Return bts
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
Private Sub SaveBtn_Click(sender As Object, e As EventArgs) Handles SaveBtn.Click
|
||||
Dim FinalArr = New List(Of Byte)
|
||||
For a = 0 To OffsetsTableSize - 1
|
||||
FinalArr.Add(CurFile(a + Offset.Text))
|
||||
Next
|
||||
|
||||
For Each row In DataGridView1.Rows
|
||||
Dim isSimilar As Boolean = False
|
||||
Dim curIndx = DataGridView1.Rows.IndexOf(row)
|
||||
Dim curOffset As Integer = FinalArr.Count
|
||||
|
||||
'NEED TO SEARCH SIMILAR STRINGS!!! And MAKE INDEX without ADDING STRING!
|
||||
For xxx = 0 To curIndx - 1
|
||||
If DataGridView1.Rows(xxx).Cells(1).Value = row.Cells(1).Value Then
|
||||
isSimilar = True
|
||||
curOffset = BitConverter.ToInt32(FinalArr.ToArray, xxx * 4 + 4)
|
||||
Exit For
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
|
||||
Dim offsetAddr As Integer = curIndx * 4 + 4
|
||||
|
||||
FinalArr(offsetAddr) = BitConverter.GetBytes(curOffset)(0)
|
||||
FinalArr(offsetAddr + 1) = BitConverter.GetBytes(curOffset)(1)
|
||||
FinalArr(offsetAddr + 2) = BitConverter.GetBytes(curOffset)(2)
|
||||
|
||||
If isSimilar Then Continue For 'Similar String
|
||||
|
||||
Dim curStr = row.Cells(1).Value.ToString
|
||||
|
||||
|
||||
'TEXT ADDING PART
|
||||
|
||||
If curStr = "" Then Continue For
|
||||
|
||||
If LineModeSimple.Checked And curStr(0) <> "^" And curStr(0) <> "#" Then
|
||||
|
||||
FinalArr.AddRange({curStr.Length, &H20}) 'Length Of string
|
||||
For a = 0 To curStr.Length - 1
|
||||
FinalArr.Add(Asc(curStr(a)))
|
||||
Next
|
||||
If FinalArr.Count And 1 Then FinalArr.Add(0)
|
||||
Else
|
||||
FinalArr.AddRange(CompileLine(curStr))
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
'Saving & importing FIle
|
||||
If FinalArr.Count > MaximusSize Then MsgBox("SIZE EXCEED! " & FinalArr.Count) : Exit Sub
|
||||
For a = 0 To FinalArr.Count - 1
|
||||
CurFile(a + Offset.Text) = FinalArr(a)
|
||||
Next
|
||||
Dim cd = New ISOTools
|
||||
If RadioFile.Checked Then
|
||||
cd.saveCDfile(UserPath.Text, files1(FileID.Text).Sector, files1(FileID.Text).Sizw, CurFile)
|
||||
Else
|
||||
cd.saveCDfile(UserPath.Text, 27, 1812408, CurFile)
|
||||
End If
|
||||
|
||||
MsgBox("Succesfully Saved!", MsgBoxStyle.Information)
|
||||
'Dim filnam As String = "D:\Games\PSX\Persona.2.Innocent.Sin\Export\0063_SHOPS_CODE\EDITOR\TESTOUTPUT"
|
||||
'My.Computer.FileSystem.WriteAllBytes(filnam, FinalArr.ToArray, False)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub SaveSettings_Click(sender As Object, e As EventArgs) Handles SaveSettings.Click
|
||||
If SetName.Text.Count = 0 Then MsgBox("Enter name!") : Exit Sub
|
||||
Dim filnam As String = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\LINES_EDITOR\"
|
||||
If RadioFile.Checked Then filnam &= FileID.Text & "_" Else filnam &= "0000_"
|
||||
filnam &= Offset.Text & "_" & EngOffset.Text & "_" & SetName.Text & ".txt"
|
||||
|
||||
My.Computer.FileSystem.WriteAllText(filnam, SetName.Text, False)
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub LoadSettings_Click(sender As Object, e As EventArgs) Handles LoadSettings.Click
|
||||
|
||||
Form1.OpenFileDialog1.InitialDirectory = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\LINES_EDITOR\"
|
||||
If Form1.OpenFileDialog1.ShowDialog <> DialogResult.OK Then Exit Sub
|
||||
Dim fileInfo = Split(Path.GetFileNameWithoutExtension(Form1.OpenFileDialog1.FileName), "_")
|
||||
Dim Settings() = Split(My.Computer.FileSystem.ReadAllText(Form1.OpenFileDialog1.FileName), vbCrLf)
|
||||
SetName.Text = Settings(0)
|
||||
|
||||
If fileInfo(0) = "0000" Then
|
||||
RadioFile.Checked = False : RadioSector.Checked = True
|
||||
FileID.Text = fileInfo(0)
|
||||
Offset.Text = fileInfo(1)
|
||||
EngOffset.Text = fileInfo(2)
|
||||
|
||||
LoadBtn.PerformClick()
|
||||
Else
|
||||
RadioFile.Checked = True : RadioSector.Checked = False
|
||||
FileID.Text = fileInfo(0)
|
||||
Offset.Text = fileInfo(1)
|
||||
EngOffset.Text = fileInfo(2)
|
||||
|
||||
LoadBtn.PerformClick()
|
||||
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub CalcYourTextSize()
|
||||
Dim byteCount = 0
|
||||
|
||||
If LineModeSimple.Checked Then
|
||||
|
||||
For Each row In DataGridView1.Rows
|
||||
|
||||
Dim rrr = row.Cells(1).Value
|
||||
If Not IsNothing(rrr) Then
|
||||
If rrr.ToString.Length = 0 Then Continue For
|
||||
|
||||
'if jap insert
|
||||
|
||||
If rrr(0) = "#" Then
|
||||
byteCount += (rrr.ToString.Length - 1) * 2 + 2
|
||||
Else
|
||||
byteCount += 2 + rrr.ToString.Length
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
If byteCount > TextSize Then
|
||||
YourTxtSz.ForeColor = Color.Red
|
||||
Else
|
||||
YourTxtSz.ForeColor = Color.Blue
|
||||
End If
|
||||
|
||||
If byteCount And 1 Then byteCount += 1
|
||||
|
||||
Else
|
||||
For Each row In DataGridView1.Rows
|
||||
Dim curIndx = DataGridView1.Rows.IndexOf(row)
|
||||
For xxx = 0 To curIndx - 1
|
||||
If DataGridView1.Rows(xxx).Cells(1).Value = row.Cells(1).Value Then GoTo simil
|
||||
Next
|
||||
Dim line As List(Of Byte) = CompileLine(row.Cells(1).Value.ToString) 'Check similar strings
|
||||
byteCount += line.Count
|
||||
|
||||
simil:
|
||||
Next
|
||||
|
||||
End If
|
||||
|
||||
YourTxtSz.Text = "Your text sz: " & byteCount
|
||||
If byteCount > TextSize Then YourTxtSz.ForeColor = Color.Red Else YourTxtSz.ForeColor = Color.Blue
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function getFromSkobki(ByRef tx As String, ByRef x As Integer)
|
||||
|
||||
x = x + 1
|
||||
Dim accum = ""
|
||||
Do While tx(x) <> "]"
|
||||
accum &= tx(x)
|
||||
x += 1
|
||||
Loop
|
||||
Return accum
|
||||
|
||||
End Function
|
||||
|
||||
Private Sub DataGridView1_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
|
||||
CalcYourTextSize()
|
||||
End Sub
|
||||
|
||||
Private Sub DataGridView1_SelectionChanged(sender As Object, e As EventArgs) Handles DataGridView1.SelectionChanged
|
||||
If LineModeComplex.Checked Then Exit Sub
|
||||
If DataGridView1.CurrentCell.ColumnIndex <> 1 Then Exit Sub
|
||||
Dim aaa = DataGridView1.CurrentCell
|
||||
If IsNothing(aaa.Value) Then Exit Sub
|
||||
Dim ddd = aaa.Value.ToString.Length
|
||||
CurLen.Text = "Cur. Len.: " & ddd
|
||||
If ddd > 19 Then CurLen.ForeColor = Color.Red Else CurLen.ForeColor = Color.Blue
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles tempSave.Click
|
||||
Dim filnam As String = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\LINES_EDITOR\TEMP_TEXT\"
|
||||
If RadioFile.Checked Then filnam &= FileID.Text & "_" Else filnam &= "0000_"
|
||||
filnam &= Offset.Text & "_" & SetName.Text & "_TEMP_TEXT.txt"
|
||||
|
||||
Dim txt As String = ""
|
||||
|
||||
For Each row In DataGridView1.Rows
|
||||
Dim aaa = DataGridView1.CurrentCell
|
||||
If IsNothing(row.Cells(1).Value) Then MsgBox("Error reading tgable! Pleasem, resave!") : Exit Sub
|
||||
txt += row.Cells(1).Value.ToString & vbCrLf
|
||||
Next
|
||||
|
||||
My.Computer.FileSystem.WriteAllText(filnam, txt, False)
|
||||
End Sub
|
||||
|
||||
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles tempLoad.Click
|
||||
Form1.OpenFileDialog1.InitialDirectory = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\LINES_EDITOR\TEMP_TEXT\"
|
||||
If Form1.OpenFileDialog1.ShowDialog <> DialogResult.OK Then Exit Sub
|
||||
|
||||
Dim txt = Split(My.Computer.FileSystem.ReadAllText(Form1.OpenFileDialog1.FileName), vbCrLf)
|
||||
ReDim Preserve txt(DataGridView1.Rows.Count - 1)
|
||||
|
||||
For Each row In DataGridView1.Rows
|
||||
|
||||
row.Cells(1).Value = txt(DataGridView1.Rows.IndexOf(row))
|
||||
Next
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub PatchFileBtn_Click(sender As Object, e As EventArgs) Handles PatchFileBtn.Click
|
||||
|
||||
|
||||
Dim cd = New ISOTools
|
||||
If Not IsNumeric(patchFileID.Text) Then MsgBox("FILE ID IS NOT NUMERIC!", MsgBoxStyle.Critical) : Exit Sub
|
||||
If Not IsNumeric(patchOffset.Text) Then MsgBox("FILE OFFSET IS NOT NUMERIC!", MsgBoxStyle.Critical) : Exit Sub
|
||||
|
||||
Dim patchFile() As Byte
|
||||
If PatchFileRadio.Checked Then
|
||||
patchFile = cd.getCDfile(UserPath.Text, files1(patchFileID.Text).Sector, files1(patchFileID.Text).Sizw).ToArray
|
||||
Else
|
||||
patchFile = cd.getCDfile(UserPath.Text, 27, 1812408).ToArray
|
||||
End If
|
||||
|
||||
Dim test = BitConverter.ToInt32(patchFile, patchOffset.Text)
|
||||
|
||||
If test = 201474048 Then MsgBox("Already patched with 80090000! ;)", MsgBoxStyle.Information) : Exit Sub
|
||||
If test <> 201352384 Then MsgBox("Wrong 80019300 call!", MsgBoxStyle.Critical) : Exit Sub
|
||||
|
||||
patchFile(patchOffset.Text) = 0
|
||||
patchFile(patchOffset.Text + 1) = &H40
|
||||
patchFile(patchOffset.Text + 2) = 2
|
||||
patchFile(patchOffset.Text + 3) = &HC
|
||||
|
||||
If PatchFileRadio.Checked Then
|
||||
cd.saveCDfile(UserPath.Text, files1(patchFileID.Text).Sector, files1(patchFileID.Text).Sizw, patchFile)
|
||||
Else
|
||||
cd.saveCDfile(UserPath.Text, 27, 1812408, patchFile)
|
||||
End If
|
||||
MsgBox("Succesfull patched.", MsgBoxStyle.Information)
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub ReplaceAll_Click(sender As Object, e As EventArgs) Handles ReplaceAll.Click
|
||||
If Not IsNumeric(patchFileID.Text) Then MsgBox("FILE ID IS NOT NUMERIC!", MsgBoxStyle.Critical) : Exit Sub
|
||||
If Not IsNumeric(patchOffset.Text) Then MsgBox("FILE OFFSET IS NOT NUMERIC!", MsgBoxStyle.Critical) : Exit Sub
|
||||
Dim cd = New ISOTools
|
||||
Dim patchFile() As Byte
|
||||
If PatchFileRadio.Checked Then
|
||||
patchFile = cd.getCDfile(UserPath.Text, files1(FileID.Text).Sector, files1(FileID.Text).Sizw).ToArray
|
||||
Else
|
||||
patchFile = cd.getCDfile(UserPath.Text, 27, 1812408).ToArray
|
||||
End If
|
||||
|
||||
Dim overall = 0
|
||||
|
||||
For a = 0 To patchFile.Length - 1 Step 4
|
||||
|
||||
If a > 500000 Then Exit For 'don't touch my code and jumps if in main EXE
|
||||
|
||||
If BitConverter.ToInt32(patchFile, a) = 201353450 Then
|
||||
patchFile(a) = 0
|
||||
patchFile(a + 1) = &H40
|
||||
patchFile(a + 2) = 2
|
||||
patchFile(a + 3) = &HC
|
||||
overall += 1
|
||||
End If
|
||||
Next
|
||||
|
||||
If PatchFileRadio.Checked Then
|
||||
cd.saveCDfile(UserPath.Text, files1(FileID.Text).Sector, files1(FileID.Text).Sizw, patchFile)
|
||||
Else
|
||||
cd.saveCDfile(UserPath.Text, 27, 1812408, patchFile)
|
||||
End If
|
||||
|
||||
MsgBox("Patched " & overall & " text calls!", MsgBoxStyle.Information)
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub EngSave_Click(sender As Object, e As EventArgs) Handles EngSave.Click
|
||||
Dim filnam As String = "D:\Games\PSX\Persona 2 - Batsu (NTSC-J) [SLPS-02825]\Export\LINES_EDITOR\TEMP_TEXT\"
|
||||
If RadioFile.Checked Then filnam &= FileID.Text & "_" Else filnam &= "0000_"
|
||||
filnam &= Offset.Text & "_" & SetName.Text & "_ENG_TEXT.txt"
|
||||
|
||||
Dim txt As String = ""
|
||||
|
||||
For Each row In DataGridView1.Rows
|
||||
txt += row.Cells(2).Value.ToString & vbCrLf
|
||||
Next
|
||||
|
||||
|
||||
My.Computer.FileSystem.WriteAllText(filnam, txt, False)
|
||||
End Sub
|
||||
|
||||
|
||||
Public Function Unkudos(ByRef Str As String)
|
||||
Str = Str.Replace("V", "л")
|
||||
Str = Str.Replace("v", "ф")
|
||||
Str = Str.Replace("D", "Д")
|
||||
Str = Str.Replace("h", "н")
|
||||
Str = Str.Replace("j", "у")
|
||||
Str = Str.Replace("w", "ж")
|
||||
Str = Str.Replace("W", "Ж")
|
||||
Str = Str.Replace("z", "ч")
|
||||
Str = Str.Replace("O", "Ф")
|
||||
Str = Str.Replace("t", "т")
|
||||
Str = Str.Replace("Y", "У")
|
||||
Str = Str.Replace("u", "ю")
|
||||
Str = Str.Replace("Q", "Э")
|
||||
Str = Str.Replace("q", "з")
|
||||
Str = Str.Replace("x", "б")
|
||||
Str = Str.Replace("m", "м")
|
||||
Str = Str.Replace("f", "г")
|
||||
Str = Str.Replace("y", "п")
|
||||
Str = Str.Replace("n", "и")
|
||||
Str = Str.Replace("N", "И")
|
||||
Str = Str.Replace("J", "П")
|
||||
Str = Str.Replace("Z", "Г")
|
||||
Str = Str.Replace("g", "ш")
|
||||
Str = Str.Replace("G", "Ш")
|
||||
Str = Str.Replace("b", "в")
|
||||
Str = Str.Replace("d", "д")
|
||||
Str = Str.Replace("-", "ч")
|
||||
Str = Str.Replace("S", "б")
|
||||
Str = Str.Replace("r", "я")
|
||||
Str = Str.Replace("s", "ы")
|
||||
Str = Str.Replace("&", "О")
|
||||
Str = Str.Replace("R", "Я")
|
||||
Str = Str.Replace("L", "л")
|
||||
Str = Str.Replace("l", "x")
|
||||
|
||||
Return Str
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
End Class
|
||||
BIN
p2isPSX_CDToolkit/bin/Debug/1
Normal file
BIN
p2isPSX_CDToolkit/bin/Debug/1
Normal file
Binary file not shown.
881
p2isPSX_CDToolkit/bin/Debug/FileDesc.txt
Normal file
881
p2isPSX_CDToolkit/bin/Debug/FileDesc.txt
Normal file
@@ -0,0 +1,881 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GRF_WILD9
|
||||
GRF_BJACK
|
||||
GRF_AROUS
|
||||
GRF_BINGO
|
||||
FONTS
|
||||
|
||||
TXTIN_COD
|
||||
|
||||
GRF_TATSU
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
EVENTCODE
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GR_BTLSPR
|
||||
GRF_AVAS
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
EVENT_SPR
|
||||
EVENTPACK
|
||||
...
|
||||
...
|
||||
...
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.
|
||||
..
|
||||
...
|
||||
....
|
||||
LASTEVENT
|
||||
|
||||
GRF_FX
|
||||
|
||||
GRF_FX
|
||||
|
||||
GRF_FX
|
||||
|
||||
GRF_FX
|
||||
|
||||
GRF_FX
|
||||
|
||||
GRF_FX
|
||||
|
||||
GRF_FX
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GRF_FX
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GRFLASTFX
|
||||
GRFGAMOVR
|
||||
LittleFnt
|
||||
|
||||
|
||||
ExtraPack
|
||||
......
|
||||
.....
|
||||
....
|
||||
...
|
||||
..
|
||||
.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.
|
||||
..
|
||||
...
|
||||
....
|
||||
......
|
||||
LastExtra
|
||||
|
||||
|
||||
|
||||
|
||||
IntrFcTIM
|
||||
TitleCode
|
||||
TitleScrn
|
||||
|
||||
|
||||
BattlTxt?
|
||||
Gfx_Avata
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Gfx_Cards
|
||||
Gfx_Crds2
|
||||
Gfx_BGs
|
||||
Gfx_BGs2
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CityPack1
|
||||
CityPack2
|
||||
CityPack3
|
||||
CityPack4
|
||||
CityPack5
|
||||
CityPack6
|
||||
CityPack7
|
||||
CityBGs
|
||||
|
||||
|
||||
|
||||
|
||||
City_HUD
|
||||
|
||||
|
||||
|
||||
EndGamePk
|
||||
|
||||
|
||||
R&DLogo
|
||||
Dung_HUD
|
||||
|
||||
Dung_TEXT
|
||||
Dung_CODE
|
||||
|
||||
|
||||
|
||||
|
||||
DungPack1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DngPkLast
|
||||
BattlMenu
|
||||
|
||||
|
||||
TxtBattl2
|
||||
TextBattl
|
||||
|
||||
|
||||
|
||||
GrfBattle
|
||||
GrfDemons
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
PrsnSprts
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
MenuAvata
|
||||
PrsnaCard
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
PrtySprts
|
||||
FX_SPR
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Vid_Intro
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BIN
p2isPSX_CDToolkit/bin/Debug/Free.Ports.libpng.dll
Normal file
BIN
p2isPSX_CDToolkit/bin/Debug/Free.Ports.libpng.dll
Normal file
Binary file not shown.
8
p2isPSX_CDToolkit/bin/Debug/Free.Ports.libpng.xml
Normal file
8
p2isPSX_CDToolkit/bin/Debug/Free.Ports.libpng.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Free.Ports.libpng</name>
|
||||
</assembly>
|
||||
<members>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
p2isPSX_CDToolkit/bin/Debug/Free.Ports.zLib.dll
Normal file
BIN
p2isPSX_CDToolkit/bin/Debug/Free.Ports.zLib.dll
Normal file
Binary file not shown.
8
p2isPSX_CDToolkit/bin/Debug/Free.Ports.zLib.xml
Normal file
8
p2isPSX_CDToolkit/bin/Debug/Free.Ports.zLib.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Free.Ports.zLib</name>
|
||||
</assembly>
|
||||
<members>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
p2isPSX_CDToolkit/bin/Debug/Zlib.Portable.dll
Normal file
BIN
p2isPSX_CDToolkit/bin/Debug/Zlib.Portable.dll
Normal file
Binary file not shown.
3430
p2isPSX_CDToolkit/bin/Debug/Zlib.Portable.xml
Normal file
3430
p2isPSX_CDToolkit/bin/Debug/Zlib.Portable.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
p2isPSX_CDToolkit/bin/Debug/p2epPSX_CDToolkit.exe
Normal file
BIN
p2isPSX_CDToolkit/bin/Debug/p2epPSX_CDToolkit.exe
Normal file
Binary file not shown.
6
p2isPSX_CDToolkit/bin/Debug/p2epPSX_CDToolkit.exe.config
Normal file
6
p2isPSX_CDToolkit/bin/Debug/p2epPSX_CDToolkit.exe.config
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
BIN
p2isPSX_CDToolkit/bin/Debug/p2epPSX_CDToolkit.pdb
Normal file
BIN
p2isPSX_CDToolkit/bin/Debug/p2epPSX_CDToolkit.pdb
Normal file
Binary file not shown.
26
p2isPSX_CDToolkit/bin/Debug/p2epPSX_CDToolkit.xml
Normal file
26
p2isPSX_CDToolkit/bin/Debug/p2epPSX_CDToolkit.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>
|
||||
p2epPSX_CDToolkit
|
||||
</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:p2isPSX_CDView.My.Resources.Resources">
|
||||
<summary>
|
||||
Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:p2isPSX_CDView.My.Resources.Resources.ResourceManager">
|
||||
<summary>
|
||||
Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:p2isPSX_CDView.My.Resources.Resources.Culture">
|
||||
<summary>
|
||||
Перезаписывает свойство CurrentUICulture текущего потока для всех
|
||||
обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
p2isPSX_CDToolkit/bin/Debug/p2isPSX_CDToolkit.exe
Normal file
BIN
p2isPSX_CDToolkit/bin/Debug/p2isPSX_CDToolkit.exe
Normal file
Binary file not shown.
6
p2isPSX_CDToolkit/bin/Debug/p2isPSX_CDToolkit.exe.config
Normal file
6
p2isPSX_CDToolkit/bin/Debug/p2isPSX_CDToolkit.exe.config
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
BIN
p2isPSX_CDToolkit/bin/Debug/p2isPSX_CDToolkit.pdb
Normal file
BIN
p2isPSX_CDToolkit/bin/Debug/p2isPSX_CDToolkit.pdb
Normal file
Binary file not shown.
BIN
p2isPSX_CDToolkit/bin/Debug/p2isPSX_CDToolkit.vshost.exe
Normal file
BIN
p2isPSX_CDToolkit/bin/Debug/p2isPSX_CDToolkit.vshost.exe
Normal file
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
|
||||
</startup>
|
||||
</configuration>
|
||||
26
p2isPSX_CDToolkit/bin/Debug/p2isPSX_CDToolkit.xml
Normal file
26
p2isPSX_CDToolkit/bin/Debug/p2isPSX_CDToolkit.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>
|
||||
p2isPSX_CDToolkit
|
||||
</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:p2isPSX_CDView.My.Resources.Resources">
|
||||
<summary>
|
||||
Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:p2isPSX_CDView.My.Resources.Resources.ResourceManager">
|
||||
<summary>
|
||||
Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:p2isPSX_CDView.My.Resources.Resources.Culture">
|
||||
<summary>
|
||||
Перезаписывает свойство CurrentUICulture текущего потока для всех
|
||||
обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
6
p2isPSX_CDToolkit/bin/Debug/p2isPSX_CDView.exe.config
Normal file
6
p2isPSX_CDToolkit/bin/Debug/p2isPSX_CDView.exe.config
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
|
||||
</startup>
|
||||
</configuration>
|
||||
BIN
p2isPSX_CDToolkit/bin/Debug/p2isPSX_CDView.vshost.exe
Normal file
BIN
p2isPSX_CDToolkit/bin/Debug/p2isPSX_CDView.vshost.exe
Normal file
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
|
||||
</startup>
|
||||
</configuration>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
</assembly>
|
||||
BIN
p2isPSX_CDToolkit/bin/Debug/unrle_.bin
Normal file
BIN
p2isPSX_CDToolkit/bin/Debug/unrle_.bin
Normal file
Binary file not shown.
26
p2isPSX_CDToolkit/bin/Debug/vs5988.tmp
Normal file
26
p2isPSX_CDToolkit/bin/Debug/vs5988.tmp
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>
|
||||
p2epPSX_CDToolkit
|
||||
</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:p2isPSX_CDView.My.Resources.Resources">
|
||||
<summary>
|
||||
Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:p2isPSX_CDView.My.Resources.Resources.ResourceManager">
|
||||
<summary>
|
||||
Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:p2isPSX_CDView.My.Resources.Resources.Culture">
|
||||
<summary>
|
||||
Перезаписывает свойство CurrentUICulture текущего потока для всех
|
||||
обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
75
p2isPSX_CDToolkit/convEventToObj.Designer.vb
generated
Normal file
75
p2isPSX_CDToolkit/convEventToObj.Designer.vb
generated
Normal file
@@ -0,0 +1,75 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class convEventToObj
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Форма переопределяет dispose для очистки списка компонентов.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Является обязательной для конструктора форм Windows Forms
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Примечание: следующая процедура является обязательной для конструктора форм Windows Forms
|
||||
'Для ее изменения используйте конструктор форм Windows Form.
|
||||
'Не изменяйте ее в редакторе исходного кода.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.Button1 = New System.Windows.Forms.Button()
|
||||
Me.TextBox1 = New System.Windows.Forms.TextBox()
|
||||
Me.TextBox2 = New System.Windows.Forms.TextBox()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.Location = New System.Drawing.Point(164, 70)
|
||||
Me.Button1.Name = "Button1"
|
||||
Me.Button1.Size = New System.Drawing.Size(436, 232)
|
||||
Me.Button1.TabIndex = 0
|
||||
Me.Button1.Text = "COVERT TO OBJ"
|
||||
Me.Button1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'TextBox1
|
||||
'
|
||||
Me.TextBox1.Location = New System.Drawing.Point(164, 44)
|
||||
Me.TextBox1.Name = "TextBox1"
|
||||
Me.TextBox1.Size = New System.Drawing.Size(100, 20)
|
||||
Me.TextBox1.TabIndex = 1
|
||||
Me.TextBox1.Text = "100"
|
||||
'
|
||||
'TextBox2
|
||||
'
|
||||
Me.TextBox2.Location = New System.Drawing.Point(383, 44)
|
||||
Me.TextBox2.Name = "TextBox2"
|
||||
Me.TextBox2.Size = New System.Drawing.Size(100, 20)
|
||||
Me.TextBox2.TabIndex = 1
|
||||
Me.TextBox2.Text = "110"
|
||||
'
|
||||
'convEventToObj
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(800, 450)
|
||||
Me.Controls.Add(Me.TextBox2)
|
||||
Me.Controls.Add(Me.TextBox1)
|
||||
Me.Controls.Add(Me.Button1)
|
||||
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
|
||||
Me.MaximizeBox = False
|
||||
Me.Name = "convEventToObj"
|
||||
Me.Text = "convEventToObj"
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents Button1 As Button
|
||||
Friend WithEvents TextBox1 As TextBox
|
||||
Friend WithEvents TextBox2 As TextBox
|
||||
End Class
|
||||
120
p2isPSX_CDToolkit/convEventToObj.resx
Normal file
120
p2isPSX_CDToolkit/convEventToObj.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
317
p2isPSX_CDToolkit/convEventToObj.vb
Normal file
317
p2isPSX_CDToolkit/convEventToObj.vb
Normal file
@@ -0,0 +1,317 @@
|
||||
Imports System.IO
|
||||
|
||||
Public Class convEventToObj
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
|
||||
If Form1.CDFileList.SelectedIndex < 181 Or Form1.CDFileList.SelectedIndex > 577 Then MsgBox("PLEASE, SELECT PROPER SCENE FILE (181-577)!") : Exit Sub
|
||||
|
||||
Dim rle = New rleTools
|
||||
Dim texWidth As Integer
|
||||
|
||||
Dim fileName = "D:\Games\PSX\Persona.2.Innocent.Sin\Export3D\Scene" & Form1.CDFileList.SelectedIndex.ToString("D4")
|
||||
Dim matName = "Scene" & Form1.CDFileList.SelectedIndex.ToString("D4")
|
||||
'MAKING TEXTURE
|
||||
GenerateBigTexture(rle.Unrle(Form1.binFile(0).Bytes).ToArray, fileName, texWidth)
|
||||
createMaterial(matName, fileName)
|
||||
|
||||
'MAKING 3D
|
||||
Dim fil = rle.Unrle(Form1.binFile(1).Bytes).ToArray
|
||||
|
||||
|
||||
Dim objectsnum = BitConverter.ToInt16(fil, 16)
|
||||
Dim HZ = BitConverter.ToInt16(fil, 18)
|
||||
Dim CoordsAddr = BitConverter.ToInt32(fil, 20)
|
||||
Dim AdditionsAddr = BitConverter.ToInt32(fil, 24)
|
||||
Dim objects = New List(Of Obj3d)
|
||||
|
||||
|
||||
'init objects
|
||||
Dim ObjectsPointers = New List(Of Integer)
|
||||
For a = 0 To objectsnum - 1
|
||||
ObjectsPointers.Add(BitConverter.ToInt32(fil, 28 + a * 4))
|
||||
Next
|
||||
|
||||
'get all coords
|
||||
Dim coordsList = New List(Of Coord)
|
||||
For a = CoordsAddr To AdditionsAddr Step 8
|
||||
coordsList.Add(New Coord With {.X = BitConverter.ToInt16(fil, a), .Y = BitConverter.ToInt16(fil, a + 2) * -1, .Z = BitConverter.ToInt16(fil, a + 4) * -1})
|
||||
Next
|
||||
|
||||
|
||||
'resolve objects
|
||||
For a = 0 To objectsnum - 1
|
||||
Dim obj = New Obj3d
|
||||
Dim readAddr = ObjectsPointers(a)
|
||||
obj.commandNum = BitConverter.ToInt16(fil, readAddr)
|
||||
obj.id = BitConverter.ToInt32(fil, readAddr + 4)
|
||||
readAddr += 8 ' Moving to ChunkData
|
||||
|
||||
For x = 0 To obj.commandNum - 1 'Creating chunks
|
||||
obj.chunksAddr.Add(readAddr)
|
||||
Dim chunkLength = fil(readAddr + 1) * 4
|
||||
Dim draftChunk(chunkLength - 1) As Byte
|
||||
readAddr += 4
|
||||
Array.Copy(fil, readAddr, draftChunk, 0, chunkLength)
|
||||
obj.chunks.Add(draftChunk)
|
||||
readAddr += chunkLength
|
||||
|
||||
'Getting Coords
|
||||
Dim poly As New Poly
|
||||
poly.command = draftChunk(7)
|
||||
poly.vertNum = 0
|
||||
poly.Shading = Color.FromArgb(draftChunk(4), draftChunk(5), draftChunk(6))
|
||||
|
||||
Select Case poly.command
|
||||
Case &H20, &H22, &H24, &H25, &H26, &H27, &H30, &H32, &H34, &H36
|
||||
poly.vertNum = 3
|
||||
Case &H28, &H2A, &H2C, &H2D, &H2E, &H2F, &H38, &H3A, &H3C, &H3E
|
||||
poly.vertNum = 4
|
||||
|
||||
Case Else
|
||||
Debug.WriteLine("UNKNOWN COMMAND! " & poly.command & ". Object " & a & ". ChunkAddr " & obj.chunksAddr.Last & ". ")
|
||||
End Select
|
||||
|
||||
'calc Texture Position
|
||||
Select Case poly.command
|
||||
Case &H2C, &H2D, &H2E, &H3C, &H3E
|
||||
Dim TexPage = (draftChunk(22) And 127) - 26
|
||||
|
||||
Dim Cind1 = 12 : Dim Cind2 = 20 : Dim Cind3 = 28 : Dim Cind4 = 36
|
||||
|
||||
If poly.command = &H3C Or poly.command = &H3E Then
|
||||
Cind2 = 24 : Cind3 = 36 : Cind4 = 48 : TexPage = (draftChunk(26) And 127) - 26
|
||||
End If
|
||||
|
||||
poly.textureVertexs.add(New TexCoord With {.X = (draftChunk(Cind1) - 1 + TexPage * 128) / texWidth, .Y = 1 - draftChunk(Cind1 + 1) / 256})
|
||||
poly.textureVertexs.add(New TexCoord With {.X = (draftChunk(Cind2) - 1 + TexPage * 128) / texWidth, .Y = 1 - draftChunk(Cind2 + 1) / 256})
|
||||
|
||||
poly.textureVertexs.add(New TexCoord With {.X = (draftChunk(Cind3) - 1 + TexPage * 128) / texWidth, .Y = 1 - draftChunk(Cind3 + 1) / 256})
|
||||
poly.textureVertexs.add(New TexCoord With {.X = (draftChunk(Cind4) - 1 + TexPage * 128) / texWidth, .Y = 1 - draftChunk(Cind4 + 1) / 256})
|
||||
|
||||
|
||||
End Select
|
||||
|
||||
|
||||
' Dim bbb As Boolean = BitConverter.ToInt16(draftChunk, UBound(draftChunk) - 1) > coordsList.Count - 1
|
||||
|
||||
Dim coord1 As Coord = coordsList(BitConverter.ToInt16(draftChunk, UBound(draftChunk) - 7))
|
||||
Dim coord2 As Coord = coordsList(BitConverter.ToInt16(draftChunk, UBound(draftChunk) - 5))
|
||||
Dim coord3 As Coord = coordsList(BitConverter.ToInt16(draftChunk, UBound(draftChunk) - 3))
|
||||
Dim coord4 = New Coord
|
||||
If poly.vertNum = 4 Then
|
||||
coord4 = coordsList(BitConverter.ToInt16(draftChunk, UBound(draftChunk) - 1))
|
||||
poly.coords.AddRange({coord1, coord2, coord3, coord4})
|
||||
ElseIf poly.vertNum = 3 Then
|
||||
poly.coords.AddRange({coord1, coord2, coord3})
|
||||
End If
|
||||
|
||||
|
||||
|
||||
obj.Polys.Add(poly)
|
||||
|
||||
Next
|
||||
|
||||
|
||||
|
||||
objects.Add(obj)
|
||||
Next
|
||||
|
||||
Dim objfile As String
|
||||
|
||||
objfile = "#PERSONA 2 IS SCENE EXPORT /// SERGEY SHEMET" & vbCrLf & "mtllib " & matName & ".mtl" & vbCrLf & vbCrLf
|
||||
My.Computer.FileSystem.WriteAllText(fileName & ".obj", objfile, False)
|
||||
Dim vertexcount = 1
|
||||
Dim texturvertexCount = 1
|
||||
|
||||
For zzz = 0 To objects.Count - 1
|
||||
|
||||
Debug.WriteLine("Current object " & zzz + 1 & "\" & objects.Count)
|
||||
|
||||
Dim verts = ""
|
||||
Dim surfs = ""
|
||||
objfile = vbCrLf & vbCrLf & "o Huynya_" & zzz & vbCrLf & vbCrLf
|
||||
|
||||
Dim vrtsStrList = New List(Of String)
|
||||
Dim surfsStrList = New List(Of String)
|
||||
Dim verTexturList = New List(Of String)
|
||||
|
||||
'verTexturList.AddRange({"vt 0.00 0.00", "vt 1.00 0.00", "vt 1.00 1.00", "vt 0.00 1.00"})
|
||||
|
||||
Dim curobj As Obj3d = objects(zzz)
|
||||
|
||||
For a = 0 To curobj.Polys.Count - 1
|
||||
|
||||
For Each pol In curobj.Polys
|
||||
|
||||
For Each crd In pol.coords
|
||||
|
||||
|
||||
Dim X As Decimal = crd.X / 100
|
||||
Dim Y As Decimal = crd.Y / 100
|
||||
Dim Z As Decimal = crd.Z / 100
|
||||
|
||||
vrtsStrList.Add("v " & X.ToString("F5", Globalization.CultureInfo.InvariantCulture) & " " &
|
||||
Y.ToString("F5", Globalization.CultureInfo.InvariantCulture) & " " &
|
||||
Z.ToString("F5", Globalization.CultureInfo.InvariantCulture))
|
||||
Next
|
||||
|
||||
For Each texCoord In pol.textureVertexs
|
||||
Dim X As Decimal = texCoord.X
|
||||
'Dim X As Decimal = 1 - texCoord.X
|
||||
Dim Y As Decimal = texCoord.Y
|
||||
verTexturList.Add("vt " & X.ToString("F5", Globalization.CultureInfo.InvariantCulture) &
|
||||
" " & Y.ToString("F5", Globalization.CultureInfo.InvariantCulture))
|
||||
|
||||
|
||||
Next
|
||||
|
||||
|
||||
If pol.coords.Count = 4 Then
|
||||
If pol.texturevertexs.Count = 4 Then
|
||||
surfsStrList.Add("f " & vertexcount & "/" & texturvertexCount & " " &
|
||||
vertexcount + 1 & "/" & texturvertexCount + 1 & " " &
|
||||
vertexcount + 3 & "/" & texturvertexCount + 3 & " " &
|
||||
vertexcount + 2 & "/" & texturvertexCount + 2)
|
||||
Else
|
||||
surfsStrList.Add("f " & vertexcount & " " & vertexcount + 1 & " " & vertexcount + 3 & " " & vertexcount + 2)
|
||||
End If
|
||||
|
||||
End If
|
||||
If pol.coords.Count = 3 Then
|
||||
surfsStrList.Add("f " & vertexcount & " " & vertexcount + 2 & " " & vertexcount +1)
|
||||
End If
|
||||
|
||||
vertexcount += pol.coords.Count
|
||||
texturvertexCount += pol.texturevertexs.Count
|
||||
|
||||
Next
|
||||
|
||||
Next
|
||||
|
||||
Dim file As System.IO.StreamWriter
|
||||
file = My.Computer.FileSystem.OpenTextFileWriter(fileName & ".obj", True)
|
||||
|
||||
|
||||
file.WriteLine(objfile, True)
|
||||
|
||||
'objfile &= verts & vbCrLf
|
||||
For Each vvv In vrtsStrList
|
||||
file.WriteLine(vvv, True)
|
||||
Next
|
||||
|
||||
For Each vt In verTexturList
|
||||
file.WriteLine(vt, True)
|
||||
Next
|
||||
|
||||
objfile = vbCrLf & "usemtl " & matName & vbCrLf & "s off" & vbCrLf & vbCrLf
|
||||
file.WriteLine(objfile, True)
|
||||
|
||||
For Each sss In surfsStrList
|
||||
file.WriteLine(sss, True)
|
||||
Next
|
||||
|
||||
file.Close()
|
||||
|
||||
'If zzz = 3 Then Exit For
|
||||
Next
|
||||
|
||||
|
||||
MsgBox("DINE")
|
||||
End Sub
|
||||
|
||||
|
||||
Public Sub GenerateBigTexture(ByRef fil As Byte(), ByVal filnam As String, ByRef texwidth As Integer)
|
||||
|
||||
Dim textureCount = BitConverter.ToInt32(fil, 0)
|
||||
Dim cluts = New List(Of List(Of Byte))
|
||||
Dim Pics = New List(Of List(Of Byte))
|
||||
|
||||
Dim clutsOffs = New List(Of Integer)
|
||||
Dim picsOffs = New List(Of Integer)
|
||||
|
||||
Dim TxOffsets = New List(Of Integer)
|
||||
|
||||
For a = 0 To textureCount - 1 Step 2
|
||||
clutsOffs.Add(BitConverter.ToInt32(fil, a * 4 + 4))
|
||||
picsOffs.Add(BitConverter.ToInt32(fil, a * 4 + 8))
|
||||
Next
|
||||
|
||||
For Each clut In clutsOffs
|
||||
Dim cur = clutsOffs.IndexOf(clut)
|
||||
|
||||
Dim cltData(539) As Byte
|
||||
Dim picData(16391) As Byte
|
||||
Array.Copy(fil, clut, cltData, 0, 540)
|
||||
Array.Copy(fil, picsOffs(cur), picData, 0, 16392)
|
||||
Dim cl = New List(Of Byte) : cl.AddRange(cltData.ToList) : cluts.Add(cl)
|
||||
Dim pc = New List(Of Byte) : pc.AddRange(picData.ToList) : Pics.Add(pc)
|
||||
|
||||
Next
|
||||
|
||||
Dim png = New pngImage
|
||||
|
||||
|
||||
My.Computer.FileSystem.WriteAllBytes(filnam & ".png", png.makeBigTexturePng(cluts, Pics).ToArray, False)
|
||||
|
||||
texwidth = picsOffs.Count * 64
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Public Sub createMaterial(ByVal matName As String, ByVal filnam As String)
|
||||
|
||||
|
||||
Dim mtl = "#Sergey Shemet Persona2 Material" & vbCrLf & vbCrLf
|
||||
|
||||
mtl &= "newmtl " & matName & vbCrLf
|
||||
mtl &= "Ns 250.000000" & vbCrLf
|
||||
mtl &= "Ka 1.000000 1.000000 1.000000" & vbCrLf
|
||||
mtl &= "Kd 0.100061 0.195986 0.082515" & vbCrLf
|
||||
mtl &= "Ks 0.500000 0.500000 0.500000" & vbCrLf
|
||||
mtl &= "Ke 0.000000 0.000000 0.000000" & vbCrLf
|
||||
mtl &= "Ni 1.450000" & vbCrLf
|
||||
mtl &= "d 1.000000" & vbCrLf
|
||||
mtl &= "illum 0.5" & vbCrLf
|
||||
mtl &= "map_Kd " & matName & ".png" & vbCrLf
|
||||
|
||||
My.Computer.FileSystem.WriteAllText(filnam & ".mtl", mtl, False)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
|
||||
|
||||
Public Class Obj3d
|
||||
|
||||
Public id As Integer
|
||||
Public commandNum As Integer
|
||||
Public chunks = New List(Of Byte())
|
||||
Public chunksAddr = New List(Of Integer)
|
||||
Public Polys = New List(Of Poly)
|
||||
|
||||
End Class
|
||||
|
||||
Public Class Poly
|
||||
Public coords = New List(Of Coord)
|
||||
Public vertNum As Byte
|
||||
Public Shading As Color
|
||||
Public command As Byte
|
||||
|
||||
Public textureVertexs = New List(Of TexCoord)
|
||||
|
||||
End Class
|
||||
|
||||
Public Class Coord
|
||||
Public X As Integer
|
||||
Public Y As Integer
|
||||
Public Z As Integer
|
||||
End Class
|
||||
|
||||
Public Class TexCoord
|
||||
Public X As Decimal
|
||||
Public Y As Decimal
|
||||
End Class
|
||||
@@ -0,0 +1,7 @@
|
||||
' <autogenerated/>
|
||||
Option Strict Off
|
||||
Option Explicit On
|
||||
|
||||
Imports System
|
||||
Imports System.Reflection
|
||||
<Assembly: Global.System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.1", FrameworkDisplayName:=".NET Framework 4.6.1")>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
p2isPSX_CDToolkit/obj/Debug/p2epPSX_CDToolkit.exe
Normal file
BIN
p2isPSX_CDToolkit/obj/Debug/p2epPSX_CDToolkit.exe
Normal file
Binary file not shown.
BIN
p2isPSX_CDToolkit/obj/Debug/p2epPSX_CDToolkit.pdb
Normal file
BIN
p2isPSX_CDToolkit/obj/Debug/p2epPSX_CDToolkit.pdb
Normal file
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
1ed733f7ef716e1628c8bd5501a6d0e2fc0850cebfdbf100c59affa0e885c14a
|
||||
@@ -0,0 +1,26 @@
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\p2epPSX_CDToolkit.exe.config
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\p2epPSX_CDToolkit.exe
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\p2epPSX_CDToolkit.pdb
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\p2epPSX_CDToolkit.xml
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\Free.Ports.libpng.dll
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\Free.Ports.zLib.dll
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\Zlib.Portable.dll
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\Free.Ports.libpng.xml
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\Free.Ports.zLib.xml
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\Zlib.Portable.xml
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.convEventToObj.resources
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.DungeonEditor.resources
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.Form1.resources
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.Resources.resources
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.ScriptCheck.resources
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.StringsOffsetEditorvb.resources
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2epPSX_CDToolkit.vbproj.GenerateResource.cache
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2epPSX_CDToolkit.vbproj.CoreCompileInputs.cache
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2epPSX_CDToolkit.exe
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2epPSX_CDToolkit.xml
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2epPSX_CDToolkit.pdb
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.JapCharCodeGenerator.resources
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.ScriptParserWin.resources
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.CityEditor.resources
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2epPSX_CDToolkit.vbproj.AssemblyReference.cache
|
||||
C:\Users\Sergey\source\repos\p2epPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2epPSX_.D2426659.Up2Date
|
||||
Binary file not shown.
26
p2isPSX_CDToolkit/obj/Debug/p2epPSX_CDToolkit.xml
Normal file
26
p2isPSX_CDToolkit/obj/Debug/p2epPSX_CDToolkit.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>
|
||||
p2epPSX_CDToolkit
|
||||
</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:p2isPSX_CDView.My.Resources.Resources">
|
||||
<summary>
|
||||
Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:p2isPSX_CDView.My.Resources.Resources.ResourceManager">
|
||||
<summary>
|
||||
Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:p2isPSX_CDView.My.Resources.Resources.Culture">
|
||||
<summary>
|
||||
Перезаписывает свойство CurrentUICulture текущего потока для всех
|
||||
обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
p2isPSX_CDToolkit/obj/Debug/p2isPSX_CDToolkit.exe
Normal file
BIN
p2isPSX_CDToolkit/obj/Debug/p2isPSX_CDToolkit.exe
Normal file
Binary file not shown.
BIN
p2isPSX_CDToolkit/obj/Debug/p2isPSX_CDToolkit.pdb
Normal file
BIN
p2isPSX_CDToolkit/obj/Debug/p2isPSX_CDToolkit.pdb
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
326aa845c4bb0ba74cb72caca3fa7317da39d30e
|
||||
@@ -0,0 +1,24 @@
|
||||
C:\Users\ShemetSA.RADIO\Documents\Visual Studio 2015\Projects\p2isPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\p2isPSX_CDToolkit.exe.config
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\p2isPSX_CDToolkit.exe.config
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\p2isPSX_CDToolkit.exe
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\p2isPSX_CDToolkit.pdb
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\p2isPSX_CDToolkit.xml
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDToolkit.vbprojAssemblyReference.cache
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.Form1.resources
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.Resources.resources
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDToolkit.vbproj.GenerateResource.cache
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDToolkit.vbproj.CoreCompileInputs.cache
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDToolkit.exe
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDToolkit.xml
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDToolkit.pdb
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.ScriptCheck.resources
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\Zlib.Portable.dll
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\Zlib.Portable.xml
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDToolkit.vbproj.CopyComplete
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.StringsOffsetEditorvb.resources
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.DungeonEditor.resources
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\Free.Ports.libpng.dll
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\Free.Ports.zLib.dll
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\Free.Ports.libpng.xml
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\bin\Debug\Free.Ports.zLib.xml
|
||||
C:\Users\Sergey\source\repos\p2isPSX_CDToolkit\p2isPSX_CDToolkit\obj\Debug\p2isPSX_CDView.convEventToObj.resources
|
||||
Binary file not shown.
Binary file not shown.
26
p2isPSX_CDToolkit/obj/Debug/p2isPSX_CDToolkit.xml
Normal file
26
p2isPSX_CDToolkit/obj/Debug/p2isPSX_CDToolkit.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>
|
||||
p2isPSX_CDToolkit
|
||||
</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:p2isPSX_CDView.My.Resources.Resources">
|
||||
<summary>
|
||||
Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:p2isPSX_CDView.My.Resources.Resources.ResourceManager">
|
||||
<summary>
|
||||
Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:p2isPSX_CDView.My.Resources.Resources.Culture">
|
||||
<summary>
|
||||
Перезаписывает свойство CurrentUICulture текущего потока для всех
|
||||
обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
p2isPSX_CDToolkit/obj/Debug/p2isPSX_CDView.CityEditor.resources
Normal file
BIN
p2isPSX_CDToolkit/obj/Debug/p2isPSX_CDView.CityEditor.resources
Normal file
Binary file not shown.
Binary file not shown.
BIN
p2isPSX_CDToolkit/obj/Debug/p2isPSX_CDView.Form1.resources
Normal file
BIN
p2isPSX_CDToolkit/obj/Debug/p2isPSX_CDView.Form1.resources
Normal file
Binary file not shown.
Binary file not shown.
BIN
p2isPSX_CDToolkit/obj/Debug/p2isPSX_CDView.Resources.resources
Normal file
BIN
p2isPSX_CDToolkit/obj/Debug/p2isPSX_CDView.Resources.resources
Normal file
Binary file not shown.
BIN
p2isPSX_CDToolkit/obj/Debug/p2isPSX_CDView.ScriptCheck.resources
Normal file
BIN
p2isPSX_CDToolkit/obj/Debug/p2isPSX_CDView.ScriptCheck.resources
Normal file
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user