Skip to content

Commit

Permalink
[OoT] Imports cleanup (#150)
Browse files Browse the repository at this point in the history
* init files

* ``fast64_internal/oot`` imports cleanup

* c_writer

* re-organised some imports

* fix missing imports

* formatted oot/init.py
  • Loading branch information
Yanis42 authored Oct 15, 2022
1 parent b0876ca commit ff27879
Show file tree
Hide file tree
Showing 26 changed files with 543 additions and 273 deletions.
41 changes: 27 additions & 14 deletions __init__.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,39 @@
import sys
import tempfile
import copy
import shutil
import bpy
import traceback
import os
from pathlib import Path

from .fast64_internal import *
from bpy.utils import register_class, unregister_class
from . import addon_updater_ops
from .fast64_internal.operators import AddWaterBox
from .fast64_internal.panels import SM64_Panel
from .fast64_internal.utility import PluginError, raisePluginError, attemptModifierApply, prop_split

from .fast64_internal.sm64 import SM64_Properties, sm64_register, sm64_unregister
from .fast64_internal.sm64.sm64_geolayout_bone import SM64_BoneProperties
from .fast64_internal.sm64.sm64_objects import SM64_ObjectProperties
from .fast64_internal.sm64.sm64_geolayout_utility import createBoneGroups
from .fast64_internal.sm64.sm64_geolayout_parser import generateMetarig

from .fast64_internal.oot import OOT_Properties, oot_register, oot_unregister
from .fast64_internal.oot.oot_level import OOT_ObjectProperties

from .fast64_internal.f3d.f3d_material import mat_register, mat_unregister
from .fast64_internal.f3d.f3d_render_engine import render_engine_register, render_engine_unregister
from .fast64_internal.f3d.f3d_writer import f3d_writer_register, f3d_writer_unregister
from .fast64_internal.f3d.f3d_parser import f3d_parser_register, f3d_parser_unregister

from .fast64_internal.f3d_material_converter import (
MatUpdateConvert,
upgradeF3DVersionAll,
bsdf_conv_register,
bsdf_conv_unregister,
bsdf_conv_panel_regsiter,
bsdf_conv_panel_unregsiter,
)

from .fast64_internal.render_settings import (
Fast64RenderSettings_Properties,
resync_scene_props,
on_update_render_settings,
)

import cProfile
import pstats

from . import addon_updater_ops

# info about add on
bl_info = {
"name": "Fast64",
Expand Down
16 changes: 1 addition & 15 deletions fast64_internal/__init__.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,5 @@
from .f3d_material_converter import *
from .f3d import *
from .sm64 import *
from .oot import *
from .oot import * # is this really needed?
from .panels import *

# temporary star imports until more imports are cleaned up
from .oot.oot_f3d_writer import *
from .oot.oot_constants import *
from .oot.oot_collision import *
from .oot.oot_level import *
from .oot.oot_level_writer import *
from .oot.c_writer import *
from .oot.oot_spline import *
from .oot.oot_anim import *
from .oot.oot_skeleton import *
from .oot.oot_cutscene import *
from .oot.oot_operators import *
from .utility import *
142 changes: 89 additions & 53 deletions fast64_internal/oot/__init__.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,57 @@
from . import oot_anim
from . import oot_collision
from . import oot_cutscene
from . import oot_f3d_writer
from . import oot_level
from . import oot_level_writer
from . import oot_operators
from . import oot_skeleton
from . import oot_spline
from . import oot_utility
import bpy
from .c_writer import OOTBootupSceneOptions

from ..panels import OOT_Panel
from bpy.utils import register_class, unregister_class
from .oot_level import oot_obj_panel_register, oot_obj_panel_unregister, oot_obj_register, oot_obj_unregister
from .oot_anim import oot_anim_panel_register, oot_anim_panel_unregister, oot_anim_register, oot_anim_unregister
from .oot_collision import oot_col_panel_register, oot_col_panel_unregister, oot_col_register, oot_col_unregister
from .oot_utility import oot_utility_register, oot_utility_unregister
from ..utility import prop_split
from ..render_settings import on_update_render_settings

import bpy
from bpy.utils import register_class, unregister_class
from .oot_f3d_writer import (
OOTDLExportSettings,
OOTDLImportSettings,
oot_dl_writer_panel_register,
oot_dl_writer_panel_unregister,
oot_dl_writer_register,
oot_dl_writer_unregister,
)

from .oot_level_writer import (
oot_level_panel_register,
oot_level_panel_unregister,
oot_level_register,
oot_level_unregister,
)

from .oot_operators import (
oot_operator_panel_register,
oot_operator_panel_unregister,
oot_operator_register,
oot_operator_unregister,
)

from .oot_skeleton import (
oot_skeleton_panel_register,
oot_skeleton_panel_unregister,
oot_skeleton_register,
oot_skeleton_unregister,
)

from .oot_spline import (
oot_spline_panel_register,
oot_spline_panel_unregister,
oot_spline_register,
oot_spline_unregister,
)

from .oot_cutscene import (
oot_cutscene_panel_register,
oot_cutscene_panel_unregister,
oot_cutscene_register,
oot_cutscene_unregister,
)


class OOT_FileSettingsPanel(OOT_Panel):
Expand All @@ -40,8 +76,8 @@ class OOT_Properties(bpy.types.PropertyGroup):
version: bpy.props.IntProperty(name="OOT_Properties Version", default=0)
hackerFeaturesEnabled: bpy.props.BoolProperty(name="Enable HackerOOT Features")
bootupSceneOptions: bpy.props.PointerProperty(type=OOTBootupSceneOptions)
DLExportSettings: bpy.props.PointerProperty(type=oot_f3d_writer.OOTDLExportSettings)
DLImportSettings: bpy.props.PointerProperty(type=oot_f3d_writer.OOTDLImportSettings)
DLExportSettings: bpy.props.PointerProperty(type=OOTDLExportSettings)
DLImportSettings: bpy.props.PointerProperty(type=OOTDLImportSettings)
skeletonExportSettings: bpy.props.PointerProperty(type=oot_skeleton.OOTSkeletonExportSettings)
skeletonImportSettings: bpy.props.PointerProperty(type=oot_skeleton.OOTSkeletonImportSettings)

Expand All @@ -53,40 +89,40 @@ class OOT_Properties(bpy.types.PropertyGroup):


def oot_panel_register():
oot_operators.oot_operator_panel_register()
oot_f3d_writer.oot_dl_writer_panel_register()
oot_collision.oot_col_panel_register()
oot_level.oot_obj_panel_register()
oot_level_writer.oot_level_panel_register()
oot_spline.oot_spline_panel_register()
oot_anim.oot_anim_panel_register()
oot_skeleton.oot_skeleton_panel_register()
oot_cutscene.oot_cutscene_panel_register()
oot_operator_panel_register()
oot_dl_writer_panel_register()
oot_col_panel_register()
oot_obj_panel_register()
oot_level_panel_register()
oot_spline_panel_register()
oot_anim_panel_register()
oot_skeleton_panel_register()
oot_cutscene_panel_register()


def oot_panel_unregister():
oot_operators.oot_operator_panel_unregister()
oot_collision.oot_col_panel_unregister()
oot_level.oot_obj_panel_unregister()
oot_level_writer.oot_level_panel_unregister()
oot_spline.oot_spline_panel_unregister()
oot_f3d_writer.oot_dl_writer_panel_unregister()
oot_anim.oot_anim_panel_unregister()
oot_skeleton.oot_skeleton_panel_unregister()
oot_cutscene.oot_cutscene_panel_unregister()
oot_operator_panel_unregister()
oot_col_panel_unregister()
oot_obj_panel_unregister()
oot_level_panel_unregister()
oot_spline_panel_unregister()
oot_dl_writer_panel_unregister()
oot_anim_panel_unregister()
oot_skeleton_panel_unregister()
oot_cutscene_panel_unregister()


def oot_register(registerPanels):
oot_operators.oot_operator_register()
oot_utility.oot_utility_register()
oot_collision.oot_col_register() # register first, so panel goes above mat panel
oot_level.oot_obj_register()
oot_level_writer.oot_level_register()
oot_spline.oot_spline_register()
oot_f3d_writer.oot_dl_writer_register()
oot_anim.oot_anim_register()
oot_skeleton.oot_skeleton_register()
oot_cutscene.oot_cutscene_register()
oot_operator_register()
oot_utility_register()
oot_col_register() # register first, so panel goes above mat panel
oot_obj_register()
oot_level_register()
oot_spline_register()
oot_dl_writer_register()
oot_anim_register()
oot_skeleton_register()
oot_cutscene_register()

for cls in oot_classes:
register_class(cls)
Expand All @@ -105,16 +141,16 @@ def oot_unregister(unregisterPanels):
for cls in reversed(oot_classes):
unregister_class(cls)

oot_operators.oot_operator_unregister()
oot_utility.oot_utility_unregister()
oot_collision.oot_col_unregister() # register first, so panel goes above mat panel
oot_level.oot_obj_unregister()
oot_level_writer.oot_level_unregister()
oot_spline.oot_spline_unregister()
oot_f3d_writer.oot_dl_writer_unregister()
oot_anim.oot_anim_unregister()
oot_skeleton.oot_skeleton_unregister()
oot_cutscene.oot_cutscene_unregister()
oot_operator_unregister()
oot_utility_unregister()
oot_col_unregister() # register first, so panel goes above mat panel
oot_obj_unregister()
oot_level_unregister()
oot_spline_unregister()
oot_dl_writer_unregister()
oot_anim_unregister()
oot_skeleton_unregister()
oot_cutscene_unregister()

if unregisterPanels:
oot_panel_unregister()
Expand Down
12 changes: 7 additions & 5 deletions fast64_internal/oot/c_writer/oot_level_c.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import math
from ..oot_f3d_writer import *
from ..oot_level_writer import *
from ..oot_collision import *
from ..oot_cutscene import *
from ...utility import CData, PluginError
from ...f3d.f3d_gbi import ScrollMethod
from ..oot_f3d_writer import OOTGfxFormatter
from ..oot_collision import ootCollisionToC
from ..oot_cutscene import ootCutsceneDataToC
from ..oot_utility import indent
from ..oot_constants import ootRoomShapeStructs, ootRoomShapeEntryStructs


def cmdName(name, header, index):
Expand Down
3 changes: 1 addition & 2 deletions fast64_internal/oot/c_writer/oot_scene_bootup.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import os, re, bpy
import string
from bpy.utils import register_class, unregister_class
from ...utility import PluginError, writeFile, readFile
from ..oot_constants import ootEnumHeaderMenuComplete
from typing import Callable, Iterable, Any, List
from typing import Any


def setBootupScene(configPath: str, entranceIndex: str, options: "OOTBootupSceneOptions"):
Expand Down
7 changes: 3 additions & 4 deletions fast64_internal/oot/c_writer/oot_scene_folder.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
import os, re, shutil
from ...utility import *
from ..oot_utility import *
from ..oot_utility import getSceneDirFromLevelName

def modifySceneFiles(scene, exportInfo):
exportPath = exportInfo.exportPath
if exportInfo.customSubPath is not None:
sceneDir = exportInfo.customSubPath + exportInfo.name
else:
sceneDir = getSceneDirFromLevelName(scene.name)
scenePath = os.path.join(exportPath, sceneDir)
scenePath = os.path.join(exportPath, sceneDir)
for filename in os.listdir(scenePath):
filepath = os.path.join(scenePath, filename)
if os.path.isfile(filepath):
match = re.match(scene.name + "\_room\_(\d+)\.[ch]", filename)
if match is not None and int(match.group(1)) >= len(scene.rooms):
os.remove(filepath)
os.remove(filepath)

def deleteSceneFiles(exportInfo):
exportPath = exportInfo.exportPath
Expand Down
2 changes: 1 addition & 1 deletion fast64_internal/oot/c_writer/oot_scene_table_c.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ def getSceneIndex(sceneNameList, sceneName):
def getOriginalIndex(sceneName):
"""
Returns the index of a specific scene defined by which one the user chose
or by the ``sceneName`` parameter if it's not set to ``None``
or by the ``sceneName`` parameter if it's not set to ``None``
"""
i = 0

Expand Down
16 changes: 8 additions & 8 deletions fast64_internal/oot/c_writer/oot_spec.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import os, re
from ...utility import *
from ..oot_utility import *
import os, re, bpy
from ...utility import readFile, writeFile
from ..oot_utility import getSceneDirFromLevelName, indent

def getSegmentDefinitionEntryBySceneName(segmentDefinition, sceneName):
entries = []
Expand Down Expand Up @@ -74,7 +74,7 @@ def modifySegmentDefinition(scene, exportInfo, levelC):

for i in range(len(scene.rooms)):
roomSuffix = "_room_" + str(i)
segmentDefinitions.insert(firstIndex,
segmentDefinitions.insert(firstIndex,
'\n' + indent + 'name "' + scene.name + roomSuffix + '"\n' +\
compressFlag +\
indent + "romalign 0x1000\n" +\
Expand All @@ -87,15 +87,15 @@ def modifySegmentDefinition(scene, exportInfo, levelC):
indent + "romalign 0x1000\n" +\
indent + 'include "' + includeDir + '_scene_main.o"\n' +\
indent + 'include "' + includeDir + '_scene_col.o"\n'

if levelC is not None:
if (levelC.sceneTexturesIsUsed()):
sceneSegInclude += indent + 'include "' + includeDir + '_scene_tex.o"\n'

if (levelC.sceneCutscenesIsUsed()):
for i in range(len(levelC.sceneCutscenesC)):
sceneSegInclude += indent + 'include "' + includeDir + '_cs_' + str(i) + '.o"\n'

sceneSegInclude += indent + "number 2\n"

segmentDefinitions.insert(firstIndex, sceneSegInclude)
Expand All @@ -104,7 +104,7 @@ def modifySegmentDefinition(scene, exportInfo, levelC):

for i in range(len(scene.rooms)):
roomSuffix = "_room_" + str(i)
segmentDefinitions.insert(firstIndex,
segmentDefinitions.insert(firstIndex,
'\n' + indent + 'name "' + scene.name + roomSuffix + '"\n' +\
compressFlag +\
indent + "romalign 0x1000\n" +\
Expand Down
Loading

0 comments on commit ff27879

Please sign in to comment.