Compare commits

...

17 Commits

Author SHA1 Message Date
34c125e6bb no message 2026-02-15 01:14:09 -08:00
66905c9b53 Overhaul 2026-02-15 01:06:46 -08:00
Pal
a1f4a29eb3 Mask of Zeal, Mask Placeholder, Health Item Placeholder, VT pickup animation added. Temp Environment added to Final Floor. 2026-02-15 00:57:19 -08:00
a6ea1b1873 laptop 2026-02-14 19:26:33 -08:00
Pal
47ceb2f613 Remove E, fix UI, Altar scale better 2026-02-14 16:49:16 -08:00
bf6b0d50c3 Additional in progress changes 2026-02-13 23:39:49 -08:00
c7603a163f Revert "update"
This reverts commit fe0241ac88.
2026-02-13 16:33:44 -08:00
a20c80d922 Remaining changes 2026-02-13 16:33:30 -08:00
e14007b7f4 Merge branch 'main' into item_changes 2026-02-13 16:24:40 -08:00
b17c134c9a Add debug info folder that got filtered by git 2026-02-13 16:12:34 -08:00
fe0241ac88 update 2026-02-13 16:11:38 -08:00
0ab6ef1343 In progress item changes 2026-02-13 15:59:10 -08:00
Pal
638946d23a UI Mockup Ver.2 With Correct Transparencies 2026-02-13 15:48:04 -08:00
Pal
b56668dcbe 3D Render Icons Wave 1 Added 2026-02-13 14:44:03 -08:00
d6faf8642a Fix up debug info overlay 2026-02-13 10:14:42 -08:00
68b1455c53 Fix restorative 2026-02-12 23:28:51 -08:00
9615e1e251 Audio fade 2026-02-12 22:42:18 -08:00
305 changed files with 6013 additions and 2425 deletions

View File

@@ -2,5 +2,5 @@
public interface IHealthPack
{
public double RestoreAmount { get; }
public int RestoreAmount { get; }
}

View File

@@ -47,4 +47,8 @@ public partial class DimmableAudioStreamPlayer3D : AudioStreamPlayer3D, IDimmabl
FADE_DURATION
).SetTrans(Tween.TransitionType.Circ).SetEase(ease);
}
public override void _EnterTree() => FadeIn();
public override void _ExitTree() => FadeOut();
}

View File

@@ -5,21 +5,21 @@ using Zennysoft.Ma.Adapter.Entity;
namespace Zennysoft.Ma.Adapter;
public interface IEquipmentComponent : IEntityComponent
{
public IAutoProp<EquipableItem> EquippedWeapon { get; }
public IAutoProp<IWeapon> EquippedWeapon { get; }
public IAutoProp<EquipableItem> EquippedArmor { get; }
public IAutoProp<IArmor> EquippedArmor { get; }
public IAutoProp<EquipableItem> EquippedAccessory { get; }
public IAutoProp<IAccessory> EquippedAccessory { get; }
public IAutoProp<EquipableItem> EquippedAmmo { get; }
public IAutoProp<IEquipableItem> EquippedAmmo { get; }
public void Equip(EquipableItem equipable);
public void Equip(IEquipableItem equipable);
public void Unequip(EquipableItem equipable);
public void Unequip(IEquipableItem equipable);
public bool IsItemEquipped(InventoryItem item);
public bool IsItemEquipped(IEquipableItem item);
public void UpdateEquipment(EquipableItem equipable);
public void UpdateEquipment(IEquipableItem equipable);
public bool AugmentableEquipmentExists();
@@ -35,5 +35,5 @@ public interface IEquipmentComponent : IEntityComponent
public ElementalResistanceSet ElementalResistance { get; }
public event Action<EquipableItem> EquipmentChanged;
public event Action<IEquipableItem> EquipmentChanged;
}

View File

@@ -16,6 +16,8 @@ public interface IExperiencePointsComponent : IEntityComponent
public void Gain(int baseExpGain);
public void GainUnmodified(int flateRateExpGain);
public void LevelUp();
public event Action PlayerLevelUp;

View File

