Skip to content

Fix all compiler warnings - #734

Open
mcarans wants to merge 2 commits into
OoliteProject:masterfrom
mcarans:master
Open

Fix all compiler warnings#734
mcarans wants to merge 2 commits into
OoliteProject:masterfrom
mcarans:master

Conversation

@mcarans

@mcarans mcarans commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

../../src/Core/Entities/WormholeEntity.m:746:26: warning: implicit conversion from 'double' to 'NSUInteger' (aka 'unsigned long') changes value from 0.34 to 0 [-Wliteral-conversion]
746 | NSRange activity = { 0.34, 1.0 };

This one was actually a bug as 0.34 is rounded to 0!

wormhole warning was actually a bug
@phkb

phkb commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Was this intended to fix warnings? Because when I compile I get this:

[11/244] Compiling Objective-C object src/oolite.exe.p/Core_AI.m.obj
../../src/Core/AI.m:222:60: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  222 |                                 OOLog(@"ai.error.stackOverflow.dump", @"%3lu: %@: %@", count, [preservedMachine name], [preservedMachine state]);
      |                                                                         ~~~~           ^~~~~
      |                                                                         %3llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
1 warning generated.
[12/244] Compiling Objective-C object src/oolite.exe.p/Core_CollisionRegion.m.obj
../../src/Core/CollisionRegion.m:101:107: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  101 |         return [NSString stringWithFormat:@"<%@ %p>{ID: %d, %lu subregions, %u ents}", [self class], self, crid, [subregions count], n_entities];
      |                                                             ~~~                                                  ^~~~~~~~~~~~~~~~~~
      |                                                             %llu
1 warning generated.
[30/244] Compiling Objective-C object src/oolite.exe.p/Core_OOCacheManager.m.obj
../../src/Core/OOCacheManager.m:360:125: warning: format specifies type 'unsigned long' but the argument has type 'unsigned long long' [-Wformat]
  360 |                         OOLog(kOOLogDataCacheRebuild, @"Data cache format (%@) is not supported format (%lu), rebuilding cache.", formatVersion, kFormatVersionValue);
      |                                                                                                         ~~~                                      ^~~~~~~~~~~~~~~~~~~
      |                                                                                                         %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
1 warning generated.
[32/244] Compiling Objective-C object src/oolite.exe.p/Core_OOCharacter.m.obj
../../src/Core/OOCharacter.m:49:132: warning: format specifies type 'unsigned long' but the argument has type 'OOCreditsQuantity' (aka 'unsigned long long') [-Wformat]
   49 |         return [NSString stringWithFormat:@"%@, %@. bounty: %i insurance: %lu", [self name], [self shortDescription], [self legalStatus], [self insuranceCredits]];
      |                                                                           ~~~                                                             ^~~~~~~~~~~~~~~~~~~~~~~
      |                                                                           %llu
1 warning generated.
[37/244] Compiling Objective-C object src/oolite.exe.p/Core_OOConvertSystemDescriptions.m.obj
../../src/Core/OOConvertSystemDescriptions.m:287:84: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  287 |         NSString *result = [indicesToKeys objectForKey:[NSString stringWithFormat:@"%lu", index]];
      |                                                                                     ~~~   ^~~~~
      |                                                                                     %llu
../../src/Core/OOConvertSystemDescriptions.m:288:87: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  288 |         if (result == nil && useFallback)  result = [NSString stringWithFormat:@"block_%lu", index];
      |                                                                                        ~~~   ^~~~~
      |                                                                                        %llu
2 warnings generated.
[59/244] Compiling Objective-C object src/oolite.exe.p/Core_OOMeshToOctreeConverter.m.obj
../../src/Core/OOMeshToOctreeConverter.m:264:54: warning: format specifies type 'unsigned long' but the argument has type 'uint_fast32_t' (aka 'unsigned int') [-Wformat]
  264 |         return [NSString stringWithFormat:@"%lu triangles", _data.count];
      |                                             ~~~             ^~~~~~~~~~~
      |                                             %u
1 warning generated.
[62/244] Compiling Objective-C object src/oolite.exe.p/Core_OOOpenGLExtensionManager.m.obj
../../src/Core/OOOpenGLExtensionManager.m:255:73: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  255 |         OOLog(@"rendering.opengl.extensions", @"OpenGL extensions (%lu):\n%@", [extensions count], [[extensions allObjects] componentsJoinedByString:@", "]);
      |                                                                    ~~~         ^~~~~~~~~~~~~~~~~~
      |                                                                    %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
1 warning generated.
[66/244] Compiling Objective-C object src/oolite.exe.p/Core_OOOXZManager.m.obj
../../src/Core/OOOXZManager.m:378:47: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  378 |                 return [NSString stringWithFormat:@"%lu kB",bytes>>10];
      |                                                     ~~~     ^~~~~~~~~
      |                                                     %llu
../../src/Core/OOOXZManager.m:872:60: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  872 |         OOLog(kOOOXZDebugLog,@"Dependency stack has %lu elements",[_dependencyStack count]);
      |                                                     ~~~           ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                                     %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/OOOXZManager.m:975:72: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  975 |                                 OOLog(kOOOXZDebugLog,@"Dependency stack: installing %lu from list",index);
      |                                                                                     ~~~            ^~~~~
      |                                                                                     %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/OOOXZManager.m:2337:47: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 2337 |         OOLog(kOOOXZDebugLog,@"Downloaded %lu bytes",[data length]);
      |                                           ~~~        ^~~~~~~~~~~~~
      |                                           %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
4 warnings generated.
[71/244] Compiling Objective-C object src/oolite.exe.p/Core_OOPriorityQueue.m.obj
../../src/Core/OOPriorityQueue.m:179:93: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  179 |         return [NSString stringWithFormat:@"<%@ %p>{count=%lu, capacity=%lu}", [self class], self, _count, _capacity];
      |                                                           ~~~                                      ^~~~~~
      |                                                           %llu
../../src/Core/OOPriorityQueue.m:179:101: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  179 |         return [NSString stringWithFormat:@"<%@ %p>{count=%lu, capacity=%lu}", [self class], self, _count, _capacity];
      |                                                                         ~~~                                ^~~~~~~~~
      |                                                                         %llu
