ScummVM API documentation
res.h
1
2/* ScummVM - Graphic Adventure Engine
3 *
4 * ScummVM is the legal property of its developers, whose names
5 * are too numerous to list here. Please refer to the COPYRIGHT
6 * file distributed with this source distribution.
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 *
21 */
22
23#ifndef BAGEL_BOFLIB_RES_H
24#define BAGEL_BOFLIB_RES_H
25
26#include "bagel/spacebar/boflib/file.h"
27#include "bagel/boflib/llist.h"
28#include "bagel/boflib/object.h"
29
30namespace Bagel {
31namespace SpaceBar {
32
33class CResString : public CLList, public CBofObject {
34public:
35 CResString(int nId, const char *pszString) {
36 _nId = nId;
37 _pszString = pszString;
38 }
39
40 int _nId;
41 const char *_pszString;
42};
43
44class CBofStringTable : public CBofFile {
45private:
46 CResString *_pStringTable = nullptr;
47 byte *_pBuf = nullptr;
48 uint32 _lBufSize = 0;
49
50protected:
56 ErrorCode load(const char *pszFileName);
57
61 void release();
62
67 ErrorCode buildTable();
68
72 void killTable();
73
74public:
79 CBofStringTable(const char *pszFileName);
80
85
90 const char *getString(int nId);
91};
92
93} // namespace SpaceBar
94} // namespace Bagel
95
96#endif
Definition: object.h:28
Definition: llist.h:31
Definition: file.h:100
ErrorCode load(const char *pszFileName)
CBofStringTable(const char *pszFileName)
const char * getString(int nId)
Definition: res.h:33