@@ -13,13 +13,6 @@ public class Augment
public IAugmentType AugmentType { get; set; }
}
public interface IAugmentType
{
void Apply();
void Remove();
}
public class HPRecoverySpeedAugment : IAugmentType
{
private readonly IPlayer _player;

View File

@@ -1,28 +0,0 @@
using Chickensoft.Introspection;
using Chickensoft.Serialization;
using Zennysoft.Ma.Adapter.Entity;
namespace Zennysoft.Ma.Adapter;
[Meta, Id("equipable_item")]
public abstract partial class EquipableItem : InventoryItem
{
[Save("bonus_attack_stats")]
public virtual int BonusAttack { get; }
[Save("bonus_defense_stats")]
public virtual int BonusDefense { get; }
[Save("bonus_hp_stats")]
public virtual int BonusHP { get; }
[Save("bonus_vt_stats")]
public virtual int BonusVT { get; }
[Save("bonus_luck_stats")]
public virtual int BonusLuck { get; }
[Save("equipment_is_glued")]
public bool Glued { get; set; }
public virtual Augment? Augment { get; set; }
[Save("bonus_elemental_resist_stats")]
public virtual ElementalResistanceSet ElementalResistance { get; } = new ElementalResistanceSet(0, 0, 0, 0, 0, 0, 0);
}

View File

@@ -0,0 +1,6 @@
public interface IAugmentType
{
void Apply();
void Remove();
}

View File

@@ -1,26 +0,0 @@
using Chickensoft.Introspection;
using Chickensoft.Serialization;
using Godot;
namespace Zennysoft.Ma.Adapter;
[Meta, Id("inventory_item")]
public abstract partial class InventoryItem : Node3D
{
[Save("inventory_item_id")]
public Guid ID => Guid.NewGuid();
[Save("inventory_item_name")]
public abstract string ItemName { get; }
[Save("inventory_item_description")]
public abstract string Description { get; }
[Save("inventory_item_spawn_rate")]
public abstract float SpawnRate { get; }
[Save("inventory_item_throw_damage")]
public abstract int ThrowDamage { get; }
[Save("inventory_item_throw_speed")]
public abstract float ThrowSpeed { get; }
[Save("inventory_item_tag")]
public abstract ItemTag ItemTag { get; }
public abstract Texture2D GetTexture();
}

View File

@@ -20,7 +20,7 @@ public interface IGameRepo : IDisposable
event Action? DoubleExpTimeEnd;
event Action<InventoryItem>? RemoveItemFromInventoryEvent;
event Action<IBaseInventoryItem>? RemoveItemFromInventoryEvent;
event Action? PlayerAttack;
@@ -28,11 +28,9 @@ public interface IGameRepo : IDisposable
event Action? PlayerAttackedEnemy;
event Action<EquipableItem>? EquippedItem;
event Action<IEquipableItem>? EquippedItem;
event Action<EquipableItem>? UnequippedItem;
event Action<IHealthPack>? RestorativePickedUp;
event Action<IEquipableItem>? UnequippedItem;
event Action<IEnemy>? EnemyDied;
@@ -50,21 +48,19 @@ public interface IGameRepo : IDisposable
public void AnnounceMessageInInventory(string message);
public void RemoveItemFromInventory(InventoryItem item);
public void RemoveItemFromInventory(IBaseInventoryItem item);
public void OnPlayerAttack();
public void OnPlayerAttackedWall();
public void OnRestorativePickedUp(IHealthPack restorative);
public void CloseInventory();
public void GameEnded();
public void OnEquippedItem(EquipableItem item);
public void OnEquippedItem(IEquipableItem item);
public void OnUnequippedItem(EquipableItem item);
public void OnUnequippedItem(IEquipableItem item);
public void OnEnemyDied(IEnemy enemy);
@@ -79,13 +75,12 @@ public class GameRepo : IGameRepo
public event Action<string>? AnnounceMessageInInventoryEvent;
public event Action<int>? DoubleExpTimeStart;
public event Action? DoubleExpTimeEnd;
public event Action<InventoryItem>? RemoveItemFromInventoryEvent;
public event Action<IBaseInventoryItem>? RemoveItemFromInventoryEvent;
public event Action? PlayerAttack;
public event Action? PlayerAttackedWall;
public event Action? PlayerAttackedEnemy;
public event Action<EquipableItem>? EquippedItem;
public event Action<EquipableItem>? UnequippedItem;
public event Action<IHealthPack>? RestorativePickedUp;
public event Action<IEquipableItem>? EquippedItem;
public event Action<IEquipableItem>? UnequippedItem;
public event Action<IEnemy>? EnemyDied;
public IAutoProp<bool> IsPaused => _isPaused;
private readonly AutoProp<bool> _isPaused;
@@ -136,7 +131,7 @@ public class GameRepo : IGameRepo
AnnounceMessageInInventoryEvent?.Invoke(message);
}
public void RemoveItemFromInventory(InventoryItem item)
public void RemoveItemFromInventory(IBaseInventoryItem item)
{
RemoveItemFromInventoryEvent?.Invoke(item);
}
@@ -151,19 +146,14 @@ public class GameRepo : IGameRepo
PlayerAttackedWall?.Invoke();
}
public void OnRestorativePickedUp(IHealthPack restorative)
{
RestorativePickedUp?.Invoke(restorative);
}
public void CloseInventory()
{
CloseInventoryEvent?.Invoke();
}
public void OnEquippedItem(EquipableItem item) => EquippedItem?.Invoke(item);
public void OnEquippedItem(IEquipableItem item) => EquippedItem?.Invoke(item);
public void OnUnequippedItem(EquipableItem item) => UnequippedItem?.Invoke(item);
public void OnUnequippedItem(IEquipableItem item) => UnequippedItem?.Invoke(item);
public void OnEnemyDied(IEnemy enemy) => EnemyDied?.Invoke(enemy);

View File

@@ -0,0 +1,5 @@
using Zennysoft.Ma.Adapter;
public interface IAccessory : IEquipableItem, IAugmentableItem
{
}

View File

@@ -0,0 +1,5 @@
using Zennysoft.Ma.Adapter;
public interface IArmor : IEquipableItem, IAugmentableItem
{
}

View File

@@ -1,7 +1,5 @@
namespace Zennysoft.Ma.Adapter
public interface IAugmentItem : IBaseInventoryItem
{
public interface IAugmentItem
{
public JewelTags Augment { get; }
}
public IAugmentType Augment { get; }
}

View File

@@ -0,0 +1,7 @@
namespace Zennysoft.Ma.Adapter
{
public interface IAugmentableItem
{
public Augment? Augment { get; }
}
}

View File

@@ -0,0 +1,15 @@
using Godot;
using Zennysoft.Ma.Adapter;
public interface IBaseInventoryItem
{
public string ItemName { get; }
public string Description { get; }
public float SpawnRate { get; }
public int ThrowDamage { get; }
public float ThrowSpeed { get; }
public ItemTag ItemTag { get; }
public abstract Texture2D GetTexture();
}

View File

@@ -4,6 +4,6 @@
{
void RescueItem();
public InventoryItem Item { get; }
public IBaseInventoryItem Item { get; }
}
}

View File

@@ -0,0 +1,14 @@
using Zennysoft.Ma.Adapter.Entity;
public interface IEquipableItem : IBaseInventoryItem
{
public int BonusAttack { get; }
public int BonusDefense { get; }
public int BonusHP { get; }
public int BonusVT { get; }
public int BonusLuck { get; }
public bool Glued { get; set; }
public ElementalResistanceSet ElementalResistance { get; }
}

View File