../../src/Core/OOPriorityQueue.m:674:76: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  674 |                 [result appendFormat:@"\tnode_%lu [label=\"<f0> | <f1> %@ | <f2>\"];\n", i, EscapedString(desc)];
      |                                               ~~~                                        ^
      |                                               %llu
../../src/Core/OOPriorityQueue.m:680:60: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  680 |                 [result appendFormat:@"\tnode_%lu:f0 -> node_%lu:f1;\n", i, PQLeftChild(i)];
      |                                               ~~~                        ^
      |                                               %llu
../../src/Core/OOPriorityQueue.m:680:63: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  680 |                 [result appendFormat:@"\tnode_%lu:f0 -> node_%lu:f1;\n", i, PQLeftChild(i)];
      |                                                              ~~~            ^~~~~~~~~~~~~~
      |                                                              %llu
../../src/Core/OOPriorityQueue.m:681:91: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  681 |                 if (PQRightChild(i) < _count)  [result appendFormat:@"\tnode_%lu:f2 -> node_%lu:f1;\n", i, PQRightChild(i)];
      |                                                                              ~~~                        ^
      |                                                                              %llu
../../src/Core/OOPriorityQueue.m:681:94: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  681 |                 if (PQRightChild(i) < _count)  [result appendFormat:@"\tnode_%lu:f2 -> node_%lu:f1;\n", i, PQRightChild(i)];
      |                                                                                             ~~~            ^~~~~~~~~~~~~~~
      |                                                                                             %llu
7 warnings generated.
[74/244] Compiling Objective-C object src/oolite.exe.p/Core_OOProbabilitySet.m.obj
../../src/Core/OOProbabilitySet.m:245:50: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  245 |         return [NSString stringWithFormat:@"count=%lu", [self count]];
      |                                                   ~~~   ^~~~~~~~~~~~
      |                                                   %llu
../../src/Core/OOProbabilitySet.m:907:191: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  907 |         OOLog(@"probabilitySet.broken", @"%s fell off end, returning first object. Nominal sum = %f, target = %f, actual sum = %f, count = %lu. %@", __PRETTY_FUNCTION__, sumOfWeights, target, sum, count,@"This is an internal error, please report it.");
      |                                                                                                                                            ~~~                                                       ^~~~~
      |                                                                                                                                            %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
2 warnings generated.
[78/244] Compiling Objective-C object src/oolite.exe.p/Core_OOShipGroup.m.obj
../../src/Core/OOShipGroup.m:136:60: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  136 |         NSString *desc = [NSString stringWithFormat:@"%lu ships", _count];
      |                                                       ~~~         ^~~~~~
      |                                                       %llu
1 warning generated.
[82/244] Compiling Objective-C object src/oolite.exe.p/Core_OOShipRegistry.m.obj
../../src/Core/OOShipRegistry.m:1322:183: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 1322 |                         OOLogERR(@"shipData.load.error.badSubentity", @"the shipdata.plist entry \"%@\" has a broken subentity definition \"%@\" (should have 8 tokens, has %lu).", shipKey, subentityKey, [tokens count]);
      |                                                                                                                                                                             ~~~                            ^~~~~~~~~~~~~~
      |                                                                                                                                                                             %llu
../../src/Core/OOLogging.h:112:140: note: expanded from macro 'OOLogERR'
  112 | #define OOLogERR(class, format, ...) OOLogWithPrefix(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, OOLOG_ERROR_PREFIX ,format, ## __VA_ARGS__)
      |                                                                                                                                 ~~~~~~     ^~~~~~~~~~~
../../src/Core/OOShipRegistry.m:1327:191: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 1327 |                         OOLogWARN(@"shipData.load.warning.badFlasher", @"the shipdata.plist entry \"%@\" has a broken flasher definition (should have 8 tokens, has %lu). This flasher will be ignored.", shipKey, [tokens count]);
      |                                                                                                                                                                     ~~~                                            ^~~~~~~~~~~~~~
      |                                                                                                                                                                     %llu
../../src/Core/OOLogging.h:113:143: note: expanded from macro 'OOLogWARN'
  113 | #define OOLogWARN(class, format, ...) OOLogWithPrefix(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, OOLOG_WARNING_PREFIX, format, ## __VA_ARGS__)
      |                                                                                                                                    ~~~~~~     ^~~~~~~~~~~
2 warnings generated.
[88/244] Compiling Objective-C object src/oolite.exe.p/Core_OOSystemDescriptionManager.m.obj
../../src/Core/OOSystemDescriptionManager.m:326:143: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  326 |                         OOLog(@"system.description.error",@"'%lu' is an invalid system index for the current system. This is an internal error. Please report it.",index);
      |                                                              ~~~                                                                                                   ^~~~~
      |                                                              %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/OOSystemDescriptionManager.m:536:56: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  536 |         NSString *key = [NSString stringWithFormat:@"%lu %lu",i/OO_SYSTEMS_PER_GALAXY,i%OO_SYSTEMS_PER_GALAXY];
      |                                                      ~~~      ^~~~~~~~~~~~~~~~~~~~~~~
      |                                                      %llu
../../src/Core/OOSystemDescriptionManager.m:536:80: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  536 |         NSString *key = [NSString stringWithFormat:@"%lu %lu",i/OO_SYSTEMS_PER_GALAXY,i%OO_SYSTEMS_PER_GALAXY];
      |                                                          ~~~                          ^~~~~~~~~~~~~~~~~~~~~~~
      |                                                          %llu
../../src/Core/OOSystemDescriptionManager.m:547:56: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  547 |         NSString *key = [NSString stringWithFormat:@"%lu %lu",i/OO_SYSTEMS_PER_GALAXY,i%OO_SYSTEMS_PER_GALAXY];
      |                                                      ~~~      ^~~~~~~~~~~~~~~~~~~~~~~
      |                                                      %llu
