Skip to content

Commit

Permalink
Option to offset next object and sprite numbers concurrent contributi…
Browse files Browse the repository at this point in the history
…ons are easier
  • Loading branch information
risvh committed Feb 26, 2024
1 parent 730241b commit 2451853
Show file tree
Hide file tree
Showing 2 changed files with 95 additions and 23 deletions.
59 changes: 48 additions & 11 deletions gameSource/objectBank.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,8 @@ void setDrawColor( FloatRGB inColor ) {
static char shouldFileBeCached( char *inFileName ) {
if( strstr( inFileName, ".txt" ) != NULL &&
strstr( inFileName, "groundHeat_" ) == NULL &&
strcmp( inFileName, "nextObjectNumber.txt" ) != 0 ) {
strcmp( inFileName, "nextObjectNumber.txt" ) != 0 &&
strcmp( inFileName, "nextObjectNumberOffset.txt" ) != 0 ) {
return true;
}
return false;
Expand Down Expand Up @@ -3052,6 +3053,7 @@ int addObject( const char *inDescription,


int nextObjectNumber = 1;
int nextObjectNumberOffset = 0;

if( objectsDir.exists() && objectsDir.isDirectory() ) {

Expand All @@ -3069,6 +3071,23 @@ int addObject( const char *inDescription,
delete [] nextNumberString;
}
}

File *nextNumberOffsetFile =
objectsDir.getChildFile( "nextObjectNumberOffset.txt" );

if( nextNumberOffsetFile->exists() ) {

char *nextNumberOffsetString =
nextNumberOffsetFile->readFileContents();

if( nextNumberOffsetString != NULL ) {
sscanf( nextNumberOffsetString, "%d", &nextObjectNumberOffset );

nextObjectNumber += nextObjectNumberOffset;

delete [] nextNumberOffsetString;
}
}

if( newID == -1 ) {
newID = nextObjectNumber;
Expand Down Expand Up @@ -3335,20 +3354,38 @@ int addObject( const char *inDescription,
delete objectFile;

if( inReplaceID == -1 ) {
nextObjectNumber++;


char *nextNumberString = autoSprintf( "%d", nextObjectNumber );

File *nextNumberFile =
objectsDir.getChildFile( "nextObjectNumber.txt" );
if( nextObjectNumberOffset > 0 ) {
nextObjectNumberOffset++;


nextNumberFile->writeToFile( nextNumberString );
char *nextNumberOffsetString = autoSprintf( "%d", nextObjectNumberOffset );

delete [] nextNumberString;
File *nextNumberOffsetFile =
objectsDir.getChildFile( "nextObjectNumberOffset.txt" );

nextNumberOffsetFile->writeToFile( nextNumberOffsetString );

delete [] nextNumberOffsetString;


delete nextNumberOffsetFile;
}
else {
nextObjectNumber++;


char *nextNumberString = autoSprintf( "%d", nextObjectNumber );

delete nextNumberFile;
File *nextNumberFile =
objectsDir.getChildFile( "nextObjectNumber.txt" );

nextNumberFile->writeToFile( nextNumberString );

delete [] nextNumberString;


delete nextNumberFile;
}
}
}

Expand Down
59 changes: 47 additions & 12 deletions gameSource/spriteBank.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,8 @@ void enableSpriteSearch( char inEnable ) {
// not bulk data tga files)
static char shouldFileBeCached( char *inFileName ) {
if( strstr( inFileName, ".txt" ) != NULL &&
strcmp( inFileName, "nextSpriteNumber.txt" ) != 0 ) {
strcmp( inFileName, "nextSpriteNumber.txt" ) != 0 &&
strcmp( inFileName, "nextSpriteNumberOffset.txt" ) != 0 ) {
return true;
}
return false;
Expand Down Expand Up @@ -1013,6 +1014,7 @@ int addSprite( const char *inTag, SpriteHandle inSprite,


int nextSpriteNumber = 1;
int nextSpriteNumberOffset = 0;

File *nextNumberFile =
spritesDir.getChildFile( "nextSpriteNumber.txt" );
Expand All @@ -1028,6 +1030,23 @@ int addSprite( const char *inTag, SpriteHandle inSprite,
delete [] nextNumberString;
}
}

File *nextNumberOffsetFile =
spritesDir.getChildFile( "nextSpriteNumberOffset.txt" );

if( nextNumberOffsetFile->exists() ) {

char *nextNumberOffsetString =
nextNumberOffsetFile->readFileContents();

if( nextNumberOffsetString != NULL ) {
sscanf( nextNumberOffsetString, "%d", &nextSpriteNumberOffset );

nextSpriteNumber += nextSpriteNumberOffset;

delete [] nextNumberOffsetString;
}
}



Expand Down Expand Up @@ -1069,18 +1088,34 @@ int addSprite( const char *inTag, SpriteHandle inSprite,
delete [] fileNameTXT;
delete metaFile;

nextSpriteNumber++;

if( nextSpriteNumberOffset > 0 ) {
nextSpriteNumberOffset++;



char *nextNumberString = autoSprintf( "%d", nextSpriteNumber );

nextNumberFile->writeToFile( nextNumberString );

delete [] nextNumberString;


delete nextNumberFile;

char *nextNumberOffsetString = autoSprintf( "%d", nextSpriteNumberOffset );

nextNumberOffsetFile->writeToFile( nextNumberOffsetString );

delete [] nextNumberOffsetString;


delete nextNumberOffsetFile;
}
else {
nextSpriteNumber++;



char *nextNumberString = autoSprintf( "%d", nextSpriteNumber );

nextNumberFile->writeToFile( nextNumberString );

delete [] nextNumberString;


delete nextNumberFile;
}
}

if( newID == -1 ) {
Expand Down

0 comments on commit 2451853

Please sign in to comment.