@@ -2,17 +2,17 @@
public interface IInventory
{
public bool PickUpItem(InventoryItem item);
public bool PickUpItem(IBaseInventoryItem item);
public List<InventoryItem> Items { get; }
public List<IBaseInventoryItem> Items { get; }
public bool TryAdd(InventoryItem inventoryItem);
public bool TryAdd(IBaseInventoryItem inventoryItem);
public bool TryInsert(InventoryItem inventoryItem, int index);
public bool TryInsert(IBaseInventoryItem inventoryItem, int index);
public void Remove(InventoryItem inventoryItem);
public void Remove(IBaseInventoryItem inventoryItem);
public bool Sort(EquipableItem currentWeapon, EquipableItem currentArmor, EquipableItem currentAccessory, EquipableItem ammo);
public bool Sort(IWeapon currentWeapon, IArmor currentArmor, IAccessory currentAccessory, IEquipableItem ammo);
public bool AtCapacity();

View File

@@ -2,5 +2,5 @@
public interface IThrownItem
{
public InventoryItem ItemThatIsThrown { get; set; }
public IBaseInventoryItem ItemThatIsThrown { get; set; }
}

View File

@@ -0,0 +1,5 @@
using Zennysoft.Ma.Adapter;
public interface IWeapon : IEquipableItem, IAugmentableItem
{
}

View File

@@ -7,10 +7,10 @@ namespace Zennysoft.Ma.Adapter;
public partial class RescuedItemDatabase
{
[Save("rescued_item_list")]
public List<InventoryItem> Items { get; init; }
public List<IBaseInventoryItem> Items { get; init; }
public RescuedItemDatabase()
{
Items = new List<InventoryItem>();
Items = new List<IBaseInventoryItem>();
}
}

View File

@@ -20,15 +20,15 @@ public interface IPlayer : IKillable, ICharacterBody3D
public void TeleportPlayer((Vector3 Rotation, Vector3 Position) newTransform);
public void Equip(EquipableItem equipable);
public void Equip(IEquipableItem equipable);
public void Unequip(EquipableItem equipable);
public void Unequip(IEquipableItem equipable);
public void PlayJumpScareAnimation();
public void ApplyNewAugment(IAugmentItem jewel, EquipableItem equipableItem);
public void ApplyNewAugment(IAugmentItem jewel, IAugmentableItem equipableItem);
public void IdentifyItem(InventoryItem unidentifiedItem);
public void IdentifyItem(IBaseInventoryItem unidentifiedItem);
public IInventory Inventory { get; }
@@ -63,5 +63,5 @@ public interface IPlayer : IKillable, ICharacterBody3D
public bool AutoIdentifyItems { get; set; }
public event Action PlayerDied;
public delegate InventoryItem RerollItem(InventoryItem item);
public delegate IBaseInventoryItem RerollItem(IBaseInventoryItem item);
}

View File

@@ -8,8 +8,6 @@ public partial class PlayerLogic
{
public readonly record struct PhysicsTick(double Delta);
public readonly record struct Moved(Vector3 GlobalPosition, Transform3D GlobalTransform);
public readonly record struct Enable;
public readonly record struct Attack;

View File

@@ -38,7 +38,7 @@ public partial class InGameUILogic
Output(new Output.AnnounceMessageInInventory(message));
}
private void OnRemoveItemFromInventory(InventoryItem item) => Output(new Output.RemoveItemFromInventory(item));
private void OnRemoveItemFromInventory(IBaseInventoryItem item) => Output(new Output.RemoveItemFromInventory(item));
}
}

View File

@@ -8,7 +8,7 @@ public partial class InGameUILogic
{
public readonly record struct AnnounceMessageOnMainScreen(string Message);
public readonly record struct AnnounceMessageInInventory(string Message);
public readonly record struct RemoveItemFromInventory(InventoryItem Item);
public readonly record struct RemoveItemFromInventory(IBaseInventoryItem Item);
public readonly record struct ShowInventory;
public readonly record struct HideInventory;
}

View File

