본문 바로가기
스타크래프트/TkMPQLib

MPQ 파일 읽기 예제

by ModMapper 2016. 9. 20.

아래의 코드는 Bottleneck맵에서 scenario.chk를 추출하는 예제입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Imports TkMPQLib
 
Module MainModule
    Private Const FilePath As String = "(2)Bottleneck.scm"
    '예제에 사용될 맵 파일 경로
    '여기서는 스타크래프트 Bottleneck 맵을 열어보기로 함
 
    Private Const MPQPath As String = "staredit\scenario.chk"
    '추출할 파일의 경로
    '맵의 scenario.chk의 경로
 
    Sub Main()
        Dim MPQ As TkMPQ, Reader As MPQReader
        Dim FS As IO.FileStream
        Try
            '파일 경로로부터 MPQ를 읽어들임
            MPQ = New TkMPQ(FilePath)
        Catch
            'MPQ 파일을 여는데 실패함
            Console.WriteLine("MPQ 열기 실패!")
            End
        End Try
        'MPQ의 파일 갯수를 출력
        Console.WriteLine("MPQ가 성공적으로 열렸습니다")
        Console.WriteLine("파일의 갯수 : " & MPQ.FileCount)
        'MPQ로 부터 Chk파일을 가져옴
        Reader = MPQ.GetFile(MPQPath)
        '추출할 파일 생성
        Try
            FS = New IO.FileStream("scenario.chk", IO.FileMode.Create, IO.FileAccess.Write)
        Catch
            '파일을 생성하는데 실패함
            Console.WriteLine("파일 생성 실패!")
            End
        End Try
        '파일 스트림에 모두 작성
        Reader.WriteTo(FS)
        '파일 저장 및 닫기
        FS.Flush()
        FS.Close()
        '파일 저장 성공 출력
        Console.WriteLine("파일 저장에 성공했습니다!")
        Console.WriteLine("파일의 크기 : " & Reader.FileSize)
        'MPQ 파일 닫기
        Reader.Close()
        'MPQ 닫기
        MPQ.Close()
        Console.WriteLine("파일 추출 종료")
    End Sub
End Module
cs


예제 파일
Example.rar


'스타크래프트 > TkMPQLib' 카테고리의 다른 글

TkMPQLib  (15) 2017.06.19
TkMPQLib 설명  (0) 2016.09.20

댓글