|
|
@ -290,6 +290,7 @@ int main(int argc, char *argv[]) |
|
|
|
|
|
|
|
// Edit: raylib/examples/Makefile --> Add new example |
|
|
|
//------------------------------------------------------------------------------------------------ |
|
|
|
/* |
|
|
|
char *mkText = LoadFileText(TextFormat("%s/Makefile", exBasePath)); |
|
|
|
char *mkTextUpdated = (char *)RL_CALLOC(2*1024*1024, 1); // Updated Makefile copy, 2MB |
|
|
|
|
|
|
@ -320,6 +321,7 @@ int main(int argc, char *argv[]) |
|
|
|
SaveFileText(TextFormat("%s/Makefile", exBasePath), mkTextUpdated); |
|
|
|
UnloadFileText(mkText); |
|
|
|
RL_FREE(mkTextUpdated); |
|
|
|
*/ |
|
|
|
//------------------------------------------------------------------------------------------------ |
|
|
|
|
|
|
|
// Edit: raylib/examples/Makefile.Web --> Add new example |
|
|
@ -354,46 +356,60 @@ int main(int argc, char *argv[]) |
|
|
|
// Edit: raylib.com/common/examples.js --> Add new example |
|
|
|
// NOTE: Entries format: exampleEntry('⭐️☆☆☆' , 'core' , 'basic_window'), |
|
|
|
//------------------------------------------------------------------------------------------------ |
|
|
|
/* |
|
|
|
|
|
|
|
char *jsText = LoadFileText(TextFormat("%s/../common/examples.js", exWebPath)); |
|
|
|
char *jsTextUpdated = (char *)RL_CALLOC(2*1024*1024, 1); // Updated examples.js copy, 2MB |
|
|
|
|
|
|
|
exListStartIndex = TextFindIndex(jsText, "//EXAMPLE_DATA_LIST_START"); |
|
|
|
exListEndIndex = TextFindIndex(jsText, "//EXAMPLE_DATA_LIST_END"); |
|
|
|
kt">int exListStartIndex = TextFindIndex(jsText, "//EXAMPLE_DATA_LIST_START"); |
|
|
|
kt">int exListEndIndex = TextFindIndex(jsText, "//EXAMPLE_DATA_LIST_END"); |
|
|
|
|
|
|
|
int jsIndex = exListStartIndex; |
|
|
|
int mkIndex = 0; |
|
|
|
memcpy(jsTextUpdated, jsText, exListStartIndex); |
|
|
|
TextAppend(jsTextUpdated + jsIndex, "//EXAMPLE_DATA_LIST_START\n", &jsIndex); |
|
|
|
TextAppend(jsTextUpdated + jsIndex, "var exampleData = [\n", &jsIndex); |
|
|
|
mkIndex = sprintf(jsTextUpdated + exListStartIndex, "#EXAMPLES_LIST_START\n"); |
|
|
|
|
|
|
|
int jsIndex = 0; |
|
|
|
memcpy(jsTextUpdated, jsText, exListStartIndex); |
|
|
|
jsIndex = sprintf(jsTextUpdated + exListStartIndex, "//EXAMPLE_DATA_LIST_START\n"); |
|
|
|
jsIndex += sprintf(jsTextUpdated + exListStartIndex + jsIndex, " var exampleData = [\n"); |
|
|
|
|
|
|
|
// NOTE: We avoid "others" category |
|
|
|
for (int i = 0, exCount = 0; i < MAX_EXAMPLE_CATEGORIES - 1; i++) |
|
|
|
{ |
|
|
|
rlExampleInfo *exCatList = LoadExamplesData(exCollectionListPath, exCategories[i], true, &exCount); |
|
|
|
rlExampleInfo *exCatList = LoadExamplesData(exCollectionListPath, exCategories[i], false, &exCount); |
|
|
|
for (int x = 0; x < exCount; x++) |
|
|
|
{ |
|
|
|
//char stars[16] = { 0 }; |
|
|
|
//for (int s = 0; s < 4; s++) strcpy(stars + 3) |
|
|
|
|
|
|
|
TextAppend(jsTextUpdated + jsIndex, |
|
|
|
TextFormat(" exampleEntry('%s%s%s%s' , '%s' , '%s'),\n", |
|
|
|
"⭐️", "☆", "☆", "☆", |
|
|
|
exCatList[x].category, |
|
|
|
exCatList[x].name + strlen(exCatList[x].category) + 1), |
|
|
|
&jsIndex); |
|
|
|
char stars[16] = { 0 }; |
|
|
|
for (int s = 0; s < 4; s++) |
|
|
|
{ |
|
|
|
if (s < exCatList[x].stars) strcpy(stars + 3*s, "⭐️"); |
|
|
|
else strcpy(stars + 3*s, "☆"); |
|
|
|
} |
|
|
|
|
|
|
|
if ((i == 6) && (x == (exCount - 1))) |
|
|
|
{ |
|
|
|
// Last line to add, special case to consider |
|
|
|
jsIndex += sprintf(jsTextUpdated + exListStartIndex + jsIndex, |
|
|
|
TextFormat(" exampleEntry('%s', '%s', '%s')];\n", stars, exCatList[x].category, exCatList[x].name + strlen(exCatList[x].category) + 1)); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
jsIndex += sprintf(jsTextUpdated + exListStartIndex + jsIndex, |
|
|
|
TextFormat(" exampleEntry('%s', '%s', '%s'),\n", stars, exCatList[x].category, exCatList[x].name + strlen(exCatList[x].category) + 1)); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
UnloadExamplesData(exCatList); |
|
|
|
} |
|
|
|
|
|
|
|
// Add the remaining part of the original file |
|
|
|
TextAppend(jsTextUpdated + jsIndex, jsText + exListEndIndex, &jsIndex); |
|
|
|
memcpy(jsTextUpdated + exListStartIndex + jsIndex, jsText + exListEndIndex, n">strlen(jsText) - exListEndIndex); |
|
|
|
|
|
|
|
// Save updated file |
|
|
|
SaveFileText(TextFormat("%s/../common/examples.js", exWebPath), jsTextUpdated); |
|
|
|
UnloadFileText(jsText); |
|
|
|
RL_FREE(jsTextUpdated); |
|
|
|
*/ |
|
|
|
|
|
|
|
//------------------------------------------------------------------------------------------------ |
|
|
|
|
|
|
|
// Recompile example (on raylib side) |
|
|
|