@@ -79,6 +79,10 @@ folder_colors={
import/blender/enabled=false
[global_group]
DimmableAudio=""
[importer_defaults]
texture={

View File

@@ -6,23 +6,23 @@ using Zennysoft.Ma.Adapter.Entity;
namespace Zennysoft.Game.Ma;
public class EquipmentComponent : IEquipmentComponent
{
public IAutoProp<EquipableItem> EquippedWeapon => _equippedWeapon;
public IAutoProp<IWeapon> EquippedWeapon => _equippedWeapon;
public IAutoProp<EquipableItem> EquippedArmor => _equippedArmor;
public IAutoProp<IArmor> EquippedArmor => _equippedArmor;
public IAutoProp<EquipableItem> EquippedAccessory => _equippedAccessory;
public IAutoProp<IAccessory> EquippedAccessory => _equippedAccessory;
public IAutoProp<EquipableItem> EquippedAmmo => _equippedAmmo;
public IAutoProp<IEquipableItem> EquippedAmmo => _equippedAmmo;
public AutoProp<EquipableItem> _equippedWeapon;
public AutoProp<IWeapon> _equippedWeapon;
public AutoProp<EquipableItem> _equippedArmor;
public AutoProp<IArmor> _equippedArmor;
public AutoProp<EquipableItem> _equippedAccessory;
public AutoProp<IAccessory> _equippedAccessory;
public AutoProp<EquipableItem> _equippedAmmo;
public AutoProp<IEquipableItem> _equippedAmmo;
public event Action<EquipableItem> EquipmentChanged;
public event Action<IEquipableItem> EquipmentChanged;
public int BonusAttack => _equippedWeapon.Value.BonusAttack + _equippedArmor.Value.BonusAttack + _equippedAccessory.Value.BonusAttack;
@@ -38,10 +38,10 @@ public class EquipmentComponent : IEquipmentComponent
public EquipmentComponent()
{
_equippedWeapon = new AutoProp<EquipableItem>(new Weapon());
_equippedArmor = new AutoProp<EquipableItem>(new Armor());
_equippedAccessory = new AutoProp<EquipableItem>(new Accessory());
_equippedAmmo = new AutoProp<EquipableItem>(new Ammo());
_equippedWeapon = new AutoProp<IWeapon>(new Weapon());
_equippedArmor = new AutoProp<IArmor>(new Armor());
_equippedAccessory = new AutoProp<IAccessory>(new Accessory());
_equippedAmmo = new AutoProp<IEquipableItem>(new Ammo());
}
public void Reset()
@@ -52,7 +52,7 @@ public class EquipmentComponent : IEquipmentComponent
_equippedAmmo.OnNext(new Ammo());
}
public void Equip(EquipableItem equipable)
public void Equip(IEquipableItem equipable)
{
if (equipable is Weapon weapon)
_equippedWeapon.OnNext(weapon);
@@ -65,7 +65,7 @@ public class EquipmentComponent : IEquipmentComponent
EquipmentChanged?.Invoke(equipable);
}
public void Unequip(EquipableItem equipable)
public void Unequip(IEquipableItem equipable)
{
if (equipable is Weapon weapon)
_equippedWeapon.OnNext(new Weapon());
@@ -78,15 +78,12 @@ public class EquipmentComponent : IEquipmentComponent
EquipmentChanged?.Invoke(equipable);
}
public bool IsItemEquipped(InventoryItem item)
public bool IsItemEquipped(IEquipableItem item)
{
if (item is not EquipableItem)
return false;
return item == _equippedWeapon.Value || item == _equippedArmor.Value || item == _equippedAccessory.Value || item == _equippedAmmo.Value;
}
public void UpdateEquipment(EquipableItem equipable) => EquipmentChanged?.Invoke(equipable);
public void UpdateEquipment(IEquipableItem equipable) => EquipmentChanged?.Invoke(equipable);
public bool AugmentableEquipmentExists()
{

View File

@@ -51,6 +51,16 @@ public class ExperiencePointsComponent : IExperiencePointsComponent
var cappedAmount = Math.Min(baseExpGain + _currentExp.Value, _expToNextLevel.Value);
_currentExp.OnNext(cappedAmount);
}
public void GainUnmodified(int flatRateExp)
{
var newCurrentExpTotal = flatRateExp + _currentExp.Value;
while (flatRateExp + _currentExp.Value >= _expToNextLevel.Value)
LevelUp();
var cappedAmount = Math.Min(flatRateExp + _currentExp.Value, _expToNextLevel.Value);
_currentExp.OnNext(cappedAmount);
}
public void ModifyExpGainRate(double newRate) => _expGainRate.OnNext(newRate);
public void LevelUp()

View File

@@ -146,7 +146,7 @@ public partial class App : Node, IApp
})
.Handle((in AppLogic.Output.SetupGameScene _) =>
{
LoadingScreen.Show();
LoadingScreen.ShowLoadingScreen();
LoadGame(GAME_SCENE_PATH);
})
.Handle((in AppLogic.Output.ShowMainMenu _) =>
@@ -155,7 +155,7 @@ public partial class App : Node, IApp
})
.Handle((in AppLogic.Output.CloseGame _) =>
{
LoadingScreen.Hide();
LoadingScreen.HideLoadingScreen();
_game.GameExitRequested -= GameExitRequested;
MainMenu.StartGameButton.GrabFocus();
_game.CallDeferred(MethodName.QueueFree, []);
@@ -166,13 +166,13 @@ public partial class App : Node, IApp
})
.Handle((in AppLogic.Output.EnemyViewerOpened _) =>
{
LoadingScreen.Show();
LoadingScreen.ShowLoadingScreen();
MainMenu.Hide();
LoadEnemyViewer(ENEMY_VIEWER_PATH);
})
.Handle((in AppLogic.Output.EnemyViewerExited _) =>
{
LoadingScreen.Hide();
LoadingScreen.HideLoadingScreen();
if (_enemyViewer != null && _enemyViewer is DataViewer enemyViewer)
enemyViewer.CallDeferred(MethodName.QueueFree);
MainMenu.Show();
@@ -203,24 +203,22 @@ public partial class App : Node, IApp
_game = scene as IGame;
_game.GameLoaded += OnGameLoaded;
_game.GameExitRequested += GameExitRequested;
await ToSignal(GetTree().CreateTimer(0.8f), "timeout");
CallDeferred(MethodName.AddChild, scene);
}
private void OnGameLoaded() => LoadingScreen.Hide();
private void OnGameLoaded() => LoadingScreen.HideLoadingScreen();
private async void LoadEnemyViewer(string sceneName)
{
var scene = await LoadSceneInternal(sceneName);
_enemyViewer = scene as IDataViewer;
await ToSignal(GetTree().CreateTimer(0.8f), "timeout");
CallDeferred(MethodName.AddChild, scene);
LoadingScreen.Hide();
LoadingScreen.HideLoadingScreen();
}
private async Task<Node> LoadSceneInternal(string sceneName)
{
LoadingScreen.Show();
LoadingScreen.ShowLoadingScreen();
LoadingScreen.ProgressBar.Value = 0;
var sceneLoader = new SceneLoader();
CallDeferred(MethodName.AddChild, sceneLoader);

View File

@@ -10,9 +10,16 @@
process_mode = 3
script = ExtResource("1_rt73h")
[node name="ColorRect" type="ColorRect" parent="."]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 1)
[node name="MainMenu" parent="." instance=ExtResource("2_1uiag")]
unique_name_in_owner = true
visible = false
[node name="OptionsMenu" parent="." instance=ExtResource("2_v0mgf")]
unique_name_in_owner = true
@@ -24,5 +31,6 @@ visible = false
[node name="LoadingScreen" parent="." instance=ExtResource("3_3st5l")]
unique_name_in_owner = true
visible = false
top_level = true
z_index = 999

View File

@@ -2,4 +2,5 @@
public partial class AmbientSFXPlayer : DimmableAudioStreamPlayer
{
public override void _EnterTree() => FadeIn();
}

View File

@@ -2,4 +2,5 @@
public partial class AmbientSFXPlayer3D : DimmableAudioStreamPlayer3D
{
public override void _EnterTree() => FadeIn();
}

View File

@@ -39,6 +39,7 @@ bus = &"SFX"
[node name="MoveSound" type="AudioStreamPlayer" parent="UI"]
unique_name_in_owner = true
stream = ExtResource("6_r16t0")
max_polyphony = 5
bus = &"SFX"
[node name="SelectSound" type="AudioStreamPlayer" parent="UI"]

View File

@@ -0,0 +1,40 @@
using Chickensoft.AutoInject;
using Chickensoft.Introspection;
using Godot;
using System.Linq;
using Zennysoft.Game.Ma;
using Zennysoft.Ma.Adapter;
using Zennysoft.Ma.Adapter.Entity;
[Meta(typeof(IAutoNode)), Id("debug")]
public partial class DebugInfo : Control
{
public override void _Notification(int what) => this.Notify(what);
[Dependency] private IGame _game => this.DependOn<IGame>();
[Dependency] private IGameRepo _gameRepo => this.DependOn<IGameRepo>();
[Dependency] private IMap _map => this.DependOn<IMap>();
[Dependency] private IPlayer _player => this.DependOn<IPlayer>();
[Node] public Label MapName { get; set; }
[Node] public Label EnemyCount { get; set; }
[Node] public Label DeathCount { get; set; }
public void OnResolved()
{
_map.FloorLoaded += _map_FloorLoaded;
_gameRepo.EnemyDied += _gameRepo_EnemyDied;
_player.PlayerDied += _player_PlayerDied;
DeathCount.Text = _game.QuestData.DeathCount.ToString();
}
private void _gameRepo_EnemyDied(IEnemy obj) => EnemyCount.Text = (EnemyCount.Text.ToInt() - 1).ToString();
private void _map_FloorLoaded()
{
MapName.Text = _map.CurrentFloor.SceneFilePath.GetFile().TrimSuffix(".tscn");
EnemyCount.Text = _map.CurrentFloor.GetChild(0).GetChildren().OfType<IDungeonRoom>().Select(x => x.GetChildren().OfType<IEnemy>()).Count().ToString();
}
private void _player_PlayerDied() => DeathCount.Text = _game.QuestData.DeathCount.ToString();
}

View File

@@ -0,0 +1 @@
uid://c4g3frcpt0h36

View File

@@ -0,0 +1,82 @@
[gd_scene load_steps=4 format=3 uid="uid://t22s2y1t8ktc"]
[ext_resource type="Script" uid="uid://c4g3frcpt0h36" path="res://src/debug_info/DebugInfo.cs" id="1_6tk84"]
[ext_resource type="LabelSettings" uid="uid://b6f8ggy3ulonb" path="res://src/ui/label_settings/GeorgiaItalic.tres" id="1_i766g"]
[ext_resource type="Script" uid="uid://3fpuxsgdl8xe" path="res://src/utils/FpsCounter.cs" id="3_rco7p"]
[node name="DebugInfo" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_6tk84")
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 20
theme_override_constants/margin_top = 20
theme_override_constants/margin_right = 20
theme_override_constants/margin_bottom = 20
[node name="VFlowContainer" type="VFlowContainer" parent="MarginContainer"]
layout_mode = 2
alignment = 2
[node name="FPS" type="HBoxContainer" parent="MarginContainer/VFlowContainer"]
layout_mode = 2
[node name="FPSLabel" type="Label" parent="MarginContainer/VFlowContainer/FPS"]
layout_mode = 2
text = "FPS:"
label_settings = ExtResource("1_i766g")
[node name="FPSCounter" type="Label" parent="MarginContainer/VFlowContainer/FPS"]
layout_mode = 2
label_settings = ExtResource("1_i766g")
script = ExtResource("3_rco7p")
[node name="MapInfo" type="HBoxContainer" parent="MarginContainer/VFlowContainer"]
layout_mode = 2
[node name="Map Name Label" type="Label" parent="MarginContainer/VFlowContainer/MapInfo"]
layout_mode = 2
text = "Map Name:"
label_settings = ExtResource("1_i766g")
[node name="MapName" type="Label" parent="MarginContainer/VFlowContainer/MapInfo"]
unique_name_in_owner = true
layout_mode = 2
label_settings = ExtResource("1_i766g")
[node name="EnemyInfo" type="HBoxContainer" parent="MarginContainer/VFlowContainer"]
layout_mode = 2
[node name="Enemy Count Label" type="Label" parent="MarginContainer/VFlowContainer/EnemyInfo"]
layout_mode = 2
text = "Number of enemies:"
label_settings = ExtResource("1_i766g")
[node name="EnemyCount" type="Label" parent="MarginContainer/VFlowContainer/EnemyInfo"]
unique_name_in_owner = true
layout_mode = 2
label_settings = ExtResource("1_i766g")
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VFlowContainer"]
layout_mode = 2
[node name="DeathCountLabel" type="Label" parent="MarginContainer/VFlowContainer/HBoxContainer"]
layout_mode = 2
text = "Player Death Count:"
label_settings = ExtResource("1_i766g")
[node name="DeathCount" type="Label" parent="MarginContainer/VFlowContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
label_settings = ExtResource("1_i766g")

View File

@@ -109,7 +109,6 @@ _acquireTargetTime = 2.0
unique_name_in_owner = true
avoidance_enabled = true
radius = 1.0
debug_enabled = true
[node name="SFX" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.0617, 0)

View File

@@ -7,11 +7,11 @@ using Chickensoft.SaveFileBuilder;
using Godot;
using System;
using System.Text.Json;
using Zennysoft.Game.Abstractions;
using Zennysoft.Ma.Adapter;
using System.IO;
using System.Threading.Tasks;
using Zennysoft.Game.Implementation;
using Zennysoft.Ma.Adapter.Entity;
[Meta(typeof(IAutoNode))]
public partial class Game : Node3D, IGame
@@ -157,9 +157,7 @@ public partial class Game : Node3D, IGame
GameState.Set(_player);
GameState.Set(_map);
GameState.Set(InGameUI);
GameRepo.Resume();
InGameUI.Show();
HandleGameLogic();
GameState.Start();
this.Provide();
@@ -172,9 +170,10 @@ public partial class Game : Node3D, IGame
OnLoadLevelRequest += LoadLevel;
GameRepo.RestorativePickedUp += GameEventDepot_RestorativePickedUp;
GameRepo.CloseInventoryEvent += ExitInventoryAction;
GameRepo.EnemyDied += GameRepo_EnemyDied;
_player.Inventory.BroadcastMessage += BroadcastMessage;
_map.FloorLoaded += OnFloorLoadFinished;
@@ -187,6 +186,13 @@ public partial class Game : Node3D, IGame
GameRepo.IsPaused.Sync += IsPaused_Sync;
InGameUI.PlayerInfoUI.Activate();
InGameUI.Show();
GameRepo.Resume();
}
private void GameRepo_EnemyDied(IEnemy obj)
{
DropRestorative(obj.GlobalPosition);
}
private void BroadcastMessage(string obj)
@@ -203,14 +209,13 @@ public partial class Game : Node3D, IGame
_effectService = new EffectService(this, _player, _map);
_player.Activate();
await _map.LoadFloor();
GameLoaded?.Invoke();
}
public async Task Save() => await SaveFile.Save();
public void FloorExitReached() => GameState.Input(new GameState.Input.FloorExitEntered());
public async Task UseItem(InventoryItem item)
public async Task UseItem(IBaseInventoryItem item)
{
if (item.ItemTag == ItemTag.MysteryItem)
_effectService.RerollItem(item);
@@ -226,17 +231,11 @@ public partial class Game : Node3D, IGame
case EffectItem effectItem:
EnactEffectItemEffects(effectItem);
break;
case Jewel jewel:
EnactJewelItemEffects(jewel);
break;
}
await ToSignal(GetTree().CreateTimer(0.3f), "timeout");
RemoveItemOrSubtractFromItemCount(item);
}
public void DropItem(InventoryItem item)
public void DropItem(IBaseInventoryItem item)
{
var droppedScene = GD.Load<PackedScene>("res://src/items/dropped/DroppedItem.tscn");
var dropped = droppedScene.Instantiate<DroppedItem>();
@@ -246,7 +245,7 @@ public partial class Game : Node3D, IGame
_player.Inventory.Remove(item);
}
public void SetItem(InventoryItem item)
public void SetItem(IBaseInventoryItem item)
{
var setScene = GD.Load<PackedScene>("res://src/items/misc/SetItem.tscn");
var setItem = setScene.Instantiate<SetItem>();
@@ -255,7 +254,7 @@ public partial class Game : Node3D, IGame
_player.Inventory.Remove(item);
}
public void ThrowItem(InventoryItem item)
public void ThrowItem(IBaseInventoryItem item)
{
var thrownScene = GD.Load<PackedScene>("res://src/items/thrown/ThrownItem.tscn");
var thrown = thrownScene.Instantiate<ThrownItem>();
@@ -383,7 +382,6 @@ public partial class Game : Node3D, IGame
private void FloorClearMenu_Exit()
{
_player.Deactivate();
_map.ClearMap();
InGameUI.Hide();
}
@@ -396,7 +394,10 @@ public partial class Game : Node3D, IGame
InGameUI.InventoryMenu.SetProcessInput(false);
}
private async void LoadLevel() => await _map.LoadFloor();
private async void LoadLevel()
{
await _map.LoadFloor();
}
private void FloorClearMenu_GoToNextFloor() => GameState.Input(new GameState.Input.LoadNextFloor());
@@ -405,7 +406,7 @@ public partial class Game : Node3D, IGame
var restorativeScene = GD.Load<PackedScene>("res://src/items/restorative/Restorative.tscn");
var restorative = restorativeScene.Instantiate<Restorative>();
AddChild(restorative);
restorative.GlobalPosition = vector;
restorative.GlobalPosition = new Vector3(vector.X, 2f, vector.Z) + (-_player.GetGlobalBasis().Z);
}
private void UseTeleportPrompt_CloseTeleportPrompt()
@@ -417,7 +418,6 @@ public partial class Game : Node3D, IGame
private void UseTeleportPrompt_TeleportToNextFloor()
{
//_player.LookUp();
GameState.Input(new GameState.Input.UseTeleport());
}
@@ -428,8 +428,6 @@ public partial class Game : Node3D, IGame
GameRepo.Resume();
}
private void GameEventDepot_RestorativePickedUp(IHealthPack obj) => _player.VTComponent.Restore((int)obj.RestoreAmount);
private void IsPaused_Sync(bool isPaused) => GetTree().Paused = isPaused;
private void FinishedLoadingSaveFile() => EmitSignal(SignalName.SaveFileLoaded);
@@ -458,10 +456,10 @@ public partial class Game : Node3D, IGame
_player.Inventory.TryAdd(_effectService.GetRandomItemOfType<ConsumableItem>());
break;
case ItemTag.DropTo1HPAndGainRareItem:
_effectService.DropTo1HPAndGainRareItem<InventoryItem>();
_effectService.DropTo1HPAndGainRareItem<IBaseInventoryItem>();
break;
case ItemTag.TradeAllRandomItems:
var newInventory = _effectService.TradeAllRandomItems<InventoryItem>(boxItem);
var newInventory = _effectService.TradeAllRandomItems(boxItem);
_player.Inventory.Items.Clear();
_player.Inventory.TryAdd(boxItem);
foreach (var item in newInventory)
@@ -471,7 +469,7 @@ public partial class Game : Node3D, IGame
_effectService.GetUnobtainedItem();
break;
case ItemTag.ContainsBasicItem:
_effectService.GetBasicItem<InventoryItem>();
_effectService.GetBasicItem<IBaseInventoryItem>();
break;
case ItemTag.UnequipAllItems:
_player.EquipmentComponent.Unequip(_player.EquipmentComponent.EquippedWeapon.Value);
@@ -566,14 +564,7 @@ public partial class Game : Node3D, IGame
}
}
private void EnactJewelItemEffects(Jewel jewel)
{
switch (jewel.Stats.JewelTag)
{
//case JewelTags.AeolicElement
}
}
private void RemoveItemOrSubtractFromItemCount(InventoryItem item)
private void RemoveItemOrSubtractFromItemCount(IBaseInventoryItem item)
{
if (item is IStackable stackableItem && stackableItem.Count.Value > 1)
stackableItem.SetCount(stackableItem.Count.Value - 1);
@@ -581,6 +572,8 @@ public partial class Game : Node3D, IGame
_player.Inventory.Remove(item);
}
public void ShowDebugInfo(bool show) => InGameUI.DebugInfo.Visible = show;
private void MovePlayer((Vector3 Rotation, Vector3 Position) spawnPoint) => _player.TeleportPlayer(spawnPoint);
private void OnNewGame()
@@ -593,6 +586,8 @@ public partial class Game : Node3D, IGame
private void OnFloorLoadFinished()
{
LoadNextLevel.Hide();
GameLoaded?.Invoke();
_map.FadeIn();
}
private void OnQuit() => GameExitRequested?.Invoke();
@@ -607,7 +602,6 @@ public partial class Game : Node3D, IGame
OnLoadLevelRequest -= LoadLevel;
GameRepo.RestorativePickedUp -= GameEventDepot_RestorativePickedUp;
GameRepo.CloseInventoryEvent -= ExitInventoryAction;
_player.Inventory.BroadcastMessage -= BroadcastMessage;

