Skip to content

Commit dedff15

Browse files
committed
v2.0.8 release
target celeste tas 3.41.0
1 parent e7bb205 commit dedff15

File tree

6 files changed

+38
-27
lines changed

6 files changed

+38
-27
lines changed

Source/Gameplay/AutoWatchEntity/Trigger/TriggerInfoHelper.cs

+2-11
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
//#define ForMaintenance
2-
using System.Reflection;
1+
using System.Reflection;
32

43
namespace Celeste.Mod.TASHelper.Gameplay.AutoWatchEntity;
54

@@ -17,7 +16,7 @@ internal static class TriggerInfoHelper {
1716

1817
public static Dictionary<Type, TriggerDynamicPlayerHandler> DynamicInfoPlayerGetters = new Dictionary<Type, TriggerDynamicPlayerHandler>();
1918

20-
private static HashSet<string> implementedMods = new HashSet<string>() { "Celeste" };
19+
internal static HashSet<string> implementedMods = new HashSet<string>() { "Celeste", "SkinModHelper", "SkinModHelperPlus" };
2120

2221
[Initialize]
2322
public static void Initialize() {
@@ -36,14 +35,6 @@ public static void Initialize() {
3635
}
3736
ModTriggerStaticInfo.AddToDictionary();
3837
ModTriggerDynamicInfo.AddToDictionary();
39-
#if ForMaintenance
40-
Logger.Log(LogLevel.Debug, $"TASHelper/{nameof(TriggerInfoHelper)}:NotImplementedTriggers",
41-
string.Join("\n", Utils.ModUtils.GetTypes().Where(x =>
42-
x.IsSubclassOf(typeof(Trigger))
43-
&& !StaticInfoGetters.ContainsKey(x)
44-
&& !implementedMods.Contains(x.Assembly.GetName().Name)
45-
).Select(x => x.Assembly.GetName().Name + " @ " + x.FullName)));
46-
#endif
4738
}
4839

4940
public static bool TryCreateStaticHandler(MethodInfo method, out TriggerStaticHandler handler) {

Source/Maintenance/MaintenanceRoutine.cs

+26-7
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,44 @@
11
//#define Maintenance
22

33
#if Maintenance
4+
using Celeste.Mod.TASHelper.Gameplay.AutoWatchEntity;
45
using Celeste.Mod.TASHelper.Utils;
56
using Monocle;
67

78
namespace Celeste.Mod.TASHelper.Maintenance;
8-
internal static class MaintenaceRoutine {
9-
10-
private static void CheckSpeedrunTool() {
11-
// Tiny SRT needs "sync fork" from SpeedrunTool
12-
// also, if a mod support SRT on its own, we need to create a corresponding support in TASHelper
9+
internal static class MaintenanceRoutine {
10+
11+
[Initialize]
12+
13+
private static void Initialize() {
14+
Logger.Log(LogLevel.Debug, "TAS Helper Maintenance", "This should be commented out when release!");
15+
16+
CheckTriggerInfoHelper();
1317
}
1418

15-
[Initialize]
19+
20+
private static void CheckTriggerInfoHelper() {
21+
int count = 0;
22+
Logger.Log(LogLevel.Debug, $"TASHelper/{nameof(TriggerInfoHelper)}:NotImplementedTriggers",
23+
"As follows:\n" + string.Join("\n", Utils.ModUtils.GetTypes().Where(x =>
24+
x.IsSubclassOf(typeof(Trigger))
25+
&& !TriggerInfoHelper.StaticInfoGetters.ContainsKey(x)
26+
&& !TriggerInfoHelper.implementedMods.Contains(x.Assembly.GetName().Name)
27+
).Select(x => { count++; return $"{count}). {x.Assembly.GetName().Name} @ {x.FullName}"; })));
28+
}
29+
1630
private static void CheckSimplifiedTriggers() {
1731
// check if new triggers appear and need to be "simplified"
1832
List<Type> types = ModUtils.GetTypes().Where(x => x.IsSameOrSubclassOf(typeof(Trigger))).ToList();
1933
foreach (Type type in types) {
2034
Logger.Log("TAS Helper Maintenance", type.FullName);
2135
}
22-
}
36+
}
37+
38+
private static void CheckSpeedrunTool() {
39+
// Tiny SRT needs "sync fork" from SpeedrunTool
40+
// also, if a mod support SRT on its own, we need to create a corresponding support in TASHelper
41+
}
2342

2443
private static void CheckTasSync() {
2544
// run tases of the most popular maps

Source/Module/WhatsNew.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ public static void CreateUpdateLog() {
7777
AddLog("2.0.4", "Bugfix: If Cassette tempo = 0 and there's freeze frame, then game gets stuck (thanks @trans_alexa)");
7878
AddLog("2.0.5", "Bugfix: Cutscene is auto-watched even if Auto Watch is not enabled. (thanks @socksygen)");
7979
AddLog("2.0.6", "Feature: Auto-Watch now supports Triggers, and vanilla / Everest ones are handled well.");
80-
AddLog("2.0.7", "Feature: Auto-Watch now supports CrumbleWallOnRumble.");
80+
AddLog("2.0.7", "Feature: Auto-Watch now supports CrumbleWallOnRumble.");
81+
AddLog("2.0.8", "Change: Target CelesteTAS v3.41.0", "Feature: Auto-Watch supports more triggers.");
8182
UpdateLogs.Sort((x, y) => new Version(y.Item1).CompareTo(new Version(x.Item1)));
8283
}
8384

Source/Predictor/InputManager.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ public static void ReadInputs(int frames) {
1919
}
2020

2121
public static void ExecuteCommands(int frame) {
22-
if (Manager.Controller.Commands.GetValueOrDefault(Manager.Controller.CurrentFrameInTas + frame) is { } CurrentCommands) {
23-
foreach (var command in CurrentCommands) {
22+
if (Manager.Controller.Commands.GetValueOrDefault(Manager.Controller.CurrentFrameInTas + frame) is List<Command> CurrentCommands) {
23+
foreach (Command command in CurrentCommands) {
2424
if (SupportedRuntimeCommands.Contains(command.Attribute.Name) &&
25-
(!EnforceLegalCommand.EnabledWhenRunning || command.Attribute.LegalInMainGame)) {
25+
(!EnforceLegalCommand.EnabledWhenRunning || command.Attribute.LegalInFullGame)) {
2626
command.Invoke();
2727
}
2828
}
@@ -39,7 +39,7 @@ public static void Initialize() {
3939
EmptyInput = emptyInput;
4040
SupportedRuntimeCommands.Clear();
4141
foreach (string str in _supportedRuntimeCommands) {
42-
if (TasCommandAttribute.MethodInfos.Keys.Where(x => x.Name == str) is { } commands && commands.IsNotNullOrEmpty() && commands.First().ExecuteTiming.Has(ExecuteTiming.Runtime)) {
42+
if (Command.Commands.Where(x => x.Name == str) is { } commands && commands.IsNotNullOrEmpty() && commands.First().ExecuteTiming.Has(ExecuteTiming.Runtime)) {
4343
SupportedRuntimeCommands.Add(str);
4444
}
4545
}

TASHelper.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
<Publicize Include="CelesteTAS-EverestInterop:TAS.Input.InputController.Checksum" />
8484
<Publicize Include="CelesteTAS-EverestInterop:TAS.Input.InputController.ParseFileEnd" />
8585
<Publicize Include="CelesteTAS-EverestInterop:TAS.Input.InputController.CurrentFrameInTas" />
86-
<Publicize Include="CelesteTAS-EverestInterop:TAS.Input.Commands.TasCommandAttribute.MethodInfos" />
86+
<Publicize Include="CelesteTAS-EverestInterop:TAS.Input.Command.Commands" />
8787
<Publicize Include="CelesteTAS-EverestInterop:TAS.EverestInterop.Hitboxes.ActualEntityCollideHitbox" />
8888
<Publicize Include="CelesteTAS-EverestInterop:TAS.EverestInterop.Hitboxes.ActualEntityCollideHitbox.LoadActualCollidePosition" />
8989
<Publicize Include="CelesteTAS-EverestInterop:TAS.EverestInterop.Hitboxes.ActualEntityCollideHitbox.SavePlayerPosition" />

everest.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
- Name: TASHelper
2-
Version: 2.0.7
2+
Version: 2.0.8
33
DLL: bin/Release/net7.0/TASHelper.dll
44
Dependencies:
55
- Name: EverestCore
6-
Version: 1.4818.0
6+
Version: 1.5034.0
77
- Name: CelesteTAS
8-
Version: 3.40.0
8+
Version: 3.41.0
99
- Name: SpeedrunTool
1010
Version: 3.20.0

0 commit comments

Comments
 (0)