Open snouz opened 2 months ago
21:9 ultrawide support would be nice
21:9 ultrawide support would be nice
It's in the list, #186, I tried to add this feature recently, but I haven't found the right way to do it yet (couldn't make it stable and found that it multiplies the number of issues with specific backgrounds) and I put the idea aside as I think the benefits are debatable.
Are you still able to select a 16:9 resolution on a 21:9 screen? I don't own one, I can only emulate that aspect ratio.
What about having the possibility that the characters join at level 1 ?
21:9 ultrawide support would be nice
This wouldnt create problems with moguri mod?
FFNx manages to do 21:9 on Final Fantasy 7 with AI upscale backgrounds.
FFNx manages to do 21:9 on Final Fantasy 7 with AI upscale backgrounds.
21:9 ultrawide support would be nice
This wouldnt create problems with moguri mod?
It depends what you mean by 21:9.
I don't see the problem with Moguri though, which is just texture replacement. I'm working on these features in Memoria to then update Moguri (which is coming soon too)
Good to know, thanks for the explanation. 👍
@snouz , @Tirlititi
Since Alternate Fantasy is the gold standard right now, my idea is about that, as there's no point in making multiple massive mods that change the difficulty of the game.
However, it seems to me that to implement this idea, changes are required in Memoria: I would like to have a convenient framework for customizing all fights (especially boss fights) and using it to make the battles less standard.
For my part, here are the ideas I'd like to implement for Memoria:
And maybe a few other things, but that's mostly what's on my mind right now.
@DV666, do you plan to do some kind refactoring with QuadMist? :) I checked it yesterday and it looks terrible (I spent 2+ hours to get that "I can play minigame" is a flag on NPC object, but reference to the player in DB is a part of script in event engine, and another hour to find where we filling Enemy and Player Hands x.x)
I guess we can introduce Memoria.CardGame
project, and move all types to it except Unity-classes like MonoBehaviour
and ScriptableObject
// Memoria.CardGame.dll
public interface IQuadMistGameView
{
public TextMesh WinScore { get; }
public TextMesh LoseScore { get; }
public TextMesh DrawScore { get; }
public TextMesh CardTypeCount { get; }
public TextMesh CardStockCount { get; }
// ...
}
// Memoria.CardGame.dll
public sealed class QuadMistGameImplementation
{
private readonly IQuadMistGameView _view;
public QuadMistGameImplementation(IQuadMistGameView view)
{
_view = view;
}
public void OnStartMonoBehaviour()
{
// Moved spagetti-code
QuadMistGame.main = this;
InitResources();
preBoard.InitResources();
board.InitResources();
ClearHands();
ClearGameObjects();
ClearStates();
ClearInput();
FF9Snd.ff9minisnd_song_play(66);
StackCardInfo = new QuadMistCard();
StackCardCount = 0;
}
}
// Assembly-CSharp.dll
public class QuadMistGame : MonoBehaviour, IQuadMistGameView
{
private readonly QuadMistGameImplementation _impl;
public QuadMistGame()
{
_impl = new QuadMistGameImplementation(this);
}
private void Start()
{
_impl.OnStartMonoBehaviour();
}
public TextMesh winScore;
public TextMesh loseScore;
public TextMesh drawScore;
public TextMesh cardTypeCount;
public TextMesh cardStockCount;
TextMesh IQuadMistGameView.WinScore => _winScore;
TextMesh IQuadMistGameView.LoseScore => _loseScore;
TextMesh IQuadMistGameView.DrawScore => _drawScore;
TextMesh IQuadMistGameView.CardTypeCount => _cardTypeCount;
TextMesh IQuadMistGameView.CardStockCount => _cardStockCount;
// ...
}
After we hide unchangeable Unity-code beyond the interface, we can start the refactoring of logic.
// Before:
private void Start()
{
// Moved spagetti-code
QuadMistGame.main = this;
InitResources();
preBoard.InitResources();
board.InitResources();
ClearHands();
ClearGameObjects();
ClearStates();
ClearInput();
FF9Snd.ff9minisnd_song_play(66);
StackCardInfo = new QuadMistCard();
StackCardCount = 0;
}
// After:
public void OnStartMonoBehaviour()
{
var ctx = GetTetraMasterContext();
InitializeGameMode(ctx.Mode);
InitializePlayer(ctx.PlayerData);
InitializeOpponent(ctx.OpponentData);
InitializeBackgroundMusic(ctx.Music);
}
Something like that. But it must be definitely done when no one is working with this place. :)
Just an idea: wouldnt be better to fix (if it's possible) or close all oldest issues before this one to give at least a feeling of closure to the ppl who posted them? Just some food for thought. ;)
Just an idea: wouldnt be better to fix (if it's possible) or close all oldest issues before this one to give at least a feeling of closure to the ppl who posted them? Just some food for thought. ;)
That is what @snouz did in the beginning of this thread. But we still have our own wishes, and they do not always overlap with existing issues, but some of them are too important to be closed.
Just an idea: wouldnt be better to fix (if it's possible) or close all oldest issues before this one to give at least a feeling of closure to the ppl who posted them? Just some food for thought. ;)
I've done the cleaning, but of course if an issue becomes a real project, lets reopen that thread.
I'm myself opening ideas, adding them here and closing immediately, this way the ideas are here to be explored in the future by anyone, but the "issues" board stays usable as a "current" issue/progress tracker.
That is what @snouz did in the beginning of this thread.
I know but i'm talking about the other issues not mentioned there. ;)
@DV666, do you plan to do some kind refactoring with QuadMist? :) I checked it yesterday and it looks terrible (I spent 2+ hours to get that "I can play minigame" is a flag on NPC object, but reference to the player in DB is a part of script in event engine, and another hour to find where we filling Enemy and Player Hands x.x)
I guess we can introduce
Memoria.CardGame
project, and move all types to it except Unity-classes likeMonoBehaviour
andScriptableObject
// Memoria.CardGame.dll public interface IQuadMistGameView { public TextMesh WinScore { get; } public TextMesh LoseScore { get; } public TextMesh DrawScore { get; } public TextMesh CardTypeCount { get; } public TextMesh CardStockCount { get; } // ... } // Memoria.CardGame.dll public sealed class QuadMistGameImplementation { private readonly IQuadMistGameView _view; public QuadMistGameImplementation(IQuadMistGameView view) { _view = view; } public void OnStartMonoBehaviour() { // Moved spagetti-code QuadMistGame.main = this; InitResources(); preBoard.InitResources(); board.InitResources(); ClearHands(); ClearGameObjects(); ClearStates(); ClearInput(); FF9Snd.ff9minisnd_song_play(66); StackCardInfo = new QuadMistCard(); StackCardCount = 0; } } // Assembly-CSharp.dll public class QuadMistGame : MonoBehaviour, IQuadMistGameView { private readonly QuadMistGameImplementation _impl; public QuadMistGame() { _impl = new QuadMistGameImplementation(this); } private void Start() { _impl.OnStartMonoBehaviour(); } public TextMesh winScore; public TextMesh loseScore; public TextMesh drawScore; public TextMesh cardTypeCount; public TextMesh cardStockCount; TextMesh IQuadMistGameView.WinScore => _winScore; TextMesh IQuadMistGameView.LoseScore => _loseScore; TextMesh IQuadMistGameView.DrawScore => _drawScore; TextMesh IQuadMistGameView.CardTypeCount => _cardTypeCount; TextMesh IQuadMistGameView.CardStockCount => _cardStockCount; // ... }
After we hide unchangeable Unity-code beyond the interface, we can start the refactoring of logic.
// Before: private void Start() { // Moved spagetti-code QuadMistGame.main = this; InitResources(); preBoard.InitResources(); board.InitResources(); ClearHands(); ClearGameObjects(); ClearStates(); ClearInput(); FF9Snd.ff9minisnd_song_play(66); StackCardInfo = new QuadMistCard(); StackCardCount = 0; } // After: public void OnStartMonoBehaviour() { var ctx = GetTetraMasterContext(); InitializeGameMode(ctx.Mode); InitializePlayer(ctx.PlayerData); InitializeOpponent(ctx.OpponentData); InitializeBackgroundMusic(ctx.Music); }
Something like that. But it must be definitely done when no one is working with this place. :)
... Ugh... I'm very touched by your message my dear @Albeoris but you underestimate my level in C# ahahah xD I'm just doing some tweaking or small corrections... I'm doing my best for this Triple Triad feature ^^’.
Fix the problem with the 3 forced battles in Pandemonium are not escapable; To have the battles not give any exp or to remove the monsters immunity to any status effects, so that we can have a full lvl 1 party without having to a level 30 Zidane or 3 member having level 22, 22,23. This is for lvl 1 runs
Removing https://github.com/Albeoris/Memoria/issues/250 as it was implemented in the latest update
the "issues" board stays usable as a "current" issue/progress tracker.
@snouz you can try to use Milestones for this. Not sure if it'll help but you can try.
This thread is compiling every general idea which has no owner and no current plan, and is not currently considered a "problem". This is to better organize issues. If someone want to work on some of these, you can re-open the related ticket.
GAME
CHEATS
LAUNCHER
META