1
0
mirror of synced 2025-01-18 09:04:47 +01:00

Implement #222 and Fix #104

This commit is contained in:
0aubsq 2022-06-11 02:08:38 +02:00
parent 84aca83f62
commit 4b7beb87fe
13 changed files with 223 additions and 43 deletions

View File

@ -311,8 +311,47 @@ namespace TJAPlayer3
// プロパティ
// Hitsounds
public CHitSounds hsHitSoundsInformations = null;
// Character specific voice samples
// Sounds\Clear
public Cシステムサウンド[] voiceClearFailed = new Cシステムサウンド[4];
public Cシステムサウンド[] voiceClearClear = new Cシステムサウンド[4];
public Cシステムサウンド[] voiceClearFullCombo = new Cシステムサウンド[4];
public Cシステムサウンド[] voiceClearAllPerfect = new Cシステムサウンド[4];
// Sounds\Menu
public Cシステムサウンド[] voiceMenuSongSelect = new Cシステムサウンド[4];
public Cシステムサウンド[] voiceMenuSongDecide = new Cシステムサウンド[4];
public Cシステムサウンド[] voiceMenuDiffSelect = new Cシステムサウンド[4];
public Cシステムサウンド[] voiceMenuDanSelectStart = new Cシステムサウンド[4];
public Cシステムサウンド[] voiceMenuDanSelectPrompt = new Cシステムサウンド[4];
public Cシステムサウンド[] voiceMenuDanSelectConfirm = new Cシステムサウンド[4];
// Sounds\Title
public Cシステムサウンド[] voiceTitleSanka = new Cシステムサウンド[4];
// Sounds\Tower
public Cシステムサウンド[] voiceTowerMiss = new Cシステムサウンド[4];
// Sounds\Result
public Cシステムサウンド[] voiceResultBestScore = new Cシステムサウンド[4];
public Cシステムサウンド[] voiceResultClearFailed = new Cシステムサウンド[4];
public Cシステムサウンド[] voiceResultClearSuccess = new Cシステムサウンド[4];
public Cシステムサウンド[] voiceResultDanFailed = new Cシステムサウンド[4];
public Cシステムサウンド[] voiceResultDanRedPass = new Cシステムサウンド[4];
public Cシステムサウンド[] voiceResultDanGoldPass = new Cシステムサウンド[4];
// General sound effects (Skin specific)
public Cシステムサウンド bgmオプション画面 = null;
public Cシステムサウンド bgmコンフィグ画面 = null;
public Cシステムサウンド bgm起動画面 = null;
@ -702,13 +741,13 @@ namespace TJAPlayer3
this.bgm起動画面 = new Cシステムサウンド(@"Sounds\Setup BGM.ogg", true, true, false, ESoundGroup.SongPlayback);
this.bgmオプション画面 = new Cシステムサウンド(@"Sounds\Option BGM.ogg", true, true, false, ESoundGroup.SongPlayback);
this.bgmコンフィグ画面 = new Cシステムサウンド(@"Sounds\Config BGM.ogg", true, true, false, ESoundGroup.SongPlayback);
//this.bgm選曲画面 = new Cシステムサウンド(@"Sounds\Select BGM.ogg", true, true, false, ESoundGroup.SongPlayback);
this.soundSongSelectChara = new Cシステムサウンド(@"Sounds\SongSelect Chara.ogg", false, false, false, ESoundGroup.SongPlayback);
this.bgm選曲画面 = new Cシステムサウンド(@"Sounds\Select BGM.ogg", true, true, false, ESoundGroup.SongPlayback);
//this.soundSongSelectChara = new Cシステムサウンド(@"Sounds\SongSelect Chara.ogg", false, false, false, ESoundGroup.SongPlayback);
this.soundSkip = new Cシステムサウンド(@"Sounds\Skip.ogg", false, false, false, ESoundGroup.SoundEffect);
this.SoundBanapas = new Cシステムサウンド(@"Sounds\Banapas.ogg", false, false, false, ESoundGroup.SoundEffect);
this.soundEntry = new Cシステムサウンド(@"Sounds\Entry.ogg", true, false, false, ESoundGroup.Voice);
this.soundError = new Cシステムサウンド(@"Sounds\Error.ogg", false, false, false, ESoundGroup.SoundEffect);
this.soundsanka = new Cシステムサウンド(@"Sounds\sanka.ogg", false, false, false, ESoundGroup.Voice);
//this.soundsanka = new Cシステムサウンド(@"Sounds\sanka.ogg", false, false, false, ESoundGroup.Voice);
this.soundBomb = new Cシステムサウンド(@"Sounds\Bomb.ogg", false, false, false, ESoundGroup.SoundEffect);
//this.soundRed = new Cシステムサウンド( @"Sounds\dong.ogg", false, false, true, ESoundType.SoundEffect );
@ -727,7 +766,7 @@ namespace TJAPlayer3
this.bgmTowerResult = new Cシステムサウンド(@"Sounds\Tower\Tower_Result.ogg", true, false, false, ESoundGroup.SongPlayback);
this.soundTowerMiss = new Cシステムサウンド(@"Sounds\Tower\Miss.wav", false, false, true, ESoundGroup.SoundEffect);
//this.soundTowerMiss = new Cシステムサウンド(@"Sounds\Tower\Miss.wav", false, false, true, ESoundGroup.SoundEffect);
this.soundCrownIn = new Cシステムサウンド(@"Sounds\ResultScreen\CrownIn.ogg", false, false, false, ESoundGroup.SoundEffect);
this.soundRankIn = new Cシステムサウンド(@"Sounds\ResultScreen\RankIn.ogg", false, false, false, ESoundGroup.SoundEffect);
@ -743,9 +782,9 @@ namespace TJAPlayer3
this.soundPon = new Cシステムサウンド(@"Sounds\Pon.ogg", false, false, false, ESoundGroup.SoundEffect);
this.soundGauge = new Cシステムサウンド(@"Sounds\Gauge.ogg", false, false, false, ESoundGroup.SoundEffect);
this.soundScoreDon = new Cシステムサウンド(@"Sounds\ScoreDon.ogg", false, false, false, ESoundGroup.SoundEffect);
this.soundChallengeVoice = new Cシステムサウンド(@"Sounds\Dan\ChallengeVoice.wav", false, false, false, ESoundGroup.SoundEffect);
this.soundDanSelectStart = new Cシステムサウンド(@"Sounds\Dan\DanSelectStart.wav", false, false, false, ESoundGroup.SoundEffect);
this.soundDanSongSelectCheck = new Cシステムサウンド(@"Sounds\Dan\DanSongSelectCheck.wav", false, false, false, ESoundGroup.SoundEffect);
//this.soundChallengeVoice = new Cシステムサウンド(@"Sounds\Dan\ChallengeVoice.wav", false, false, false, ESoundGroup.SoundEffect);
//this.soundDanSelectStart = new Cシステムサウンド(@"Sounds\Dan\DanSelectStart.wav", false, false, false, ESoundGroup.SoundEffect);
//this.soundDanSongSelectCheck = new Cシステムサウンド(@"Sounds\Dan\DanSongSelectCheck.wav", false, false, false, ESoundGroup.SoundEffect);
this.soundDanSongSelectIn = new Cシステムサウンド(@"Sounds\Dan\Dan_In.ogg", false, false, false, ESoundGroup.SoundEffect);
@ -755,7 +794,7 @@ namespace TJAPlayer3
this.soundHeyaBGM = new Cシステムサウンド(@"Sounds\Heya\BGM.ogg", true, false, false, ESoundGroup.SongPlayback);
this.soundOnlineLoungeBGM = new Cシステムサウンド(@"Sounds\OnlineLounge\BGM.ogg", true, false, false, ESoundGroup.SongPlayback);
this.soundEncyclopediaBGM = new Cシステムサウンド(@"Sounds\Encyclopedia\BGM.ogg", true, false, false, ESoundGroup.SongPlayback);
this.soundTowerSelectBGM = new Cシステムサウンド(@"Sounds\Tower\DanSelectBGM.ogg", true, false, false, ESoundGroup.SongPlayback);
this.soundTowerSelectBGM = new Cシステムサウンド(@"Sounds\Tower\BGM.ogg", true, false, false, ESoundGroup.SongPlayback);
soundModal = new Cシステムサウンド[6];
for (int i = 0; i < soundModal.Length - 1; i++)

