mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-28 07:07:45 +00:00
28 lines
1 KiB
C++
28 lines
1 KiB
C++
![]() |
#include "Oodle.h"
|
||
|
|
||
|
using namespace Sapphire;
|
||
|
|
||
|
Network::Oodle::Oodle() :
|
||
|
m_htbits(19)
|
||
|
{
|
||
|
auto stateSize = OodleNetwork1UDP_State_Size();
|
||
|
auto sharedSize = OodleNetwork1_Shared_Size( m_htbits );
|
||
|
|
||
|
m_state = std::vector< uint8_t >( stateSize, 0 );
|
||
|
m_shared = std::vector< uint8_t >( sharedSize, 0 );
|
||
|
m_window = std::vector< uint8_t >( 0x8000, 0 );
|
||
|
|
||
|
oodleInit();
|
||
|
}
|
||
|
|
||
|
void Network::Oodle::oodleInit()
|
||
|
{
|
||
|
OodleNetwork1_Shared_SetWindow( (OodleNetwork1_Shared*) &m_shared[0], m_htbits, &m_window[0], (int) m_window.size() );
|
||
|
OodleNetwork1UDP_Train( (OodleNetwork1UDP_State*) &m_state[0], (OodleNetwork1_Shared*) &m_shared[0], nullptr, nullptr, 0 );
|
||
|
}
|
||
|
|
||
|
bool Network::Oodle::oodleDecode( const std::vector< uint8_t > &enc, uint32_t encSize, std::vector< uint8_t > &dec, uint32_t decSize )
|
||
|
{
|
||
|
OodleNetwork1_Shared_SetWindow( (OodleNetwork1_Shared*) &m_shared[0], m_htbits, &m_window[0], (int) m_window.size() );
|
||
|
return OodleNetwork1UDP_Decode( (OodleNetwork1UDP_State*) &m_state[0], (OodleNetwork1_Shared*) &m_shared[0], &enc[0], encSize, &dec[0], decSize );
|
||
|
}
|