Skip to content

Commit

Permalink
Add ability for custom node name formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
Auburn committed May 7, 2024
1 parent 8797057 commit a1d5337
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
1 change: 1 addition & 0 deletions include/FastNoise/Metadata.h
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ namespace FastNoise
uint16_t id;
const char* name = "";
const char* description = "";
const char* formattedName = nullptr;
std::vector<const char*> groups;

std::vector<MemberVariable> memberVariables;
Expand Down
17 changes: 13 additions & 4 deletions src/FastNoise/Metadata.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -410,12 +410,21 @@ NodeData* Metadata::DeserialiseNodeData( const char* serialisedBase64NodeData, s

std::string Metadata::FormatMetadataNodeName( const Metadata* metadata, bool removeGroups )
{
std::string string = metadata->name;
for( size_t i = 1; i < string.size(); i++ )
std::string string;

if( metadata->formattedName )
{
string = metadata->formattedName;
}
else
{
if( ( isdigit( string[i] ) || isupper( string[i] ) ) && islower( string[i - 1] ) )
string = metadata->name;
for( size_t i = 1; i < string.size(); i++ )
{
string.insert( i++, 1, ' ' );
if( ( isdigit( string[i] ) || isupper( string[i] ) ) && islower( string[i - 1] ) )
{
string.insert( i++, 1, ' ' );
}
}
}

Expand Down

0 comments on commit a1d5337

Please sign in to comment.