../../src/Core/OOSystemDescriptionManager.m:547:80: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  547 |         NSString *key = [NSString stringWithFormat:@"%lu %lu",i/OO_SYSTEMS_PER_GALAXY,i%OO_SYSTEMS_PER_GALAXY];
      |                                                          ~~~                          ^~~~~~~~~~~~~~~~~~~~~~~
      |                                                          %llu
5 warnings generated.
[92/244] Compiling Objective-C object src/oolite.exe.p/Core_OOTextureScaling.m.obj
../../src/Core/OOTextureScaling.m:347:119: warning: format specifies type 'unsigned long' but the argument has type 'OOPixMapDimension' (aka 'unsigned int') [-Wformat]
  347 |                 OOLog(kOOLogParameterError, @"Non-power-of-two dimensions (%lux%lu) passed to %s() - ignoring, data will be junk.", width, height, __PRETTY_FUNCTION__);
      |                                                                            ~~~                                                      ^~~~~
      |                                                                            %u
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/OOTextureScaling.m:347:126: warning: format specifies type 'unsigned long' but the argument has type 'OOPixMapDimension' (aka 'unsigned int') [-Wformat]
  347 |                 OOLog(kOOLogParameterError, @"Non-power-of-two dimensions (%lux%lu) passed to %s() - ignoring, data will be junk.", width, height, __PRETTY_FUNCTION__);
      |                                                                                ~~~                                                         ^~~~~~
      |                                                                                %u
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
2 warnings generated.
[99/244] Compiling Objective-C object src/oolite.exe.p/Core_OldSchoolPropertyListWriting.m.obj
../../src/Core/OldSchoolPropertyListWriting.m:149:163: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  149 |                         *outErrorDescription = [NSString stringWithFormat:@"failed to allocate space (%lu bytes) for conversion of NSData to old-school property list representation", dstLength];
      |                                                                                                       ~~~                                                                              ^~~~~~~~~
      |                                                                                                       %llu
1 warning generated.
[101/244] Compiling Objective-C object src/oolite.exe.p/Core_ResourceManager.m.obj
../../src/Core/ResourceManager.m:2154:78: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 2154 |                         OOLog(@"script.load.world.listAll", @"Loaded %lu world scripts:\n    %@", count, displayString);
      |                                                                      ~~~                          ^~~~~
      |                                                                      %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
1 warning generated.
[108/244] Compiling Objective-C object src/oolite.exe.p/Core_Debug_OODebugTCPConsoleClient.m.obj
../../src/Core/Debug/OODebugTCPConsoleClient.m:692:14: warning: format specifies type 'unsigned long' but the argument has type 'NSStreamStatus' (aka 'unsigned long long') [-Wformat]
  691 |            @"Connection to debug console failed: '%@' (outStream status: %lu, inStream status: %lu).",
      |                                                                          ~~~
      |                                                                          %llu
  692 |                 errorDesc, [_outStream streamStatus], [_inStream streamStatus]]];
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~
../../src/Core/Debug/OODebugTCPConsoleClient.m:692:41: warning: format specifies type 'unsigned long' but the argument has type 'NSStreamStatus' (aka 'unsigned long long') [-Wformat]
  691 |            @"Connection to debug console failed: '%@' (outStream status: %lu, inStream status: %lu).",
      |                                                                                                ~~~
      |                                                                                                %llu
  692 |                 errorDesc, [_outStream streamStatus], [_inStream streamStatus]]];
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
[111/244] Compiling Objective-C object src/oolite.exe.p/Core_Entities_Entity.m.obj
../../src/Core/Entities/Entity.m:221:183: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  221 |                 OOLogERR(@"entity.invalidSession", @"Entity %@ from session %lu cannot be added to universe in session %lu. This is an internal error, please report it.", [self shortDescription], mySessionID, currentSessionID);
      |                                                                             ~~~                                                                                                                     ^~~~~~~~~~~
      |                                                                             %llu
../../src/Core/OOLogging.h:112:140: note: expanded from macro 'OOLogERR'
  112 | #define OOLogERR(class, format, ...) OOLogWithPrefix(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, OOLOG_ERROR_PREFIX ,format, ## __VA_ARGS__)
      |                                                                                                                                 ~~~~~~     ^~~~~~~~~~~
../../src/Core/Entities/Entity.m:221:196: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  221 |                 OOLogERR(@"entity.invalidSession", @"Entity %@ from session %lu cannot be added to universe in session %lu. This is an internal error, please report it.", [self shortDescription], mySessionID, currentSessionID);
      |                                                                                                                        ~~~                                                                                       ^~~~~~~~~~~~~~~~
      |                                                                                                                        %llu
../../src/Core/OOLogging.h:112:140: note: expanded from macro 'OOLogERR'
  112 | #define OOLogERR(class, format, ...) OOLogWithPrefix(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, OOLOG_ERROR_PREFIX ,format, ## __VA_ARGS__)
      |                                                                                                                                 ~~~~~~     ^~~~~~~~~~~
2 warnings generated.
[114/244] Compiling Objective-C object src/oolite.exe.p/Core_Universe.m.obj
../../src/Core/Universe.m:986:98: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  986 |         OOLog(@"universe.objectDump", @"DEBUG: Entity Dump - [entities count] = %lu,\tn_entities = %u", [entities count], n_entities);
      |                                                                                 ~~~                     ^~~~~~~~~~~~~~~~
      |                                                                                 %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/Universe.m:4345:151: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 4345 |                         OOLog(@"universe.createContainer.failed", @"***** ERROR: failed to find a container to fill with %@ (%lu).", [goodsKeys oo_stringAtIndex:co_type], co_type);
      |                                                                                                                              ~~~                                           ^~~~~~~
      |                                                                                                                              %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/Universe.m:10433:149: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 10433 |                         OOLogERR(@"universe.sessionIDs.verify.failed", @"Invalid entity %@ (came from session %lu, current session is %lu).", [entity shortDescription], [entity sessionID], _sessionID);
       |                                                                                                               ~~~                                                        ^~~~~~~~~~~~~~~~~~
       |                                                                                                               %llu
