Añadido overfeed

deberia de funcionar, pero ahora pruebo
This commit is contained in:
Nacho 2025-05-28 13:52:22 +02:00
parent cc5fcd4ac2
commit b35ff2d1b2
7 changed files with 8 additions and 9 deletions

View File

@ -36,6 +36,7 @@ struct CharacterData {
bool strengthCareMistakeObtained = false; bool strengthCareMistakeObtained = false;
bool sleepCareMistakeObtained = false; bool sleepCareMistakeObtained = false;
bool careMistakeCallLight = false; bool careMistakeCallLight = false;
bool overfeedHappened = false;
bool sleepy = false; bool sleepy = false;
bool asleep = false; bool asleep = false;

View File

@ -87,8 +87,6 @@ void setup() {
xTaskCreatePinnedToCore(secondCoreTask, "VPET_EVAL", 4096, NULL, 0, &secondLoop, 0); xTaskCreatePinnedToCore(secondCoreTask, "VPET_EVAL", 4096, NULL, 0, &secondLoop, 0);
debug_printFreeMemory();
lines_initLineStorage(); lines_initLineStorage();
vpet_initTimer(); vpet_initTimer();

View File

@ -49,8 +49,6 @@ void menu_reloadEggs(uint8_t selectedEgg) {
lines_freeEggList(); lines_freeEggList();
printf("[DEBUG] fileName=%s\n", fileName);
lines_getSingleLine(fileName); lines_getSingleLine(fileName);
lines_getLineCareMistakes(fileName); lines_getLineCareMistakes(fileName);

View File

@ -42,6 +42,10 @@ void menu_foodScreen(TFT_eSprite &composite, TFT_eSprite &bg, TFT_eSprite &mainC
submenuKey = FOOD_ICON; submenuKey = FOOD_ICON;
} else { } else {
screenKey = REFUSING_SCREEN; screenKey = REFUSING_SCREEN;
if (!charaData.overfeedHappened) {
charaData.overfeed++;
charaData.overfeedHappened = true;
}
} }
break; break;

View File

@ -30,8 +30,6 @@ void lines_getSingleLine(const char* fileName) {
bytesRead += lineFile.read(&selectedLine->charaNumber, 1); bytesRead += lineFile.read(&selectedLine->charaNumber, 1);
printf("[DEBUG] SelectedLine numChara=%d hatchTime=%d\n", selectedLine->charaNumber, selectedLine->hatchTime);
selectedLine->characters = (LineChara_t*) malloc(selectedLine->charaNumber * sizeof(LineChara_t)); selectedLine->characters = (LineChara_t*) malloc(selectedLine->charaNumber * sizeof(LineChara_t));
for (int i = 0; i < selectedLine->charaNumber; i++) { for (int i = 0; i < selectedLine->charaNumber; i++) {
@ -43,8 +41,6 @@ void lines_getSingleLine(const char* fileName) {
} }
void lines_getSingleEggSprites(File &lineFile, Egg_t* selectedEgg) { void lines_getSingleEggSprites(File &lineFile, Egg_t* selectedEgg) {
// Ahora si, vamos a ver cuantos sprites hay que reservar
// Importante tener el nombre de archivo del huevo en todo momento // Importante tener el nombre de archivo del huevo en todo momento
strcpy(selectedEgg->fileName, lineFile.name()); strcpy(selectedEgg->fileName, lineFile.name());

View File

@ -11,7 +11,6 @@ void lines_onHatchComplete() {
char spriteFileName[30]; char spriteFileName[30];
snprintf(spriteFileName, 30, "/chara/%02x.bin", currentLine[currentCharacter]->characters[0].id); snprintf(spriteFileName, 30, "/chara/%02x.bin", currentLine[currentCharacter]->characters[0].id);
printf("[DEBUG] spriteFileName=%s\n", spriteFileName);
storage_readFile(spriteFileName, &mainCharacterSprites); storage_readFile(spriteFileName, &mainCharacterSprites);

View File

@ -152,6 +152,9 @@ void vpet_evalTimers() {
screenKey = TIMER_FINISHED_SCREEN; screenKey = TIMER_FINISHED_SCREEN;
interruptKey = POOPING_SCREEN; interruptKey = POOPING_SCREEN;
charaData.poopNumber++; charaData.poopNumber++;
if (charaData.hunger < 4 && charaData.overfeedHappened) {
charaData.overfeedHappened = false;
}
if (charaData.hunger > 0) { if (charaData.hunger > 0) {
charaData.hungerCareMistakeTimer = charaData.initialStatsReductionTime; charaData.hungerCareMistakeTimer = charaData.initialStatsReductionTime;
} else { } else {