diff --git a/fast64_internal/oot/oot_level_writer.py b/fast64_internal/oot/oot_level_writer.py index 366dc166f..f76802aa0 100644 --- a/fast64_internal/oot/oot_level_writer.py +++ b/fast64_internal/oot/oot_level_writer.py @@ -349,8 +349,11 @@ def readRoomData(room, roomHeader, alternateRoomHeaders): room.disableSunMoon = roomHeader.disableSunMoon room.echo = roomHeader.echo room.objectList.extend([getCustomProperty(item, "objectID") for item in roomHeader.objectList]) - if len(room.objectList) > 15: - raise PluginError("Error: A scene can only have a maximum of 15 objects (OOT, not blender objects).") + + if len(room.objectList) > 16: + print( + "Warning: A room can only have a maximum of 16 objects in its object list, unless more memory is allocated in code.", + ) if alternateRoomHeaders is not None: if not alternateRoomHeaders.childNightHeader.usePreviousHeader: diff --git a/fast64_internal/oot/oot_scene_room.py b/fast64_internal/oot/oot_scene_room.py index a24dacfdf..8f280e064 100644 --- a/fast64_internal/oot/oot_scene_room.py +++ b/fast64_internal/oot/oot_scene_room.py @@ -601,6 +601,9 @@ def drawRoomHeaderProperty(layout, roomProp, dropdownLabel, headerIndex, objName elif menuTab == "Objects": objBox = layout.column() objBox.box().label(text="Objects") + if len(roomProp.objectList) > 16: + objBox.label(text="You are over the 16 object limit.", icon="ERROR") + objBox.label(text="You must allocate more memory in code.") for i in range(len(roomProp.objectList)): drawObjectProperty(objBox, roomProp.objectList[i], headerIndex, i, objName) drawAddButton(objBox, len(roomProp.objectList), "Object", headerIndex, objName)