../../src/Core/OOLogging.h:112:140: note: expanded from macro 'OOLogERR'
  112 | #define OOLogERR(class, format, ...) OOLogWithPrefix(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, OOLOG_ERROR_PREFIX ,format, ## __VA_ARGS__)
      |                                                                                                                                 ~~~~~~     ^~~~~~~~~~~
../../src/Core/Universe.m:10433:169: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 10433 |                         OOLogERR(@"universe.sessionIDs.verify.failed", @"Invalid entity %@ (came from session %lu, current session is %lu).", [entity shortDescription], [entity sessionID], _sessionID);
       |                                                                                                                                       ~~~                                                    ^~~~~~~~~~
       |                                                                                                                                       %llu
../../src/Core/OOLogging.h:112:140: note: expanded from macro 'OOLogERR'
  112 | #define OOLogERR(class, format, ...) OOLogWithPrefix(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, OOLOG_ERROR_PREFIX ,format, ## __VA_ARGS__)
      |                                                                                                                                 ~~~~~~     ^~~~~~~~~~~
../../src/Core/Universe.m:10884:70: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 10884 |                 [graphViz appendFormat:@"\t\tthargoid_curse_%lu [label=\"%@\"]\n", j, EscapedGraphVizString(label)];
       |                                                             ~~~                    ^
       |                                                             %llu
../../src/Core/Universe.m:10891:67: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 10891 |                                                         fromNode:[NSString stringWithFormat:@"thargoid_curse_%lu", j]
       |                                                                                                              ~~~   ^
       |                                                                                                              %llu
../../src/Core/Universe.m:10901:67: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 10901 |                 label = [keyMap objectForKey:[NSString stringWithFormat:@"%lu", i]];
       |                                                                           ~~~   ^
       |                                                                           %llu
../../src/Core/Universe.m:10902:67: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 10902 |                 if (label == nil)  label = [NSString stringWithFormat:@"[%lu]", i];
       |                                                                          ~~~    ^
       |                                                                          %llu
../../src/Core/Universe.m:10903:59: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 10903 |                 else  label = [NSString stringWithFormat:@"[%lu] (%@)", i, label];
       |                                                             ~~~         ^
       |                                                             %llu
../../src/Core/Universe.m:10905:78: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 10905 |                 [graphViz appendFormat:@"\tsubgraph cluster_%lu\n\t{\n\t\tlabel=\"%@\"\n", i, EscapedGraphVizString(label)];
       |                                                             ~~~                            ^
       |                                                             %llu
../../src/Core/Universe.m:10912:69: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 10912 |                         [graphViz appendFormat:@"\t\tn%lu_%lu [label=\"\\\"%@\\\"\"]\n", i, j, EscapedGraphVizString(label)];
       |                                                       ~~~                                ^
       |                                                       %llu
../../src/Core/Universe.m:10912:72: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 10912 |                         [graphViz appendFormat:@"\t\tn%lu_%lu [label=\"\\\"%@\\\"\"]\n", i, j, EscapedGraphVizString(label)];
       |                                                           ~~~                               ^
       |                                                           %llu
../../src/Core/Universe.m:10929:58: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 10929 |                                                                 fromNode:[NSString stringWithFormat:@"n%lu_%lu", i, j]
       |                                                                                                        ~~~       ^
       |                                                                                                        %llu
../../src/Core/Universe.m:10929:61: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 10929 |                                                                 fromNode:[NSString stringWithFormat:@"n%lu_%lu", i, j]
       |                                                                                                            ~~~      ^
       |                                                                                                            %llu
14 warnings generated.
[133/244] Compiling Objective-C object src/oolite.exe.p/Core_Entities_PlayerEntityContracts.m.obj
../../src/Core/Entities/PlayerEntityContracts.m:1543:57: warning: format specifies type 'long' but the argument has type 'NSInteger' (aka 'long long') [-Wformat]
 1543 |                                 [gui setKey:[NSString stringWithFormat:@"More:%ld", previous] forRow:GUI_ROW_SHIPYARD_START];
      |                                                                               ~~~   ^~~~~~~~
      |                                                                               %lld
../../src/Core/Entities/PlayerEntityContracts.m:1561:57: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 1561 |                                 [gui setKey:[NSString stringWithFormat:@"More:%lu", rowCount + skip] forRow:startRow + i];
      |                                                                               ~~~   ^~~~~~~~~~~~~~~
      |                                                                               %llu
2 warnings generated.
[134/244] Compiling Objective-C object src/oolite.exe.p/Core_Entities_PlayerEntityKeyMapper.m.obj
../../src/Core/Entities/PlayerEntityKeyMapper.m:876:56: warning: format specifies type 'long' but the argument has type 'NSInteger' (aka 'long long') [-Wformat]
  876 |                         [gui setKey:[NSString stringWithFormat:@"More:%ld", previous] forRow:GUI_ROW_KC_FUNCSTART];
      |                                                                       ~~~   ^~~~~~~~
      |                                                                       %lld
../../src/Core/Entities/PlayerEntityKeyMapper.m:943:58: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  943 |                                 [gui setKey:[NSString stringWithFormat:@"Index:%lu", i + skip] forRow:i + start_row];
      |                                                                                ~~~   ^~~~~~~~
      |                                                                                %llu
../../src/Core/Entities/PlayerEntityKeyMapper.m:954:56: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  954 |                         [gui setKey:[NSString stringWithFormat:@"More:%lu", n_rows + skip] forRow:start_row + i];
      |                                                                       ~~~   ^~~~~~~~~~~~~
      |                                                                       %llu
../../src/Core/Entities/PlayerEntityKeyMapper.m:1341:56: warning: format specifies type 'long' but the argument has type 'NSInteger' (aka 'long long') [-Wformat]
 1341 |                         [gui setKey:[NSString stringWithFormat:@"More:%ld", previous] forRow:GUI_ROW_KC_FUNCSTART];
      |                                                                       ~~~   ^~~~~~~~
      |                                                                       %lld
../../src/Core/Entities/PlayerEntityKeyMapper.m:1354:57: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 1354 |                         [gui setKey:[NSString stringWithFormat:@"Index:%lu", i + skip] forRow:i + start_row];
      |                                                                        ~~~   ^~~~~~~~
      |                                                                        %llu
../../src/Core/Entities/PlayerEntityKeyMapper.m:1360:56: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 1360 |                         [gui setKey:[NSString stringWithFormat:@"More:%lu", n_rows + skip] forRow:start_row + i];
      |                                                                       ~~~   ^~~~~~~~~~~~~
      |                                                                       %llu
6 warnings generated.
[136/244] Compiling Objective-C object src/oolite.exe.p/Core_Entities_PlayerEntityLegacyScriptEngine.m.obj
../../src/Core/Entities/PlayerEntityLegacyScriptEngine.m:1996:171: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 1996 |                 OOLogERR(kOOLogException, @"in mission.runScreen choices: number of choices defined (%lu) is greater than available lines (%lu). Check HUD settings for allowBigGui.",  [choiceKeys count], (end_row + 1));
      |                                                                                                      ~~~                                                                                ^~~~~~~~~~~~~~~~~~
      |                                                                                                      %llu
../../src/Core/OOLogging.h:112:140: note: expanded from macro 'OOLogERR'
  112 | #define OOLogERR(class, format, ...) OOLogWithPrefix(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, OOLOG_ERROR_PREFIX ,format, ## __VA_ARGS__)
      |                                                                                                                                 ~~~~~~     ^~~~~~~~~~~
../../src/Core/Entities/PlayerEntityLegacyScriptEngine.m:1996:191: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 1996 |                 OOLogERR(kOOLogException, @"in mission.runScreen choices: number of choices defined (%lu) is greater than available lines (%lu). Check HUD settings for allowBigGui.",  [choiceKeys count], (end_row + 1));
      |                                                                                                                                            ~~~                                                              ^~~~~~~~~~~~~
      |                                                                                                                                            %llu
../../src/Core/OOLogging.h:112:140: note: expanded from macro 'OOLogERR'
  112 | #define OOLogERR(class, format, ...) OOLogWithPrefix(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, OOLOG_ERROR_PREFIX ,format, ## __VA_ARGS__)
      |                                                                                                                                 ~~~~~~     ^~~~~~~~~~~
../../src/Core/Entities/PlayerEntityLegacyScriptEngine.m:2880:76: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 2880 |         OOLog(@"player.equipmentScript", @"Scriptable equipment available: %lu.", [eqScripts count]);
      |                                                                            ~~~    ^~~~~~~~~~~~~~~~~
      |                                                                            %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
3 warnings generated.
[140/244] Compiling Objective-C object src/oolite.exe.p/Core_Entities_PlayerEntityStickMapper.m.obj
../../src/Core/Entities/PlayerEntityStickMapper.m:455:56: warning: format specifies type 'long' but the argument has type 'NSInteger' (aka 'long long') [-Wformat]
  455 |                         [gui setKey:[NSString stringWithFormat:@"More:%ld", previous] forRow:GUI_ROW_FUNCSTART];
      |                                                                       ~~~   ^~~~~~~~
      |                                                                       %lld
../../src/Core/Entities/PlayerEntityStickMapper.m:522:60: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  522 |                                 [gui setKey: [NSString stringWithFormat: @"Index:%lu", i + skip] forRow: i + start_row];
      |                                                                                  ~~~   ^~~~~~~~
      |                                                                                  %llu
../../src/Core/Entities/PlayerEntityStickMapper.m:529:58: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  529 |                         [gui setKey: [NSString stringWithFormat: @"More:%lu", n_rows + skip] forRow: start_row + i];
      |                                                                         ~~~   ^~~~~~~~~~~~~
      |                                                                         %llu
3 warnings generated.
[143/244] Compiling Objective-C object src/oolite.exe.p/Core_Entities_PlayerEntity.m.obj
../../src/Core/Entities/PlayerEntity.m:1514:186: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 1514 |                 OOLogWARN(@"setCommanderDataFromDictionary.inconsistency.passengers", @"player ship %@ had more passengers (%lu) than passenger berths (%u). Removing extra passengers.", [self name], [passengers count], max_passengers);
      |                                                                                                                             ~~~                                                                        ^~~~~~~~~~~~~~~~~~
      |                                                                                                                             %llu
../../src/Core/OOLogging.h:113:143: note: expanded from macro 'OOLogWARN'
  113 | #define OOLogWARN(class, format, ...) OOLogWithPrefix(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, OOLOG_WARNING_PREFIX, format, ## __VA_ARGS__)
      |                                                                                                                                    ~~~~~~     ^~~~~~~~~~~
../../src/Core/Entities/PlayerEntity.m:4917:67: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 4917 |         NSString *result = [NSString stringWithFormat:@"Entities: %3lu", [UNIVERSE entityCount]];
      |                                                                   ~~~~   ^~~~~~~~~~~~~~~~~~~~~~
      |                                                                   %3llu
../../src/Core/Entities/PlayerEntity.m:10939:149: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 10939 |         NSString *price = [NSString stringWithFormat:@" %@.%lu ",OOPadStringToEms([NSString stringWithFormat:@"%lu",(unsigned long)(pricePerUnit/10)],2.5),priceDecimal];
       |                                                            ~~~                                                                                             ^~~~~~~~~~~~
       |                                                            %llu
../../src/Core/Entities/PlayerEntity.m:13467:58: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 13467 |         OOLog(@"dumpState.playerEntity", @"Trumble count: %lu", trumbleCount);
       |                                                           ~~~   ^~~~~~~~~~~~
       |                                                           %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
4 warnings generated.
[146/244] Compiling Objective-C object src/oolite.exe.p/Core_Entities_ShipEntityScriptMethods.m.obj
../../src/Core/Entities/ShipEntityScriptMethods.m:72:63: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
   72 |         OOLog(kOOLogNoteAddShips, @"Spawning %lu x '%@' near %@ %d", count, role, [self shortDescription], [self universalID]);
      |                                              ~~~                     ^~~~~
      |                                              %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
1 warning generated.
[150/244] Compiling Objective-C object src/oolite.exe.p/Core_Entities_WormholeEntity.m.obj
../../src/Core/Entities/WormholeEntity.m:860:70: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  860 |         OOLog(@"dumpState.wormholeEntity", @"Ships                  : %lu", [shipsInTransit count]);
      |                                                                       ~~~   ^~~~~~~~~~~~~~~~~~~~~~
      |                                                                       %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