View File

@@ -1,8 +1,7 @@
[gd_scene load_steps=7 format=3 uid="uid://33ek675mfb5n"]
[gd_scene load_steps=6 format=3 uid="uid://33ek675mfb5n"]
[ext_resource type="Script" uid="uid://chftlu4proh3d" path="res://src/game/Game.cs" id="1_ytcii"]
[ext_resource type="PackedScene" uid="uid://b1muxus5qdbeu" path="res://src/ui/in_game_ui/InGameUI.tscn" id="5_lxtnp"]
[ext_resource type="PackedScene" uid="uid://t22s2y1t8ktc" path="res://src/debug/DebugInfo.tscn" id="6_dxb18"]
[ext_resource type="PackedScene" uid="uid://cgwiwufvxvfs4" path="res://src/ui/load_next_level/LoadNextLevel.tscn" id="7_yw8km"]
[ext_resource type="PackedScene" uid="uid://dbtfgrtgpr4qg" path="res://src/ui/game_over/GameOverMenu.tscn" id="11_wypid"]
[ext_resource type="PackedScene" uid="uid://blbqgw3wosc1w" path="res://src/ui/pause_menu/PauseMenu.tscn" id="12_yev8k"]
@@ -12,11 +11,11 @@ process_mode = 3
script = ExtResource("1_ytcii")
[node name="SubViewportContainer" type="SubViewportContainer" parent="."]
custom_minimum_size = Vector2(1440, 1080)
custom_minimum_size = Vector2(1456, 1080)
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_right = -480.0
offset_right = -464.0
grow_horizontal = 2
grow_vertical = 2
stretch = true
@@ -24,17 +23,13 @@ stretch = true
[node name="SubViewport" type="SubViewport" parent="SubViewportContainer"]
handle_input_locally = false
audio_listener_enable_3d = true
size = Vector2i(1440, 1080)
size = Vector2i(1456, 1080)
render_target_update_mode = 4
[node name="PauseContainer" type="Node3D" parent="SubViewportContainer/SubViewport"]
unique_name_in_owner = true
process_mode = 1
[node name="DebugInfo" parent="." instance=ExtResource("6_dxb18")]
unique_name_in_owner = true
mouse_filter = 2
[node name="InGameUI" parent="." instance=ExtResource("5_lxtnp")]
unique_name_in_owner = true
custom_minimum_size = Vector2(1280, 720)

