BrawlCrate v0.41
Wii File Editor
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Properties | List of all members
BrawlLib.SSBB.ResourceNodes.DataSource Struct Reference

Public Member Functions

 DataSource (VoidPtr addr, int len)
 
 DataSource (VoidPtr addr, int len, CompressionType compression)
 
 DataSource (FileMap map)
 
 DataSource (FileMap map, CompressionType compression)
 
 DataSource (MemoryStream ms)
 
 DataSource (MemoryStream ms, CompressionType compression)
 
void Close ()
 
override bool Equals (object obj)
 
override int GetHashCode ()
 

Static Public Member Functions

static bool operator== (DataSource src1, DataSource src2)
 
static bool operator!= (DataSource src1, DataSource src2)
 

Public Attributes

VoidPtr Address
 
int Length
 
FileMap Map
 
CompressionType Compression
 

Static Public Attributes

static readonly DataSource Empty = new DataSource()
 

Properties

string Tag [get]
 
byte this[uint i] [get]
 

Constructor & Destructor Documentation

◆ DataSource() [1/6]

BrawlLib.SSBB.ResourceNodes.DataSource.DataSource ( VoidPtr  addr,
int  len 
)
inline
49 : this(addr, len, CompressionType.None)
50 {
51 }
CompressionType
Definition: CompressionHeader.cs:9

◆ DataSource() [2/6]

BrawlLib.SSBB.ResourceNodes.DataSource.DataSource ( VoidPtr  addr,
int  len,
CompressionType  compression 
)
inline
54 {
55 Address = addr;
56 Length = len;
57 Map = null;
58 Compression = compression;
59 }
FileMap Map
Definition: ResourceNode.cs:33
int Length
Definition: ResourceNode.cs:32
CompressionType Compression
Definition: ResourceNode.cs:34
VoidPtr Address
Definition: ResourceNode.cs:31

◆ DataSource() [3/6]

BrawlLib.SSBB.ResourceNodes.DataSource.DataSource ( FileMap  map)
inline
61 : this(map, CompressionType.None)
62 {
63 }

◆ DataSource() [4/6]

BrawlLib.SSBB.ResourceNodes.DataSource.DataSource ( FileMap  map,
CompressionType  compression 
)
inline
66 {
67 Address = map.Address;
68 Length = map.Length;
69 Map = map;
70 Compression = compression;
71 }
int Length
Definition: FileMap.cs:19
VoidPtr Address
Definition: FileMap.cs:16

◆ DataSource() [5/6]

BrawlLib.SSBB.ResourceNodes.DataSource.DataSource ( MemoryStream  ms)
inline
73 : this(ms, CompressionType.None)
74 {
75 }

◆ DataSource() [6/6]

BrawlLib.SSBB.ResourceNodes.DataSource.DataSource ( MemoryStream  ms,
CompressionType  compression 
)
inline
78 {
79 ms.Position = 0;
80 Address = Marshal.AllocHGlobal((int) ms.Length);
81 Marshal.Copy(ms.ToArray(), 0, Address, (int) ms.Length);
82 Length = (int) ms.Length;
83 Map = null;
84 Compression = compression;
85 }

Member Function Documentation

◆ Close()

void BrawlLib.SSBB.ResourceNodes.DataSource.Close ( )
inline
88 {
89 if (Map != null)
90 {
91 Map.Dispose();
92 Map = null;
93 }
94
95 Address = null;
96 Length = 0;
98 }
virtual void Dispose()
Definition: FileMap.cs:33

◆ Equals()

override bool BrawlLib.SSBB.ResourceNodes.DataSource.Equals ( object  obj)
inline
111 {
112 if (obj is DataSource)
113 {
114 return this == (DataSource) obj;
115 }
116
117 return base.Equals(obj);
118 }

◆ GetHashCode()

override int BrawlLib.SSBB.ResourceNodes.DataSource.GetHashCode ( )
inline
121 {
122 return base.GetHashCode();
123 }

◆ operator!=()

static bool BrawlLib.SSBB.ResourceNodes.DataSource.operator!= ( DataSource  src1,
DataSource  src2 
)
inlinestatic
106 {
107 return src1.Address != src2.Address || src1.Length != src2.Length || src1.Map != src2.Map;
108 }

◆ operator==()

static bool BrawlLib.SSBB.ResourceNodes.DataSource.operator== ( DataSource  src1,
DataSource  src2 
)
inlinestatic
101 {
102 return src1.Address == src2.Address && src1.Length == src2.Length && src1.Map == src2.Map;
103 }

Member Data Documentation

◆ Address

VoidPtr BrawlLib.SSBB.ResourceNodes.DataSource.Address

◆ Compression

CompressionType BrawlLib.SSBB.ResourceNodes.DataSource.Compression

◆ Empty

readonly DataSource BrawlLib.SSBB.ResourceNodes.DataSource.Empty = new DataSource()
static

◆ Length

int BrawlLib.SSBB.ResourceNodes.DataSource.Length

◆ Map

FileMap BrawlLib.SSBB.ResourceNodes.DataSource.Map

Property Documentation

◆ Tag

string BrawlLib.SSBB.ResourceNodes.DataSource.Tag
get
37 {
38 get
39 {
40 if (Length < 4)
41 {
42 return null;
43 }
44
45 return Address.GetUTF8String(0, 4);
46 }
47 }
string GetUTF8String()
Definition: VoidPtr.cs:210

◆ this[uint i]

byte BrawlLib.SSBB.ResourceNodes.DataSource.this[uint i]
get

The documentation for this struct was generated from the following file: