Made strings a bit better.

This commit is contained in:
2022-01-09 10:18:45 -08:00
parent d9281cffe2
commit 29215a3b6f
10 changed files with 59 additions and 53 deletions

View File

@@ -82,11 +82,16 @@ const compileC = (cFile) => {
}
// Generate strings
let dataStringH = '#pragma once\n#include "libs.h"\n';
let dataStringC = '#include "STRINGS.h"\n';
Object.entries(GAME_STRINGS).forEach(entry => {
const [ name, str ] = entry;
const { fileH, fileC } = string2gb(str, name, DIR_GENERATED);
compileC(fileC);
})
const { dataH, dataC } = string2gb(str, name);
dataStringH += dataH+'\n', dataStringC += dataC+'\n';
});
fs.writeFileSync(path.join(DIR_GENERATED, 'STRINGS.h'), dataStringH);
fs.writeFileSync(path.join(DIR_GENERATED, 'STRINGS.c'), dataStringC);
compileC(path.join(DIR_GENERATED, 'STRINGS.c'));
// Gen imagery
fs.readdirSync(DIR_IMAGES).forEach(img => {

View File

@@ -11,25 +11,20 @@ const getCodeFrom = l => {
return cc - FONT_CHARACTER_FIRST + FONT_DATA_POSITION
}
const string2gb = (string, name, dirOut) => {
const string2gb = (string, name) => {
const letters = [];
for(let i = 0; i < string.length; i++) {
letters.push(getCodeFrom(string[i]));
}
let outH = '#include "libs.h"\n\n';
outH += `#define STR_${name}_LENGTH ${string.length}\n`;
outH += `extern const uint8_t STR_${name}_DATA[];`;
let dataH = `#define STR_${name}_LENGTH ${string.length}\n`;
dataH += `extern const uint8_t STR_${name}_DATA[];`;
let outC = `#include "${name}.h"\n\n`;
outC += `const uint8_t STR_${name}_DATA[] = {\n` + arrayToString(letters) + `\n};`;
let dataC = `const uint8_t STR_${name}_DATA[] = {\n`;
dataC += arrayToString(letters);
dataC += `\n};`;
const fileH = path.join(dirOut, `${name}.h`);
const fileC = path.join(dirOut, `${name}.c`);
fs.writeFileSync(fileH, outH);
fs.writeFileSync(fileC, outC);
return { fileH, fileC };
return { dataH, dataC };
}
module.exports = {