Fix release songs
This commit is contained in:
parent
3efbe35607
commit
c460bdbd20
@ -4,5 +4,7 @@ public static class Constants
|
|||||||
{
|
{
|
||||||
public const string DATE_TIME_FORMAT = "yyyyMMddHHmmss";
|
public const string DATE_TIME_FORMAT = "yyyyMMddHHmmss";
|
||||||
|
|
||||||
public static readonly byte[] ZeroArray = new byte[1000];
|
public const int MUSIC_ID_MAX = 1600;
|
||||||
|
|
||||||
|
public const int MUSIC_FLAG_BYTES = MUSIC_ID_MAX / 8 + 1;
|
||||||
}
|
}
|
@ -19,11 +19,12 @@ public class CrownsDataController : ControllerBase
|
|||||||
logger.LogInformation("CrownsData request : {Request}", request.Stringify());
|
logger.LogInformation("CrownsData request : {Request}", request.Stringify());
|
||||||
|
|
||||||
var manager = MusicAttributeManager.Instance;
|
var manager = MusicAttributeManager.Instance;
|
||||||
|
var crown = new byte[manager.Musics.Count*8];
|
||||||
var response = new CrownsDataResponse
|
var response = new CrownsDataResponse
|
||||||
{
|
{
|
||||||
Result = 1,
|
Result = 1,
|
||||||
CrownFlg = GZipBytesUtil.GetGZipBytes(new byte[manager.Musics.Count*4]),
|
CrownFlg = GZipBytesUtil.GetGZipBytes(crown),
|
||||||
DondafulCrownFlg = GZipBytesUtil.GetGZipBytes(new byte[manager.Musics.Count*4])
|
DondafulCrownFlg = GZipBytesUtil.GetGZipBytes(new byte[manager.Musics.Count*8])
|
||||||
};
|
};
|
||||||
|
|
||||||
return Ok(response);
|
return Ok(response);
|
||||||
|
@ -21,9 +21,9 @@ public class GetScoreRankController : ControllerBase
|
|||||||
var response = new GetScoreRankResponse
|
var response = new GetScoreRankResponse
|
||||||
{
|
{
|
||||||
Result = 1,
|
Result = 1,
|
||||||
IkiScoreRankFlg = GZipBytesUtil.GetGZipBytes(new byte[manager.Musics.Count * 4]),
|
IkiScoreRankFlg = GZipBytesUtil.GetGZipBytes(new byte[manager.Musics.Count * 9]),
|
||||||
KiwamiScoreRankFlg = GZipBytesUtil.GetGZipBytes(new byte[manager.Musics.Count * 4]),
|
KiwamiScoreRankFlg = GZipBytesUtil.GetGZipBytes(new byte[manager.Musics.Count * 9]),
|
||||||
MiyabiScoreRankFlg = GZipBytesUtil.GetGZipBytes(new byte[manager.Musics.Count * 4])
|
MiyabiScoreRankFlg = GZipBytesUtil.GetGZipBytes(new byte[manager.Musics.Count * 9])
|
||||||
};
|
};
|
||||||
|
|
||||||
return Ok(response);
|
return Ok(response);
|
||||||
|
@ -19,7 +19,9 @@ public class GetShopFolderController : ControllerBase
|
|||||||
|
|
||||||
var response = new GetShopFolderResponse
|
var response = new GetShopFolderResponse
|
||||||
{
|
{
|
||||||
Result = 1
|
Result = 1,
|
||||||
|
TokenId = 1,
|
||||||
|
VerupNo = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
response.AryShopFolderDatas.Add(new GetShopFolderResponse.ShopFolderData
|
response.AryShopFolderDatas.Add(new GetShopFolderResponse.ShopFolderData
|
||||||
|
@ -25,7 +25,7 @@ public class GetTokenCountController : ControllerBase
|
|||||||
response.AryTokenCountDatas.Add(new GetTokenCountResponse.TokenCountData
|
response.AryTokenCountDatas.Add(new GetTokenCountResponse.TokenCountData
|
||||||
{
|
{
|
||||||
TokenCount = 10,
|
TokenCount = 10,
|
||||||
TokenId = 1000
|
TokenId = 1
|
||||||
});
|
});
|
||||||
|
|
||||||
return Ok(response);
|
return Ok(response);
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Swan.Extensions;
|
using System.Collections;
|
||||||
|
using Swan.Extensions;
|
||||||
using TaikoLocalServer.Common;
|
using TaikoLocalServer.Common;
|
||||||
using TaikoLocalServer.Utils;
|
using TaikoLocalServer.Utils;
|
||||||
|
|
||||||
@ -22,16 +23,25 @@ public class InitialDataCheckController : ControllerBase
|
|||||||
{
|
{
|
||||||
logger.LogInformation("InitialDataCheck request: {Request}", request.Stringify());
|
logger.LogInformation("InitialDataCheck request: {Request}", request.Stringify());
|
||||||
|
|
||||||
var enabledArray = new uint[] {1, 2, 7, 11, 14, 17};
|
var enabledArray = new byte[Constants.MUSIC_FLAG_BYTES];
|
||||||
|
|
||||||
var response = new InitialdatacheckResponse
|
var response = new InitialdatacheckResponse
|
||||||
{
|
{
|
||||||
Result = 1,
|
Result = 1,
|
||||||
IsDanplay = false,
|
IsDanplay = false,
|
||||||
IsAibattle = false,
|
IsAibattle = false,
|
||||||
IsClose = false,
|
IsClose = false,
|
||||||
SongIntroductionEndDatetime = (DateTime.Now + TimeSpan.FromDays(999)).ToString(Constants.DATE_TIME_FORMAT),
|
//SongIntroductionEndDatetime = (DateTime.Now + TimeSpan.FromDays(999)).ToString(Constants.DATE_TIME_FORMAT),
|
||||||
DefaultSongFlg = GZipBytesUtil.GetGZipBytes(enabledArray),
|
DefaultSongFlg = enabledArray,
|
||||||
AryTelopDatas =
|
AryShopFolderDatas =
|
||||||
|
{
|
||||||
|
new InitialdatacheckResponse.InformationData
|
||||||
|
{
|
||||||
|
InfoId = 1,
|
||||||
|
VerupNo = 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/*AryTelopDatas =
|
||||||
{
|
{
|
||||||
new InitialdatacheckResponse.InformationData
|
new InitialdatacheckResponse.InformationData
|
||||||
{
|
{
|
||||||
@ -47,14 +57,7 @@ public class InitialDataCheckController : ControllerBase
|
|||||||
VerupNo = 1
|
VerupNo = 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
AryShopFolderDatas =
|
|
||||||
{
|
|
||||||
new InitialdatacheckResponse.InformationData
|
|
||||||
{
|
|
||||||
InfoId = 1,
|
|
||||||
VerupNo = 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
AryDanOdaiDatas =
|
AryDanOdaiDatas =
|
||||||
{
|
{
|
||||||
new InitialdatacheckResponse.InformationData
|
new InitialdatacheckResponse.InformationData
|
||||||
@ -88,12 +91,13 @@ public class InitialDataCheckController : ControllerBase
|
|||||||
VerupNo = 1
|
VerupNo = 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};*/
|
||||||
|
/*response.AryMovieInfoes.Add(new InitialdatacheckResponse.MovieData
|
||||||
|
{
|
||||||
|
MovieId = 2,
|
||||||
|
EnableDays = 9999
|
||||||
|
});*/
|
||||||
};
|
};
|
||||||
/*response.AryMovieInfoes.Add(new InitialdatacheckResponse.MovieData
|
|
||||||
{
|
|
||||||
MovieId = 2,
|
|
||||||
EnableDays = 9999
|
|
||||||
});*/
|
|
||||||
return Ok(response);
|
return Ok(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
using Microsoft.Extensions.Caching.Memory;
|
||||||
using TaikoLocalServer.Models;
|
using TaikoLocalServer.Models;
|
||||||
using TaikoLocalServer.Utils;
|
using TaikoLocalServer.Utils;
|
||||||
|
|
||||||
@ -9,7 +10,9 @@ namespace TaikoLocalServer.Controllers;
|
|||||||
public class SelfBestController : ControllerBase
|
public class SelfBestController : ControllerBase
|
||||||
{
|
{
|
||||||
private readonly ILogger<SelfBestController> logger;
|
private readonly ILogger<SelfBestController> logger;
|
||||||
public SelfBestController(ILogger<SelfBestController> logger) {
|
|
||||||
|
public SelfBestController(ILogger<SelfBestController> logger)
|
||||||
|
{
|
||||||
this.logger = logger;
|
this.logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -25,21 +28,8 @@ public class SelfBestController : ControllerBase
|
|||||||
Level = request.Level
|
Level = request.Level
|
||||||
};
|
};
|
||||||
|
|
||||||
if (request.ArySongNoes.Length == 1)
|
|
||||||
{
|
|
||||||
response.ArySelfbestScores.Add(new SelfBestResponse.SelfBestData
|
|
||||||
{
|
|
||||||
SongNo = request.ArySongNoes[0],
|
|
||||||
SelfBestScore = 0,
|
|
||||||
SelfBestScoreRate = 0,
|
|
||||||
UraBestScore = 0,
|
|
||||||
UraBestScoreRate = 0
|
|
||||||
});
|
|
||||||
return Ok(response);
|
|
||||||
}
|
|
||||||
var crashing = new HashSet<uint> { 2, 4, 47, 228, 232, 245, 255, 290, 385, 453, 464, 732, 772, 789, 790, 811, 824, 825, 837, 838, 840, 854, 861, 862, 877, 883, 885, 893, 894, 901 };
|
|
||||||
var manager = MusicAttributeManager.Instance;
|
var manager = MusicAttributeManager.Instance;
|
||||||
/*foreach (var songNo in request.ArySongNoes)
|
foreach (var songNo in request.ArySongNoes)
|
||||||
{
|
{
|
||||||
if (!manager.MusicAttributes.ContainsKey(songNo))
|
if (!manager.MusicAttributes.ContainsKey(songNo))
|
||||||
{
|
{
|
||||||
@ -47,23 +37,18 @@ public class SelfBestController : ControllerBase
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (crashing.Contains(songNo))
|
|
||||||
{
|
|
||||||
logger.LogWarning("Possible crashing song no!");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
var selfBestData = new SelfBestResponse.SelfBestData
|
var selfBestData = new SelfBestResponse.SelfBestData
|
||||||
{
|
{
|
||||||
|
SongNo = songNo,
|
||||||
SelfBestScore = 0,
|
SelfBestScore = 0,
|
||||||
SelfBestScoreRate = 0,
|
SelfBestScoreRate = 0,
|
||||||
SongNo = songNo,
|
|
||||||
UraBestScore = 0,
|
UraBestScore = 0,
|
||||||
UraBestScoreRate = 0
|
UraBestScoreRate = 0
|
||||||
};
|
};
|
||||||
response.ArySelfbestScores.Add(selfBestData);
|
response.ArySelfbestScores.Add(selfBestData);
|
||||||
}*/
|
}
|
||||||
response.ArySelfbestScores.Sort((data, otherData) => data.SongNo.CompareTo(otherData.SongNo));
|
response.ArySelfbestScores.Sort((data, otherData) => data.SongNo.CompareTo(otherData.SongNo));
|
||||||
|
|
||||||
return Ok(response);
|
return Ok(response);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,4 +1,7 @@
|
|||||||
using TaikoLocalServer.Utils;
|
using System.Collections;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using TaikoLocalServer.Common;
|
||||||
|
using TaikoLocalServer.Utils;
|
||||||
|
|
||||||
namespace TaikoLocalServer.Controllers;
|
namespace TaikoLocalServer.Controllers;
|
||||||
|
|
||||||
@ -18,17 +21,31 @@ public class UserDataController : ControllerBase
|
|||||||
logger.LogInformation("UserData request : {Request}", request.Stringify());
|
logger.LogInformation("UserData request : {Request}", request.Stringify());
|
||||||
|
|
||||||
var musicAttributeManager = MusicAttributeManager.Instance;
|
var musicAttributeManager = MusicAttributeManager.Instance;
|
||||||
|
|
||||||
|
var releaseSongArray = new byte[Constants.MUSIC_FLAG_BYTES];
|
||||||
|
var test = new BitArray(Constants.MUSIC_ID_MAX);
|
||||||
|
foreach (var music in musicAttributeManager.Musics)
|
||||||
|
{
|
||||||
|
test.Set((int)music, true);
|
||||||
|
}
|
||||||
|
test.Set(2, false);
|
||||||
|
test.CopyTo(releaseSongArray, 0);
|
||||||
|
|
||||||
var releaseSongArray = musicAttributeManager.Musics.ToArray();
|
var uraSongArray = new byte[Constants.MUSIC_FLAG_BYTES];
|
||||||
var uraSongArray = musicAttributeManager.MusicsWithUra.ToArray();
|
test.SetAll(false);
|
||||||
|
foreach (var music in musicAttributeManager.MusicsWithUra)
|
||||||
|
{
|
||||||
|
test.Set((int)music, true);
|
||||||
|
}
|
||||||
|
test.CopyTo(uraSongArray, 0);
|
||||||
|
|
||||||
var response = new UserDataResponse
|
var response = new UserDataResponse
|
||||||
{
|
{
|
||||||
Result = 1,
|
Result = 1,
|
||||||
ToneFlg = GZipBytesUtil.GetGZipBytes(new byte[1000]),
|
ToneFlg = new byte[] {9},
|
||||||
TitleFlg = GZipBytesUtil.GetGZipBytes(new byte[1000]),
|
// TitleFlg = GZipBytesUtil.GetGZipBytes(new byte[100]),
|
||||||
ReleaseSongFlg = GZipBytesUtil.GetGZipBytes(releaseSongArray),
|
ReleaseSongFlg = releaseSongArray,
|
||||||
UraReleaseSongFlg = GZipBytesUtil.GetGZipBytes(uraSongArray),
|
UraReleaseSongFlg = uraSongArray,
|
||||||
DefaultOptionSetting = new byte[] {0b10001001, 0b00000000},
|
DefaultOptionSetting = new byte[] {0b10001001, 0b00000000},
|
||||||
SongRecentCnt = 0,
|
SongRecentCnt = 0,
|
||||||
IsVoiceOn = true,
|
IsVoiceOn = true,
|
||||||
|
@ -21,6 +21,7 @@ builder.Services.AddHttpLogging(options =>
|
|||||||
options.LoggingFields = HttpLoggingFields.RequestPropertiesAndHeaders |
|
options.LoggingFields = HttpLoggingFields.RequestPropertiesAndHeaders |
|
||||||
HttpLoggingFields.ResponsePropertiesAndHeaders;
|
HttpLoggingFields.ResponsePropertiesAndHeaders;
|
||||||
});
|
});
|
||||||
|
builder.Services.AddMemoryCache();
|
||||||
|
|
||||||
var app = builder.Build();
|
var app = builder.Build();
|
||||||
app.UseForwardedHeaders(new ForwardedHeadersOptions
|
app.UseForwardedHeaders(new ForwardedHeadersOptions
|
||||||
|
@ -32,15 +32,13 @@ public class MusicAttributeManager
|
|||||||
}
|
}
|
||||||
MusicAttributes = result.ToDictionary(attribute => attribute.MusicId);
|
MusicAttributes = result.ToDictionary(attribute => attribute.MusicId);
|
||||||
|
|
||||||
Musics = MusicAttributes
|
Musics = MusicAttributes.Select(pair => pair.Key)
|
||||||
.Where(attribute => attribute.Value.HasUra)
|
.ToList();
|
||||||
.Select(pair => pair.Key).ToList();
|
|
||||||
Musics.Sort();
|
Musics.Sort();
|
||||||
|
|
||||||
MusicsWithUra = MusicAttributes
|
MusicsWithUra = MusicAttributes.Where(attribute => attribute.Value.HasUra)
|
||||||
.Where(attribute => attribute.Value.HasUra)
|
.Select(pair => pair.Key)
|
||||||
.Select(pair => pair.Key)
|
.ToList();
|
||||||
.ToList();
|
|
||||||
MusicsWithUra.Sort();
|
MusicsWithUra.Sort();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user