|
@@ -168,7 +168,7 @@ static void ClearExampleResources(char **resPaths);
|
|
|
|
|
|
// Add/remove VS project (.vcxproj) tofrom existing VS solution (.sln)
|
|
|
static int AddVSProjectToSolution(const char *projFile, const char *slnFile, const char *category);
|
|
|
-//static int RemoveVSProjectFromSolution(const char *projFile, const char *slnFile, const char *category);
|
|
|
+static int RemoveVSProjectFromSolution(const char *projFile, const char *slnFile, const char *category);
|
|
|
|
|
|
// Generate unique UUID v4 string
|
|
|
// Output format: {9A2F48CC-0DA8-47C0-884E-02E37F9BE6C1}
|
|
@@ -770,11 +770,8 @@ int main(int argc, char *argv[])
|
|
|
FileRemove(TextFormat("%s/../projects/VS2022/examples/%s.vcxproj", exBasePath, exName));
|
|
|
|
|
|
// Edit: raylib/projects/VS2022/raylib.sln --> Remove example project
|
|
|
- //---------------------------------------------------------------------------
|
|
|
- // TODO: Remove project from solution
|
|
|
- //RemoveVSProjectFromSolution(TextFormat("%s/../projects/VS2022/examples/%s.vcxproj", exBasePath, exName),
|
|
|
- // TextFormat("%s/../projects/VS2022/raylib.sln", exBasePath));
|
|
|
- //---------------------------------------------------------------------------
|
|
|
+ RemoveVSProjectFromSolution(TextFormat("%s/../projects/VS2022/examples/%s.vcxproj", exBasePath, exName),
|
|
|
+ TextFormat("%s/../projects/VS2022/raylib.sln", exBasePath), exCategory);
|
|
|
|
|
|
// Remove: raylib.com/examples/<category>/<category>_example_name.html
|
|
|
// Remove: raylib.com/examples/<category>/<category>_example_name.data
|
|
@@ -819,6 +816,22 @@ int main(int argc, char *argv[])
|
|
|
int exListLen = (int)strlen(exList);
|
|
|
strcpy(exListUpdated, exList);
|
|
|
|
|
|
+ // Copy examples list into an update list
|
|
|
+ // NOTE: Checking and removing duplicate entries
|
|
|
+ int lineCount = 0;
|
|
|
+ char **exListLines = LoadTextLines(exList, &lineCount);
|
|
|
+ int exListUpdatedOffset = 0;
|
|
|
+ exListUpdatedOffset = sprintf(exListUpdated, "%s\n", exListLines[0]);
|
|
|
+
|
|
|
+ for (int i = 1; i < lineCount; i++)
|
|
|
+ {
|
|
|
+ if ((TextFindIndex(exListUpdated, exListLines[i]) == -1) || (exListLines[i][0] == '#'))
|
|
|
+ exListUpdatedOffset += sprintf(exListUpdated + exListUpdatedOffset, "%s\n", exListLines[i]);
|
|
|
+ else listUpdated = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ UnloadTextLines(exListLines);
|
|
|
+
|
|
|
for (unsigned int i = 0; i < list.count; i++)
|
|
|
{
|
|
|
if ((strcmp("examples_template", GetFileNameWithoutExt(list.paths[i])) != 0) && // HACK: Skip "examples_template"
|
|
@@ -859,8 +872,6 @@ int main(int argc, char *argv[])
|
|
|
int exCollectionCount = 0;
|
|
|
rlExampleInfo *exCollection = LoadExamplesData(exCollectionFilePath, "ALL", false, &exCollectionCount);
|
|
|
|
|
|
- // TODO: Validate: Check duplicate entries in collection list?
|
|
|
-
|
|
|
// Set status information for all examples, using "status" field in the struct
|
|
|
for (int i = 0; i < exCollectionCount; i++)
|
|
|
{
|
|
@@ -2149,6 +2160,16 @@ static int AddVSProjectToSolution(const char *projFile, const char *slnFile, con
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+// Remove VS project (.vcxproj) to existing VS solution (.sln)
|
|
|
+static int RemoveVSProjectFromSolution(const char *projFile, const char *slnFile, const char *category)
|
|
|
+{
|
|
|
+ int result = 0;
|
|
|
+
|
|
|
+ // TODO: Remove project from solution file
|
|
|
+
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
// Generate unique UUID v4 string
|
|
|
// Output format: {9A2F48CC-0DA8-47C0-884E-02E37F9BE6C1}
|
|
|
static const char *GenerateUUIDv4(void)
|
|
@@ -2188,6 +2209,8 @@ static void UpdateSourceMetadata(const char *exSrcPath, const rlExampleInfo *inf
|
|
|
char exDescription[256] = { 0 }; // Example description: example text line #3
|
|
|
char exTitle[64] = { 0 }; // Example title: fileName without extension, replacing underscores by spaces
|
|
|
|
|
|
+ // TODO: Update source code metadata
|
|
|
+
|
|
|
// Update example header title (line #3 - ALWAYS)
|
|
|
// String: "* raylib [shaders] example - texture drawing"
|
|
|
|
|
@@ -2305,12 +2328,11 @@ static void UpdateWebMetadata(const char *exHtmlPath, const char *exFilePath)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// Get text between two strings
|
|
|
// NOTE: Using static string to return result, MAX: 1024 bytes
|
|
|
static char *GetTextBetween(const char *text, const char *begin, const char *end)
|
|
|
{
|
|
|
-#define MAX_TEXT_BETWEEN_SIZE 1024
|
|
|
+ #define MAX_TEXT_BETWEEN_SIZE 1024
|
|
|
|
|
|
static char between[MAX_TEXT_BETWEEN_SIZE] = { 0 };
|
|
|
memset(between, 0, MAX_TEXT_BETWEEN_SIZE);
|