Skip to content

Commit a5ae9be

Browse files
committed
dsda: condense the 2 hooks
1 parent 0f73625 commit a5ae9be

File tree

5 files changed

+15
-35
lines changed

5 files changed

+15
-35
lines changed

src/BizHawk.Client.Common/lua/INamedLuaFunction.cs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,10 @@ public interface INamedLuaFunction
1313
MemoryCallbackDelegate MemCallback { get; }
1414

1515
/// <summary>for <c>doom.on_prandom</c>; single param: caller of RNG, per categories <see href="https://github.com/TASEmulators/dsda-doom/blob/7f03360ce0e9000c394fb99869d78adf4603ade5/prboom2/src/m_random.h#L63-L133">in source</see></summary>
16-
Action<int> RandomCallback { get; }
17-
18-
/// <summary>for <c>doom.on_use</c>; two params: pointers to activated line and to mobj that triggered it</summary>
19-
Action<long, long> UseCallback { get; }
20-
21-
/// <summary>for <c>doom.on_cross</c>; two params: pointers to activated line and to mobj that</summary>
22-
Action<long, long> CrossCallback { get; }
16+
Action<int> RandomCallback { get; }
17+
18+
/// <summary>for <c>doom.on_use and doom.on_cross</c>; two params: pointers to activated line and to mobj that triggered it</summary>
19+
Action<long, long> LineCallback { get; }
2320

2421
string Name { get; }
2522

src/BizHawk.Client.Common/lua/LuaHelperLibs/DoomLuaLibrary.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ public string OnUse(LuaFunction luaf, string name = null)
6969

7070
var callbacks = dsda.UseCallbacks;
7171
var nlf = CreateAndRegisterNamedFunction(luaf, "OnUse", LogOutputCallback, CurrentFile, name: name);
72-
callbacks.Add(nlf.UseCallback);
73-
nlf.OnRemove += () => callbacks.Remove(nlf.UseCallback);
72+
callbacks.Add(nlf.LineCallback);
73+
nlf.OnRemove += () => callbacks.Remove(nlf.LineCallback);
7474
return nlf.GuidStr;
7575
}
7676

@@ -94,8 +94,8 @@ public string OnCross(LuaFunction luaf, string name = null)
9494

9595
var callbacks = dsda.CrossCallbacks;
9696
var nlf = CreateAndRegisterNamedFunction(luaf, "OnCross", LogOutputCallback, CurrentFile, name: name);
97-
callbacks.Add(nlf.CrossCallback);
98-
nlf.OnRemove += () => callbacks.Remove(nlf.CrossCallback);
97+
callbacks.Add(nlf.LineCallback);
98+
nlf.OnRemove += () => callbacks.Remove(nlf.LineCallback);
9999
return nlf.GuidStr;
100100
}
101101
}

src/BizHawk.Client.Common/lua/NamedLuaFunction.cs

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -105,19 +105,7 @@ public NamedLuaFunction(LuaFunction function, string theEvent, Action<string> lo
105105
luaLibraries.IsInInputOrMemoryCallback = false;
106106
}
107107
};
108-
UseCallback = (line, thing) =>
109-
{
110-
luaLibraries.IsInInputOrMemoryCallback = true;
111-
try
112-
{
113-
Callback([ line, thing ]);
114-
}
115-
finally
116-
{
117-
luaLibraries.IsInInputOrMemoryCallback = false;
118-
}
119-
};
120-
CrossCallback = (line, thing) =>
108+
LineCallback = (line, thing) =>
121109
{
122110
luaLibraries.IsInInputOrMemoryCallback = true;
123111
try
@@ -163,9 +151,7 @@ public string GuidStr
163151

164152
public Action<int> RandomCallback { get; }
165153

166-
public Action<long, long> UseCallback { get; }
167-
168-
public Action<long, long> CrossCallback { get; }
154+
public Action<long, long> LineCallback { get; }
169155

170156
public void Call(string name = null)
171157
{

src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -398,8 +398,8 @@ private static bool PlayerPresent(DoomSyncSettings syncSettings, int port) =>
398398
private List<IRomAsset> _pwadFiles;
399399
private LibDSDA.GameMode _gameMode;
400400
private LibDSDA.random_cb _randomCallback;
401-
private LibDSDA.use_cb _useCallback;
402-
private LibDSDA.cross_cb _crossCallback;
401+
private LibDSDA.line_cb _useCallback;
402+
private LibDSDA.line_cb _crossCallback;
403403
private LibDSDA.error_cb _errorCallback;
404404

405405
public List<Action<int>> RandomCallbacks = [ ];

src/BizHawk.Emulation.Cores/Computers/Doom/LibDSDA.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -154,14 +154,11 @@ public abstract bool dsda_frame_advance(
154154
public abstract void dsda_set_random_callback(random_cb cb);
155155

156156
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
157-
public delegate void use_cb(long line, long thing);
157+
public delegate void line_cb(long line, long thing);
158158
[BizImport(CallingConvention.Cdecl)]
159-
public abstract void dsda_set_use_callback(use_cb cb);
160-
161-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
162-
public delegate void cross_cb(long line, long thing);
159+
public abstract void dsda_set_use_callback(line_cb cb);
163160
[BizImport(CallingConvention.Cdecl)]
164-
public abstract void dsda_set_cross_callback(cross_cb cb);
161+
public abstract void dsda_set_cross_callback(line_cb cb);
165162

166163
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
167164
public delegate void error_cb(string error);

0 commit comments

Comments
 (0)