more construct(char* args) for kaos constructors
Derek Stevens nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAlx/KgkACgkQO3+8IhRO Y5hcsw//RXViiwjZYGaP8KcUV08NTeiP6fiTiaHmga95/okcP0XrpYSRxoCFZyxF yY0NaVbdmBw0xZt5HTvfiA+sHWwjLBreOZ8XdJUSYW7DPX5E1min51osv4oz0DI8 vOjdr5i5LqEHnkbKcToqr+6nV+9OOylcV06snwSMMbb2FhIEw4dPclgXkX/Qck3l uFTJvyWOT9YX77p6rC/pc7ckrlOO3BhHRsWPEC5h67hUD+7rkbLJXPUKtpcMAkqU 3hOVfupwQ6T/0YFnUBcKr6CIZRYFEmoqJR2smkAyXB5/k8yPgeTzecxoLpmf2FkD 2JgIUbyWlHYTwRv2FvVcVvECiTh46HiHjOSZ8f9/wYiSoMYrj3OYtOTJIaxzDvtD dB8M+nukx7Nudu4IPkOmGegbvy9uPAD/qCpQQqrbfPaPZGld6wgOQetLxIg1LqBy SVgUyL7OWGnxOH/mAiNgJ2PC02epz1HSsKioMQFXPQNugZXt93JRPgGz64dVkrAO oafI5H3jsqLbr3/g50Gm2B542/UDbkDoRIkuDy0A+3/27OEbGu1uyCPq62LOrm2M 7HPFGFVpgSXhz/yPmoE56WfJRpzidgI/MHWAfdmaT2t7xaUfnCbta0OIpcEBm2PX 3WLnQttndSSe52iSwE1G4N9oRZW+O5St3ymgJdazP1H9sce1BkE= =PL+6 -----END PGP SIGNATURE-----
M
Kaos.c
→
Kaos.c
@@ -60,10 +60,21 @@ free(target->kType);
free(target); } -Kaos* newChoice(char* q, char* a1, char* a2, HyperKaos* p1, HyperKaos* p2) +Kaos* newChoice(char* args) { + char q[32], a1[32], a2[32]; + int p1, p2; Kaos* core = rawKaos(); Choice* self = malloc(sizeof(Choice)); + + if (sscanf(args, "q %[^,], a1 %[^,], a2 %[^,], p1 %d, p2 %d", q, a1, a2, &p1, &p2) != 5) + { + free(core); + free(self); + self = NULL; + core = NULL; + return core; + } self->question = TTF_RenderText_Solid(font, q, textColor); self->answ1 = TTF_RenderText_Solid(font, a1, textColor);
M
Kaos.h
→
Kaos.h
@@ -95,7 +95,7 @@ Kaos* newConversation(char* args);
void runConversation(Kaos* self); void deleteConversation(Kaos* target); -Kaos* newChoice(char* q, char* a1, char* a2, HyperKaos* p1, HyperKaos* p2); +Kaos* newChoice(char* args); void runChoice(Kaos* self); void deleteChoice(Kaos* target);