diff --git a/Debug.unity b/Debug.unity deleted file mode 100644 index 8aefc5e..0000000 --- a/Debug.unity +++ /dev/null @@ -1,872 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 10 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} - m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} - m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 0 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_UseRadianceAmbientProbe: 0 ---- !u!157 &3 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 13 - m_BakeOnSceneLoad: 0 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 12 - m_Resolution: 2 - m_BakeResolution: 40 - m_AtlasSize: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAmbientOcclusion: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 1 - m_ReflectionCompression: 2 - m_MixedBakeMode: 2 - m_BakeBackend: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVRBounces: 2 - m_PVREnvironmentSampleCount: 256 - m_PVREnvironmentReferencePointCount: 2048 - m_PVRFilteringMode: 1 - m_PVRDenoiserTypeDirect: 1 - m_PVRDenoiserTypeIndirect: 1 - m_PVRDenoiserTypeAO: 1 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVREnvironmentMIS: 1 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 1 - m_PVRFilteringGaussRadiusAO: 1 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_LightProbeSampleCountMultiplier: 4 - m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0} - m_LightingSettings: {fileID: 0} ---- !u!196 &4 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 3 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666667 - manualTileSize: 0 - tileSize: 256 - buildHeightMesh: 0 - maxJobWorkers: 0 - preserveTilesOutsideBounds: 0 - debug: - m_Flags: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &283344192 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 283344197} - - component: {fileID: 283344196} - - component: {fileID: 283344195} - - component: {fileID: 283344194} - - component: {fileID: 283344193} - m_Layer: 0 - m_Name: f (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &283344193 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 283344192} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bea0f31a495202580ac77bd9fd6e99f2, type: 3} - m_Name: - m_EditorClassIdentifier: - IsActive: 1 - bitDepth: 8 - luaFile: {fileID: 0} - previewNormals: 0 - normalPreviewLength: 0.5 ---- !u!65 &283344194 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 283344192} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &283344195 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 283344192} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &283344196 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 283344192} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &283344197 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 283344192} - serializedVersion: 2 - m_LocalRotation: {x: -0.1479161, y: 0.37224695, z: -0.33835596, w: 0.85150945} - m_LocalPosition: {x: -30.19757, y: 0, z: 8.341} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 47.226, z: -43.342} ---- !u!1 &1293128684 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1293128689} - - component: {fileID: 1293128688} - - component: {fileID: 1293128687} - - component: {fileID: 1293128686} - - component: {fileID: 1293128685} - m_Layer: 0 - m_Name: f - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1293128685 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1293128684} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bea0f31a495202580ac77bd9fd6e99f2, type: 3} - m_Name: - m_EditorClassIdentifier: - IsActive: 1 - bitDepth: 8 - luaFile: {fileID: 0} - previewNormals: 0 - normalPreviewLength: 0.5 ---- !u!65 &1293128686 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1293128684} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &1293128687 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1293128684} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1293128688 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1293128684} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1293128689 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1293128684} - serializedVersion: 2 - m_LocalRotation: {x: -0.13355339, y: 0.35044792, z: -0.3301185, w: 0.8662399} - m_LocalPosition: {x: -30.19757, y: 0, z: 10.84006} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 44.053, z: -41.723} ---- !u!1 &1331845601 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1331845603} - - component: {fileID: 1331845602} - m_Layer: 0 - m_Name: Exp - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1331845602 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1331845601} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ab5195ad94fd173cfb6d48ee06eaf245, type: 3} - m_Name: - m_EditorClassIdentifier: - GTEScaling: 100 - SceneLuaFile: {fileID: 0} - BSPPreviewDepth: 2 ---- !u!4 &1331845603 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1331845601} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -31.5414, y: 0, z: 10.89769} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1337453585 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1337453587} - - component: {fileID: 1337453586} - m_Layer: 0 - m_Name: Directional Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!108 &1337453586 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1337453585} - m_Enabled: 1 - serializedVersion: 11 - m_Type: 1 - m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingLayerMask: 1 - m_Lightmapping: 4 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 - m_ForceVisible: 0 - m_ShadowRadius: 0 - m_ShadowAngle: 0 - m_LightUnit: 1 - m_LuxAtDistance: 1 - m_EnableSpotReflector: 1 ---- !u!4 &1337453587 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1337453585} - serializedVersion: 2 - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - m_LocalPosition: {x: 0, y: 3, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!1 &1388445967 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1388445970} - - component: {fileID: 1388445969} - - component: {fileID: 1388445968} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &1388445968 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1388445967} - m_Enabled: 1 ---- !u!20 &1388445969 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1388445967} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_Iso: 200 - m_ShutterSpeed: 0.005 - m_Aperture: 16 - m_FocusDistance: 10 - m_FocalLength: 50 - m_BladeCount: 5 - m_Curvature: {x: 2, y: 11} - m_BarrelClipping: 0.25 - m_Anamorphism: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &1388445970 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1388445967} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1392840323 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1392840328} - - component: {fileID: 1392840327} - - component: {fileID: 1392840326} - - component: {fileID: 1392840325} - - component: {fileID: 1392840324} - m_Layer: 0 - m_Name: f (2) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1392840324 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1392840323} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bea0f31a495202580ac77bd9fd6e99f2, type: 3} - m_Name: - m_EditorClassIdentifier: - IsActive: 1 - bitDepth: 8 - luaFile: {fileID: 0} - previewNormals: 0 - normalPreviewLength: 0.5 ---- !u!65 &1392840325 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1392840323} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &1392840326 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1392840323} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1392840327 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1392840323} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1392840328 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1392840323} - serializedVersion: 2 - m_LocalRotation: {x: -0.409346, y: -0.7736037, z: 0.22623056, w: 0.42754278} - m_LocalPosition: {x: -30.19757, y: 2.041, z: 10.84006} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: -122.144, z: 55.77} ---- !u!1 &1513869424 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1513869429} - - component: {fileID: 1513869428} - - component: {fileID: 1513869427} - - component: {fileID: 1513869426} - - component: {fileID: 1513869425} - m_Layer: 0 - m_Name: f (3) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1513869425 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1513869424} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bea0f31a495202580ac77bd9fd6e99f2, type: 3} - m_Name: - m_EditorClassIdentifier: - IsActive: 1 - bitDepth: 8 - luaFile: {fileID: 0} - previewNormals: 0 - normalPreviewLength: 0.5 ---- !u!65 &1513869426 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1513869424} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &1513869427 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1513869424} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1513869428 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1513869424} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1513869429 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1513869424} - serializedVersion: 2 - m_LocalRotation: {x: -0.09615398, y: 0.2551484, z: 0.3392829, w: 0.9003004} - m_LocalPosition: {x: -27.156, y: 0, z: 9.065} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: -20.259, y: 24.845, z: 36.791} ---- !u!1660057539 &9223372036854775807 -SceneRoots: - m_ObjectHideFlags: 0 - m_Roots: - - {fileID: 1388445970} - - {fileID: 1337453587} - - {fileID: 1293128689} - - {fileID: 283344197} - - {fileID: 1392840328} - - {fileID: 1513869429} - - {fileID: 1331845603} diff --git a/Debug.unity.meta b/Debug.unity.meta deleted file mode 100644 index 31df3d0..0000000 --- a/Debug.unity.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ab8d113c2664ebf4d899b0826cd5f10c -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Editor/Core/MkpsxisoDownloader.cs b/Editor/Core/MkpsxisoDownloader.cs index a13878b..60f1519 100644 --- a/Editor/Core/MkpsxisoDownloader.cs +++ b/Editor/Core/MkpsxisoDownloader.cs @@ -113,7 +113,7 @@ namespace SplashEdit.EditorCode System.IO.Compression.ZipFile.ExtractToDirectory(tempFile, installDir); // Fix nested directory (archives often have one extra level) - FixNestedDirectory(installDir); + SplashEdit.RuntimeCode.Utils.FixNestedDirectory(installDir); try { File.Delete(tempFile); } catch { } @@ -142,27 +142,6 @@ namespace SplashEdit.EditorCode } } - private static void FixNestedDirectory(string dir) - { - // If extraction created exactly one subdirectory, flatten it - var subdirs = Directory.GetDirectories(dir); - if (subdirs.Length == 1) - { - string nested = subdirs[0]; - foreach (string file in Directory.GetFiles(nested)) - { - string dest = Path.Combine(dir, Path.GetFileName(file)); - if (!File.Exists(dest)) File.Move(file, dest); - } - foreach (string sub in Directory.GetDirectories(nested)) - { - string dest = Path.Combine(dir, Path.GetFileName(sub)); - if (!Directory.Exists(dest)) Directory.Move(sub, dest); - } - try { Directory.Delete(nested, true); } catch { } - } - } - /// /// Runs mkpsxiso with the given XML catalog to produce a BIN/CUE image. /// diff --git a/Editor/Core/PCSXReduxDownloader.cs b/Editor/Core/PCSXReduxDownloader.cs index adea041..125e12e 100644 --- a/Editor/Core/PCSXReduxDownloader.cs +++ b/Editor/Core/PCSXReduxDownloader.cs @@ -164,7 +164,7 @@ namespace SplashEdit.EditorCode else { // The zip might have a nested directory — try to find the exe - FixNestedDirectory(installDir); + SplashEdit.RuntimeCode.Utils.FixNestedDirectory(installDir); if (SplashBuildPaths.IsPCSXReduxInstalled()) { log?.Invoke("PCSX-Redux installed successfully!"); @@ -187,29 +187,6 @@ namespace SplashEdit.EditorCode } } - /// - /// If the zip extracts into a nested directory, move files up. - /// - private static void FixNestedDirectory(string installDir) - { - var subdirs = Directory.GetDirectories(installDir); - if (subdirs.Length == 1) - { - string nested = subdirs[0]; - foreach (string file in Directory.GetFiles(nested)) - { - string dest = Path.Combine(installDir, Path.GetFileName(file)); - File.Move(file, dest); - } - foreach (string dir in Directory.GetDirectories(nested)) - { - string dest = Path.Combine(installDir, Path.GetFileName(dir)); - Directory.Move(dir, dest); - } - try { Directory.Delete(nested); } catch { } - } - } - /// /// Parse the latest build ID from the master manifest JSON. /// Expected format: {"builds":[{"id":1234,...},...],...} diff --git a/Editor/Core/PSXAudioConverter.cs b/Editor/Core/PSXAudioConverter.cs index f47e6ac..6571642 100644 --- a/Editor/Core/PSXAudioConverter.cs +++ b/Editor/Core/PSXAudioConverter.cs @@ -126,7 +126,7 @@ namespace SplashEdit.EditorCode } // Fix nested directory (sometimes archives have one extra level) - FixNestedDirectory(installDir); + SplashEdit.RuntimeCode.Utils.FixNestedDirectory(installDir); try { File.Delete(tempFile); } catch { } @@ -155,27 +155,6 @@ namespace SplashEdit.EditorCode } } - private static void FixNestedDirectory(string dir) - { - // If extraction created exactly one subdirectory, flatten it - var subdirs = Directory.GetDirectories(dir); - if (subdirs.Length == 1) - { - string nested = subdirs[0]; - foreach (string file in Directory.GetFiles(nested)) - { - string dest = Path.Combine(dir, Path.GetFileName(file)); - if (!File.Exists(dest)) File.Move(file, dest); - } - foreach (string sub in Directory.GetDirectories(nested)) - { - string dest = Path.Combine(dir, Path.GetFileName(sub)); - if (!Directory.Exists(dest)) Directory.Move(sub, dest); - } - try { Directory.Delete(nested, true); } catch { } - } - } - /// /// Converts a Unity AudioClip to PS1 SPU ADPCM format using psxavenc. /// Returns the ADPCM byte array, or null on failure. diff --git a/Editor/QuantizedPreviewWindow.cs b/Editor/QuantizedPreviewWindow.cs index aee0c60..c1d3b2c 100644 --- a/Editor/QuantizedPreviewWindow.cs +++ b/Editor/QuantizedPreviewWindow.cs @@ -13,7 +13,6 @@ namespace SplashEdit.EditorCode private Texture2D quantizedTexture; private Texture2D vramTexture; // VRAM representation of the texture private List clut; // Color Lookup Table (CLUT), stored as a 1D list - private ushort[] indexedPixelData; // Indexed pixel data for VRAM storage private PSXBPP bpp = PSXBPP.TEX_4BIT; private readonly int previewSize = 256; @@ -54,7 +53,7 @@ namespace SplashEdit.EditorCode { GUILayout.BeginVertical(); GUILayout.Label("Original Texture", PSXEditorStyles.CardHeaderStyle); - DrawTexturePreview(originalTexture, previewSize, false); + DrawTexturePreview(originalTexture, previewSize); GUILayout.EndVertical(); } @@ -88,27 +87,6 @@ namespace SplashEdit.EditorCode PSXEditorStyles.DrawSeparator(4, 4); - // Export indexed pixel data - if (indexedPixelData != null) - { - if (GUILayout.Button("Export texture data", PSXEditorStyles.SecondaryButton, GUILayout.Height(24))) - { - string path = EditorUtility.SaveFilePanel("Save texture data", "", "pixel_data", "bin"); - - if (!string.IsNullOrEmpty(path)) - { - using (FileStream fileStream = new FileStream(path, FileMode.Create, FileAccess.Write)) - using (BinaryWriter writer = new BinaryWriter(fileStream)) - { - foreach (ushort value in indexedPixelData) - { - writer.Write(value); - } - } - } - } - } - // Export CLUT data if (clut != null) { @@ -146,7 +124,7 @@ namespace SplashEdit.EditorCode clut = psxTex.ColorPalette; } - private void DrawTexturePreview(Texture2D texture, int size, bool flipY = true) + private void DrawTexturePreview(Texture2D texture, int size) { // Renders a texture preview within the editor window Rect rect = GUILayoutUtility.GetRect(size, size, GUILayout.ExpandWidth(false)); diff --git a/Icons/LuaFile.png b/Icons/LuaFile.png new file mode 100644 index 0000000..ecd4900 Binary files /dev/null and b/Icons/LuaFile.png differ diff --git a/Icons/PSXSObjectExporter.png.meta b/Icons/LuaFile.png.meta similarity index 98% rename from Icons/PSXSObjectExporter.png.meta rename to Icons/LuaFile.png.meta index 19dfd61..b480442 100644 --- a/Icons/PSXSObjectExporter.png.meta +++ b/Icons/LuaFile.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5a5f4bcf472dcfc44b794a898530a6f0 +guid: 607cfdcd926623447afba2249593f87b TextureImporter: internalIDToNameTable: [] externalObjects: {} diff --git a/Icons/PSXAudioClip.png b/Icons/PSXAudioClip.png new file mode 100644 index 0000000..1f57956 Binary files /dev/null and b/Icons/PSXAudioClip.png differ diff --git a/Icons/PSXNavmesh.png.meta b/Icons/PSXAudioClip.png.meta similarity index 98% rename from Icons/PSXNavmesh.png.meta rename to Icons/PSXAudioClip.png.meta index dfb876e..3282840 100644 --- a/Icons/PSXNavmesh.png.meta +++ b/Icons/PSXAudioClip.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 55ec05596eb659341b8fdb46cd21ab63 +guid: c1ac35b4ac561a6479df60ee4440f138 TextureImporter: internalIDToNameTable: [] externalObjects: {} diff --git a/Icons/PSXCanvas.png b/Icons/PSXCanvas.png new file mode 100644 index 0000000..6e7e723 Binary files /dev/null and b/Icons/PSXCanvas.png differ diff --git a/Icons/PSXCanvas.png.meta b/Icons/PSXCanvas.png.meta new file mode 100644 index 0000000..ae3e67e --- /dev/null +++ b/Icons/PSXCanvas.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 356cfa78fb65c4141a6163492c5a70c9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Icons/PSXCutsceneClip.png b/Icons/PSXCutsceneClip.png new file mode 100644 index 0000000..5511426 Binary files /dev/null and b/Icons/PSXCutsceneClip.png differ diff --git a/Icons/PSXCutsceneClip.png.meta b/Icons/PSXCutsceneClip.png.meta new file mode 100644 index 0000000..70c251b --- /dev/null +++ b/Icons/PSXCutsceneClip.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 2e44d4c108f1b3b4bbb11d764ee322ba +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Icons/PSXData.png b/Icons/PSXData.png new file mode 100644 index 0000000..9256350 Binary files /dev/null and b/Icons/PSXData.png differ diff --git a/Icons/PSXData.png.meta b/Icons/PSXData.png.meta new file mode 100644 index 0000000..7ac5abf --- /dev/null +++ b/Icons/PSXData.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 56495f2f7c3b793479704907f633cc9f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Icons/PSXFontAsset.png b/Icons/PSXFontAsset.png new file mode 100644 index 0000000..d9ef6fb Binary files /dev/null and b/Icons/PSXFontAsset.png differ diff --git a/Icons/PSXFontAsset.png.meta b/Icons/PSXFontAsset.png.meta new file mode 100644 index 0000000..8b82e03 --- /dev/null +++ b/Icons/PSXFontAsset.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 7e7ebf02d9a128040a98c0e8a77f318b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Icons/PSXInteractable.png b/Icons/PSXInteractable.png new file mode 100644 index 0000000..891c08b Binary files /dev/null and b/Icons/PSXInteractable.png differ diff --git a/Icons/PSXInteractable.png.meta b/Icons/PSXInteractable.png.meta new file mode 100644 index 0000000..4393004 --- /dev/null +++ b/Icons/PSXInteractable.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 2693d84ea56d55f41841bccc513aef7a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Icons/PSXNavmesh.png b/Icons/PSXNavmesh.png deleted file mode 100644 index 0b07dfb..0000000 Binary files a/Icons/PSXNavmesh.png and /dev/null differ diff --git a/Icons/PSXObjectExporter.png b/Icons/PSXObjectExporter.png new file mode 100644 index 0000000..f7e2838 Binary files /dev/null and b/Icons/PSXObjectExporter.png differ diff --git a/Icons/PSXObjectExporter.png.meta b/Icons/PSXObjectExporter.png.meta new file mode 100644 index 0000000..bbb833d --- /dev/null +++ b/Icons/PSXObjectExporter.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 5dae4156e1023c34db04e1a0133e8366 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Icons/PSXPlayer.png b/Icons/PSXPlayer.png index ef0d609..8c4b7d2 100644 Binary files a/Icons/PSXPlayer.png and b/Icons/PSXPlayer.png differ diff --git a/Icons/PSXPortalLink.png b/Icons/PSXPortalLink.png new file mode 100644 index 0000000..0e77402 Binary files /dev/null and b/Icons/PSXPortalLink.png differ diff --git a/Icons/PSXPortalLink.png.meta b/Icons/PSXPortalLink.png.meta new file mode 100644 index 0000000..2baac42 --- /dev/null +++ b/Icons/PSXPortalLink.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: e2c33bdfa2d4f6841abb6f1bd2c3ce4c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Icons/PSXRoom.png b/Icons/PSXRoom.png new file mode 100644 index 0000000..d9f7feb Binary files /dev/null and b/Icons/PSXRoom.png differ diff --git a/Icons/PSXRoom.png.meta b/Icons/PSXRoom.png.meta new file mode 100644 index 0000000..b849c41 --- /dev/null +++ b/Icons/PSXRoom.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: e2a0da16256de3a419a3848add40def9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Icons/PSXSObjectExporter.png b/Icons/PSXSObjectExporter.png deleted file mode 100644 index 7dbfda7..0000000 Binary files a/Icons/PSXSObjectExporter.png and /dev/null differ diff --git a/Icons/PSXSceneExporter.png b/Icons/PSXSceneExporter.png index a97f192..e933f98 100644 Binary files a/Icons/PSXSceneExporter.png and b/Icons/PSXSceneExporter.png differ diff --git a/Icons/PSXTriggerBox.png b/Icons/PSXTriggerBox.png new file mode 100644 index 0000000..d278487 Binary files /dev/null and b/Icons/PSXTriggerBox.png differ diff --git a/Icons/PSXTriggerBox.png.meta b/Icons/PSXTriggerBox.png.meta new file mode 100644 index 0000000..c85a5f9 --- /dev/null +++ b/Icons/PSXTriggerBox.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 661ef445800490d48bb6486c6b48d7bb +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Icons/PSXUIBox.png b/Icons/PSXUIBox.png new file mode 100644 index 0000000..818ac97 Binary files /dev/null and b/Icons/PSXUIBox.png differ diff --git a/Icons/PSXUIBox.png.meta b/Icons/PSXUIBox.png.meta new file mode 100644 index 0000000..819815b --- /dev/null +++ b/Icons/PSXUIBox.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 11ce7fce378375c49a29f10d2c8e1695 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Icons/PSXUIImage.png b/Icons/PSXUIImage.png new file mode 100644 index 0000000..460a715 Binary files /dev/null and b/Icons/PSXUIImage.png differ diff --git a/Icons/PSXUIImage.png.meta b/Icons/PSXUIImage.png.meta new file mode 100644 index 0000000..d05f6d4 --- /dev/null +++ b/Icons/PSXUIImage.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: fbae166a0556be14c906804e97f8ce15 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Icons/PSXUIProgressBar.png b/Icons/PSXUIProgressBar.png new file mode 100644 index 0000000..d645b8e Binary files /dev/null and b/Icons/PSXUIProgressBar.png differ diff --git a/Icons/PSXUIProgressBar.png.meta b/Icons/PSXUIProgressBar.png.meta new file mode 100644 index 0000000..2a33007 --- /dev/null +++ b/Icons/PSXUIProgressBar.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 4ba32ceba8e78ae4dbad95d3fd57c674 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Icons/PSXUIText.png b/Icons/PSXUIText.png new file mode 100644 index 0000000..f02b19b Binary files /dev/null and b/Icons/PSXUIText.png differ diff --git a/Icons/PSXUIText.png.meta b/Icons/PSXUIText.png.meta new file mode 100644 index 0000000..b0cc5ba --- /dev/null +++ b/Icons/PSXUIText.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 38a1d4112773e114c969699f94844e6a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/IPSXExportable.cs b/Runtime/IPSXExportable.cs index 7bb2f9d..93df469 100644 --- a/Runtime/IPSXExportable.cs +++ b/Runtime/IPSXExportable.cs @@ -1,5 +1,8 @@ namespace SplashEdit.RuntimeCode { + + // I tried to make this and now I'm scared to delete this. + /// /// Implemented by MonoBehaviours that participate in the PSX scene export pipeline. /// Each exportable object converts its Unity representation into PSX-ready data. diff --git a/Runtime/ImageProcessing.cs b/Runtime/ImageProcessing.cs index 7c9f746..6c84c18 100644 --- a/Runtime/ImageProcessing.cs +++ b/Runtime/ImageProcessing.cs @@ -137,53 +137,55 @@ namespace SplashEdit.RuntimeCode private class Node { public Vector3 Point; + public int Index; public Node Left, Right; } private Node root; - private List points; public KDTree(List points) { - this.points = points; - root = Build(points, 0); + var indexed = new List<(Vector3 point, int index)>(); + for (int i = 0; i < points.Count; i++) + indexed.Add((points[i], i)); + root = Build(indexed, 0); } - private Node Build(List points, int depth) + private Node Build(List<(Vector3 point, int index)> items, int depth) { - if (points.Count == 0) return null; + if (items.Count == 0) return null; int axis = depth % 3; - points.Sort((a, b) => a[axis].CompareTo(b[axis])); - int median = points.Count / 2; + items.Sort((a, b) => a.point[axis].CompareTo(b.point[axis])); + int median = items.Count / 2; return new Node { - Point = points[median], - Left = Build(points.Take(median).ToList(), depth + 1), - Right = Build(points.Skip(median + 1).ToList(), depth + 1) + Point = items[median].point, + Index = items[median].index, + Left = Build(items.Take(median).ToList(), depth + 1), + Right = Build(items.Skip(median + 1).ToList(), depth + 1) }; } public int FindNearestIndex(Vector3 target) { - Vector3 nearest = FindNearest(root, target, 0, root.Point); - return points.IndexOf(nearest); + return FindNearest(root, target, 0, root).Index; } - private Vector3 FindNearest(Node node, Vector3 target, int depth, Vector3 best) + private Node FindNearest(Node node, Vector3 target, int depth, Node best) { if (node == null) return best; - if (Vector3.SqrMagnitude(target - node.Point) < Vector3.SqrMagnitude(target - best)) - best = node.Point; + if (Vector3.SqrMagnitude(target - node.Point) < Vector3.SqrMagnitude(target - best.Point)) + best = node; int axis = depth % 3; Node first = target[axis] < node.Point[axis] ? node.Left : node.Right; Node second = first == node.Left ? node.Right : node.Left; best = FindNearest(first, target, depth + 1, best); - if (Mathf.Pow(target[axis] - node.Point[axis], 2) < Vector3.SqrMagnitude(target - best)) + if (Mathf.Pow(target[axis] - node.Point[axis], 2) < Vector3.SqrMagnitude(target - best.Point)) best = FindNearest(second, target, depth + 1, best); return best; diff --git a/Runtime/LuaFile.cs b/Runtime/LuaFile.cs index 2c4cee1..475348f 100644 --- a/Runtime/LuaFile.cs +++ b/Runtime/LuaFile.cs @@ -2,6 +2,7 @@ using UnityEngine; namespace SplashEdit.RuntimeCode { + [Icon("Packages/net.psxsplash.splashedit/Icons/LuaFile.png")] public class LuaFile : ScriptableObject { [SerializeField] private string luaScript; diff --git a/Runtime/PSXAudioClip.cs b/Runtime/PSXAudioClip.cs index aa75d89..a52ba5f 100644 --- a/Runtime/PSXAudioClip.cs +++ b/Runtime/PSXAudioClip.cs @@ -4,8 +4,6 @@ namespace SplashEdit.RuntimeCode { /// /// Pre-converted audio clip data ready for splashpack serialization. - /// Populated by the Editor (PSXSceneExporter) so Runtime code never - /// touches PSXAudioConverter. /// public struct AudioClipExport { @@ -18,9 +16,10 @@ namespace SplashEdit.RuntimeCode /// /// Attach to a GameObject to include an audio clip in the PS1 build. /// At export time, the AudioClip is converted to SPU ADPCM and packed - /// into the splashpack binary. Use Audio.Play(clipIndex) from Lua. + /// into the splashpack for runtime loading. /// [AddComponentMenu("PSX/Audio Clip")] + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXAudioClip.png")] public class PSXAudioClip : MonoBehaviour { [Tooltip("Name used to identify this clip in Lua (Audio.Play(\"name\"))." )] diff --git a/Runtime/PSXCanvas.cs b/Runtime/PSXCanvas.cs index ace3c88..b949701 100644 --- a/Runtime/PSXCanvas.cs +++ b/Runtime/PSXCanvas.cs @@ -17,6 +17,7 @@ namespace SplashEdit.RuntimeCode [DisallowMultipleComponent] [ExecuteAlways] [AddComponentMenu("PSX/UI/PSX Canvas")] + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXCanvas.png")] public class PSXCanvas : MonoBehaviour { [Tooltip("Name used to reference this canvas from Lua (max 24 chars). Must be unique per scene.")] diff --git a/Runtime/PSXCutsceneClip.cs b/Runtime/PSXCutsceneClip.cs index f627b02..cb80c00 100644 --- a/Runtime/PSXCutsceneClip.cs +++ b/Runtime/PSXCutsceneClip.cs @@ -10,6 +10,7 @@ namespace SplashEdit.RuntimeCode /// all PSXCutsceneClip assets via Resources.FindObjectsOfTypeAll. /// [CreateAssetMenu(fileName = "NewCutscene", menuName = "PSX/Cutscene Clip", order = 100)] + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXCutsceneClip.png")] public class PSXCutsceneClip : ScriptableObject { [Tooltip("Name used to reference this cutscene from Lua (max 24 chars). Must be unique per scene.")] diff --git a/Runtime/PSXData.cs b/Runtime/PSXData.cs index 3faa457..fb474c3 100644 --- a/Runtime/PSXData.cs +++ b/Runtime/PSXData.cs @@ -5,6 +5,7 @@ namespace SplashEdit.RuntimeCode { [CreateAssetMenu(fileName = "PSXData", menuName = "PSXSplash/PS1 Project Data")] + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXData.png")] public class PSXData : ScriptableObject { diff --git a/Runtime/PSXFontAsset.cs b/Runtime/PSXFontAsset.cs index 65f7fb4..a51c04a 100644 --- a/Runtime/PSXFontAsset.cs +++ b/Runtime/PSXFontAsset.cs @@ -8,6 +8,7 @@ using UnityEditor; namespace SplashEdit.RuntimeCode { [CreateAssetMenu(fileName = "New PSXFont", menuName = "PSX/Font Asset")] + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXFontAsset.png")] public class PSXFontAsset : ScriptableObject { [Header("Source - Option A: TrueType/OTF Font")] @@ -154,7 +155,6 @@ namespace SplashEdit.RuntimeCode if (validCount > 0) { workingSize = 0; - Debug.Log("PSXFontAsset: Using font's native size for character info."); } } @@ -273,11 +273,6 @@ namespace SplashEdit.RuntimeCode // This makes the native advance widths match the bitmap exactly for // proportional rendering. Characters wider than cell get clipped (rare). - Debug.Log($"PSXFontAsset: Cell {glyphWidth}x{glyphHeight}, {glyphsPerRow}/row, " + - $"{rowCount} rows, texture {texW}x{texH} " + - $"(measured: {measuredMaxW}x{measuredMaxH}, " + - $"ascender={maxAscender}, descender={maxDescender}, vScale={vScale:F2})"); - // ── Step 5: Render glyphs into grid ── // Each glyph is LEFT-ALIGNED at native width for proportional rendering. // The advance widths from CharacterInfo match native glyph proportions. @@ -376,8 +371,6 @@ namespace SplashEdit.RuntimeCode return; } - Debug.Log($"PSXFontAsset: Rendered {renderedCount}/95 glyphs."); - // Store advance widths from the same CharacterInfo used for rendering. // This guarantees advances match the bitmap glyphs exactly. storedAdvanceWidths = new byte[96]; @@ -424,7 +417,6 @@ namespace SplashEdit.RuntimeCode fontTexture = AssetDatabase.LoadAssetAtPath(texPath); EditorUtility.SetDirty(this); AssetDatabase.SaveAssets(); - Debug.Log($"PSXFontAsset: Saved {texW}x{texH} bitmap at {texPath}"); } #endif diff --git a/Runtime/PSXInteractable.cs b/Runtime/PSXInteractable.cs index 5095c03..00b8401 100644 --- a/Runtime/PSXInteractable.cs +++ b/Runtime/PSXInteractable.cs @@ -8,6 +8,7 @@ namespace SplashEdit.RuntimeCode /// the onInteract Lua event fires. /// [RequireComponent(typeof(PSXObjectExporter))] + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXInteractable.png")] public class PSXInteractable : MonoBehaviour { [Header("Interaction Settings")] diff --git a/Runtime/PSXLightingBaker.cs b/Runtime/PSXLightingBaker.cs index b67f17b..acf30f2 100644 --- a/Runtime/PSXLightingBaker.cs +++ b/Runtime/PSXLightingBaker.cs @@ -76,6 +76,8 @@ namespace SplashEdit.RuntimeCode finalColor += lightContribution; } + // Clamp to 0.8 to leave headroom for PS1 2x color blending mode, + // which doubles vertex colors. Without this cap, bright areas would clip. finalColor.r = Mathf.Clamp(finalColor.r, 0.0f, 0.8f); finalColor.g = Mathf.Clamp(finalColor.g, 0.0f, 0.8f); finalColor.b = Mathf.Clamp(finalColor.b, 0.0f, 0.8f); diff --git a/Runtime/PSXMesh.cs b/Runtime/PSXMesh.cs index f473148..30f2edd 100644 --- a/Runtime/PSXMesh.cs +++ b/Runtime/PSXMesh.cs @@ -83,9 +83,6 @@ namespace SplashEdit.RuntimeCode } - /// - /// Creates a PSXMesh from a Unity Mesh by converting its vertices, normals, UVs, and applying shading. - /// /// /// Creates a PSXMesh from a Unity Renderer by extracting its mesh and materials. /// @@ -203,12 +200,12 @@ namespace SplashEdit.RuntimeCode /// Converts a Unity vertex into a PSXVertex by applying fixed-point conversion, shading, and UV mapping. /// /// The position of the vertex. + /// World-to-GTE scaling factor. /// The normal vector at the vertex. /// Texture coordinates for the vertex. - /// The light direction used for shading calculations. - /// The color of the light affecting the vertex. /// Width of the texture for UV scaling. /// Height of the texture for UV scaling. + /// Pre-computed vertex color from lighting. /// A PSXVertex with converted coordinates, normals, UVs, and color. private static PSXVertex ConvertToPSXVertex(Vector3 vertex, float GTEScaling, Vector3 normal, Vector2 uv, int? textureWidth, int? textureHeight, Color color) { diff --git a/Runtime/PSXObjectExporter.cs b/Runtime/PSXObjectExporter.cs index 47b99fc..fde9265 100644 --- a/Runtime/PSXObjectExporter.cs +++ b/Runtime/PSXObjectExporter.cs @@ -14,6 +14,7 @@ namespace SplashEdit.RuntimeCode [RequireComponent(typeof(MeshFilter))] [RequireComponent(typeof(MeshRenderer))] + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXObjectExporter.png")] public class PSXObjectExporter : MonoBehaviour, IPSXExportable { public LuaFile LuaFile => luaFile; diff --git a/Runtime/PSXPlayer.cs b/Runtime/PSXPlayer.cs index ffd3b15..1fd5992 100644 --- a/Runtime/PSXPlayer.cs +++ b/Runtime/PSXPlayer.cs @@ -4,6 +4,7 @@ using UnityEngine.Serialization; namespace SplashEdit.RuntimeCode { + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXPlayer.png")] public class PSXPlayer : MonoBehaviour { [Header("Player Dimensions")] diff --git a/Runtime/PSXPortalLink.cs b/Runtime/PSXPortalLink.cs index 3283204..ac238d2 100644 --- a/Runtime/PSXPortalLink.cs +++ b/Runtime/PSXPortalLink.cs @@ -11,6 +11,7 @@ namespace SplashEdit.RuntimeCode /// This is independent of the navigation portal system (PSXNavRegion). /// [ExecuteInEditMode] + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXPortalLink.png")] public class PSXPortalLink : MonoBehaviour { [Tooltip("First room connected by this portal.")] diff --git a/Runtime/PSXRoom.cs b/Runtime/PSXRoom.cs index 5405ccb..7bb09a7 100644 --- a/Runtime/PSXRoom.cs +++ b/Runtime/PSXRoom.cs @@ -13,6 +13,7 @@ namespace SplashEdit.RuntimeCode /// This is independent of the navregion/portal system used for navigation. /// [ExecuteInEditMode] + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXRoom.png")] public class PSXRoom : MonoBehaviour { [Tooltip("Optional display name for this room (used in editor gizmos).")] diff --git a/Runtime/PSXSceneExporter.cs b/Runtime/PSXSceneExporter.cs index cc3e676..0b7f8e8 100644 --- a/Runtime/PSXSceneExporter.cs +++ b/Runtime/PSXSceneExporter.cs @@ -16,6 +16,7 @@ namespace SplashEdit.RuntimeCode } [ExecuteInEditMode] + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXSceneExporter.png")] public class PSXSceneExporter : MonoBehaviour { /// diff --git a/Runtime/PSXSceneWriter.cs b/Runtime/PSXSceneWriter.cs index ad11d4e..09e9145 100644 --- a/Runtime/PSXSceneWriter.cs +++ b/Runtime/PSXSceneWriter.cs @@ -7,7 +7,7 @@ using UnityEngine; namespace SplashEdit.RuntimeCode { /// - /// Pure binary serializer for the splashpack v8 format. + /// Pure binary serializer for the splashpack v16 format. /// All I/O extracted from PSXSceneExporter so the MonoBehaviour stays thin. /// public static class PSXSceneWriter @@ -72,7 +72,7 @@ namespace SplashEdit.RuntimeCode // ═══════════════════════════════════════════════════════════════ /// - /// Serialize the scene to a splashpack v8 binary file. + /// Serialize the scene to a splashpack v16 binary file. /// /// Absolute file path to write. /// Pre-built scene data. @@ -148,13 +148,13 @@ namespace SplashEdit.RuntimeCode writer.Write((ushort)clutCount); writer.Write((ushort)colliderCount); writer.Write((ushort)scene.interactables.Length); - writer.Write((ushort)PSXTrig.ConvertCoordinateToPSX(scene.playerPos.x, gte)); - writer.Write((ushort)PSXTrig.ConvertCoordinateToPSX(-scene.playerPos.y, gte)); - writer.Write((ushort)PSXTrig.ConvertCoordinateToPSX(scene.playerPos.z, gte)); + writer.Write(PSXTrig.ConvertCoordinateToPSX(scene.playerPos.x, gte)); + writer.Write(PSXTrig.ConvertCoordinateToPSX(-scene.playerPos.y, gte)); + writer.Write(PSXTrig.ConvertCoordinateToPSX(scene.playerPos.z, gte)); - writer.Write((ushort)PSXTrig.ConvertToFixed12(scene.playerRot.eulerAngles.x * Mathf.Deg2Rad)); - writer.Write((ushort)PSXTrig.ConvertToFixed12(scene.playerRot.eulerAngles.y * Mathf.Deg2Rad)); - writer.Write((ushort)PSXTrig.ConvertToFixed12(scene.playerRot.eulerAngles.z * Mathf.Deg2Rad)); + writer.Write(PSXTrig.ConvertToFixed12(scene.playerRot.eulerAngles.x * Mathf.Deg2Rad)); + writer.Write(PSXTrig.ConvertToFixed12(scene.playerRot.eulerAngles.y * Mathf.Deg2Rad)); + writer.Write(PSXTrig.ConvertToFixed12(scene.playerRot.eulerAngles.z * Mathf.Deg2Rad)); writer.Write((ushort)PSXTrig.ConvertCoordinateToPSX(scene.playerHeight, gte)); @@ -475,6 +475,7 @@ namespace SplashEdit.RuntimeCode writer.Write((ushort)0); // padding // Sentinel tpage = 0xFFFF marks untextured + // haha funny word. Sentinel, sentinel, sentinel. I could keep saying it forever. writer.Write((ushort)0xFFFF); writer.Write((ushort)0); writer.Write((ushort)0); @@ -828,6 +829,9 @@ namespace SplashEdit.RuntimeCode // ══════════════════════════════════════════════════════ // DEAD ZONE — pixel/audio bulk data (freed after VRAM/SPU upload) // Everything written after this point is not needed at runtime. + // You may be asking why we don't just put pixel/audio data in separate files + // or why don't we put this data at the end of the file to begin with. The answer is + // Very simple and I'm going to tell it to you right now... OH GOD I FORGOT TO TURN OFF THE STOVE (runs away) // ══════════════════════════════════════════════════════ AlignToFourBytes(writer); long pixelDataStart = writer.BaseStream.Position; diff --git a/Runtime/PSXTexture2D.cs b/Runtime/PSXTexture2D.cs index a203b0d..b7e906f 100644 --- a/Runtime/PSXTexture2D.cs +++ b/Runtime/PSXTexture2D.cs @@ -252,9 +252,9 @@ namespace SplashEdit.RuntimeCode if (BitDepth == PSXBPP.TEX_16BIT) { - for (int y = 0; y < Width; y++) + for (int y = 0; y < Height; y++) { - for (int x = 0; x < Height; x++) + for (int x = 0; x < Width; x++) { tex.SetPixel(x, Height - 1 - y, ImageData[x, y].GetUnityColor()); } diff --git a/Runtime/PSXTrackType.cs b/Runtime/PSXTrackType.cs index 87e90ab..79eed11 100644 --- a/Runtime/PSXTrackType.cs +++ b/Runtime/PSXTrackType.cs @@ -1,8 +1,5 @@ namespace SplashEdit.RuntimeCode { - /// - /// Cutscene track types. Must match the C++ TrackType enum in cutscene.hh. - /// public enum PSXTrackType : byte { CameraPosition = 0, @@ -10,7 +7,6 @@ namespace SplashEdit.RuntimeCode ObjectPosition = 2, ObjectRotationY = 3, ObjectActive = 4, - // UI track types (v13+) UICanvasVisible = 5, UIElementVisible = 6, UIProgress = 7, diff --git a/Runtime/PSXTriggerBox.cs b/Runtime/PSXTriggerBox.cs index ea0e94e..5c3e64b 100644 --- a/Runtime/PSXTriggerBox.cs +++ b/Runtime/PSXTriggerBox.cs @@ -2,6 +2,7 @@ using UnityEngine; namespace SplashEdit.RuntimeCode { + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXTriggerBox.png")] public class PSXTriggerBox : MonoBehaviour { [SerializeField] private Vector3 size = Vector3.one; diff --git a/Runtime/PSXUIBox.cs b/Runtime/PSXUIBox.cs index eb8c74a..601d883 100644 --- a/Runtime/PSXUIBox.cs +++ b/Runtime/PSXUIBox.cs @@ -10,6 +10,7 @@ namespace SplashEdit.RuntimeCode [RequireComponent(typeof(RectTransform))] [DisallowMultipleComponent] [AddComponentMenu("PSX/UI/PSX UI Box")] + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXUIBox.png")] public class PSXUIBox : MonoBehaviour { [Tooltip("Name used to reference this element from Lua (max 24 chars).")] diff --git a/Runtime/PSXUIImage.cs b/Runtime/PSXUIImage.cs index ecf976d..5737e2b 100644 --- a/Runtime/PSXUIImage.cs +++ b/Runtime/PSXUIImage.cs @@ -10,6 +10,7 @@ namespace SplashEdit.RuntimeCode [RequireComponent(typeof(RectTransform))] [DisallowMultipleComponent] [AddComponentMenu("PSX/UI/PSX UI Image")] + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXUIImage.png")] public class PSXUIImage : MonoBehaviour { [Tooltip("Name used to reference this element from Lua (max 24 chars).")] diff --git a/Runtime/PSXUIProgressBar.cs b/Runtime/PSXUIProgressBar.cs index 6413c04..c65d890 100644 --- a/Runtime/PSXUIProgressBar.cs +++ b/Runtime/PSXUIProgressBar.cs @@ -10,6 +10,7 @@ namespace SplashEdit.RuntimeCode [RequireComponent(typeof(RectTransform))] [DisallowMultipleComponent] [AddComponentMenu("PSX/UI/PSX UI Progress Bar")] + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXUIProgressBar.png")] public class PSXUIProgressBar : MonoBehaviour { [Tooltip("Name used to reference this element from Lua (max 24 chars).")] diff --git a/Runtime/PSXUIText.cs b/Runtime/PSXUIText.cs index df85359..972dfe3 100644 --- a/Runtime/PSXUIText.cs +++ b/Runtime/PSXUIText.cs @@ -10,6 +10,7 @@ namespace SplashEdit.RuntimeCode [RequireComponent(typeof(RectTransform))] [DisallowMultipleComponent] [AddComponentMenu("PSX/UI/PSX UI Text")] + [Icon("Packages/net.psxsplash.splashedit/Icons/PSXUIText.png")] public class PSXUIText : MonoBehaviour { [Tooltip("Name used to reference this element from Lua (max 24 chars).")] diff --git a/Runtime/SceneMemoryAnalyzer.cs b/Runtime/SceneMemoryAnalyzer.cs index 4532b9b..5a86fb8 100644 --- a/Runtime/SceneMemoryAnalyzer.cs +++ b/Runtime/SceneMemoryAnalyzer.cs @@ -222,16 +222,16 @@ namespace SplashEdit.RuntimeCode { if (bvh == null) return 0; // BVH nodes: each node has AABB (24 bytes) + child/tri info (8 bytes) = 32 bytes - // Triangle refs: 2 bytes each (uint16) - return (long)bvh.NodeCount * 32 + (long)bvh.TriangleRefCount * 2; + // Triangle refs: 4 bytes each (uint32) + return (long)bvh.NodeCount * 32 + (long)bvh.TriangleRefCount * 4; } private static long EstimateCollisionSize(PSXCollisionExporter collision) { if (collision == null || collision.MeshCount == 0) return 0; - // Each collision mesh header: AABB + triangle count (28 bytes) - // Each collision triangle: 3 vertices * 6 bytes = 18 bytes + normal 6 bytes = 24 bytes - return (long)collision.MeshCount * 28 + (long)collision.TriangleCount * 24; + // Each collision mesh header: AABB (24) + tri count (2) + flags (2) + offset (4) = 32 bytes + // Each collision triangle: 3 verts * 12 bytes + normal 12 bytes + flags 4 bytes = 52 bytes + return (long)collision.MeshCount * 32 + (long)collision.TriangleCount * 52; } private static long EstimateNavRegionSize(PSXNavRegionBuilder nav) diff --git a/Runtime/TexturePacker.cs b/Runtime/TexturePacker.cs index 1cee001..d639342 100644 --- a/Runtime/TexturePacker.cs +++ b/Runtime/TexturePacker.cs @@ -321,7 +321,7 @@ namespace SplashEdit.RuntimeCode // Iterate over possible CLUT positions in VRAM. for (ushort x = 0; x < VramWidth; x += 16) { - for (ushort y = 0; y <= VramHeight; y++) + for (ushort y = 0; y < VramHeight; y++) { var candidate = new Rect(x, y, clutWidth, clutHeight); if (IsPlacementValid(candidate)) diff --git a/Runtime/Utils.cs b/Runtime/Utils.cs index f6fc111..c13e694 100644 --- a/Runtime/Utils.cs +++ b/Runtime/Utils.cs @@ -331,6 +331,30 @@ namespace SplashEdit.RuntimeCode { private static int MaxTextureSize => 256; + /// + /// If a directory contains exactly one subdirectory (common after archive extraction), + /// flatten its contents up one level and remove the nested directory. + /// + public static void FixNestedDirectory(string dir) + { + var subdirs = System.IO.Directory.GetDirectories(dir); + if (subdirs.Length == 1) + { + string nested = subdirs[0]; + foreach (string file in System.IO.Directory.GetFiles(nested)) + { + string dest = System.IO.Path.Combine(dir, System.IO.Path.GetFileName(file)); + if (!System.IO.File.Exists(dest)) System.IO.File.Move(file, dest); + } + foreach (string sub in System.IO.Directory.GetDirectories(nested)) + { + string dest = System.IO.Path.Combine(dir, System.IO.Path.GetFileName(sub)); + if (!System.IO.Directory.Exists(dest)) System.IO.Directory.Move(sub, dest); + } + try { System.IO.Directory.Delete(nested, true); } catch { } + } + } + public static (Rect, Rect) BufferForResolution(Vector2 selectedResolution, bool verticalLayout, Vector2 offset = default) { if (offset == default) diff --git a/Sample.meta b/Sample.meta deleted file mode 100644 index 149e5f7..0000000 --- a/Sample.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 45b95f68e129e6f478d509d59f39bc6e -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Sample/Lua.meta b/Sample/Lua.meta deleted file mode 100644 index 907c076..0000000 --- a/Sample/Lua.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f9337852f7cf29848b42f674d396732d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Sample/Lua/example.lua b/Sample/Lua/example.lua deleted file mode 100644 index a7aba16..0000000 --- a/Sample/Lua/example.lua +++ /dev/null @@ -1,95 +0,0 @@ --- ============================================================================ --- PSXSplash Example Script --- Demonstrates all working Lua events and API calls. --- Attach this to a PSXObjectExporter via the "Lua File" field. --- ============================================================================ - --- Per-object state (each object gets its own copy of these locals) -local bobAmplitude = 50 -- vertical bob range -local bobSpeed = 2 -- bob increment per frame -local bobPhase = 0 - --- ============================================================================ --- LIFECYCLE EVENTS --- ============================================================================ - ---- Called once when the object is first loaded into the scene. -function onCreate(self) - Debug.Log("Object created!") - local pos = Entity.GetPosition(self) - Debug.Log(" start pos: " .. pos.x .. ", " .. pos.y .. ", " .. pos.z) -end - ---- Called every frame while the object is active. ---- WARNING: This runs on a 33 MHz MIPS R3000 — keep it light! -function onUpdate(self) - -- Simple vertical bob - bobPhase = bobPhase + bobSpeed - if bobPhase > 360 then bobPhase = bobPhase - 360 end - - local pos = Entity.GetPosition(self) - pos.y = pos.y + PSXMath.Sign(180 - bobPhase) * bobAmplitude / 60 - Entity.SetPosition(self, pos) -end - ---- Called when the object is destroyed or the scene unloads. -function onDestroy(self) - Debug.Log("Object destroyed!") -end - --- onEnable / onDisable are available but omitted here to reduce log noise. --- function onEnable(self) Debug.Log("Object enabled") end --- function onDisable(self) Debug.Log("Object disabled") end - --- ============================================================================ --- INTERACTION EVENTS (requires PSXInteractable component) --- ============================================================================ - ---- Called when the player interacts with this object. -function onInteract(self) - Debug.Log("Player interacted!") - local active = Entity.IsActive(self) - Entity.SetActive(self, not active) -end - --- ============================================================================ --- COLLISION / TRIGGER EVENTS --- ============================================================================ - ---- Called when this object's collider overlaps another. -function onCollideWithPlayer(self) - Debug.Log("Collision with another object") -end - ---- Called on the first frame two triggers overlap. -function onTriggerEnter(self, other) - Debug.Log("Trigger enter") -end - ---- Called every frame while two triggers continue to overlap. -function onTriggerStay(self, other) - -- Expensive! Avoid heavy work here. -end - ---- Called when two triggers stop overlapping. -function onTriggerExit(self, other) - Debug.Log("Trigger exit") -end - --- ============================================================================ --- INPUT EVENTS --- ============================================================================ - ---- Called when any button is pressed this frame. -function onButtonPress(self, button) - if button == Input.CROSS then - Debug.Log("Cross pressed!") - end -end - ---- Called when any button is released this frame. -function onButtonRelease(self, button) - if button == Input.CROSS then - Debug.Log("Cross released!") - end -end \ No newline at end of file diff --git a/Sample/Lua/example.lua.meta b/Sample/Lua/example.lua.meta deleted file mode 100644 index 23dbd8b..0000000 --- a/Sample/Lua/example.lua.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: c993fd0fc3a7b2e4db45e291e983ac47 -ScriptedImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 2 - userData: - assetBundleName: - assetBundleVariant: - script: {fileID: 11500000, guid: 74e983e6cf3376944af7b469023d6e4d, type: 3} diff --git a/Sample/Material.meta b/Sample/Material.meta deleted file mode 100644 index 03fdfe7..0000000 --- a/Sample/Material.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e5eb77d7823c1c944ba10953ae01f796 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Sample/Material/PSXDefault.mat b/Sample/Material/PSXDefault.mat deleted file mode 100644 index cb924af..0000000 --- a/Sample/Material/PSXDefault.mat +++ /dev/null @@ -1,137 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: PSXDefault - m_Shader: {fileID: 4800000, guid: 0ca6dca7396eb48e5849247ffd444914, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 0be7a2d4700082dbc83b9274837c70bc, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BlendOp: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &7557462600926894941 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Sample/Material/PSXDefault.mat.meta b/Sample/Material/PSXDefault.mat.meta deleted file mode 100644 index 4dba36f..0000000 --- a/Sample/Material/PSXDefault.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6bf1caff36887d44fa357159c84fe954 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Sample/Scene.meta b/Sample/Scene.meta deleted file mode 100644 index 0dc61e9..0000000 --- a/Sample/Scene.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2ca98fa730fe5fa4ea239123eb09887b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Sample/Scene/Demo.unity b/Sample/Scene/Demo.unity deleted file mode 100644 index 2fdbb8b..0000000 --- a/Sample/Scene/Demo.unity +++ /dev/null @@ -1,683 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 10 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} - m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} - m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 0 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_UseRadianceAmbientProbe: 0 ---- !u!157 &3 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 13 - m_BakeOnSceneLoad: 0 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 12 - m_Resolution: 2 - m_BakeResolution: 40 - m_AtlasSize: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAmbientOcclusion: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 1 - m_ReflectionCompression: 2 - m_MixedBakeMode: 2 - m_BakeBackend: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVRBounces: 2 - m_PVREnvironmentSampleCount: 256 - m_PVREnvironmentReferencePointCount: 2048 - m_PVRFilteringMode: 1 - m_PVRDenoiserTypeDirect: 1 - m_PVRDenoiserTypeIndirect: 1 - m_PVRDenoiserTypeAO: 1 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVREnvironmentMIS: 1 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 1 - m_PVRFilteringGaussRadiusAO: 1 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_LightProbeSampleCountMultiplier: 4 - m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0} - m_LightingSettings: {fileID: 0} ---- !u!196 &4 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 3 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666667 - manualTileSize: 0 - tileSize: 256 - buildHeightMesh: 0 - maxJobWorkers: 0 - preserveTilesOutsideBounds: 0 - debug: - m_Flags: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &416002693 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 416002697} - - component: {fileID: 416002696} - - component: {fileID: 416002695} - - component: {fileID: 416002694} - - component: {fileID: 416002698} - m_Layer: 0 - m_Name: ExportObjectWithScript - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!65 &416002694 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 416002693} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &416002695 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 416002693} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: ef90866ae3c8e3241995606c20a6f335, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &416002696 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 416002693} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &416002697 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 416002693} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 107.39} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &416002698 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 416002693} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bea0f31a495202580ac77bd9fd6e99f2, type: 3} - m_Name: - m_EditorClassIdentifier: - bitDepth: 8 - luaFile: {fileID: 271950057456261835, guid: 2080a81a20451b74bb4fed47cde1eb64, type: 3} - previewNormals: 0 - normalPreviewLength: 0.5 ---- !u!1 &512214764 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 512214766} - - component: {fileID: 512214765} - m_Layer: 0 - m_Name: SceneExporter - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &512214765 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 512214764} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ab5195ad94fd173cfb6d48ee06eaf245, type: 3} - m_Name: - m_EditorClassIdentifier: - GTEScaling: 100 ---- !u!4 &512214766 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 512214764} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &706636693 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 706636697} - - component: {fileID: 706636696} - - component: {fileID: 706636695} - - component: {fileID: 706636694} - - component: {fileID: 706636698} - m_Layer: 0 - m_Name: ExportObject - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!65 &706636694 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 706636693} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &706636695 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 706636693} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: ef90866ae3c8e3241995606c20a6f335, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &706636696 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 706636693} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &706636697 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 706636693} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 101.463} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &706636698 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 706636693} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bea0f31a495202580ac77bd9fd6e99f2, type: 3} - m_Name: - m_EditorClassIdentifier: - bitDepth: 8 - luaFile: {fileID: 0} - previewNormals: 0 - normalPreviewLength: 0.5 ---- !u!1 &728093073 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 728093076} - - component: {fileID: 728093075} - - component: {fileID: 728093074} - - component: {fileID: 728093077} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &728093074 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 728093073} - m_Enabled: 1 ---- !u!20 &728093075 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 728093073} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_Iso: 200 - m_ShutterSpeed: 0.005 - m_Aperture: 16 - m_FocusDistance: 10 - m_FocalLength: 50 - m_BladeCount: 5 - m_Curvature: {x: 2, y: 11} - m_BarrelClipping: 0.25 - m_Anamorphism: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &728093076 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 728093073} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &728093077 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 728093073} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_RenderShadows: 1 - m_RequiresDepthTextureOption: 2 - m_RequiresOpaqueTextureOption: 2 - m_CameraType: 0 - m_Cameras: [] - m_RendererIndex: -1 - m_VolumeLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_VolumeTrigger: {fileID: 0} - m_VolumeFrameworkUpdateModeOption: 2 - m_RenderPostProcessing: 0 - m_Antialiasing: 0 - m_AntialiasingQuality: 2 - m_StopNaN: 0 - m_Dithering: 0 - m_ClearDepth: 1 - m_AllowXRRendering: 1 - m_AllowHDROutput: 1 - m_UseScreenCoordOverride: 0 - m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} - m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} - m_RequiresDepthTexture: 0 - m_RequiresColorTexture: 0 - m_Version: 2 - m_TaaSettings: - m_Quality: 3 - m_FrameInfluence: 0.1 - m_JitterScale: 1 - m_MipBias: 0 - m_VarianceClampScale: 0.9 - m_ContrastAdaptiveSharpening: 0 ---- !u!1 &1570671553 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1570671555} - - component: {fileID: 1570671554} - - component: {fileID: 1570671556} - m_Layer: 0 - m_Name: Directional Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!108 &1570671554 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1570671553} - m_Enabled: 1 - serializedVersion: 11 - m_Type: 1 - m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingLayerMask: 1 - m_Lightmapping: 4 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 - m_ForceVisible: 0 - m_ShadowRadius: 0 - m_ShadowAngle: 0 - m_LightUnit: 1 - m_LuxAtDistance: 1 - m_EnableSpotReflector: 1 ---- !u!4 &1570671555 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1570671553} - serializedVersion: 2 - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - m_LocalPosition: {x: 0, y: 3, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!114 &1570671556 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1570671553} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 3 - m_UsePipelineSettings: 1 - m_AdditionalLightsShadowResolutionTier: 2 - m_LightLayerMask: 1 - m_RenderingLayers: 1 - m_CustomShadowLayers: 0 - m_ShadowLayerMask: 1 - m_ShadowRenderingLayers: 1 - m_LightCookieSize: {x: 1, y: 1} - m_LightCookieOffset: {x: 0, y: 0} - m_SoftShadowQuality: 0 ---- !u!1660057539 &9223372036854775807 -SceneRoots: - m_ObjectHideFlags: 0 - m_Roots: - - {fileID: 728093076} - - {fileID: 1570671555} - - {fileID: 512214766} - - {fileID: 706636697} - - {fileID: 416002697} diff --git a/Sample/Scene/Demo.unity.meta b/Sample/Scene/Demo.unity.meta deleted file mode 100644 index 1085384..0000000 --- a/Sample/Scene/Demo.unity.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 5688ba03f531c3245a838793c0ae7f93 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/doc.meta b/doc.meta deleted file mode 100644 index 43741c2..0000000 --- a/doc.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2241c29d16cfcf2418683f24bf7c3238 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/tools.meta b/tools.meta deleted file mode 100644 index 4ad1e97..0000000 --- a/tools.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 19e02f51caaa13d4bae3949f98320b09 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/tools/LUA_VSCODE_SETUP.md b/tools/LUA_VSCODE_SETUP.md deleted file mode 100644 index a7dce27..0000000 --- a/tools/LUA_VSCODE_SETUP.md +++ /dev/null @@ -1,49 +0,0 @@ -# PSXSplash Lua — VS Code Autocomplete Setup - -Get full IntelliSense (autocomplete, hover docs, go-to-definition) for the -PSXSplash Lua API in Visual Studio Code. - -## 1. Install the Lua Language Server extension - -Open VS Code → Extensions → search **sumneko.lua** → Install. - -## 2. Point the language server at the stubs - -Add (or merge) the following into your workspace `.vscode/settings.json`: - -```jsonc -{ - "Lua.workspace.library": [ - // Path to the EmmyLua stubs shipped with SplashEdit - "${workspaceFolder}/splashedit/tools" - ], - "Lua.runtime.version": "Lua 5.2", - "Lua.diagnostics.globals": [ - // Event callbacks the engine calls — not "undefined" globals - "onCreate", "onUpdate", "onDestroy", - "onEnable", "onDisable", - "onCollideWithPlayer", "onInteract", - "onTriggerEnter", "onTriggerStay", "onTriggerExit", - "onButtonPress", "onButtonRelease" - ] -} -``` - -> If your Lua scripts live inside the Unity project -> (`kitchensink/Assets/Lua/`), open that folder as the workspace root, then -> adjust the `library` path to be relative to it, e.g. -> `"../splashedit/tools"`. - -## 3. Verify - -Open any `.lua` script and type `Entity.` — you should see `Find`, -`FindByIndex`, `GetCount`, etc. with full parameter docs. - -Hover over `Input.CROSS` to see its type annotation. Hover over `onUpdate` -to see the performance warning. - -## Updating the stubs - -When the C++ API changes, regenerate `splash_api.lua` from the -`RegisterAll()` function in `psxsplash/src/luaapi.cpp`. The stubs file is -the single source of truth for editor autocomplete. diff --git a/tools/LUA_VSCODE_SETUP.md.meta b/tools/LUA_VSCODE_SETUP.md.meta deleted file mode 100644 index 14e3669..0000000 --- a/tools/LUA_VSCODE_SETUP.md.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: dacec9280b4291d4c9a93b1522687267 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/tools/imhex.hexproj b/tools/imhex.hexproj deleted file mode 100644 index 080213e..0000000 Binary files a/tools/imhex.hexproj and /dev/null differ diff --git a/tools/imhex.hexproj.meta b/tools/imhex.hexproj.meta deleted file mode 100644 index 41e9cc2..0000000 --- a/tools/imhex.hexproj.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 2e825620cbb189b42965419f16e3fbcf -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/tools/splash_api.lua b/tools/splash_api.lua deleted file mode 100644 index fefc53e..0000000 --- a/tools/splash_api.lua +++ /dev/null @@ -1,383 +0,0 @@ --- ============================================================================ --- PSXSplash Lua API — EmmyLua Stubs --- Generated for SplashEdit. DO NOT EDIT — regenerate from luaapi.cpp. --- Place this file in your workspace root so the Lua Language Server picks it up. --- ============================================================================ - ---- @meta - --- ============================================================================ --- Types --- ============================================================================ - ---- A 3-component vector in 20.12 fixed-point space. ---- @class Vec3Table ---- @field x number ---- @field y number ---- @field z number - ---- Opaque handle returned by Entity.Find / Entity.FindByIndex. ---- @alias EntityHandle table - --- ============================================================================ --- Entity API --- ============================================================================ - ---- @class Entity -Entity = {} - ---- Find a game object by its Lua script index. ---- @param scriptIndex number The lua file index (0-based) assigned during export. ---- @return EntityHandle|nil Handle for use with other Entity functions, or nil. -function Entity.Find(scriptIndex) end - ---- Find a game object by its global object index. ---- @param index number Object index (0-based) in the scene's game-object array. ---- @return EntityHandle|nil -function Entity.FindByIndex(index) end - ---- Return the total number of game objects in the scene. ---- @return number -function Entity.GetCount() end - ---- Activate or deactivate a game object. ---- @param entity EntityHandle ---- @param active boolean -function Entity.SetActive(entity, active) end - ---- Check whether a game object is active. ---- @param entity EntityHandle ---- @return boolean -function Entity.IsActive(entity) end - ---- Get the world-space position of an entity (20.12 fixed-point). ---- @param entity EntityHandle ---- @return Vec3Table -function Entity.GetPosition(entity) end - ---- Set the world-space position of an entity. ---- @param entity EntityHandle ---- @param pos Vec3Table -function Entity.SetPosition(entity, pos) end - --- ============================================================================ --- Vec3 API --- ============================================================================ - ---- @class Vec3 -Vec3 = {} - ---- Create a new vector. ---- @param x number ---- @param y number ---- @param z number ---- @return Vec3Table -function Vec3.new(x, y, z) end - ---- Component-wise addition. ---- @param a Vec3Table ---- @param b Vec3Table ---- @return Vec3Table -function Vec3.add(a, b) end - ---- Component-wise subtraction (a - b). ---- @param a Vec3Table ---- @param b Vec3Table ---- @return Vec3Table -function Vec3.sub(a, b) end - ---- Scalar multiply. ---- @param v Vec3Table ---- @param s number ---- @return Vec3Table -function Vec3.mul(v, s) end - ---- Dot product. ---- @param a Vec3Table ---- @param b Vec3Table ---- @return number -function Vec3.dot(a, b) end - ---- Cross product. ---- @param a Vec3Table ---- @param b Vec3Table ---- @return Vec3Table -function Vec3.cross(a, b) end - ---- Magnitude (Euclidean length). ---- @param v Vec3Table ---- @return number -function Vec3.length(v) end - ---- Squared magnitude (cheaper than length). ---- @param v Vec3Table ---- @return number -function Vec3.lengthSq(v) end - ---- Return a unit-length copy of v. ---- @param v Vec3Table ---- @return Vec3Table -function Vec3.normalize(v) end - ---- Distance between two points. ---- @param a Vec3Table ---- @param b Vec3Table ---- @return number -function Vec3.distance(a, b) end - ---- Squared distance (cheaper than distance). ---- @param a Vec3Table ---- @param b Vec3Table ---- @return number -function Vec3.distanceSq(a, b) end - ---- Linear interpolation between a and b. ---- @param a Vec3Table ---- @param b Vec3Table ---- @param t number 0..1 ---- @return Vec3Table -function Vec3.lerp(a, b, t) end - --- ============================================================================ --- Input API --- ============================================================================ - ---- @class Input -Input = {} - ---- Button constants (bitmask values matching psyqo::AdvancedPad::Button). ---- @type number -Input.CROSS = 0 -Input.CIRCLE = 0 -Input.SQUARE = 0 -Input.TRIANGLE = 0 -Input.L1 = 0 -Input.R1 = 0 -Input.L2 = 0 -Input.R2 = 0 -Input.START = 0 -Input.SELECT = 0 -Input.UP = 0 -Input.DOWN = 0 -Input.LEFT = 0 -Input.RIGHT = 0 -Input.L3 = 0 -Input.R3 = 0 - ---- True on the single frame the button was pressed. ---- @param button number One of Input.CROSS, Input.CIRCLE, … ---- @return boolean -function Input.IsPressed(button) end - ---- True on the single frame the button was released. ---- @param button number ---- @return boolean -function Input.IsReleased(button) end - ---- True every frame the button is held down. ---- @param button number ---- @return boolean -function Input.IsHeld(button) end - ---- Get left analog stick axes. ---- @return number x -128..127 (0 if digital pad) ---- @return number y -128..127 -function Input.GetAnalog() end - --- ============================================================================ --- Timer API --- ============================================================================ - ---- @class Timer -Timer = {} - ---- Frames elapsed since the scene was loaded. ---- @return number -function Timer.GetFrameCount() end - --- ============================================================================ --- Camera API --- ============================================================================ - ---- @class Camera -Camera = {} - ---- Get the camera's world-space position. ---- @return Vec3Table -function Camera.GetPosition() end - ---- Set the camera's world-space position. ---- @param pos Vec3Table -function Camera.SetPosition(pos) end - ---- Get the camera's rotation (currently returns {0,0,0}). ---- @return Vec3Table Euler angles in radians -function Camera.GetRotation() end - ---- Set the camera's rotation (not yet implemented). ---- @param rot Vec3Table Euler angles in radians -function Camera.SetRotation(rot) end - ---- Point the camera at a world position (not yet implemented). ---- @param target Vec3Table -function Camera.LookAt(target) end - --- ============================================================================ --- Audio API — SPU ADPCM playback --- ============================================================================ - ---- @class Audio -Audio = {} - ---- Play a sound clip by index. Returns the SPU voice used (1-23), or -1 on failure. ---- @param clipIndex number 0-based clip index (order of PSXAudioSource in scene) ---- @param volume? number 0..127 (default 100) ---- @param pan? number 0=left, 64=center, 127=right (default 64) ---- @return number voiceId -function Audio.Play(clipIndex, volume, pan) end - ---- Stop a specific SPU voice (returned from Audio.Play). ---- @param voiceId number -function Audio.Stop(voiceId) end - ---- Set volume (and optional pan) on a playing voice. ---- @param voiceId number ---- @param volume number 0..127 ---- @param pan? number 0..127 (default 64) -function Audio.SetVolume(voiceId, volume, pan) end - ---- Stop all playing sounds. -function Audio.StopAll() end - --- ============================================================================ --- Debug API --- ============================================================================ - ---- @class Debug -Debug = {} - ---- Print a message to the TTY / debug console. ---- @param message string -function Debug.Log(message) end - ---- Draw a debug line (not yet implemented on PS1). ---- @param fromX number ---- @param fromY number ---- @param fromZ number ---- @param toX number ---- @param toY number ---- @param toZ number -function Debug.DrawLine(fromX, fromY, fromZ, toX, toY, toZ) end - ---- Draw a debug box (not yet implemented on PS1). ---- @param minX number ---- @param minY number ---- @param minZ number ---- @param maxX number ---- @param maxY number ---- @param maxZ number -function Debug.DrawBox(minX, minY, minZ, maxX, maxY, maxZ) end - --- ============================================================================ --- PSXMath API --- ============================================================================ - ---- @class PSXMath -PSXMath = {} - ---- Clamp a value between min and max. ---- @param value number ---- @param min number ---- @param max number ---- @return number -function PSXMath.Clamp(value, min, max) end - ---- Linear interpolation (a + (b-a)*t). ---- @param a number ---- @param b number ---- @param t number 0..1 ---- @return number -function PSXMath.Lerp(a, b, t) end - ---- Return -1, 0, or 1. ---- @param x number ---- @return number -function PSXMath.Sign(x) end - ---- Absolute value. ---- @param x number ---- @return number -function PSXMath.Abs(x) end - ---- Minimum of two values. ---- @param a number ---- @param b number ---- @return number -function PSXMath.Min(a, b) end - ---- Maximum of two values. ---- @param a number ---- @param b number ---- @return number -function PSXMath.Max(a, b) end - --- ============================================================================ --- Event Callbacks --- These are global functions you define in your script. The engine calls them --- automatically based on the event mask resolved at load time. --- ============================================================================ - ---- Called once when the game object is created. ---- @param self EntityHandle -function onCreate(self) end - ---- Called every frame while the object is active. ---- WARNING: 33 MHz CPU — keep this function fast! ---- @param self EntityHandle -function onUpdate(self) end - ---- Called when the object is destroyed / scene unloads. ---- @param self EntityHandle -function onDestroy(self) end - ---- Called when the object is activated. ---- @param self EntityHandle -function onEnable(self) end - ---- Called when the object is deactivated. ---- @param self EntityHandle -function onDisable(self) end - ---- Called when this object's collider overlaps another. ---- @param self EntityHandle ---- @param other EntityHandle -function onCollideWithPlayer(self) end - ---- Called when the player interacts with this object (PSXInteractable). ---- @param self EntityHandle -function onInteract(self) end - ---- Called on the first frame two trigger volumes overlap. ---- @param self EntityHandle ---- @param other EntityHandle -function onTriggerEnter(self, other) end - ---- Called every frame two trigger volumes continue overlapping. ---- @param self EntityHandle ---- @param other EntityHandle -function onTriggerStay(self, other) end - ---- Called when two trigger volumes stop overlapping. ---- @param self EntityHandle ---- @param other EntityHandle -function onTriggerExit(self, other) end - ---- Called when any controller button is pressed. ---- @param self EntityHandle ---- @param button number One of Input.CROSS, Input.CIRCLE, … -function onButtonPress(self, button) end - ---- Called when any controller button is released. ---- @param self EntityHandle ---- @param button number -function onButtonRelease(self, button) end diff --git a/tools/splash_api.lua.meta b/tools/splash_api.lua.meta deleted file mode 100644 index 62b1dbb..0000000 --- a/tools/splash_api.lua.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: f306660f23f57394496050343c2335f8 -ScriptedImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 2 - userData: - assetBundleName: - assetBundleVariant: - script: {fileID: 11500000, guid: 74e983e6cf3376944af7b469023d6e4d, type: 3}