View File

@@ -18,13 +18,13 @@ public interface IGame : IProvide<IGame>, IProvide<IGameRepo>, IProvide<IPlayer>
public IDungeonFloor CurrentFloor { get; }
public Task UseItem(InventoryItem item);
public Task UseItem(IBaseInventoryItem item);
public void DropItem(InventoryItem item);
public void DropItem(IBaseInventoryItem item);
public void SetItem(InventoryItem item);
public void SetItem(IBaseInventoryItem item);
public void ThrowItem(InventoryItem item);
public void ThrowItem(IBaseInventoryItem item);
public void FloorExitReached();
@@ -32,6 +32,8 @@ public interface IGame : IProvide<IGame>, IProvide<IGameRepo>, IProvide<IPlayer>
public Task Save();
public void ShowDebugInfo(bool show);
public ItemRescueMenu ItemRescueMenu { get; }
public QuestData QuestData { get; }

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cj1psfba5bhup"
path.bptc="res://.godot/imported/3Dkubel.png-a18d215cb94179f4294d3437e869ace0.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/3Dkubel.png"
dest_files=["res://.godot/imported/3Dkubel.png-a18d215cb94179f4294d3437e869ace0.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://n6lwh1cyv341"
path.bptc="res://.godot/imported/Air Sword.png-3fb721b7bcf300440568d8d397e2f08a.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Air Sword.png"
dest_files=["res://.godot/imported/Air Sword.png-3fb721b7bcf300440568d8d397e2f08a.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cyulehmrydvlj"
path.bptc="res://.godot/imported/Amrit Draught.png-35b730b93b8eff4559eaa14144595d68.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Amrit Draught.png"
dest_files=["res://.godot/imported/Amrit Draught.png-35b730b93b8eff4559eaa14144595d68.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d3vi6eudj6yko"
path.bptc="res://.godot/imported/Atoner\'s Adornments.png-3bce8c3275634ff56740f4832400641b.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Atoner's Adornments.png"
dest_files=["res://.godot/imported/Atoner\\'s Adornments.png-3bce8c3275634ff56740f4832400641b.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c0wgpatx70de4"
path.bptc="res://.godot/imported/Black Egg.png-5ce75c2cdf50ba9722cb9b894c446653.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Black Egg.png"
dest_files=["res://.godot/imported/Black Egg.png-5ce75c2cdf50ba9722cb9b894c446653.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dj5xmrdeubq8j"
path.bptc="res://.godot/imported/Blue Dice.png-4047911bc3a11c8cc2e1275a041789a5.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Blue Dice.png"
dest_files=["res://.godot/imported/Blue Dice.png-4047911bc3a11c8cc2e1275a041789a5.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cua5drksphcuw"
path.bptc="res://.godot/imported/Devic Balance.png-80791b3a36b4aa5ed2a8b134bc82bf2a.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Devic Balance.png"
dest_files=["res://.godot/imported/Devic Balance.png-80791b3a36b4aa5ed2a8b134bc82bf2a.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c372a0necdqs0"
path.bptc="res://.godot/imported/Divinity Recall.png-ef70f51dd72cbdd5c30cffaa2eea94a9.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Divinity Recall.png"
dest_files=["res://.godot/imported/Divinity Recall.png-ef70f51dd72cbdd5c30cffaa2eea94a9.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b0oixkrxy542r"
path.bptc="res://.godot/imported/Empty Box.png-2c89968b026eec73d47d3563e0fb4018.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Empty Box.png"
dest_files=["res://.godot/imported/Empty Box.png-2c89968b026eec73d47d3563e0fb4018.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://pd3pm3v08sfl"
path.bptc="res://.godot/imported/Glue Jar.png-4e7efb00a0b1619093f937a2d452992f.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Glue Jar.png"
dest_files=["res://.godot/imported/Glue Jar.png-4e7efb00a0b1619093f937a2d452992f.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://slvcnyc3mbqt"
path.bptc="res://.godot/imported/Gospel of Dimension.png-b656634601758e712807960ede3e83f9.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Gospel of Dimension.png"
dest_files=["res://.godot/imported/Gospel of Dimension.png-b656634601758e712807960ede3e83f9.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bybhtaq06p0yk"
path.bptc="res://.godot/imported/Gospel of Paths.png-ecb9c11664bb47fc2583894d52545cd3.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Gospel of Paths.png"
dest_files=["res://.godot/imported/Gospel of Paths.png-ecb9c11664bb47fc2583894d52545cd3.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bs4m7xr2jfhf2"
path.bptc="res://.godot/imported/Green Dice.png-d035a0e3c8bff483947f9a42d5cf83d1.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Green Dice.png"
dest_files=["res://.godot/imported/Green Dice.png-d035a0e3c8bff483947f9a42d5cf83d1.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dmk4hb7h4qvx2"
path.bptc="res://.godot/imported/Haoma Draught.png-59aaebbfd5505f382affc2c1c54f3e28.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Haoma Draught.png"
dest_files=["res://.godot/imported/Haoma Draught.png-59aaebbfd5505f382affc2c1c54f3e28.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://clcnicpji56vc"
path.bptc="res://.godot/imported/Heaven\'s Rebellion.png-10a45986b8a94b2ee6a164b4cb635b92.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Heaven's Rebellion.png"
dest_files=["res://.godot/imported/Heaven\\'s Rebellion.png-10a45986b8a94b2ee6a164b4cb635b92.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bsgrvkq55p2xt"
path.bptc="res://.godot/imported/HolyArmor2.png-a16e204bd19ced0cc086185aa5c6b4a8.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/HolyArmor2.png"
dest_files=["res://.godot/imported/HolyArmor2.png-a16e204bd19ced0cc086185aa5c6b4a8.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bdxe24nfvn8qo"
path.bptc="res://.godot/imported/Jar.png-9ad86c552bdbd2ca0c6b8ee92317692b.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Jar.png"
dest_files=["res://.godot/imported/Jar.png-9ad86c552bdbd2ca0c6b8ee92317692b.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cpq1ryk8n87xr"
path.bptc="res://.godot/imported/Katar.png-f80debce1f8ad813196ab30e594b3968.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Katar.png"
dest_files=["res://.godot/imported/Katar.png-f80debce1f8ad813196ab30e594b3968.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cft1sn3ttmqkg"
path.bptc="res://.godot/imported/Kyuuketsuki.png-e3b7774ccca1e6c62ffb798529342f4b.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Kyuuketsuki.png"
dest_files=["res://.godot/imported/Kyuuketsuki.png-e3b7774ccca1e6c62ffb798529342f4b.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://djmaermmn6ehi"
path.bptc="res://.godot/imported/Love Judgement.png-4da79c57fa4fc1600e3d6dab48bf13df.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Love Judgement.png"
dest_files=["res://.godot/imported/Love Judgement.png-4da79c57fa4fc1600e3d6dab48bf13df.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cy7qvpjahblv3"
path.bptc="res://.godot/imported/Mask of Zeal.png-27ba6e23bb2ecd6acedb6fdbc3423aee.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Mask of Zeal.png"
dest_files=["res://.godot/imported/Mask of Zeal.png-27ba6e23bb2ecd6acedb6fdbc3423aee.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dritnstkmbugq"
path.bptc="res://.godot/imported/Metal Dice.png-66665129ca1dc12e631e08b684392163.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Metal Dice.png"
dest_files=["res://.godot/imported/Metal Dice.png-66665129ca1dc12e631e08b684392163.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3erkuo1fk0c4"
path.bptc="res://.godot/imported/Nebula Chain.png-bc04c678960d067a826e90635f9c39ab.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Nebula Chain.png"
dest_files=["res://.godot/imported/Nebula Chain.png-bc04c678960d067a826e90635f9c39ab.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b5ie3bknrcpbw"
path.bptc="res://.godot/imported/Red Dice.png-614e67097ac2c48c2ffe4b59f19a35f8.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Red Dice.png"
dest_files=["res://.godot/imported/Red Dice.png-614e67097ac2c48c2ffe4b59f19a35f8.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cn3mew6saujmq"
path.bptc="res://.godot/imported/Rusted Sword.png-2ab13a21d5ffb46783c81d5ce0040849.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Rusted Sword.png"
dest_files=["res://.godot/imported/Rusted Sword.png-2ab13a21d5ffb46783c81d5ce0040849.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3i21sj5kbya0"
path.bptc="res://.godot/imported/Sine Morph.png-83a28ce604b213c558ffbca37787a128.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Sine Morph.png"
dest_files=["res://.godot/imported/Sine Morph.png-83a28ce604b213c558ffbca37787a128.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://clmtbjmwemepv"
path.bptc="res://.godot/imported/Wood Armor.png-8a319a82922562d4b57962dd84759331.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Wood Armor.png"
dest_files=["res://.godot/imported/Wood Armor.png-8a319a82922562d4b57962dd84759331.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cn1uymew0wwoj"
path.bptc="res://.godot/imported/Ydunic Draught.png-7e2a389f9a6dcdc17666096aa2e79f64.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/Ydunic Draught.png"
dest_files=["res://.godot/imported/Ydunic Draught.png-7e2a389f9a6dcdc17666096aa2e79f64.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dayra4hcppa3x"
path.bptc="res://.godot/imported/ancient medicine.png-b41560cee26578e2e61e4540efc2104a.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/ancient medicine.png"
dest_files=["res://.godot/imported/ancient medicine.png-b41560cee26578e2e61e4540efc2104a.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cy5bd7f37fi35"
path.bptc="res://.godot/imported/health item placeholder.png-d6e3fd30b79c4ebf810d66504d813903.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/3D Render Icons/health item placeholder.png"
dest_files=["res://.godot/imported/health item placeholder.png-d6e3fd30b79c4ebf810d66504d813903.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Some files were not shown because too many files have changed in this diff Show More