public override void PostLoad() { Transform.LocalScale = new Vector3(Transform.LocalScale.X, Transform.LocalScale.Y, Transform.LocalScale.X); m_objRender = WResourceManager.LoadObjResource("resources/editor/EditorCylinder.obj", new OpenTK.Vector4(1f, 1f, 0f, 1f), true); m_MessageReference = new MessageReference((ushort)MessageID); }
public override void PostLoad() { m_RegionAreaModel = WResourceManager.LoadObjResource("resources/editor/EditorCylinder.obj", new Vector4(1f, 1f, 0f, 1f), true, false); m_objRender = WResourceManager.LoadObjResource("resources/editor/EditorCube.obj", new Vector4(1f, 1f, 0f, 1f)); m_MessageReference = new MessageReference((ushort)MessageID); }
private void UpdateActorMeshFromNameProperty() { TStringPropertyValue stringProperty = m_namePropertyValueCache as TStringPropertyValue; if (stringProperty != null) { //m_actorMesh = WResourceManager.LoadActorByName((string)stringProperty.GetValue()); if (m_actorMesh != null) { // Create and set up some initial lighting options so character's aren't drawn super brightly // until we support actually loading room environment lighting and apply it (see below). var lightPos = new Vector4(250, 200, 250, 0); var mainLight = new JStudio.OpenGL.GXLight(lightPos, -lightPos.Normalized(), new Vector4(1, 0, 1, 1), new Vector4(1.075f, 0, 0, 0), new Vector4(1.075f, 0, 0, 0)); var secondaryLight = new JStudio.OpenGL.GXLight(lightPos, -lightPos.Normalized(), new Vector4(0, 0, 1, 1), new Vector4(1.075f, 0, 0, 0), new Vector4(1.075f, 0, 0, 0)); Quaternion lightRot = Quaternion.FromAxisAngle(Vector3.UnitY, (float)Math.PI / 2f); Vector3 newLightPos = Vector3.Transform(new Vector3(-500, 0, 0), lightRot) + new Vector3(0, 50, 0); secondaryLight.Position = new Vector4(newLightPos, 0); m_actorMesh.SetHardwareLight(0, mainLight); m_actorMesh.SetHardwareLight(1, secondaryLight); m_actorMesh.SetTextureOverride("ZBtoonEX", "resources/textures/ZBtoonEX.png"); m_actorMesh.SetTextureOverride("ZAtoon", "resources/textures/ZAtoon.png"); m_objRender = null; } } if (m_actorMesh == null) { m_objRender = WResourceManager.LoadObjResource("resources/editor/EditorCube.obj", new Vector4(1, 1, 1, 1)); } }
private void UpdateModel() { switch (ColorType) { case ColorTypeEnum.Green: case ColorTypeEnum.Green_and_attacks_instantly: m_actorMeshes = WResourceManager.LoadActorResource("Green ChuChu"); break; case ColorTypeEnum.Red: case ColorTypeEnum.Red_and_attacks_instantly: case ColorTypeEnum.Red_and_attacks_instantly_and_more_vulnerabilities: m_actorMeshes = WResourceManager.LoadActorResource("Red ChuChu"); break; case ColorTypeEnum.Blue: case ColorTypeEnum.Blue_and_attacks_instantly: m_actorMeshes = WResourceManager.LoadActorResource("Blue ChuChu"); break; case ColorTypeEnum.Dark: case ColorTypeEnum.Dark_and_attacks_instantly: m_actorMeshes = WResourceManager.LoadActorResource("Dark ChuChu"); break; default: m_actorMeshes = WResourceManager.LoadActorResource("Yellow ChuChu"); break; } }
private void UpdateModel() { VisualScaleMultiplier = new Vector3(1f, 1f, 1f); switch (Type) { case TypeEnum.Small_pot: m_actorMeshes = WResourceManager.LoadActorResource("Small Pot"); break; case TypeEnum.Large_pot: m_actorMeshes = WResourceManager.LoadActorResource("Large Pot"); break; case TypeEnum.Water_pot: m_actorMeshes = WResourceManager.LoadActorResource("Water Pot"); break; case TypeEnum.Barrel: m_actorMeshes = WResourceManager.LoadActorResource("Barrel 1"); break; case TypeEnum.Stool: m_actorMeshes = WResourceManager.LoadActorResource("Stool"); break; case TypeEnum.Skull: m_actorMeshes = WResourceManager.LoadActorResource("Skull"); break; case TypeEnum.Bucket: m_actorMeshes = WResourceManager.LoadActorResource("Bucket"); break; case TypeEnum.Nut: m_actorMeshes = WResourceManager.LoadActorResource("Nut"); break; case TypeEnum.Golden_crate: VisualScaleMultiplier = new Vector3(0.4f, 0.4f, 0.4f); m_actorMeshes = WResourceManager.LoadActorResource("Golden Crate"); break; case TypeEnum.Seed: m_actorMeshes = WResourceManager.LoadActorResource("Seed"); break; case TypeEnum.Fancy_pot: m_actorMeshes = WResourceManager.LoadActorResource("Fancy Pot"); break; case TypeEnum.Wooden_crate: VisualScaleMultiplier = new Vector3(0.5f, 0.5f, 0.5f); m_actorMeshes = WResourceManager.LoadActorResource("Wooden Crate"); break; default: m_actorMeshes = WResourceManager.LoadActorResource("Blue Tower of the Gods Pillar Statue"); break; } }
public override void PostLoad() { base.PostLoad(); m_RegionAreaModel = WResourceManager.LoadObjResource("resources/editor/EditorSphere_Trigger.obj", new OpenTK.Vector4(1f, 0.7f, 0.4f, 1f), true, false); VisualScaleMultiplier = new Vector3(1.5f, 1.5f, 1.5f); UpdateModel(); }
private void UpdateModel() { m_actorMeshes.Clear(); m_objRender = null; switch (Type) { case TypeEnum.Small_Rock: m_actorMeshes = WResourceManager.LoadActorResource("Small Rock"); break; case TypeEnum.Small_Black_Rock: m_actorMeshes = WResourceManager.LoadActorResource("Small Black Rock"); break; case TypeEnum.Boulder: m_actorMeshes = WResourceManager.LoadActorResource("Boulder"); break; case TypeEnum.Head_Boulder: m_actorMeshes = WResourceManager.LoadActorResource("Head Boulder"); break; case TypeEnum.Small_Boulder: m_actorMeshes = WResourceManager.LoadActorResource("Small Boulder"); break; default: m_objRender = WResourceManager.LoadObjResource("resources/editor/EditorCube.obj", new OpenTK.Vector4(1f, 1f, 1f, 1f)); break; } }
private void UpdateModel() { m_actorMeshes.Clear(); m_objRender = null; switch (BehaviorType) { case BehaviorTypeEnum.Shoots_Fireballs: m_actorMeshes = WResourceManager.LoadActorResource("Fireball-Shooting Wizzrobe"); break; case BehaviorTypeEnum.Spawns_Enemies_and_Shoots_Fireballs: m_actorMeshes = WResourceManager.LoadActorResource("Spawner Wizzrobe"); break; case BehaviorTypeEnum.Miniboss: m_actorMeshes = WResourceManager.LoadActorResource("Mini-boss Wizzrobe"); break; case BehaviorTypeEnum.Shoots_Fireballs_Alt_Color: m_actorMeshes = WResourceManager.LoadActorResource("Alt Color Fireball Wizzrobe"); break; default: m_objRender = WResourceManager.LoadObjResource("resources/editor/EditorCube.obj", new OpenTK.Vector4(1f, 1f, 1f, 1f)); break; } }
private void UpdateModel() { m_actorMeshes.Clear(); m_objRender = null; switch (Length) { case LengthEnum.Short: m_actorMeshes = WResourceManager.LoadActorResource("Ladder 0"); break; case LengthEnum.Medium: m_actorMeshes = WResourceManager.LoadActorResource("Ladder 1"); break; case LengthEnum.Long: m_actorMeshes = WResourceManager.LoadActorResource("Ladder 2"); break; case LengthEnum.Very_Long: m_actorMeshes = WResourceManager.LoadActorResource("Ladder 3"); break; case LengthEnum.Very_Short: m_actorMeshes = WResourceManager.LoadActorResource("Ladder 4"); break; default: m_objRender = WResourceManager.LoadObjResource("resources/editor/EditorCube.obj", new OpenTK.Vector4(1f, 1f, 1f, 1f)); break; } }
public override void PostLoad() { base.PostLoad(); string model_path = "resources/models/foliage/bush.obj"; m_objRender = WResourceManager.LoadObjResource(model_path, new OpenTK.Vector4(1, 1, 1, 1), true, false, TextureWrapMode.MirroredRepeat); }
private void UpdateModel() { m_actorMeshes.Clear(); m_objRender = null; switch (Type) { case TypeEnum.Raft: m_actorMeshes = WResourceManager.LoadActorResource("Raft"); break; case TypeEnum.Beedles_Shop_Ship: m_actorMeshes = WResourceManager.LoadActorResource("Beedle's Shop Ship"); break; case TypeEnum.Submarine: m_actorMeshes = WResourceManager.LoadActorResource("Submarine"); break; case TypeEnum.Beedles_Special_Shop_Ship: m_actorMeshes = WResourceManager.LoadActorResource("Beedle's Special Shop Ship"); break; case TypeEnum.Salvage_Corp_Ship: m_actorMeshes = WResourceManager.LoadActorResource("Salvage Corp Ship"); break; default: m_objRender = WResourceManager.LoadObjResource("resources/editor/EditorCube.obj", new OpenTK.Vector4(1f, 1f, 1f, 1f)); break; } }
public void LoadSkyboxModelsFromFixedModelList(string rootFolder) { string[] fileNames = new[] { "vr_sky", "vr_kasumi_mae", "vr_uso_umi", "vr_back_cloud" }; string[] extNames = new[] { ".bmd", ".bdl" }; foreach (var model in fileNames) { foreach (var ext in extNames) { string fullPath = Path.Combine(rootFolder, model + ext); if (File.Exists(fullPath)) { J3D j3dModel = WResourceManager.LoadResource(fullPath); J3DNode modelNode = new J3DNode(j3dModel, m_world, fullPath); switch (model) { case "vr_sky": m_vrSky = modelNode; break; case "vr_kasumi_mae": m_vrKasumiMae = modelNode; break; case "vr_uso_umi": m_vrUsoUmi = modelNode; break; case "vr_back_cloud": m_vrBackCloud = modelNode; break; } } } } }
protected virtual J3D LoadModel(string rootFolder, string modelName) { string[] extNames = new[] { ".bmd", ".bdl" }; foreach (var ext in extNames) { string fullPath = Path.Combine(rootFolder, modelName + ext); if (File.Exists(fullPath)) { J3D j3dMesh = WResourceManager.LoadResource(fullPath); // Now that we've loaded a j3dMesh, we're going to try loading btk anims too. string btkFolder = rootFolder + "\\..\\btk\\"; string btkFile = btkFolder + modelName + ".btk"; if (File.Exists(btkFile)) { j3dMesh.LoadMaterialAnim(btkFile); j3dMesh.SetMaterialAnimation(modelName); } return(j3dMesh); } } return(null); }
private void ImportVisualMeshToCategory(View.VisualMeshImportWindow importWindow, CategoryDOMNode category, string meshName) { List <J3DNode> meshList = category.GetChildrenOfType <J3DNode>(); bool isBDL = true; J3DNode oldMeshNode = meshList.Find(x => x.Name == meshName); if (oldMeshNode != null) { category.Children.Remove(oldMeshNode); isBDL = oldMeshNode.Model.StudioType == "bdl4"; } string fileExt = Path.GetExtension(importWindow.FileName); string loadFilename = ""; if (fileExt == ".bmd" || fileExt == ".bdl") { loadFilename = importWindow.FileName; } else { loadFilename = ImportVisualMesh(importWindow, isBDL); } JStudio.J3D.J3D newMesh = WResourceManager.LoadResource(loadFilename); newMesh.Name = meshName; J3DNode newNode = new J3DNode(newMesh, MainWorld, loadFilename); category.Children.Add(newNode); }
public override void PostLoad() { m_actorMeshes = WResourceManager.LoadActorResource("Jabun's Bombable Stone Wall"); // TODO: Models 1-5 need to have their textures copied from model 0 to look correct. // Winditor's code doesn't seem to support copying textures between models without crashing. base.PostLoad(); }
private void UpdateModel() { if (Strength == StrengthEnum.Weak_Boarded_Up_Wall) { if (Height == HeightEnum.Single) { m_actorMeshes = WResourceManager.LoadActorResource("Weak Wooden Barrier 1x"); } else { m_actorMeshes = WResourceManager.LoadActorResource("Weak Wooden Barrier 2x"); } } else { if (Height == HeightEnum.Single) { m_actorMeshes = WResourceManager.LoadActorResource("Strong Wooden Barrier 1x"); } else { m_actorMeshes = WResourceManager.LoadActorResource("Strong Wooden Barrier 2x"); } } }
private void UpdateModel() { VisualScaleMultiplier = new Vector3(1f, 1f, 1f); switch (Type) { case TypeEnum.Small_Jet: m_actorMeshes = WResourceManager.LoadActorResource("Medium Magma Jet"); VisualScaleMultiplier = new Vector3(0.5f, 0.5f, 0.5f); break; case TypeEnum.Medium_Jet: default: m_actorMeshes = WResourceManager.LoadActorResource("Medium Magma Jet"); break; case TypeEnum.Large_Jet: m_actorMeshes = WResourceManager.LoadActorResource("Large Magma Jet"); VisualScaleMultiplier = new Vector3(1f, 0.815f, 1f); break; case TypeEnum.Very_Large_Jet: m_actorMeshes = WResourceManager.LoadActorResource("Large Magma Jet"); break; } }
public void UpdateModel() { m_brazierModel = null; m_objRender = null; m_actorMeshes = null; if (HasBrazier()) { if (IsWooden) { m_actorMeshes = WResourceManager.LoadActorResource("Wooden Torch"); } else { m_actorMeshes = WResourceManager.LoadActorResource("Golden Torch"); } } if (m_actorMeshes == null) { m_actorMeshes = new List <J3D>(); } if (m_actorMeshes.Count > 0) { m_brazierModel = m_actorMeshes[0]; } else { m_objRender = WResourceManager.LoadObjResource("resources/editor/EditorCube.obj", new OpenTK.Vector4(1, 1, 1, 1)); } }
private void UpdateModel() { // NOTE: BTP animations are not implemented currently, so this code won't actually change the color the Poe appears as yet. switch (Color) { case ColorEnum.Blue: m_actorMeshes = WResourceManager.LoadActorResource("Blue Poe"); break; case ColorEnum.Purple: m_actorMeshes = WResourceManager.LoadActorResource("Purple Poe"); break; case ColorEnum.Orange: m_actorMeshes = WResourceManager.LoadActorResource("Orange Poe"); break; case ColorEnum.Yellow: m_actorMeshes = WResourceManager.LoadActorResource("Yellow Poe"); break; case ColorEnum.Red: m_actorMeshes = WResourceManager.LoadActorResource("Red Poe"); break; case ColorEnum.Green: m_actorMeshes = WResourceManager.LoadActorResource("Green Poe"); break; default: m_actorMeshes = WResourceManager.LoadActorResource("Blue Poe"); break; } }
public override void PostLoad() { m_actorMeshes = WResourceManager.LoadActorResource("Sign"); VisualScaleMultiplier = new OpenTK.Vector3(0.8f); MessageReference = new MessageReference((ushort)MessageID); }
private void UpdateModel() { if (IsFireKeese) { if (BehaviorType == BehaviorTypeEnum.Hanging_from_ceiling || BehaviorType == BehaviorTypeEnum.Hanging_from_ceiling_passive) { m_actorMeshes = WResourceManager.LoadActorResource("Hanging Fire Keese"); } else { m_actorMeshes = WResourceManager.LoadActorResource("Flying Fire Keese"); } } else { if (BehaviorType == BehaviorTypeEnum.Hanging_from_ceiling || BehaviorType == BehaviorTypeEnum.Hanging_from_ceiling_passive) { m_actorMeshes = WResourceManager.LoadActorResource("Hanging Keese"); } else { m_actorMeshes = WResourceManager.LoadActorResource("Flying Keese"); } } }
public void ShutdownWorld() { System.Console.WriteLine("Shutdown World"); // Unload any loaded resources and free all associated memory. WResourceManager.UnloadAllResources(); // Free collision mesh resources. if (Map != null) { foreach (var scene in Map.SceneList) { foreach (var collisionMesh in scene.GetChildrenOfType <WCollisionMesh>()) { collisionMesh.ReleaseResources(); } } } foreach (var view in m_sceneViews) { view.Dispose(); } m_ActorMode.Dispose(); m_EventMode.Dispose(); m_persistentLines.Dispose(); m_persistentQuads.Dispose(); }
public void UnloadMap() { // Clear our Undo/Redo Stack m_undoStack.Clear(); // Clear our array of currently selected objects as well. m_CurrentMode.ClearSelection(); // Unload any loaded resources and free all associated memory. WResourceManager.UnloadAllResources(); // Free collision mesh resources. if (Map != null) { foreach (var scene in Map.SceneList) { foreach (var collisionMesh in scene.GetChildrenOfType <WCollisionMesh>()) { collisionMesh.ReleaseResources(); } } } m_ActorMode.DetailsViewModel.Categories = new System.Collections.Specialized.OrderedDictionary(); m_CollisionMode.Shutdown(); // Clear persistent lines from the last map as well. m_persistentLines.Clear(); m_persistentQuads.Clear(); m_currentMap = null; PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Map")); }
public override void PostLoad() { base.PostLoad(); m_RegionAreaModel = WResourceManager.LoadObjResource("resources/editor/EditorCube.obj", new OpenTK.Vector4(1f, 1f, 1f, 1f), true, false); MessageReference = new MessageReference((ushort)MessageID); }
private List <J3D> GetModelsFromObjectArc() { List <J3D> model_list = new List <J3D>(); switch (AppearanceType) { case AppearanceTypeEnum.Earth_Temple_Normal: model_list.AddRange(WResourceManager.LoadActorResource("Earth Temple Door")); break; case AppearanceTypeEnum.Earth_Temple_Miniboss: model_list.AddRange(WResourceManager.LoadActorResource("Earth Temple Miniboss Door")); break; case AppearanceTypeEnum.Earth_Temple_Boss: model_list.AddRange(WResourceManager.LoadActorResource("Earth Temple Boss Door")); break; case AppearanceTypeEnum.Wind_Temple_Normal: model_list.AddRange(WResourceManager.LoadActorResource("Wind Temple Door")); break; case AppearanceTypeEnum.Wind_Temple_Miniboss: model_list.AddRange(WResourceManager.LoadActorResource("Wind Temple Miniboss Door")); break; case AppearanceTypeEnum.Wind_Temple_Boss: model_list.AddRange(WResourceManager.LoadActorResource("Wind Temple Boss Door")); break; } bool isLocked = false; if (BehaviorType == BehaviorTypeEnum.Boss_Locked || AppearanceType == AppearanceTypeEnum.Earth_Temple_Boss || AppearanceType == AppearanceTypeEnum.Wind_Temple_Boss) { model_list.AddRange(WResourceManager.LoadActorResource("Boss Key Lock")); isLocked = true; } else if (BehaviorType == BehaviorTypeEnum.Locked) { model_list.AddRange(WResourceManager.LoadActorResource("Small Key Lock")); isLocked = true; } WStage stage = World.Map.SceneList.First(x => x.GetType() == typeof(WStage)) as WStage; VirtualFilesystemDirectory stage_dir = stage.SourceDirectory; if (Switch2 != 255 || (!isLocked && Switch1 != 255)) { if (stage_dir.GetFileAtPath("bdl/stop10.bdl") != null) { model_list.Add(WResourceManager.LoadModelFromVFS(stage_dir, "bdl/stop10.bdl")); } } return(model_list); }
public override void PostLoad() { if (string.IsNullOrEmpty(Name)) { Name = "Link"; } m_actorMeshes = WResourceManager.LoadActorResource("Link"); }
private void UpdateModel() { if (HasLadder) { m_actorMeshes = WResourceManager.LoadActorResource("Lookout Platform With Ladder"); } else { m_actorMeshes = WResourceManager.LoadActorResource("Lookout Platform Without Ladder"); } }
private void UpdateModel() { if (IdleAnimation == IdleAnimationEnum.Standing) { m_actorMeshes = WResourceManager.LoadActorResource("Standing ReDead"); } else { m_actorMeshes = WResourceManager.LoadActorResource("Sitting ReDead"); } }
private void UpdateModel() { if (Unknown_1 == 0) { m_actorMeshes = WResourceManager.LoadActorResource("Windmill 1"); } else { m_actorMeshes = WResourceManager.LoadActorResource("Windmill 2"); } }
private void UpdateModel() { if (Type == TypeEnum.Blocks_Chest) { m_actorMeshes = WResourceManager.LoadActorResource("Eye-Vine Chest Blocker"); } else { m_actorMeshes = WResourceManager.LoadActorResource("Eye-Vine Door Blocker"); } }