Made strings a bit better.
This commit is contained in:
@@ -1,7 +1,8 @@
|
|||||||
const GAME_STRINGS = {
|
const GAME_STRINGS = {
|
||||||
'HELLO': 'Hello World!\nHow are you today?\nThank god!',
|
'HELLO': 'Hello World!\nHow are you today?\nThank god!',
|
||||||
|
|
||||||
'POKER_GAME_START': 'Poker game started!'
|
'POKER_GAME_START': 'Poker game started',
|
||||||
|
'POKER_GAME_TAKING_BLINDS': 'Blinds taken.'
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = { GAME_STRINGS };
|
module.exports = { GAME_STRINGS };
|
@@ -82,11 +82,16 @@ const compileC = (cFile) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Generate strings
|
// Generate strings
|
||||||
|
let dataStringH = '#pragma once\n#include "libs.h"\n';
|
||||||
|
let dataStringC = '#include "STRINGS.h"\n';
|
||||||
Object.entries(GAME_STRINGS).forEach(entry => {
|
Object.entries(GAME_STRINGS).forEach(entry => {
|
||||||
const [ name, str ] = entry;
|
const [ name, str ] = entry;
|
||||||
const { fileH, fileC } = string2gb(str, name, DIR_GENERATED);
|
const { dataH, dataC } = string2gb(str, name);
|
||||||
compileC(fileC);
|
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
|
// Gen imagery
|
||||||
fs.readdirSync(DIR_IMAGES).forEach(img => {
|
fs.readdirSync(DIR_IMAGES).forEach(img => {
|
||||||
|
@@ -11,25 +11,20 @@ const getCodeFrom = l => {
|
|||||||
return cc - FONT_CHARACTER_FIRST + FONT_DATA_POSITION
|
return cc - FONT_CHARACTER_FIRST + FONT_DATA_POSITION
|
||||||
}
|
}
|
||||||
|
|
||||||
const string2gb = (string, name, dirOut) => {
|
const string2gb = (string, name) => {
|
||||||
const letters = [];
|
const letters = [];
|
||||||
for(let i = 0; i < string.length; i++) {
|
for(let i = 0; i < string.length; i++) {
|
||||||
letters.push(getCodeFrom(string[i]));
|
letters.push(getCodeFrom(string[i]));
|
||||||
}
|
}
|
||||||
|
|
||||||
let outH = '#include "libs.h"\n\n';
|
let dataH = `#define STR_${name}_LENGTH ${string.length}\n`;
|
||||||
outH += `#define STR_${name}_LENGTH ${string.length}\n`;
|
dataH += `extern const uint8_t STR_${name}_DATA[];`;
|
||||||
outH += `extern const uint8_t STR_${name}_DATA[];`;
|
|
||||||
|
|
||||||
let outC = `#include "${name}.h"\n\n`;
|
let dataC = `const uint8_t STR_${name}_DATA[] = {\n`;
|
||||||
outC += `const uint8_t STR_${name}_DATA[] = {\n` + arrayToString(letters) + `\n};`;
|
dataC += arrayToString(letters);
|
||||||
|
dataC += `\n};`;
|
||||||
|
|
||||||
const fileH = path.join(dirOut, `${name}.h`);
|
return { dataH, dataC };
|
||||||
const fileC = path.join(dirOut, `${name}.c`);
|
|
||||||
|
|
||||||
fs.writeFileSync(fileH, outH);
|
|
||||||
fs.writeFileSync(fileC, outC);
|
|
||||||
return { fileH, fileC };
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
@@ -37,7 +37,8 @@ void conversationFadeUpdate() {
|
|||||||
diff = TIME_CURRENT - TIME_FUTURE;
|
diff = TIME_CURRENT - TIME_FUTURE;
|
||||||
|
|
||||||
// Now we work out the steps. Time is measured in steps which are made of
|
// Now we work out the steps. Time is measured in steps which are made of
|
||||||
// parts of a second.
|
// parts of a second. This code assumes that the screen STARTS at the correct
|
||||||
|
// shade.
|
||||||
if(diff == FADE_STEP) {
|
if(diff == FADE_STEP) {
|
||||||
// First step
|
// First step
|
||||||
BGP_REG = (
|
BGP_REG = (
|
||||||
@@ -47,7 +48,7 @@ void conversationFadeUpdate() {
|
|||||||
COMMON_SHADE_BRIGHTER
|
COMMON_SHADE_BRIGHTER
|
||||||
);
|
);
|
||||||
} else if(diff == FADE_STEP * 2) {
|
} else if(diff == FADE_STEP * 2) {
|
||||||
// First step
|
// Second step
|
||||||
BGP_REG = (
|
BGP_REG = (
|
||||||
TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_BLACK ? COMMON_SHADE_DARKER :
|
TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_BLACK ? COMMON_SHADE_DARKER :
|
||||||
TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_WHITE ? COMMON_SHADE_BRIGHTER :
|
TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_WHITE ? COMMON_SHADE_BRIGHTER :
|
||||||
@@ -55,13 +56,12 @@ void conversationFadeUpdate() {
|
|||||||
COMMON_SHADE_BRIGHT
|
COMMON_SHADE_BRIGHT
|
||||||
);
|
);
|
||||||
} else if(diff == FADE_STEP * 3) {
|
} else if(diff == FADE_STEP * 3) {
|
||||||
// First step
|
// Third step
|
||||||
BGP_REG = (
|
BGP_REG = (
|
||||||
TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_BLACK ? COMMON_SHADE_BLACK :
|
TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_BLACK ? COMMON_SHADE_BLACK :
|
||||||
TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_WHITE ? COMMON_SHADE_WHITE :
|
TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_WHITE ? COMMON_SHADE_WHITE :
|
||||||
COMMON_SHADE_NORMAL
|
COMMON_SHADE_NORMAL
|
||||||
);
|
);
|
||||||
} else if(diff == FADE_STEP * 4) {
|
|
||||||
TIME_FUTURE_TYPE = TIME_FUTURE_TYPE_NULL;
|
TIME_FUTURE_TYPE = TIME_FUTURE_TYPE_NULL;
|
||||||
conversationQueueNext();
|
conversationQueueNext();
|
||||||
}
|
}
|
||||||
|
@@ -11,8 +11,8 @@
|
|||||||
#include "pause.h"
|
#include "pause.h"
|
||||||
#include "../display/common.h"
|
#include "../display/common.h"
|
||||||
|
|
||||||
// There are 4 total shades, so this is all 4 shades in a second.
|
// This is how many frames it takes to change each shade.
|
||||||
#define FADE_STEP TIME_PER_SECOND / COMMON_TILE_COUNT
|
#define FADE_STEP 20
|
||||||
|
|
||||||
void conversationFadeToBlack();
|
void conversationFadeToBlack();
|
||||||
void conversationFadeFromBlack();
|
void conversationFadeFromBlack();
|
||||||
|
@@ -9,46 +9,27 @@
|
|||||||
#include "pause.h"
|
#include "pause.h"
|
||||||
#include "textbox.h"
|
#include "textbox.h"
|
||||||
#include "fade.h"
|
#include "fade.h"
|
||||||
|
#include "../poker/poker.h"
|
||||||
|
|
||||||
uint16_t QUEUE_ITEM;
|
uint16_t QUEUE_ITEM;
|
||||||
|
|
||||||
void conversationQueueInit() {
|
void conversationQueueInit() {
|
||||||
QUEUE_ITEM = 0;
|
QUEUE_ITEM = QUEUE_BEGIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
void conversationQueueNext() {
|
void conversationQueueNext() {
|
||||||
BGB_printf("Queue item: %d\n", QUEUE_ITEM);
|
BGB_printf("Queue item: %d\n", QUEUE_ITEM);
|
||||||
|
|
||||||
switch(QUEUE_ITEM) {
|
switch(QUEUE_ITEM) {
|
||||||
// case 0:
|
case QUEUE_BEGIN:
|
||||||
// conversationTextboxSetText(STR_POKER_GAME_START_DATA, STR_POKER_GAME_START_LENGTH);
|
conversationTextboxString(POKER_GAME_START);
|
||||||
// conversationPause(3);
|
QUEUE_ITEM = QUEUE_TAKE_BLINDS;
|
||||||
// QUEUE_ITEM++;
|
|
||||||
// break;
|
|
||||||
|
|
||||||
case 0:
|
|
||||||
conversationFadeToBlack();
|
|
||||||
QUEUE_ITEM++;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
conversationFadeFromBlack();
|
|
||||||
QUEUE_ITEM++;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
conversationFadeToWhite();
|
|
||||||
QUEUE_ITEM++;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case QUEUE_TAKE_BLINDS:
|
||||||
conversationFadeFromWhite();
|
pokerTakeBlinds();
|
||||||
QUEUE_ITEM++;
|
conversationTextboxString(POKER_GAME_TAKING_BLINDS);
|
||||||
|
QUEUE_ITEM = QUEUE_TAKE_BLINDS;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// case 2:
|
|
||||||
// conversationTextboxSetText(STR_POKER_GAME_START_DATA, STR_POKER_GAME_START_LENGTH);
|
|
||||||
// QUEUE_ITEM++;
|
|
||||||
// break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -7,10 +7,12 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "../libs.h"
|
#include "../libs.h"
|
||||||
#include "HELLO.h"
|
#include "STRINGS.h"
|
||||||
#include "POKER_GAME_START.h"
|
|
||||||
|
|
||||||
extern uint16_t QUEUE_ITEM;
|
extern uint16_t QUEUE_ITEM;
|
||||||
|
|
||||||
|
#define QUEUE_BEGIN 10
|
||||||
|
#define QUEUE_TAKE_BLINDS 20
|
||||||
|
|
||||||
void conversationQueueInit();
|
void conversationQueueInit();
|
||||||
void conversationQueueNext();
|
void conversationQueueNext();
|
@@ -37,6 +37,10 @@
|
|||||||
#define TEXTBOX_TILES_ROWS 3
|
#define TEXTBOX_TILES_ROWS 3
|
||||||
#define TEXTBOX_TILE_BLANK COMMON_TILE_3
|
#define TEXTBOX_TILE_BLANK COMMON_TILE_3
|
||||||
|
|
||||||
|
#define conversationTextboxString(name) conversationTextboxSetText(\
|
||||||
|
STR_ ## name ## _DATA, STR_ ## name ## _LENGTH\
|
||||||
|
)
|
||||||
|
|
||||||
extern char *TEXTBOX_TEXT;
|
extern char *TEXTBOX_TEXT;
|
||||||
extern uint8_t TEXTBOX_TEXT_LENGTH;
|
extern uint8_t TEXTBOX_TEXT_LENGTH;
|
||||||
extern uint8_t TEXTBOX_STATE;
|
extern uint8_t TEXTBOX_STATE;
|
||||||
|
@@ -18,6 +18,9 @@ uint8_t POKER_PLAYER_DEALER;
|
|||||||
uint8_t POKER_PLAYER_SMALL_BLIND;
|
uint8_t POKER_PLAYER_SMALL_BLIND;
|
||||||
uint8_t POKER_PLAYER_BIG_BLIND;
|
uint8_t POKER_PLAYER_BIG_BLIND;
|
||||||
|
|
||||||
|
uint16_t POKER_GAME_BLINDS_CURRENT;
|
||||||
|
uint16_t POKER_GAME_POT;
|
||||||
|
|
||||||
void pokerInit() {
|
void pokerInit() {
|
||||||
uint8_t i;
|
uint8_t i;
|
||||||
|
|
||||||
@@ -30,6 +33,9 @@ void pokerInit() {
|
|||||||
// Set up the initial state.
|
// Set up the initial state.
|
||||||
// TODO: Should this be randomized?
|
// TODO: Should this be randomized?
|
||||||
POKER_PLAYER_DEALER = 0;
|
POKER_PLAYER_DEALER = 0;
|
||||||
|
POKER_GAME_POT = 0;
|
||||||
|
|
||||||
|
POKER_GAME_BLINDS_CURRENT = 10;
|
||||||
|
|
||||||
// Reset the round state (For the first round)
|
// Reset the round state (For the first round)
|
||||||
pokerNewRound();
|
pokerNewRound();
|
||||||
@@ -85,4 +91,11 @@ void pokerNewRound() {
|
|||||||
POKER_PLAYERS[i].hand[j] = POKER_DECK[POKER_DECK_SIZE--];
|
POKER_PLAYERS[i].hand[j] = POKER_DECK[POKER_DECK_SIZE--];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void pokerTakeBlinds() {
|
||||||
|
// TODO: I need to make sure the blind players even have the chips to blind.
|
||||||
|
POKER_PLAYERS[POKER_PLAYER_SMALL_BLIND].chips -= POKER_GAME_BLINDS_CURRENT;
|
||||||
|
POKER_PLAYERS[POKER_PLAYER_BIG_BLIND].chips -= (POKER_GAME_BLINDS_CURRENT*2);
|
||||||
|
POKER_GAME_POT += POKER_GAME_BLINDS_CURRENT * 3;
|
||||||
}
|
}
|
@@ -22,6 +22,11 @@ extern uint8_t POKER_PLAYER_DEALER;
|
|||||||
extern uint8_t POKER_PLAYER_SMALL_BLIND;
|
extern uint8_t POKER_PLAYER_SMALL_BLIND;
|
||||||
extern uint8_t POKER_PLAYER_BIG_BLIND;
|
extern uint8_t POKER_PLAYER_BIG_BLIND;
|
||||||
|
|
||||||
|
extern uint16_t POKER_GAME_BLINDS_CURRENT;
|
||||||
|
extern uint16_t POKER_GAME_POT;
|
||||||
|
|
||||||
void pokerInit();
|
void pokerInit();
|
||||||
|
|
||||||
void pokerNewRound();
|
void pokerNewRound();
|
||||||
|
|
||||||
|
void pokerTakeBlinds();
|
Reference in New Issue
Block a user