Example #1
0
            /// <summary>
            /// Invokes the Xna PostLoadContent event.
            /// </summary>
            /// <param name="content"></param>
            public static void InvokePostLoadContent(ContentManager content)
            {
                var args = new XnaLoadContentEventArgs
                {
                    Content = content
                };

                PostLoadContent.Invoke(args);
            }
Example #2
0
        /// <summary>
        /// Xna PostLoadContent event callback.
        /// </summary>
        /// <param name="e"></param>
        public static void OnXnaPostLoadContent(XnaLoadContentEventArgs e)
        {
            Logging.Instance.Log("[Detox:Xna] OnXnaPostLoadContent was called!");

            // Store the sprite batch object..
            Terraria.MainSpriteBatch = Terraria.GetMainField <SpriteBatch>("spriteBatch", true);

            // Load tiny font for chat..
            Detox.TinyFont = e.Content.Load <SpriteFont>(Path.Combine(Detox.DetoxBasePath, "DetoxContent\\Fonts\\tiny"));

            // Override fonts per-configrations..
            if (Configurations.Instance.Current.CustomObjects.UseCustomFonts)
            {
                // Load ou custom fonts..
                var small  = e.Content.Load <SpriteFont>(Path.Combine(Detox.DetoxBasePath, "DetoxContent\\Fonts\\small"));
                var medium = e.Content.Load <SpriteFont>(Path.Combine(Detox.DetoxBasePath, "DetoxContent\\Fonts\\medium"));
                var large  = e.Content.Load <SpriteFont>(Path.Combine(Detox.DetoxBasePath, "DetoxContent\\Fonts\\large"));
                var huge   = e.Content.Load <SpriteFont>(Path.Combine(Detox.DetoxBasePath, "DetoxContent\\Fonts\\huge"));

                // Set the Terraria fonts..
                Terraria.SetMainField("fontCombatText", new[] { medium, large });
                Terraria.SetMainField("fontDeathText", huge);
                Terraria.SetMainField("fontItemStack", small);
                Terraria.SetMainField("fontMouseText", small);
            }

            // Override hp/mp icons per-configurations..
            if (Configurations.Instance.Current.CustomObjects.UseCustomHpMpIcons)
            {
                using (var hpStream = new FileStream(Path.Combine(Detox.DetoxBasePath, "DetoxContent\\hp.png"), FileMode.Open, FileAccess.Read))
                {
                    var hpTexture = Texture2D.FromStream(Terraria.MainGame.GraphicsDevice, hpStream);
                    Terraria.SetMainField("heartTexture", hpTexture);
                }

                using (var hpStream = new FileStream(Path.Combine(Detox.DetoxBasePath, "DetoxContent\\hp2.png"), FileMode.Open, FileAccess.Read))
                {
                    var hpTexture = Texture2D.FromStream(Terraria.MainGame.GraphicsDevice, hpStream);
                    Terraria.SetMainField("heart2Texture", hpTexture);
                }

                using (var mpStream = new FileStream(Path.Combine(Detox.DetoxBasePath, "DetoxContent\\mp.png"), FileMode.Open, FileAccess.Read))
                {
                    var mpTexture = Texture2D.FromStream(Terraria.MainGame.GraphicsDevice, mpStream);
                    Terraria.SetMainField("manaTexture", mpTexture);
                }
            }

            // Override background textures per-configurations..
            if (Configurations.Instance.Current.CustomObjects.UseCustomBackgrounds)
            {
                // Set the inventory background textures..
                using (var bgStream = new FileStream(Path.Combine(Detox.DetoxBasePath, "DetoxContent\\bg.png"), FileMode.Open, FileAccess.Read))
                {
                    var bg = Texture2D.FromStream(Terraria.MainGame.GraphicsDevice, bgStream);
                    Terraria.SetMainField("inventoryBackTexture", bg);
                    for (var x = 2; x <= 12; x++)
                    {
                        Terraria.SetMainField(string.Format("inventoryBack{0}Texture", x), bg);
                    }
                }

                // Set the npc chat background texture..
                using (var chatBackgroundStream = new FileStream(Path.Combine(Detox.DetoxBasePath, "DetoxContent\\chat_bg.png"), FileMode.Open, FileAccess.Read))
                {
                    var chatBackgroundTexture = Texture2D.FromStream(Terraria.MainGame.GraphicsDevice, chatBackgroundStream);
                    Terraria.SetMainField("chatBackTexture", chatBackgroundTexture);
                }
            }

            // Delete the original Terraria mouse texture..
            var cursorTexture = new Texture2D(Terraria.MainGame.GraphicsDevice, 1, 1);

            cursorTexture.SetData(new[] { Color.Transparent });
            Terraria.SetMainField("cursorTexture", cursorTexture);

            Logging.Instance.Log("[Detox:Xna] OnXnaPostLoadContent completed!");
        }
Example #3
0
 /// <summary>
 /// Invokes the Xna PostLoadContent event.
 /// </summary>
 /// <param name="content"></param>
 public static void InvokePostLoadContent(ContentManager content)
 {
     var args = new XnaLoadContentEventArgs
         {
             Content = content
         };
     PostLoadContent.Invoke(args);
 }