1 warning generated.
[151/244] Compiling Objective-C object src/oolite.exe.p/Core_Entities_StationEntity.m.obj
../../src/Core/Entities/StationEntity.m:2465:67: warning: format specifies type 'unsigned long' but the argument has type 'OOTechLevelID' (aka 'unsigned long long') [-Wformat]
 2465 |         OOLog(@"dumpState.stationEntity", @"Equivalent tech level: %lu", equivalentTechLevel);
      |                                                                    ~~~   ^~~~~~~~~~~~~~~~~~~
      |                                                                    %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/Entities/StationEntity.m:2481:71: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 2481 |                 OOLog(@"dumpState.stationEntity", @"%lu Ships on hold (unsorted):", [_shipsOnHold count]);
      |                                                     ~~~                             ^~~~~~~~~~~~~~~~~~~~
      |                                                     %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
2 warnings generated.
[153/244] Compiling Objective-C object src/oolite.exe.p/Core_Materials_OODefaultShaderSynthesizer.m.obj
../../src/Core/Materials/OODefaultShaderSynthesizer.m:628:69: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  628 |                 NSString        *texUniform = [NSString stringWithFormat:@"uTexture%lu", texID];
      |                                                                                    ~~~   ^~~~~
      |                                                                                    %llu
../../src/Core/Materials/OODefaultShaderSynthesizer.m:669:111: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  669 |                 [_fragmentTextureLookups appendFormat:@"\tvec4 tex%luSample = texture2D(uTexture%lu, texCoords);  // %@\n", texID, texID, [textureSpec oo_stringForKey:kOOTextureSpecifierNameKey]];
      |                                                                   ~~~                                                       ^~~~~
      |                                                                   %llu
../../src/Core/Materials/OODefaultShaderSynthesizer.m:669:118: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  669 |                 [_fragmentTextureLookups appendFormat:@"\tvec4 tex%luSample = texture2D(uTexture%lu, texCoords);  // %@\n", texID, texID, [textureSpec oo_stringForKey:kOOTextureSpecifierNameKey]];
      |                                                                                                 ~~~                                ^~~~~
      |                                                                                                 %llu
../../src/Core/Materials/OODefaultShaderSynthesizer.m:681:63: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  681 |         *outSampleName = [NSString stringWithFormat:@"tex%luSample", texID];
      |                                                          ~~~         ^~~~~
      |                                                          %llu
../../src/Core/Materials/OODefaultShaderSynthesizer.m:707:215: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  707 |         OOLogWARN(@"material.synthesis.warning.extractionMismatch", @"The %@ map for material \"%@\" of \"%@\" specifies %lu channels to extract, but only %@ may be used.", mapName, [self materialKey], [self entityName], channelCount, @"1 or 3");
      |                                                                                                                          ~~~                                                                                                 ^~~~~~~~~~~~
      |                                                                                                                          %llu
../../src/Core/OOLogging.h:113:143: note: expanded from macro 'OOLogWARN'
  113 | #define OOLogWARN(class, format, ...) OOLogWithPrefix(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, OOLOG_WARNING_PREFIX, format, ## __VA_ARGS__)
      |                                                                                                                                    ~~~~~~     ^~~~~~~~~~~
../../src/Core/Materials/OODefaultShaderSynthesizer.m:729:215: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  729 |         OOLogWARN(@"material.synthesis.warning.extractionMismatch", @"The %@ map for material \"%@\" of \"%@\" specifies %lu channels to extract, but only %@ may be used.", mapName, [self materialKey], [self entityName], channelCount, @"1");
      |                                                                                                                          ~~~                                                                                                 ^~~~~~~~~~~~
      |                                                                                                                          %llu
../../src/Core/OOLogging.h:113:143: note: expanded from macro 'OOLogWARN'
  113 | #define OOLogWARN(class, format, ...) OOLogWithPrefix(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, OOLOG_WARNING_PREFIX, format, ## __VA_ARGS__)
      |                                                                                                                                    ~~~~~~     ^~~~~~~~~~~
../../src/Core/Materials/OODefaultShaderSynthesizer.m:843:104: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  843 |                                 [_fragmentPreTextures appendFormat:@"\tfloat parallax = texture2D(uTexture%lu, vTexCoords).%@;\n", texID, swizzle];
      |                                                                                                           ~~~                      ^~~~~
      |                                                                                                           %llu
../../src/Core/Materials/OODefaultShaderSynthesizer.m:860:222: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  860 |                                 OOLogWARN(@"material.synthesis.warning.extractionMismatch", @"The %@ map for material \"%@\" of \"%@\" specifies %lu channels to extract, but only %@ may be used.", @"parallax", [self materialKey], [self entityName], channelCount, @"1");
      |                                                                                                                                                  ~~~                                                                                                     ^~~~~~~~~~~~
      |                                                                                                                                                  %llu
../../src/Core/OOLogging.h:113:143: note: expanded from macro 'OOLogWARN'
  113 | #define OOLogWARN(class, format, ...) OOLogWithPrefix(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, OOLOG_WARNING_PREFIX, format, ## __VA_ARGS__)
      |                                                                                                                                    ~~~~~~     ^~~~~~~~~~~
../../src/Core/Materials/OODefaultShaderSynthesizer.m:1013:219: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 1013 |                         OOLogWARN(@"material.synthesis.warning.extractionMismatch", @"The %@ map for material \"%@\" of \"%@\" specifies %lu channels to extract, but only %@ may be used.", @"normal", [self materialKey], [self entityName], [swizzle length], @"3");
      |                                                                                                                                          ~~~                                                                                                   ^~~~~~~~~~~~~~~~
      |                                                                                                                                          %llu
../../src/Core/OOLogging.h:113:143: note: expanded from macro 'OOLogWARN'
  113 | #define OOLogWARN(class, format, ...) OOLogWithPrefix(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, OOLOG_WARNING_PREFIX, format, ## __VA_ARGS__)
      |                                                                                                                                    ~~~~~~     ^~~~~~~~~~~