View File

@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.IO;
namespace TJAPlayer3
{
@ -1095,7 +1096,15 @@ namespace TJAPlayer3
public void ReloadCharacter(int old, int newC, int player, bool primary = false)
public CSkin.Cシステムサウンド VoiceSelectOggOrWav(string basePath)
{
if (File.Exists(basePath + @".ogg"))
return new CSkin.Cシステムサウンド(basePath + @".ogg", false, false, true, ESoundGroup.Voice);
else
return new CSkin.Cシステムサウンド(basePath + @".wav", false, false, true, ESoundGroup.Voice);
}
public void ReloadCharacter(int old, int newC, int player, bool primary = false)
{
if (old == newC)
return;
@ -1189,6 +1198,8 @@ namespace TJAPlayer3
#endregion
}
string charaPath = TJAPlayer3.strEXEのあるフォルダ + GLOBAL + CHARACTERS + TJAPlayer3.Skin.Characters_DirName[newC];
if ((newC >= 0 && TJAPlayer3.NamePlateConfig.data.Character[other] != newC) || primary)
{
int i = newC;
@ -1197,8 +1208,6 @@ namespace TJAPlayer3
#region [Character individual values count initialisation]
string charaPath = TJAPlayer3.strEXEのあるフォルダ + GLOBAL + CHARACTERS + TJAPlayer3.Skin.Characters_DirName[i];
TJAPlayer3.Skin.Characters_Normal_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @"\Normal\");
TJAPlayer3.Skin.Characters_Normal_Missed_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @"\Miss\");
TJAPlayer3.Skin.Characters_Normal_MissedDown_Ptn[i] = TJAPlayer3.t連番画像の枚数を数える(charaPath + @"\MissDown\");
@ -1567,6 +1576,57 @@ namespace TJAPlayer3
#endregion
}
#region [Voice samples]
var _skin = TJAPlayer3.Skin;
#region [Dispose previously allocated sound effects]
_skin.voiceClearFailed[player]?.Dispose();
_skin.voiceClearClear[player]?.Dispose();
_skin.voiceClearFullCombo[player]?.Dispose();
_skin.voiceClearAllPerfect[player]?.Dispose();
_skin.voiceMenuSongSelect[player]?.Dispose();
_skin.voiceMenuSongDecide[player]?.Dispose();
_skin.voiceMenuDiffSelect[player]?.Dispose();
_skin.voiceMenuDanSelectStart[player]?.Dispose();
_skin.voiceMenuDanSelectPrompt[player]?.Dispose();
_skin.voiceMenuDanSelectConfirm[player]?.Dispose();
_skin.voiceTitleSanka[player]?.Dispose();
_skin.voiceTowerMiss[player]?.Dispose();
_skin.voiceResultBestScore[player]?.Dispose();
_skin.voiceResultClearFailed[player]?.Dispose();
_skin.voiceResultClearSuccess[player]?.Dispose();
_skin.voiceResultDanFailed[player]?.Dispose();
_skin.voiceResultDanRedPass[player]?.Dispose();
_skin.voiceResultDanGoldPass[player]?.Dispose();
#endregion
#region [Allocate and load the new samples]
_skin.voiceClearFailed[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Clear\Failed");
_skin.voiceClearClear[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Clear\Clear");
_skin.voiceClearFullCombo[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Clear\FullCombo");
_skin.voiceClearAllPerfect[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Clear\AllPerfect");
_skin.voiceMenuSongSelect[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Menu\SongSelect");
_skin.voiceMenuSongDecide[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Menu\SongDecide");
_skin.voiceMenuDiffSelect[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Menu\DiffSelect");
_skin.voiceMenuDanSelectStart[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Menu\DanSelectStart");
_skin.voiceMenuDanSelectPrompt[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Menu\DanSelectPrompt");
_skin.voiceMenuDanSelectConfirm[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Menu\DanSelectConfirm");
_skin.voiceTitleSanka[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Title\Sanka");
_skin.voiceTowerMiss[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Tower\Miss");
_skin.voiceResultBestScore[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Result\BestScore");
_skin.voiceResultClearFailed[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Result\ClearFailed");
_skin.voiceResultClearSuccess[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Result\ClearSuccess");
_skin.voiceResultDanFailed[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Result\DanFailed");
_skin.voiceResultDanRedPass[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Result\DanRedPass");
_skin.voiceResultDanGoldPass[player] = VoiceSelectOggOrWav(charaPath + @"\Sounds\Result\DanGoldPass");
#endregion
#endregion
}
public void DisposeTexture()

View File

@ -378,8 +378,13 @@ namespace TJAPlayer3
{
if (!bモード選択)
{
/*
if (!TJAPlayer3.Skin.soundsanka.bPlayed)
TJAPlayer3.Skin.soundsanka.t再生する();
*/
if (TJAPlayer3.Skin.voiceTitleSanka[TJAPlayer3.SaveFile] != null && !TJAPlayer3.Skin.voiceTitleSanka[TJAPlayer3.SaveFile].bPlayed)
TJAPlayer3.Skin.voiceTitleSanka[TJAPlayer3.SaveFile]?.t再生する();
ctどんちゃんイン.t開始(0, 180, 2, TJAPlayer3.Timer);
ctBarAnimeIn.t開始(0, 1295, 1, TJAPlayer3.Timer);
@ -792,7 +797,7 @@ namespace TJAPlayer3
#if DEBUG
//string strVersion = "KTT:J:A:I:2017072200";
string strCreator = "https://github.com/AioiLight/TJAPlayer3";
string strCreator = "https://github.com/0AuBSQ/OpenTaiko";
AssemblyName asmApp = Assembly.GetExecutingAssembly().GetName();
TJAPlayer3.act文字コンソール.tPrint(4, 44, C文字コンソール.Eフォント種別., "DEBUG BUILD");
TJAPlayer3.act文字コンソール.tPrint(4, 4, C文字コンソール.Eフォント種別., asmApp.Name + " Ver." + TJAPlayer3.VERSION + " (" + strCreator + ")");
@ -887,7 +892,10 @@ namespace TJAPlayer3
ctエントリーバー点滅.n現在の値 = (int)ctエントリーバー点滅.n終了値;
TJAPlayer3.Skin.SoundBanapas.bPlayed = true;
TJAPlayer3.Skin.soundsanka.bPlayed = true;
//TJAPlayer3.Skin.soundsanka.bPlayed = true;
if (TJAPlayer3.Skin.voiceTitleSanka[TJAPlayer3.SaveFile] != null)
TJAPlayer3.Skin.voiceTitleSanka[TJAPlayer3.SaveFile].bPlayed = true;
}
}

View File

@ -84,7 +84,9 @@ namespace TJAPlayer3
}
else if (n現在の選択行 == 1)
{
TJAPlayer3.Skin.soundDanSongSelect.t再生する();
//TJAPlayer3.Skin.soundDanSongSelect.t再生する();
TJAPlayer3.Skin.sound決定音.t再生する();
TJAPlayer3.Skin.voiceMenuDanSelectConfirm[TJAPlayer3.SaveFile]?.t再生する();
TJAPlayer3.stage段位選択.ct待機.t開始(0, 3000, 1, TJAPlayer3.Timer);
}
else if (n現在の選択行 == 2)

View File

@ -137,7 +137,8 @@ namespace TJAPlayer3
{
if (!ctDonchan_In.b開始した)
{
TJAPlayer3.Skin.soundDanSelectStart.t再生する();
//TJAPlayer3.Skin.soundDanSelectStart.t再生する();
TJAPlayer3.Skin.voiceMenuDanSelectStart[TJAPlayer3.SaveFile]?.t再生する();
TJAPlayer3.Skin.soundDanSelectBGM.t再生する();
ctDonchan_In.t開始(0, 180, 1.25f, TJAPlayer3.Timer);
}
@ -165,7 +166,8 @@ namespace TJAPlayer3
TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.Decide))
{
//this.t段位を選択する();
TJAPlayer3.Skin.soundDanSongSelectCheck.t再生する();
//TJAPlayer3.Skin.soundDanSongSelectCheck.t再生する();
TJAPlayer3.Skin.voiceMenuDanSelectPrompt[TJAPlayer3.SaveFile]?.t再生する();
this.bDifficultyIn = true;
this..ctBarIn.t開始(0, 255, 1, TJAPlayer3.Timer);
}

View File

@ -180,7 +180,8 @@ namespace TJAPlayer3
{
ctBarAnimeIn = new CCounter(0, 170, 4, TJAPlayer3.Timer);
// this.soundSelectAnnounce?.tサウンドを再生する();
TJAPlayer3.Skin.soundSelectAnnounce.t再生する();
//TJAPlayer3.Skin.soundSelectAnnounce.t再生する();
TJAPlayer3.Skin.voiceMenuDiffSelect[TJAPlayer3.SaveFile]?.t再生する();
base.b初めての進行描画 = false;
}
//-----------------
@ -231,7 +232,8 @@ namespace TJAPlayer3
CMenuCharacter.tMenuResetTimer(0, CMenuCharacter.ECharacterAnimation.START);
this.bSelect[0] = true;
TJAPlayer3.Skin.sound曲決定音.t再生する();
TJAPlayer3.Skin.sound決定音.t再生する();
TJAPlayer3.Skin.voiceMenuSongDecide[TJAPlayer3.SaveFile]?.t再生する();
if(TJAPlayer3.ConfigIni.nPlayerCount == 2)
{
@ -291,7 +293,8 @@ namespace TJAPlayer3
CMenuCharacter.tMenuResetTimer(1, CMenuCharacter.ECharacterAnimation.START);
this.bSelect[1] = true;
TJAPlayer3.Skin.sound曲決定音.t再生する();
TJAPlayer3.Skin.sound決定音.t再生する();
TJAPlayer3.Skin.voiceMenuSongDecide[TJAPlayer3.GetActualPlayer(1)]?.t再生する();
if (bSelect[0])
{

View File

@ -250,6 +250,8 @@ namespace TJAPlayer3
// BGM played
this.bBGM再生済み = false;
TJAPlayer3.Skin.voiceMenuSongSelect[TJAPlayer3.SaveFile]?.t再生する();
this.ftフォント = new Font("MS UI Gothic", 26f, GraphicsUnit.Pixel);
for (int i = 0; i < 2; i++)
@ -795,6 +797,7 @@ namespace TJAPlayer3
}
}
#endregion
/*
#region [ F8 ]
if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.F8))
{
@ -804,7 +807,8 @@ namespace TJAPlayer3
TJAPlayer3.Skin.sound決定音.t再生する();
this.t曲をランダム選択する();
}
#endregion
#endregion
*/
if (this.act曲リスト.r現在選択中の曲 != null)
{
@ -833,8 +837,9 @@ namespace TJAPlayer3
// Init tower variables
if (this.n現在選択中の曲の難易度 == (int)Difficulty.Tower)
CFloorManagement.reinitialize(this.r現在選択中の曲.arスコア[(int)Difficulty.Tower]..nLife);
TJAPlayer3.Skin.sound曲決定音.t再生する();
TJAPlayer3.Skin.sound決定音.t再生する();
TJAPlayer3.Skin.voiceMenuSongDecide[TJAPlayer3.SaveFile]?.t再生する();
this.t曲を選択する();
}
@ -905,6 +910,7 @@ namespace TJAPlayer3
break;
case C曲リストード.Eード種別.RANDOM:
{
TJAPlayer3.Skin.sound決定音.t再生する();
this.t曲をランダム選択する();
//this.ctDonchan_Select.t開始(0, TJAPlayer3.Tx.SongSelect_Donchan_Select.Length - 1, 1000 / 45, TJAPlayer3.Timer);
@ -1495,15 +1501,18 @@ namespace TJAPlayer3
// Third assignment
this.r確定された曲 = song.listランダム用ードリスト[song.stackランダム演奏番号.Pop()];
this.n確定された曲の難易度[0] = this.act曲リスト.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(this.r確定された曲);
TJAPlayer3.Skin.voiceMenuSongDecide[TJAPlayer3.SaveFile]?.t再生する();
if (TJAPlayer3.ConfigIni.nPlayerCount > 1)
{
this.n確定された曲の難易度[1] = this.act曲リスト.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(this.r確定された曲);
TJAPlayer3.Skin.voiceMenuSongDecide[TJAPlayer3.GetActualPlayer(1)]?.t再生する();
}
this.r確定されたスコア = this.r確定された曲.arスコア[this.n確定された曲の難易度[0]];
this.str確定された曲のジャンル = this.r確定された曲.strジャンル;
TJAPlayer3.Skin.sound曲決定音.t再生する();
//TJAPlayer3.Skin.sound曲決定音.t再生する();
this.eフェードアウト完了時の戻り値 = E戻り値.;
this.actFOtoNowLoading.tフェードアウト開始(); // #27787 2012.3.10 yyagi 曲決定時の画面フェードアウトの省略

View File

@ -28,6 +28,8 @@ namespace TJAPlayer3
{
// this.ct進行メイン = new CCounter(0, 500, 1000 / 60, TJAPlayer3.Timer);
bSongsPlayed = false;
this.ct進行メイン = new CCounter(0, 300, 22, TJAPlayer3.Timer);
this.ctEnd_ClearFailed = new CCounter(0, 69, 30, TJAPlayer3.Timer);
this.ctEnd_FullCombo = new CCounter(0, 66, 33, TJAPlayer3.Timer);
@ -132,10 +134,14 @@ namespace TJAPlayer3
this.b再生済み = false;
if (!base.b活性化してない)
{
this.soundClear = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Clear.ogg"), ESoundGroup.SoundEffect);
this.soundFailed = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Failed.ogg"), ESoundGroup.SoundEffect);
this.soundFullCombo = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Full combo.ogg"), ESoundGroup.SoundEffect);
this.soundDondaFullCombo = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Donda Full Combo.ogg"), ESoundGroup.SoundEffect);
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
{
this.soundClear[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Clear.ogg"), ESoundGroup.SoundEffect);
this.soundFailed[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Failed.ogg"), ESoundGroup.SoundEffect);
this.soundFullCombo[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\FullCombo.ogg"), ESoundGroup.SoundEffect);
this.soundDondaFullCombo[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\AllPerfect.ogg"), ESoundGroup.SoundEffect);
}
base.OnManagedリソースの作成();
}
}
@ -144,14 +150,14 @@ namespace TJAPlayer3
{
if (!base.b活性化してない)
{
if (this.soundClear != null)
this.soundClear.t解放する();
if (this.soundFailed != null)
this.soundFailed.t解放する();
if (this.soundFullCombo != null)
this.soundFullCombo.t解放する();
if (this.soundDondaFullCombo != null)
this.soundDondaFullCombo.t解放する();
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
{
this.soundClear[i]?.t解放する();
this.soundFailed[i]?.t解放する();
this.soundFullCombo[i]?.t解放する();
this.soundDondaFullCombo[i]?.t解放する();
}
base.OnManagedリソースの解放();
}
}
@ -396,44 +402,84 @@ namespace TJAPlayer3
//CDTXMania.act文字コンソール.tPrint( 0, 0, C文字コンソール.Eフォント種別.灰, this.ct進行メイン.n現在の値.ToString() );
//仮置き
if (!bSongsPlayed)
{
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
{
switch (this.Mode[i])
{
case EndMode.StageFailed:
this.soundFailed[i]?.t再生を開始する();
TJAPlayer3.Skin.voiceClearFailed[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
break;
case EndMode.StageCleared:
this.soundClear[i]?.t再生を開始する();
TJAPlayer3.Skin.voiceClearClear[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
break;
case EndMode.StageFullCombo:
this.soundFullCombo[i]?.t再生を開始する();
TJAPlayer3.Skin.voiceClearFullCombo[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
break;
case EndMode.StageDondaFullCombo:
this.soundDondaFullCombo[i]?.t再生を開始する();
TJAPlayer3.Skin.voiceClearAllPerfect[TJAPlayer3.GetActualPlayer(i)]?.t再生する();
break;
default:
break;
}
}
bSongsPlayed = true;
}
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
{
switch (this.Mode[i])
{
case EndMode.StageFailed:
//this.ct進行メイン.n現在の値 = 18;
/*
if (this.soundFailed != null && !this.b再生済み)
{
this.soundFailed.t再生を開始する();
this.b再生済み = true;
}
*/
this.showEndEffect_Failed(i);
break;
case EndMode.StageCleared:
//this.ct進行メイン.n現在の値 = 18;
/*
if (this.soundClear != null && !this.b再生済み)
{
this.soundClear.t再生を開始する();
this.b再生済み = true;
}
*/
this.showEndEffect_Clear(i);
break;
case EndMode.StageFullCombo:
//this.ct進行メイン.n現在の値 = 18;
/*
if (this.soundFullCombo != null && !this.b再生済み)
{
this.soundFullCombo.t再生を開始する();
this.b再生済み = true;
}
*/
this.showEndEffect_FullCombo(i);
break;
case EndMode.StageDondaFullCombo:
//this.ct進行メイン.n現在の値 = 18;
/*
if (this.soundDondaFullCombo != null && !this.b再生済み)
{
this.soundDondaFullCombo.t再生を開始する();
this.b再生済み = true;
}
*/
this.showEndEffect_DondaFullCombo(i);
break;
default:
@ -457,6 +503,7 @@ namespace TJAPlayer3
//-----------------
bool b再生済み;
bool bリザルトボイス再生済み;
bool bSongsPlayed = false;
CCounter ct進行メイン;
CCounter ctEnd_ClearFailed;
@ -466,10 +513,10 @@ namespace TJAPlayer3
CCounter ctEnd_DondaFullComboLoop;
CCounter ct進行Loop;
CSound soundClear;
CSound soundFailed;
CSound soundFullCombo;
CSound soundDondaFullCombo;
CSound[] soundClear = new CSound[4];
CSound[] soundFailed = new CSound[4];
CSound[] soundFullCombo = new CSound[4];
CSound[] soundDondaFullCombo = new CSound[4];
EndMode[] Mode;
enum EndMode
{

View File

@ -29,7 +29,8 @@ namespace TJAPlayer3
{
CFloorManagement.InvincibilityFrames = new CCounter(0, CFloorManagement.InvincibilityDuration + 1000, 1, TJAPlayer3.Timer);
CFloorManagement.CurrentNumberOfLives--;
TJAPlayer3.Skin.soundTowerMiss.t再生する();
//TJAPlayer3.Skin.soundTowerMiss.t再生する();
TJAPlayer3.Skin.voiceTowerMiss[TJAPlayer3.SaveFile]?.t再生する();
}
}

View File

@ -744,10 +744,16 @@ namespace TJAPlayer3
if (!b音声再生[9])
{
if (gaugeValues[p] >= 80.0f)
TJAPlayer3.Skin.soundDonClear.t再生する();
{
//TJAPlayer3.Skin.soundDonClear.t再生する();
TJAPlayer3.Skin.voiceResultClearSuccess[TJAPlayer3.GetActualPlayer(p)]?.t再生する();
}
else
TJAPlayer3.Skin.soundDonFailed.t再生する();
{
//TJAPlayer3.Skin.soundDonFailed.t再生する();
TJAPlayer3.Skin.voiceResultClearFailed[TJAPlayer3.GetActualPlayer(p)]?.t再生する();
}
if (p == TJAPlayer3.ConfigIni.nPlayerCount - 1)
b音声再生[9] = true;
}

View File

@ -536,6 +536,9 @@ namespace TJAPlayer3
// Update the character
TJAPlayer3.NamePlateConfig.tUpdateCharacterName(iPlayer, TJAPlayer3.Skin.Characters_DirName[iCharacterCurrent]);
// Welcome voice using Sanka
TJAPlayer3.Skin.voiceTitleSanka[iPlayer]?.t再生する();
CMenuCharacter.tMenuResetTimer(CMenuCharacter.ECharacterAnimation.NORMAL);
TJAPlayer3.NamePlateConfig.tApplyHeyaChanges();