mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
48 lines
1.9 KiB
Python
48 lines
1.9 KiB
Python
#------------------------------------------------------------------------------
|
|
import sys
|
|
import os
|
|
import re
|
|
|
|
s_filePath = os.getcwd()
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Checks if this is the target level and renames it
|
|
#------------------------------------------------------------------------------
|
|
def RenameFileOnMatch(pattern, fileName, oldLevelName, newLevelName):
|
|
match = re.match(pattern, fileName)
|
|
if match:
|
|
levelName = match.group(1)
|
|
if levelName == oldLevelName:
|
|
newFileName = f"{newLevelName}{match.group(2)}"
|
|
os.rename(os.path.join(s_filePath, fileName),
|
|
os.path.join(s_filePath, newFileName))
|
|
print(f"Renamed {fileName} to {newFileName}")
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Renames the target BSP and its associated lump files
|
|
#------------------------------------------------------------------------------
|
|
def RenameBspFiles(oldLevelName, newLevelName):
|
|
for fileName in os.listdir(s_filePath):
|
|
|
|
# Rename BSP
|
|
if fileName.endswith('.bsp'):
|
|
pattern = r'^(.*?)(\.[^\.]+$)'
|
|
RenameFileOnMatch(pattern, fileName, oldLevelName, newLevelName)
|
|
|
|
# Rename lumps
|
|
elif fileName.endswith('.bsp_lump'):
|
|
pattern = r'^(.*?)(\..*?)$'
|
|
RenameFileOnMatch(pattern, fileName, oldLevelName, newLevelName)
|
|
|
|
# Rename entity partition
|
|
elif fileName.endswith('.ent'):
|
|
pattern = r'^(.*?)(_[^_]+$)'
|
|
RenameFileOnMatch(pattern, fileName, oldLevelName, newLevelName)
|
|
|
|
#------------------------------------------------------------------------------
|
|
if __name__ == "__main__":
|
|
if len(sys.argv) > 1:
|
|
RenameBspFiles(sys.argv[1], sys.argv[2])
|
|
else:
|
|
print("Usage: ren_map.py <oldLevelName> <newLevelName>")
|