9 warnings generated.
[155/244] Compiling Objective-C object src/oolite.exe.p/Core_Entities_ShipEntity.m.obj
../../src/Core/Entities/ShipEntity.m:13713:107: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 13713 |                 OOLog(@"ship.escort.reject", @"%@ rejecting escort %@ because AI stack depth is %lu.",self, other_ship, [shipAI stackDepth]);
       |                                                                                                 ~~~                     ^~~~~~~~~~~~~~~~~~~
       |                                                                                                 %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/Entities/ShipEntity.m:13756:97: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 13756 |                         OOLog(@"ship.escort.reject", @"%@ already got max escorts(%lu). Escort rejected: %@.", self, escortCount, other_ship);
       |                                                                                   ~~~                                ^~~~~~~~~~~
       |                                                                                   %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/Entities/ShipEntity.m:14501:58: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
 14501 |         OOLog(@"dumpState.shipEntity", @"Subentity count: %lu", [self subEntityCount]);
       |                                                           ~~~   ^~~~~~~~~~~~~~~~~~~~~
       |                                                           %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
3 warnings generated.
[173/244] Compiling Objective-C object src/oolite.exe.p/Core_Materials_OOTexture.m.obj
../../src/Core/Materials/OOTexture.m:393:98: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  393 |                 OOLog(@"texture.allocTrace.begin", @"Started tracing texture %p with retain count %lu.", self, [self retainCount]);
      |                                                                                                   ~~~          ^~~~~~~~~~~~~~~~~~
      |                                                                                                   %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/Materials/OOTexture.m:575:111: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  575 |                 if (context)  OOLog(@"texture.allocTrace.retain", @"Texture %p retained (retain count -> %lu) - %@.", self, [self retainCount] + 1, context);
      |                                                                                                          ~~~                ^~~~~~~~~~~~~~~~~~~~~~
      |                                                                                                          %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/Materials/OOTexture.m:576:99: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  576 |                 else  OOLog(@"texture.allocTrace.retain", @"Texture %p retained  (retain count -> %lu).", self, [self retainCount] + 1);
      |                                                                                                   ~~~           ^~~~~~~~~~~~~~~~~~~~~~
      |                                                                                                   %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/Materials/OOTexture.m:587:112: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  587 |                 if (context)  OOLog(@"texture.allocTrace.release", @"Texture %p released (retain count -> %lu) - %@.", self, [self retainCount] - 1, context);
      |                                                                                                           ~~~                ^~~~~~~~~~~~~~~~~~~~~~
      |                                                                                                           %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/Materials/OOTexture.m:588:99: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  588 |                 else  OOLog(@"texture.allocTrace.release", @"Texture %p released (retain count -> %lu).", self, [self retainCount] - 1);
      |                                                                                                   ~~~           ^~~~~~~~~~~~~~~~~~~~~~
      |                                                                                                   %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
5 warnings generated.
[175/244] Compiling Objective-C object src/oolite.exe.p/Core_Materials_OOTextureLoader.m.obj
../../src/Core/Materials/OOTextureLoader.m:437:119: warning: format specifies type 'unsigned long' but the argument has type 'OOPixMapDimension' (aka 'unsigned int') [-Wformat]
  437 |                 OOLog(@"texture.load.rescale", @"Rescaling texture \"%@\" from %lu x %lu to %lu x %lu.", [_path lastPathComponent], pixMap.width, pixMap.height, desiredWidth, desiredHeight);
      |                                                                                ~~~                                                  ^~~~~~~~~~~~
      |                                                                                %u
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/Materials/OOTextureLoader.m:437:133: warning: format specifies type 'unsigned long' but the argument has type 'OOPixMapDimension' (aka 'unsigned int') [-Wformat]
  437 |                 OOLog(@"texture.load.rescale", @"Rescaling texture \"%@\" from %lu x %lu to %lu x %lu.", [_path lastPathComponent], pixMap.width, pixMap.height, desiredWidth, desiredHeight);
      |                                                                                      ~~~                                                          ^~~~~~~~~~~~~
      |                                                                                      %u
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/Materials/OOTextureLoader.m:437:148: warning: format specifies type 'unsigned long' but the argument has type 'OOPixMapDimension' (aka 'unsigned int') [-Wformat]
  437 |                 OOLog(@"texture.load.rescale", @"Rescaling texture \"%@\" from %lu x %lu to %lu x %lu.", [_path lastPathComponent], pixMap.width, pixMap.height, desiredWidth, desiredHeight);
      |                                                                                             ~~~                                                                  ^~~~~~~~~~~~
      |                                                                                             %u
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/Materials/OOTextureLoader.m:437:162: warning: format specifies type 'unsigned long' but the argument has type 'OOPixMapDimension' (aka 'unsigned int') [-Wformat]
  437 |                 OOLog(@"texture.load.rescale", @"Rescaling texture \"%@\" from %lu x %lu to %lu x %lu.", [_path lastPathComponent], pixMap.width, pixMap.height, desiredWidth, desiredHeight);
      |                                                                                                   ~~~                                                                          ^~~~~~~~~~~~~
      |                                                                                                   %u
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
4 warnings generated.
[177/244] Compiling Objective-C object src/oolite.exe.p/Core_OXPVerifier_OOAIStateMachineVerifierStage.m.obj
../../src/Core/OXPVerifier/OOAIStateMachineVerifierStage.m:180:168: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  180 |                                         OOLog(@"verifyOXP.validateAI.failed.invalidFormat.action", @"***** ERROR: action %lu in handler \"%@\" for state \"%@\" in AI \"%@\" is not a string, ignoring.", index - 1, handlerKey, stateKey, aiName);
      |                                                                                                                          ~~~                                                                              ^~~~~~~~~
      |                                                                                                                          %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/OXPVerifier/OOAIStateMachineVerifierStage.m:204:126: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  204 |                 OOLog(@"verifyOXP.validateAI.failed.badSelector", @"***** ERROR: the AI \"%@\" uses %lu unpermitted method%s: %@", aiName, [badSelectors count], ([badSelectors count] == 1) ? "" : "s", badSelectorDesc);
      |                                                                                                     ~~~                                    ^~~~~~~~~~~~~~~~~~~~
      |                                                                                                     %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
