From 1ca1a219c20e4f6dccddbeac31331ac07ab22685 Mon Sep 17 00:00:00 2001 From: morkt Date: Mon, 20 Apr 2015 14:14:21 +0400 Subject: [PATCH] generalized public methods interface for convenience. --- ArcFormats/KogadoCocotte.cs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/ArcFormats/KogadoCocotte.cs b/ArcFormats/KogadoCocotte.cs index 609a3c69..0af68c5f 100644 --- a/ArcFormats/KogadoCocotte.cs +++ b/ArcFormats/KogadoCocotte.cs @@ -199,7 +199,12 @@ namespace GameRes.Formats.Kogado public void InitQSModel() { - m_qsm = new QSModel (257, 12, 2000, RANGECODER_INITFREQ, false); + InitQSModel (257, 12, 2000, RANGECODER_INITFREQ, false); + } + + public void InitQSModel (int n, int lg_totf, int rescale, int[] init, bool compress) + { + m_qsm = new QSModel (n, lg_totf, rescale, init, compress); } /* @@ -235,14 +240,21 @@ namespace GameRes.Formats.Kogado */ public uint Decode (byte[] dest, byte[] src, uint destsize, uint srcsize) + { + return Decode (dest, 0, destsize, src, 0, srcsize); + } + + public uint Decode (byte[] dst, uint dst_index, uint dst_size, + byte[] src, uint src_index, uint src_size) { int ch, ltfreq, syfreq; - m_dwSrcIndex = m_dwDestIndex = 0; + m_dwSrcIndex = src_index; + m_dwDestIndex = dst_index; m_pSrcBuffer = src; - m_pDestBuffer = dest; - m_dwSrcLength = srcsize; - m_dwDestLength = destsize; + m_pDestBuffer = dst; + m_dwSrcLength = src_size; + m_dwDestLength = dst_size; StartDecoding();