summaryrefslogtreecommitdiff
path: root/include/pso/PSOV3Encryption.h
blob: d34cd4f8e3de011635f86f6b37923249ef676c0a (plain)
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
#ifndef PSOV3ENCRYPTION_H
#define PSOV3ENCRYPTION_H

#include <global_types.h>
#include <string.h>
#include <pso/macros.h>
#include <pso/TArray.h>

class PSOEncryption {
public:
	PSOEncryption();
	virtual void update_stream() = 0;
	virtual ~PSOEncryption();
	virtual void init(u32 seed) = 0;
	virtual u32 next() = 0;
};

class PSOV3Encryption : public PSOEncryption {
public:
	PSOV3Encryption();
	virtual void update_stream();
	virtual ~PSOV3Encryption();
	virtual void init(u32 seed);
	virtual u32 next();
public:
	u32 m_buffer[522];
	u32 *m_buffer_start;
	u32 *m_buffer_end;
};

#endif