2 warnings generated.
[178/244] Compiling Objective-C object src/oolite.exe.p/Core_OXPVerifier_OOCheckEquipmentPListVerifierStage.m.obj
../../src/Core/OXPVerifier/OOCheckEquipmentPListVerifierStage.m:125:151: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  125 |                         OOLog(@"verifyOXP.equipmentPList.badEntrySize", @"***** ERROR: equipment.plist entry %@ has too few elements (%lu, should be 5 or 6).", entryDesc, elemCount);
      |                                                                                                                                       ~~~                                  ^~~~~~~~~
      |                                                                                                                                       %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/OXPVerifier/OOCheckEquipmentPListVerifierStage.m:130:154: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  130 |                         OOLog(@"verifyOXP.equipmentPList.badEntrySize", @"----- WARNING: equipment.plist entry %@ has too many elements (%lu, should be 5 or 6).", entryDesc, elemCount);
      |                                                                                                                                          ~~~                                  ^~~~~~~~~
      |                                                                                                                                          %llu
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
2 warnings generated.
[187/244] Compiling Objective-C object src/oolite.exe.p/Core_OXPVerifier_OOTextureVerifierStage.m.obj
../../src/Core/OXPVerifier/OOTextureVerifierStage.m:171:194: warning: format specifies type 'unsigned long' but the argument has type 'OOPixMapDimension' (aka 'unsigned int') [-Wformat]
  171 |                                 OOLog(@"verifyOXP.texture.notPOT", @"----- WARNING: image %@ has non-power-of-two dimensions; it will have to be rescaled (from %lux%lu pixels to %lux%lu pixels) at runtime.", displayName, pixmap.width, pixmap.height, rWidth, rHeight);
      |                                                                                                                                                                 ~~~                                                          ^~~~~~~~~~~~
      |                                                                                                                                                                 %u
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/OXPVerifier/OOTextureVerifierStage.m:171:208: warning: format specifies type 'unsigned long' but the argument has type 'OOPixMapDimension' (aka 'unsigned int') [-Wformat]
  171 |                                 OOLog(@"verifyOXP.texture.notPOT", @"----- WARNING: image %@ has non-power-of-two dimensions; it will have to be rescaled (from %lux%lu pixels to %lux%lu pixels) at runtime.", displayName, pixmap.width, pixmap.height, rWidth, rHeight);
      |                                                                                                                                                                     ~~~                                                                    ^~~~~~~~~~~~~
      |                                                                                                                                                                     %u
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/OXPVerifier/OOTextureVerifierStage.m:171:223: warning: format specifies type 'unsigned long' but the argument has type 'OOPixMapDimension' (aka 'unsigned int') [-Wformat]
  171 |                                 OOLog(@"verifyOXP.texture.notPOT", @"----- WARNING: image %@ has non-power-of-two dimensions; it will have to be rescaled (from %lux%lu pixels to %lux%lu pixels) at runtime.", displayName, pixmap.width, pixmap.height, rWidth, rHeight);
      |                                                                                                                                                                                   ~~~                                                                     ^~~~~~
      |                                                                                                                                                                                   %u
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/OXPVerifier/OOTextureVerifierStage.m:171:231: warning: format specifies type 'unsigned long' but the argument has type 'OOPixMapDimension' (aka 'unsigned int') [-Wformat]
  171 |                                 OOLog(@"verifyOXP.texture.notPOT", @"----- WARNING: image %@ has non-power-of-two dimensions; it will have to be rescaled (from %lux%lu pixels to %lux%lu pixels) at runtime.", displayName, pixmap.width, pixmap.height, rWidth, rHeight);
      |                                                                                                                                                                                       ~~~                                                                         ^~~~~~~
      |                                                                                                                                                                                       %u
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/OXPVerifier/OOTextureVerifierStage.m:175:83: warning: format specifies type 'unsigned long' but the argument has type 'OOPixMapDimension' (aka 'unsigned int') [-Wformat]
  175 |                                 OOLog(@"verifyOXP.verbose.texture.OK", @"- %@ (%lux%lu px) OK.", displayName, pixmap.width, pixmap.height);
      |                                                                                ~~~                            ^~~~~~~~~~~~
      |                                                                                %u
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
../../src/Core/OXPVerifier/OOTextureVerifierStage.m:175:97: warning: format specifies type 'unsigned long' but the argument has type 'OOPixMapDimension' (aka 'unsigned int') [-Wformat]
  175 |                                 OOLog(@"verifyOXP.verbose.texture.OK", @"- %@ (%lux%lu px) OK.", displayName, pixmap.width, pixmap.height);
      |                                                                                    ~~~                                      ^~~~~~~~~~~~~
      |                                                                                    %u
../../src/Core/OOLogging.h:88:185: note: expanded from macro 'OOLog'
   88 |         #define OOLog(class, format, ...)                               do { if (OOLogWillDisplayMessagesInClass(class)) { OOLogWithFunctionFileAndLine(class, OOLOG_FUNCTION_NAME, OOLOG_FILE_NAME, __LINE__, format, ## __VA_ARGS__); }} while (0)
      |                                                                                                                                                                                                                ~~~~~~     ^~~~~~~~~~~
6 warnings generated.
[235/244] Compiling Objective-C object src/oolite.exe.p/Core_Scripting_OOJavaScriptEngine.m.obj
../../src/Core/Scripting/OOJavaScriptEngine.m:914:60: warning: format specifies type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned long long') [-Wformat]
  914 |         return [NSString stringWithFormat:@"%@:%lu", fileNameObj, lineNo];
      |                                                ~~~                ^~~~~~
      |                                                %llu
1 warning generated.

Which looks like a PR I applied a few months ago (#534), only in reverse!

@mcarans

mcarans commented Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

@phkb hmm there were no warnings on Linux so I think Windows uses unsigned long long for NSUInteger while Linux uses unsigned long by the look of it. I wonder if there's a format specified that will work for both and why they use different types at all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants