ow the edge
This commit is contained in:
parent
b29b7b20b6
commit
cd8e916e70
@ -107,7 +107,7 @@ namespace FDK {
|
||||
varying vec2 texcoord;
|
||||
|
||||
float randomGrayscale(vec2 uv) {
|
||||
return fract(sin(dot(uv.xy * 10.0, vec2(12.9898, 78.233))) * (43758.5453 * time * 0.02));
|
||||
return fract(sin(dot(uv.xy * 10.0, vec2(12.9898, 78.233))) * (43758.5453 * (time + 1.0) * 0.02));
|
||||
}
|
||||
|
||||
|
||||
@ -130,6 +130,7 @@ namespace FDK {
|
||||
if (useNoiseEffect == 1) {
|
||||
float n = randomGrayscale(rect);
|
||||
texColor.rgb = vec3(n);
|
||||
texColor.a = 1.0;
|
||||
}
|
||||
|
||||
gl_FragColor = texColor;
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
@ -1,31 +1,33 @@
|
||||
0 - Wood
|
||||
1 - Orange
|
||||
2 - Purple
|
||||
3 - Green
|
||||
4 - Red
|
||||
5 - Blue
|
||||
6 - Gray
|
||||
7 - Rainbow
|
||||
8 - Space
|
||||
9 - Diamond
|
||||
10 - ?
|
||||
11 - Gold
|
||||
12 - Pearl
|
||||
13 - Platinum
|
||||
14 - Kohaku (Character plate)
|
||||
15 - Dashy (Character plate)
|
||||
16 - Blue
|
||||
17 - Red
|
||||
18 - Sky Purple
|
||||
19 - AI
|
||||
20 - Cyan
|
||||
21 - OpTk Yellow (Roll)
|
||||
22 - Bol white
|
||||
23 - Saturated blue
|
||||
24 - Saturated green
|
||||
25 - OpTk Chapter I
|
||||
26 - OpTk Chapter II
|
||||
27 - OpTk Chapter III
|
||||
28 - OpTk Light
|
||||
29 - OpTk Dark
|
||||
30 - NEP0
|
||||
0 - Wood
|
||||
1 - Orange
|
||||
2 - Purple
|
||||
3 - Green
|
||||
4 - Red
|
||||
5 - Blue
|
||||
6 - Gray
|
||||
7 - Rainbow
|
||||
8 - Space
|
||||
9 - Diamond
|
||||
10 - ?
|
||||
11 - Gold
|
||||
12 - Pearl
|
||||
13 - Platinum
|
||||
14 - Kohaku (Character plate)
|
||||
15 - Dashy (Character plate)
|
||||
16 - Blue
|
||||
17 - Red
|
||||
18 - Sky Purple
|
||||
19 - AI
|
||||
20 - Cyan
|
||||
21 - OpTk Yellow (Roll)
|
||||
22 - Bol white
|
||||
23 - Saturated blue
|
||||
24 - Saturated green
|
||||
25 - OpTk Chapter I
|
||||
26 - OpTk Chapter II
|
||||
27 - OpTk Chapter III
|
||||
28 - OpTk Light
|
||||
29 - OpTk Dark
|
||||
30 - NEP0
|
||||
31 - DRT Sky
|
||||
32 - OpTk Chapter IV
|
@ -1,132 +1,137 @@
|
||||
using FDK;
|
||||
using Color = System.Drawing.Color;
|
||||
|
||||
namespace OpenTaiko {
|
||||
|
||||
public sealed class TitleTextureKey {
|
||||
|
||||
// Static
|
||||
private static readonly Dictionary<TitleTextureKey, CTexture> _titledictionary
|
||||
= new Dictionary<TitleTextureKey, CTexture>();
|
||||
|
||||
public static CTexture ResolveTitleTexture(TitleTextureKey titleTextureKey) {
|
||||
if (!_titledictionary.TryGetValue(titleTextureKey, out var texture)) {
|
||||
texture = GenerateTitleTexture(titleTextureKey);
|
||||
_titledictionary.Add(titleTextureKey, texture);
|
||||
}
|
||||
|
||||
return texture;
|
||||
}
|
||||
|
||||
public static CTexture ResolveTitleTexture(TitleTextureKey titleTextureKey, bool bVertical, bool keepCenter = false) {
|
||||
if (!_titledictionary.TryGetValue(titleTextureKey, out var texture)) {
|
||||
if (bVertical)
|
||||
texture = GenerateTitleTextureTate(titleTextureKey, keepCenter);
|
||||
else
|
||||
texture = GenerateTitleTexture(titleTextureKey, keepCenter);
|
||||
_titledictionary.Add(titleTextureKey, texture);
|
||||
}
|
||||
|
||||
return texture;
|
||||
}
|
||||
|
||||
public static CTexture ResolveTitleTextureTate(TitleTextureKey titleTextureKey) {
|
||||
if (!_titledictionary.TryGetValue(titleTextureKey, out var texture)) {
|
||||
texture = GenerateTitleTextureTate(titleTextureKey);
|
||||
_titledictionary.Add(titleTextureKey, texture);
|
||||
}
|
||||
|
||||
return texture;
|
||||
}
|
||||
|
||||
private static CTexture GenerateTitleTextureTate(TitleTextureKey titleTextureKey, bool keepCenter = false) {
|
||||
using (var bmp = titleTextureKey.cPrivateFastFont.DrawText_V(
|
||||
titleTextureKey.str, titleTextureKey.forecolor, titleTextureKey.backcolor, titleTextureKey.secondEdge, 30, keepCenter)) {
|
||||
CTexture tx文字テクスチャ = OpenTaiko.tテクスチャの生成(bmp, false);
|
||||
if (tx文字テクスチャ.szTextureSize.Height > titleTextureKey.maxWidth) {
|
||||
//tx文字テクスチャ.vc拡大縮小倍率.X = (float)(((double)titleTextureKey.maxWidth) / tx文字テクスチャ.szテクスチャサイズ.Height);
|
||||
tx文字テクスチャ.vcScaleRatio.X = 1.0f;
|
||||
tx文字テクスチャ.vcScaleRatio.Y = (float)(((double)titleTextureKey.maxWidth) / tx文字テクスチャ.szTextureSize.Height);
|
||||
}
|
||||
|
||||
return tx文字テクスチャ;
|
||||
}
|
||||
}
|
||||
|
||||
private static CTexture GenerateTitleTexture(TitleTextureKey titleTextureKey, bool keepCenter = false) {
|
||||
using (var bmp = titleTextureKey.cPrivateFastFont.DrawText(
|
||||
titleTextureKey.str, titleTextureKey.forecolor, titleTextureKey.backcolor, titleTextureKey.secondEdge, 30, keepCenter)) {
|
||||
CTexture tx文字テクスチャ = OpenTaiko.tテクスチャの生成(bmp, false);
|
||||
if (tx文字テクスチャ.szTextureSize.Width > titleTextureKey.maxWidth) {
|
||||
tx文字テクスチャ.vcScaleRatio.X = (float)(((double)titleTextureKey.maxWidth) / tx文字テクスチャ.szTextureSize.Width);
|
||||
tx文字テクスチャ.vcScaleRatio.Y = 1.0f;// (float) (((double) titleTextureKey.maxWidth) / tx文字テクスチャ.szテクスチャサイズ.Width);
|
||||
|
||||
}
|
||||
|
||||
return tx文字テクスチャ;
|
||||
}
|
||||
}
|
||||
|
||||
private static void ClearTitleTextureCache() {
|
||||
// Was initially used when disposing the song select screen (at the end of the program), probably unused
|
||||
foreach (var titleTexture in _titledictionary.Values) {
|
||||
titleTexture.Dispose();
|
||||
}
|
||||
|
||||
_titledictionary.Clear();
|
||||
}
|
||||
|
||||
// Non-static
|
||||
public readonly string str;
|
||||
public readonly CCachedFontRenderer cPrivateFastFont;
|
||||
public readonly Color forecolor;
|
||||
public readonly Color backcolor;
|
||||
public readonly int maxWidth;
|
||||
public readonly Color? secondEdge;
|
||||
|
||||
public TitleTextureKey(string str文字, CCachedFontRenderer cPrivateFastFont, Color forecolor, Color backcolor, int maxHeight, Color? secondEdge = null) {
|
||||
this.str = str文字;
|
||||
this.cPrivateFastFont = cPrivateFastFont;
|
||||
this.forecolor = forecolor;
|
||||
this.backcolor = backcolor;
|
||||
this.maxWidth = maxHeight;
|
||||
this.secondEdge = secondEdge;
|
||||
}
|
||||
|
||||
private bool Equals(TitleTextureKey other) {
|
||||
return string.Equals(str, other.str) &&
|
||||
cPrivateFastFont.Equals(other.cPrivateFastFont) &&
|
||||
forecolor.Equals(other.forecolor) &&
|
||||
backcolor.Equals(other.backcolor) &&
|
||||
secondEdge.Equals(other.secondEdge) &&
|
||||
maxWidth == other.maxWidth;
|
||||
}
|
||||
|
||||
public override bool Equals(object obj) {
|
||||
if (ReferenceEquals(null, obj)) return false;
|
||||
if (ReferenceEquals(this, obj)) return true;
|
||||
return obj is TitleTextureKey other && Equals(other);
|
||||
}
|
||||
|
||||
public override int GetHashCode() {
|
||||
unchecked {
|
||||
var hashCode = str.GetHashCode();
|
||||
hashCode = (hashCode * 397) ^ cPrivateFastFont.GetHashCode();
|
||||
hashCode = (hashCode * 397) ^ forecolor.GetHashCode();
|
||||
hashCode = (hashCode * 397) ^ backcolor.GetHashCode();
|
||||
hashCode = (hashCode * 397) ^ maxWidth;
|
||||
if (secondEdge != null)
|
||||
hashCode = (hashCode * 397) ^ secondEdge.GetHashCode();
|
||||
return hashCode;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool operator ==(TitleTextureKey left, TitleTextureKey right) {
|
||||
return Equals(left, right);
|
||||
}
|
||||
|
||||
public static bool operator !=(TitleTextureKey left, TitleTextureKey right) {
|
||||
return !Equals(left, right);
|
||||
}
|
||||
}
|
||||
}
|
||||
using FDK;
|
||||
using Color = System.Drawing.Color;
|
||||
|
||||
namespace OpenTaiko {
|
||||
|
||||
public sealed class TitleTextureKey {
|
||||
|
||||
// Static
|
||||
private static readonly Dictionary<TitleTextureKey, CTexture> _titledictionary
|
||||
= new Dictionary<TitleTextureKey, CTexture>();
|
||||
|
||||
public static CTexture ResolveTitleTexture(TitleTextureKey titleTextureKey) {
|
||||
if (titleTextureKey == null) return null;
|
||||
if (!_titledictionary.TryGetValue(titleTextureKey, out var texture)) {
|
||||
texture = GenerateTitleTexture(titleTextureKey);
|
||||
_titledictionary.Add(titleTextureKey, texture);
|
||||
}
|
||||
|
||||
return texture;
|
||||
}
|
||||
|
||||
public static CTexture ResolveTitleTexture(TitleTextureKey titleTextureKey, bool bVertical, bool keepCenter = false) {
|
||||
if (titleTextureKey == null) return null;
|
||||
if (!_titledictionary.TryGetValue(titleTextureKey, out var texture)) {
|
||||
if (bVertical)
|
||||
texture = GenerateTitleTextureTate(titleTextureKey, keepCenter);
|
||||
else
|
||||
texture = GenerateTitleTexture(titleTextureKey, keepCenter);
|
||||
_titledictionary.Add(titleTextureKey, texture);
|
||||
}
|
||||
|
||||
return texture;
|
||||
}
|
||||
|
||||
public static CTexture ResolveTitleTextureTate(TitleTextureKey titleTextureKey) {
|
||||
if (titleTextureKey == null) return null;
|
||||
if (!_titledictionary.TryGetValue(titleTextureKey, out var texture)) {
|
||||
texture = GenerateTitleTextureTate(titleTextureKey);
|
||||
_titledictionary.Add(titleTextureKey, texture);
|
||||
}
|
||||
|
||||
return texture;
|
||||
}
|
||||
|
||||
private static CTexture GenerateTitleTextureTate(TitleTextureKey titleTextureKey, bool keepCenter = false) {
|
||||
if (titleTextureKey == null) return null;
|
||||
using (var bmp = titleTextureKey.cPrivateFastFont.DrawText_V(
|
||||
titleTextureKey.str, titleTextureKey.forecolor, titleTextureKey.backcolor, titleTextureKey.secondEdge, 30, keepCenter)) {
|
||||
CTexture tx文字テクスチャ = OpenTaiko.tテクスチャの生成(bmp, false);
|
||||
if (tx文字テクスチャ.szTextureSize.Height > titleTextureKey.maxWidth) {
|
||||
//tx文字テクスチャ.vc拡大縮小倍率.X = (float)(((double)titleTextureKey.maxWidth) / tx文字テクスチャ.szテクスチャサイズ.Height);
|
||||
tx文字テクスチャ.vcScaleRatio.X = 1.0f;
|
||||
tx文字テクスチャ.vcScaleRatio.Y = (float)(((double)titleTextureKey.maxWidth) / tx文字テクスチャ.szTextureSize.Height);
|
||||
}
|
||||
|
||||
return tx文字テクスチャ;
|
||||
}
|
||||
}
|
||||
|
||||
private static CTexture GenerateTitleTexture(TitleTextureKey titleTextureKey, bool keepCenter = false) {
|
||||
if (titleTextureKey == null) return null;
|
||||
using (var bmp = titleTextureKey.cPrivateFastFont.DrawText(
|
||||
titleTextureKey.str, titleTextureKey.forecolor, titleTextureKey.backcolor, titleTextureKey.secondEdge, 30, keepCenter)) {
|
||||
CTexture tx文字テクスチャ = OpenTaiko.tテクスチャの生成(bmp, false);
|
||||
if (tx文字テクスチャ.szTextureSize.Width > titleTextureKey.maxWidth) {
|
||||
tx文字テクスチャ.vcScaleRatio.X = (float)(((double)titleTextureKey.maxWidth) / tx文字テクスチャ.szTextureSize.Width);
|
||||
tx文字テクスチャ.vcScaleRatio.Y = 1.0f;// (float) (((double) titleTextureKey.maxWidth) / tx文字テクスチャ.szテクスチャサイズ.Width);
|
||||
|
||||
}
|
||||
|
||||
return tx文字テクスチャ;
|
||||
}
|
||||
}
|
||||
|
||||
private static void ClearTitleTextureCache() {
|
||||
// Was initially used when disposing the song select screen (at the end of the program), probably unused
|
||||
foreach (var titleTexture in _titledictionary.Values) {
|
||||
titleTexture.Dispose();
|
||||
}
|
||||
|
||||
_titledictionary.Clear();
|
||||
}
|
||||
|
||||
// Non-static
|
||||
public readonly string str;
|
||||
public readonly CCachedFontRenderer cPrivateFastFont;
|
||||
public readonly Color forecolor;
|
||||
public readonly Color backcolor;
|
||||
public readonly int maxWidth;
|
||||
public readonly Color? secondEdge;
|
||||
|
||||
public TitleTextureKey(string str文字, CCachedFontRenderer cPrivateFastFont, Color forecolor, Color backcolor, int maxHeight, Color? secondEdge = null) {
|
||||
this.str = str文字;
|
||||
this.cPrivateFastFont = cPrivateFastFont;
|
||||
this.forecolor = forecolor;
|
||||
this.backcolor = backcolor;
|
||||
this.maxWidth = maxHeight;
|
||||
this.secondEdge = secondEdge;
|
||||
}
|
||||
|
||||
private bool Equals(TitleTextureKey other) {
|
||||
return string.Equals(str, other.str) &&
|
||||
cPrivateFastFont.Equals(other.cPrivateFastFont) &&
|
||||
forecolor.Equals(other.forecolor) &&
|
||||
backcolor.Equals(other.backcolor) &&
|
||||
secondEdge.Equals(other.secondEdge) &&
|
||||
maxWidth == other.maxWidth;
|
||||
}
|
||||
|
||||
public override bool Equals(object obj) {
|
||||
if (ReferenceEquals(null, obj)) return false;
|
||||
if (ReferenceEquals(this, obj)) return true;
|
||||
return obj is TitleTextureKey other && Equals(other);
|
||||
}
|
||||
|
||||
public override int GetHashCode() {
|
||||
unchecked {
|
||||
var hashCode = str.GetHashCode();
|
||||
hashCode = (hashCode * 397) ^ cPrivateFastFont.GetHashCode();
|
||||
hashCode = (hashCode * 397) ^ forecolor.GetHashCode();
|
||||
hashCode = (hashCode * 397) ^ backcolor.GetHashCode();
|
||||
hashCode = (hashCode * 397) ^ maxWidth;
|
||||
if (secondEdge != null)
|
||||
hashCode = (hashCode * 397) ^ secondEdge.GetHashCode();
|
||||
return hashCode;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool operator ==(TitleTextureKey left, TitleTextureKey right) {
|
||||
return Equals(left, right);
|
||||
}
|
||||
|
||||
public static bool operator !=(TitleTextureKey left, TitleTextureKey right) {
|
||||
return !Equals(left, right);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -193,8 +193,8 @@ namespace OpenTaiko {
|
||||
}
|
||||
|
||||
public void tResetTitleKey() {
|
||||
this.ttk選択している曲の曲名 = null;
|
||||
this.ttk選択している曲のサブタイトル = null;
|
||||
this.ttkSelectedSongTitle = null;
|
||||
this.ttkSelectedSongSubtitle = null;
|
||||
this.ttkSelectedSongMaker = null;
|
||||
this.ttkSelectedSongBPM = null;
|
||||
}
|
||||
@ -553,8 +553,8 @@ namespace OpenTaiko {
|
||||
|
||||
this.t選択曲が変更された(false); // スクロールバー用に今何番目を選択しているかを更新
|
||||
|
||||
this.ttk選択している曲の曲名 = null;
|
||||
this.ttk選択している曲のサブタイトル = null;
|
||||
this.ttkSelectedSongTitle = null;
|
||||
this.ttkSelectedSongSubtitle = null;
|
||||
|
||||
OpenTaiko.stageSongSelect.tNotifySelectedSongChange(); // スクロール完了=選択曲変更!
|
||||
ctBarOpen.Start(0, 260, 2, OpenTaiko.Timer);
|
||||
@ -1326,22 +1326,31 @@ namespace OpenTaiko {
|
||||
//-----------------
|
||||
#endregion
|
||||
|
||||
var IsSongLocked = OpenTaiko.Databases.DBSongUnlockables.tIsSongLocked(stバー情報[nパネル番号].reference);
|
||||
var HiddenIndex = OpenTaiko.Databases.DBSongUnlockables.tGetSongHiddenIndex(stバー情報[nパネル番号].reference);
|
||||
|
||||
var _title = TitleTextureKey.ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル, OpenTaiko.Skin.SongSelect_VerticalText);
|
||||
if (HiddenIndex >= DBSongUnlockables.EHiddenIndex.BLURED) {
|
||||
_title.bUseNoiseEffect = true;
|
||||
}
|
||||
|
||||
#region [ タイトル名テクスチャを描画。]
|
||||
if (ctDifficultyIn.CurrentValue >= 1000 && OpenTaiko.stageSongSelect.actDifficultySelectionScreen.bIsDifficltSelect)
|
||||
TitleTextureKey.ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル, OpenTaiko.Skin.SongSelect_VerticalText).Opacity = (int)255.0f - (ctDifficultyIn.CurrentValue - 1000);
|
||||
_title.Opacity = (int)255.0f - (ctDifficultyIn.CurrentValue - 1000);
|
||||
else
|
||||
TitleTextureKey.ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル, OpenTaiko.Skin.SongSelect_VerticalText).Opacity = 255;
|
||||
_title.Opacity = 255;
|
||||
|
||||
if (ctScrollCounter.CurrentValue != ctScrollCounter.EndValue)
|
||||
TitleTextureKey.ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル, OpenTaiko.Skin.SongSelect_VerticalText).t2D拡大率考慮中央基準描画(
|
||||
_title.t2D拡大率考慮中央基準描画(
|
||||
xAnime - Box_X + GetTitleOffsetX(this.stバー情報[nパネル番号].eバー種別), y - Box_Y + GetTitleOffsetY(this.stバー情報[nパネル番号].eバー種別));
|
||||
else if (n見た目の行番号 != barCenterNum)
|
||||
TitleTextureKey.ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル, OpenTaiko.Skin.SongSelect_VerticalText).t2D拡大率考慮中央基準描画(
|
||||
_title.t2D拡大率考慮中央基準描画(
|
||||
xAnime - Box_X + GetTitleOffsetX(this.stバー情報[nパネル番号].eバー種別), y - Box_Y + GetTitleOffsetY(this.stバー情報[nパネル番号].eバー種別));
|
||||
#endregion
|
||||
|
||||
var IsSongLocked = OpenTaiko.Databases.DBSongUnlockables.tIsSongLocked(stバー情報[nパネル番号].reference);
|
||||
var HiddenIndex = OpenTaiko.Databases.DBSongUnlockables.tGetSongHiddenIndex(stバー情報[nパネル番号].reference);
|
||||
if (HiddenIndex >= DBSongUnlockables.EHiddenIndex.BLURED) {
|
||||
_title.bUseNoiseEffect = false;
|
||||
}
|
||||
|
||||
if (HiddenIndex >= DBSongUnlockables.EHiddenIndex.GRAYED) {
|
||||
OpenTaiko.Tx.SongSelect_Bar_Genre_Locked_Top?.t2D描画(xAnime - (int)Box_X, y - ((int)Box_Y));
|
||||
@ -1889,59 +1898,76 @@ namespace OpenTaiko {
|
||||
fNowScrollAnime));
|
||||
|
||||
if ((i == barCenterNum) && ctScrollCounter.CurrentValue == ctScrollCounter.EndValue) {
|
||||
CTexture tx選択している曲のサブタイトル = null;
|
||||
CTexture txSelectedSongSubtitle = null;
|
||||
|
||||
// (A) スクロールが停止しているときの選択曲バーの描画。
|
||||
|
||||
var IsSongLocked = OpenTaiko.Databases.DBSongUnlockables.tIsSongLocked(rCurrentlySelectedSong);
|
||||
var HiddenIndex = OpenTaiko.Databases.DBSongUnlockables.tGetSongHiddenIndex(rCurrentlySelectedSong);
|
||||
|
||||
#region [ Nastiest Song Title display method I ever saw]
|
||||
|
||||
// Fonts here
|
||||
|
||||
//-----------------
|
||||
if (rCurrentlySelectedSong.ldTitle.GetString("") != "" && this.ttk選択している曲の曲名 == null)
|
||||
this.ttk選択している曲の曲名 = this.ttkGenerateSongNameTexture(rCurrentlySelectedSong.ldTitle.GetString(""), rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor, rCurrentlySelectedSong.eノード種別 == CSongListNode.ENodeType.BOX ? this.pfBoxName : this.pfMusicName);
|
||||
if (rCurrentlySelectedSong.ldSubtitle.GetString("") != "" && this.ttk選択している曲のサブタイトル == null)
|
||||
this.ttk選択している曲のサブタイトル = this.ttkGenerateSubtitleTexture(rCurrentlySelectedSong.ldSubtitle.GetString(""), rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor);
|
||||
if (rCurrentlySelectedSong.ldTitle.GetString("") != "" && this.ttkSelectedSongTitle == null)
|
||||
this.ttkSelectedSongTitle = this.ttkGenerateSongNameTexture(rCurrentlySelectedSong.ldTitle.GetString(""), rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor, rCurrentlySelectedSong.eノード種別 == CSongListNode.ENodeType.BOX ? this.pfBoxName : this.pfMusicName);
|
||||
if (rCurrentlySelectedSong.ldSubtitle.GetString("") != "" && this.ttkSelectedSongSubtitle == null)
|
||||
this.ttkSelectedSongSubtitle = this.ttkGenerateSubtitleTexture(rCurrentlySelectedSong.ldSubtitle.GetString(""), rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor);
|
||||
if (rCurrentlySelectedSong.strMaker != "" && this.ttkSelectedSongMaker == null)
|
||||
this.ttkSelectedSongMaker = this.ttkGenerateMakerTexture(rCurrentlySelectedSong.strMaker, rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor);
|
||||
if (this.ttkSelectedSongBPM == null)
|
||||
this.ttkSelectedSongBPM = this.ttkGenerateBPMTexture(rCurrentlySelectedSong, rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor); ;
|
||||
|
||||
|
||||
if (this.ttk選択している曲のサブタイトル != null)
|
||||
tx選択している曲のサブタイトル = TitleTextureKey.ResolveTitleTexture(ttk選択している曲のサブタイトル, OpenTaiko.Skin.SongSelect_VerticalText);
|
||||
if (this.ttkSelectedSongSubtitle != null)
|
||||
txSelectedSongSubtitle = TitleTextureKey.ResolveTitleTexture(ttkSelectedSongSubtitle, OpenTaiko.Skin.SongSelect_VerticalText);
|
||||
|
||||
var _title = TitleTextureKey.ResolveTitleTexture(this.ttkSelectedSongTitle, OpenTaiko.Skin.SongSelect_VerticalText);
|
||||
|
||||
if (HiddenIndex >= DBSongUnlockables.EHiddenIndex.GRAYED && _title != null) {
|
||||
_title.bUseNoiseEffect = true;
|
||||
}
|
||||
|
||||
//サブタイトルがあったら700
|
||||
|
||||
if (ttk選択している曲の曲名 != null) {
|
||||
if (ttkSelectedSongTitle != null) {
|
||||
if (!ctBoxOpen.IsEnded)
|
||||
TitleTextureKey.ResolveTitleTexture(this.ttk選択している曲の曲名, OpenTaiko.Skin.SongSelect_VerticalText).Opacity = (int)(ctBoxOpen.CurrentValue >= 1200 && ctBoxOpen.CurrentValue <= 1620 ? 255 - (ctBoxOpen.CurrentValue - 1200) * 2.55f :
|
||||
_title.Opacity = (int)(ctBoxOpen.CurrentValue >= 1200 && ctBoxOpen.CurrentValue <= 1620 ? 255 - (ctBoxOpen.CurrentValue - 1200) * 2.55f :
|
||||
ctBoxOpen.CurrentValue >= 2000 ? (ctBoxOpen.CurrentValue - 2000) * 2.55f : ctBoxOpen.CurrentValue <= 1200 ? 255 : 0);
|
||||
else {
|
||||
if (!OpenTaiko.stageSongSelect.actDifficultySelectionScreen.bIsDifficltSelect)
|
||||
TitleTextureKey.ResolveTitleTexture(this.ttk選択している曲の曲名, OpenTaiko.Skin.SongSelect_VerticalText).Opacity = 255;
|
||||
_title.Opacity = 255;
|
||||
else if (ctDifficultyIn.CurrentValue >= 1000)
|
||||
TitleTextureKey.ResolveTitleTexture(this.ttk選択している曲の曲名, OpenTaiko.Skin.SongSelect_VerticalText).Opacity = (int)255.0f - (ctDifficultyIn.CurrentValue - 1000);
|
||||
_title.Opacity = (int)255.0f - (ctDifficultyIn.CurrentValue - 1000);
|
||||
}
|
||||
}
|
||||
|
||||
if (this.ttk選択している曲のサブタイトル != null) {
|
||||
if (this.ttkSelectedSongSubtitle != null) {
|
||||
if (HiddenIndex >= DBSongUnlockables.EHiddenIndex.GRAYED) {
|
||||
txSelectedSongSubtitle.bUseNoiseEffect = true;
|
||||
}
|
||||
|
||||
if (!ctBoxOpen.IsEnded)
|
||||
tx選択している曲のサブタイトル.Opacity = (int)(ctBoxOpen.CurrentValue >= 1200 && ctBoxOpen.CurrentValue <= 1620 ? 255 - (ctBoxOpen.CurrentValue - 1200) * 2.55f :
|
||||
txSelectedSongSubtitle.Opacity = (int)(ctBoxOpen.CurrentValue >= 1200 && ctBoxOpen.CurrentValue <= 1620 ? 255 - (ctBoxOpen.CurrentValue - 1200) * 2.55f :
|
||||
ctBoxOpen.CurrentValue >= 2000 ? (ctBoxOpen.CurrentValue - 2000) * 2.55f : ctBoxOpen.CurrentValue <= 1200 ? 255 : 0);
|
||||
else {
|
||||
if (!OpenTaiko.stageSongSelect.actDifficultySelectionScreen.bIsDifficltSelect)
|
||||
tx選択している曲のサブタイトル.Opacity = (int)(BarAnimeCount * 255.0f);
|
||||
txSelectedSongSubtitle.Opacity = (int)(BarAnimeCount * 255.0f);
|
||||
else if (ctDifficultyIn.CurrentValue >= 1000)
|
||||
tx選択している曲のサブタイトル.Opacity = (int)255.0f - (ctDifficultyIn.CurrentValue - 1000);
|
||||
txSelectedSongSubtitle.Opacity = (int)255.0f - (ctDifficultyIn.CurrentValue - 1000);
|
||||
}
|
||||
|
||||
tx選択している曲のサブタイトル.t2D拡大率考慮中央基準描画(
|
||||
txSelectedSongSubtitle.t2D拡大率考慮中央基準描画(
|
||||
xAnime + OpenTaiko.Skin.SongSelect_Bar_SubTitle_Offset[0] + (rCurrentlySelectedSong.eノード種別 == CSongListNode.ENodeType.BOX ? centerMoveX : centerMoveX / 1.1f),
|
||||
y + OpenTaiko.Skin.SongSelect_Bar_SubTitle_Offset[1] - (rCurrentlySelectedSong.eノード種別 == CSongListNode.ENodeType.BOX ? centerMove : centerMove / 1.1f));
|
||||
|
||||
if (this.ttk選択している曲の曲名 != null) {
|
||||
TitleTextureKey.ResolveTitleTexture(this.ttk選択している曲の曲名, OpenTaiko.Skin.SongSelect_VerticalText).t2D拡大率考慮中央基準描画(
|
||||
if (HiddenIndex >= DBSongUnlockables.EHiddenIndex.GRAYED) {
|
||||
txSelectedSongSubtitle.bUseNoiseEffect = false;
|
||||
}
|
||||
|
||||
if (this.ttkSelectedSongTitle != null) {
|
||||
_title.t2D拡大率考慮中央基準描画(
|
||||
xAnime + GetTitleOffsetX(rCurrentlySelectedSong.eノード種別) +
|
||||
(rCurrentlySelectedSong.eノード種別 != CSongListNode.ENodeType.BACKBOX ? (rCurrentlySelectedSong.eノード種別 == CSongListNode.ENodeType.BOX ? centerMoveX : centerMoveX / 1.1f) : 0),
|
||||
|
||||
@ -1949,8 +1975,8 @@ namespace OpenTaiko {
|
||||
(rCurrentlySelectedSong.eノード種別 != CSongListNode.ENodeType.BACKBOX ? (rCurrentlySelectedSong.eノード種別 == CSongListNode.ENodeType.BOX ? centerMove : centerMove / 1.1f) : 0));
|
||||
}
|
||||
} else {
|
||||
if (this.ttk選択している曲の曲名 != null) {
|
||||
TitleTextureKey.ResolveTitleTexture(this.ttk選択している曲の曲名, OpenTaiko.Skin.SongSelect_VerticalText).t2D拡大率考慮中央基準描画(
|
||||
if (this.ttkSelectedSongTitle != null) {
|
||||
_title.t2D拡大率考慮中央基準描画(
|
||||
xAnime + GetTitleOffsetX(this.stバー情報[nパネル番号].eバー種別) +
|
||||
(rCurrentlySelectedSong.eノード種別 != CSongListNode.ENodeType.BACKBOX ? (rCurrentlySelectedSong.eノード種別 == CSongListNode.ENodeType.BOX ? centerMoveX : centerMoveX / 1.1f) : 0),
|
||||
|
||||
@ -1958,11 +1984,14 @@ namespace OpenTaiko {
|
||||
(rCurrentlySelectedSong.eノード種別 != CSongListNode.ENodeType.BACKBOX ? (rCurrentlySelectedSong.eノード種別 == CSongListNode.ENodeType.BOX ? centerMove : centerMove / 1.1f) : 0));
|
||||
}
|
||||
}
|
||||
|
||||
if (HiddenIndex >= DBSongUnlockables.EHiddenIndex.GRAYED && _title != null) {
|
||||
_title.bUseNoiseEffect = false;
|
||||
}
|
||||
//-----------------
|
||||
#endregion
|
||||
|
||||
var IsSongLocked = OpenTaiko.Databases.DBSongUnlockables.tIsSongLocked(rCurrentlySelectedSong);
|
||||
var HiddenIndex = OpenTaiko.Databases.DBSongUnlockables.tGetSongHiddenIndex(rCurrentlySelectedSong);
|
||||
|
||||
|
||||
if (HiddenIndex >= DBSongUnlockables.EHiddenIndex.GRAYED) {
|
||||
DrawBarCenter(OpenTaiko.Tx.SongSelect_Bar_Genre_Locked_Top, OpenTaiko.Skin.SongSelect_Bar_X[barCenterNum], OpenTaiko.Skin.SongSelect_Bar_Y[barCenterNum], centerMoveX, centerMove, false, false, false);
|
||||
@ -2297,8 +2326,8 @@ namespace OpenTaiko {
|
||||
private STバー情報[] stバー情報 = new STバー情報[OpenTaiko.Skin.SongSelect_Bar_Count];
|
||||
private CTexture txSongNotFound, txEnumeratingSongs;
|
||||
|
||||
private TitleTextureKey ttk選択している曲の曲名;
|
||||
private TitleTextureKey ttk選択している曲のサブタイトル;
|
||||
private TitleTextureKey ttkSelectedSongTitle;
|
||||
private TitleTextureKey ttkSelectedSongSubtitle;
|
||||
public TitleTextureKey ttkSelectedSongBPM;
|
||||
public TitleTextureKey ttkSelectedSongMaker;
|
||||
|
||||
@ -2910,12 +2939,12 @@ namespace OpenTaiko {
|
||||
|
||||
|
||||
private void tResetTitleTextureKey() {
|
||||
if (this.ttk選択している曲の曲名 != null) {
|
||||
this.ttk選択している曲の曲名 = null;
|
||||
if (this.ttkSelectedSongTitle != null) {
|
||||
this.ttkSelectedSongTitle = null;
|
||||
this.b選択曲が変更された = false;
|
||||
}
|
||||
if (this.ttk選択している曲のサブタイトル != null) {
|
||||
this.ttk選択している曲のサブタイトル = null;
|
||||
if (this.ttkSelectedSongSubtitle != null) {
|
||||
this.ttkSelectedSongSubtitle = null;
|
||||
this.b選択曲が変更された = false;
|
||||
}
|
||||
if (this.ttkSelectedSongMaker != null) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user