Made strings a bit better.
This commit is contained in:
@@ -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 => {
|
||||
|
@@ -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 = {
|
||||
|
Reference in New Issue
Block a user