Skip to content

Commit 1985a6e

Browse files
committed
Implement MemoryStreamReader
1 parent c2ee2d9 commit 1985a6e

File tree

3 files changed

+55
-11
lines changed

3 files changed

+55
-11
lines changed

data/hagi_functions.csv

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2398,8 +2398,8 @@ Address,Quality,Size,Name
23982398
0x00000071000af9c0,U,000308,ConfigNode__Cleanup
23992399
0x00000071000afb00,U,000612,
24002400
0x00000071000afd70,U,000432,ConfigNode__GetKey
2401-
0x00000071000aff30,W,000284,_ZN10ConfigNode8GetChildEPKc
2402-
0x00000071000b0050,W,000060,_ZN10ConfigNode15GetArrayByIndexEPKci
2401+
0x00000071000aff30,M,000284,_ZN10ConfigNode8GetChildEPKc
2402+
0x00000071000b0050,M,000060,_ZN10ConfigNode15GetArrayByIndexEPKci
24032403
0x00000071000b0090,U,000288,ConfigNode__GetChildOrDefault
24042404
0x00000071000b01c0,U,000164,
24052405
0x00000071000b0270,U,000728,
@@ -3440,15 +3440,15 @@ Address,Quality,Size,Name
34403440
0x000000710012c7c0,U,000096,
34413441
0x000000710012c820,U,000004,
34423442
0x000000710012c830,U,000080,
3443-
0x000000710012c880,U,000004,
3444-
0x000000710012c890,U,000004,
3445-
0x000000710012c8a0,U,000060,
3446-
0x000000710012c8e0,U,000020,_ZN4nerd8hanafuda18MemoryStreamReaderC1Ev
3447-
0x000000710012c900,U,000004,_ZN4nerd8hanafuda18MemoryStreamReaderD2Ev
3448-
0x000000710012c910,U,000004,_ZN4nerd8hanafuda18MemoryStreamReaderD0Ev
3449-
0x000000710012c920,U,000068,_ZN4nerd8hanafuda18MemoryStreamReader4ReadEPvm
3450-
0x000000710012c970,U,000008,_ZN4nerd8hanafuda18MemoryStreamReader7GetSizeEv
3451-
0x000000710012c980,U,000008,_ZN4nerd8hanafuda18MemoryStreamReader11GetPositionEv
3443+
0x000000710012c880,U,000004,_ZN4nerd8hanafuda18MemoryStreamWriterD2Ev
3444+
0x000000710012c890,U,000004,_ZN4nerd8hanafuda18MemoryStreamWriterD0Ev
3445+
0x000000710012c8a0,U,000060,_ZN4nerd8hanafuda18MemoryStreamWriter5WriteEPKvm
3446+
0x000000710012c8e0,O,000020,_ZN4nerd8hanafuda18MemoryStreamReaderC1Ev
3447+
0x000000710012c900,O,000004,_ZN4nerd8hanafuda18MemoryStreamReaderD2Ev
3448+
0x000000710012c910,O,000004,_ZN4nerd8hanafuda18MemoryStreamReaderD0Ev
3449+
0x000000710012c920,O,000068,_ZN4nerd8hanafuda18MemoryStreamReader4ReadEPvm
3450+
0x000000710012c970,O,000008,_ZN4nerd8hanafuda18MemoryStreamReader7GetSizeEv
3451+
0x000000710012c980,O,000008,_ZN4nerd8hanafuda18MemoryStreamReader11GetPositionEv
34523452
0x000000710012c990,U,000048,_ZN4nerd8hanafuda14VirtualMachineC2Ev
34533453
0x000000710012c9c0,U,000008,_ZN4nerd8hanafuda14VirtualMachine8SetStateENS0_19VirtualMachineStateE
34543454
0x000000710012c9d0,U,000064,_ZN4nerd8hanafuda14VirtualMachineD1Ev
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#include "HanafudaCommon/source/hanafuda_stream_reader.h"
2+
#include <cstring>
3+
4+
namespace nerd::hanafuda {
5+
6+
MemoryStreamReader::MemoryStreamReader() {
7+
m_pBuffer = nullptr;
8+
}
9+
10+
MemoryStreamReader::~MemoryStreamReader() = default;
11+
12+
void MemoryStreamReader::Read(void* destination, unsigned long a_iBufferSize) {
13+
memcpy(destination, static_cast<char*>(m_pBuffer) + m_iBufferPosition, a_iBufferSize);
14+
m_iBufferPosition += a_iBufferSize;
15+
}
16+
17+
long MemoryStreamReader::GetSize() {
18+
return m_iBufferSize;
19+
}
20+
21+
long MemoryStreamReader::GetPosition() {
22+
return m_iBufferPosition;
23+
}
24+
25+
} // namespace nerd::hanafuda
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#pragma once
2+
3+
namespace nerd::hanafuda {
4+
5+
class MemoryStreamReader {
6+
public:
7+
MemoryStreamReader();
8+
virtual ~MemoryStreamReader();
9+
virtual void Read(void* destination, unsigned long a_iBufferSize);
10+
virtual long GetSize();
11+
virtual long GetPosition();
12+
13+
private:
14+
void* m_pBuffer;
15+
long m_iBufferSize;
16+
long m_iBufferPosition;
17+
};
18+
19+
} // namespace nerd::hanafuda

0 commit comments

Comments
 (0)