pyGAP / game / engine / text / language.cpp

#include "text/language.h"

#include <cstdio>

#include "text/pack.h"
#include "io/fs/base.h"

#include "formats/text.h"

namespace text {

Language::Language() :

Language::~Language() {
    delete fs_;
    delete pack_;

void Language::set(const char* language) {
    if (!language)

    char buffer[32];
    sprintf(buffer, "assets/text_%s.pak", language);

    delete fs_;
    delete pack_;

    fs_ = ::io::fs::open(buffer);
    pack_ = NULL;

void Language::open(const char* filename, const char* language) {

    if (!fs_)

    uint8_t* buffer = fs_->read(filename);
    if (!buffer)

    if (pack_)
        delete pack_;
    pack_ = new Pack();

String* Language::create_string(uint16_t id) {
    return pack_ ? pack_->create_string(id) : NULL;

} /* namespace text */
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.