Skip to content

Commit 8793616

Browse files
Copilot generated methods (#66)
* Copilot generated methods * Copilot cleanup
1 parent f75245d commit 8793616

File tree

1 file changed

+113
-48
lines changed

1 file changed

+113
-48
lines changed

src/neslib/NESLib.cs

Lines changed: 113 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -17,125 +17,190 @@ public static class NESLib
1717
/// <summary>
1818
/// set bg and spr palettes, data is 32 bytes array
1919
/// </summary>
20-
public static void pal_all(byte[] data) { }
20+
public static void pal_all(byte[] data) => throw null!;
2121

2222
/// <summary>
2323
/// set bg palette only, data is 16 bytes array
2424
/// </summary>
25-
public static void pal_bg(byte[] data) { }
25+
public static void pal_bg(byte[] data) => throw null!;
2626

2727
/// <summary>
2828
/// set spr palette only, data is 16 bytes array
2929
/// </summary>
30-
public static void pal_spr(byte[] data) { }
30+
public static void pal_spr(byte[] data) => throw null!;
3131

3232
/// <summary>
3333
/// set a palette entry, index is 0..31
3434
/// </summary>
35-
public static void pal_col(byte index, byte color) { }
35+
public static void pal_col(byte index, byte color) => throw null!;
3636

3737
/// <summary>
3838
/// reset palette to $0f
3939
/// </summary>
40-
public static void pal_clear() { }
40+
public static void pal_clear() => throw null!;
4141

4242
/// <summary>
4343
/// set virtual bright both for sprites and background, 0 is black, 4 is normal, 8 is white
4444
/// </summary>
45-
public static void pal_bright(byte bright) { }
45+
public static void pal_bright(byte bright) => throw null!;
4646

4747
/// <summary>
4848
/// set virtual bright for sprites only
4949
/// </summary>
50-
public static void pal_spr_bright(byte bright) { }
50+
public static void pal_spr_bright(byte bright) => throw null!;
5151

5252
/// <summary>
5353
/// set virtual bright for sprites background only
5454
/// </summary>
55-
public static void pal_bg_bright(byte bright) { }
55+
public static void pal_bg_bright(byte bright) => throw null!;
5656

57+
/// <summary>
58+
/// play music
59+
/// </summary>
60+
public static void music_play(byte song) => throw null!;
61+
62+
/// <summary>
63+
/// stop music
64+
/// </summary>
65+
public static void music_stop() => throw null!;
66+
67+
/// <summary>
68+
/// pause music
69+
/// </summary>
70+
public static void music_pause(byte pause) => throw null!;
71+
72+
/// <summary>
73+
/// play sound effect
74+
/// </summary>
75+
public static void sfx_play(byte sound, byte channel) => throw null!;
5776

77+
/// <summary>
78+
/// play sample
79+
/// </summary>
80+
public static void sample_play(byte sample) => throw null!;
5881

82+
/// <summary>
83+
/// get pad trigger
84+
/// </summary>
85+
public static byte pad_trigger(byte pad) => throw null!;
5986

87+
/// <summary>
88+
/// get pad state
89+
/// </summary>
90+
public static byte pad_state(byte pad) => throw null!;
91+
92+
/// <summary>
93+
/// read from vram
94+
/// </summary>
95+
public static void vram_read(byte[] dst, uint size) => throw null!;
96+
97+
/// <summary>
98+
/// write to vram
99+
/// </summary>
100+
public static void vram_write(byte[] src, uint size) => throw null!;
101+
102+
/// <summary>
103+
/// unpack LZ4 data to vram
104+
/// </summary>
105+
public static void vram_unlz4(byte[] input, byte[] output, uint uncompressedSize) => throw null!;
106+
107+
/// <summary>
108+
/// fill memory
109+
/// </summary>
110+
public static void memfill(object dst, byte value, uint len) => throw null!;
111+
112+
/// <summary>
113+
/// clear OAM buffer fast
114+
/// </summary>
115+
public static void oam_clear_fast() => throw null!;
116+
117+
/// <summary>
118+
/// set metasprite in OAM buffer with palette
119+
/// </summary>
120+
public static void oam_meta_spr_pal(byte x, byte y, byte pal, byte[] metasprite) => throw null!;
121+
122+
/// <summary>
123+
/// set metasprite in OAM buffer with clipping
124+
/// </summary>
125+
public static void oam_meta_spr_clip(int x, byte y, byte[] metasprite) => throw null!;
60126

61127
/// <summary>
62128
/// wait actual TV frame, 50hz for PAL, 60hz for NTSC
63129
/// </summary>
64-
public static void ppu_wait_nmi() { }
130+
public static void ppu_wait_nmi() => throw null!;
65131

66132
/// <summary>
67133
/// wait virtual frame, it is always 50hz, frame-to-frame in PAL, frameskip in NTSC
68134
/// </summary>
69-
public static void ppu_wait_frame() { }
135+
public static void ppu_wait_frame() => throw null!;
70136

71137
/// <summary>
72138
/// turn off rendering, nmi still enabled when rendering is disabled
73139
/// </summary>
74-
public static void ppu_off() { }
140+
public static void ppu_off() => throw null!;
75141

76142
/// <summary>
77143
/// turn on bg, spr
78144
/// </summary>
79-
public static void ppu_on_all() { }
145+
public static void ppu_on_all() => throw null!;
80146

81147
/// <summary>
82148
/// turn on bg only
83149
/// </summary>
84-
public static void ppu_on_bg() { }
150+
public static void ppu_on_bg() => throw null!;
85151

86152
/// <summary>
87153
/// turn on spr only
88154
/// </summary>
89-
public static void ppu_on_spr() { }
155+
public static void ppu_on_spr() => throw null!;
90156

91157
/// <summary>
92158
/// set PPU_MASK directly
93159
/// </summary>
94-
public static void ppu_mask(byte mask) { }
160+
public static void ppu_mask(byte mask) => throw null!;
95161

96162
/// <summary>
97163
/// get current video system, 0 for PAL, not 0 for NTSC
98164
/// </summary>
99-
public static byte ppu_system() => default;
165+
public static byte ppu_system() => throw null!;
100166

101167
/// <summary>
102168
/// Return an 8-bit counter incremented at each vblank
103169
/// </summary>
104-
public static byte nesclock() => default;
170+
public static byte nesclock() => throw null!;
105171

106172
/// <summary>
107173
/// get the internal ppu ctrl cache var for manual writing
108174
/// </summary>
109-
public static byte get_ppu_ctrl_var() => default;
175+
public static byte get_ppu_ctrl_var() => throw null!;
110176

111177
/// <summary>
112178
/// set the internal ppu ctrl cache var for manual writing
113179
/// </summary>
114-
public static void set_ppu_ctrl_var(byte var) { }
115-
180+
public static void set_ppu_ctrl_var(byte var) => throw null!;
116181

117182
/// <summary>
118183
/// clear OAM buffer, all the sprites are hidden
119184
/// </summary>
120-
public static void oam_clear() { }
185+
public static void oam_clear() => throw null!;
121186

122187
/// <summary>
123188
/// set sprite display mode, 0 for 8x8 sprites, 1 for 8x16 sprites
124189
/// </summary>
125-
public static void oam_size(byte size) { }
190+
public static void oam_size(byte size) => throw null!;
126191

127192
/// <summary>
128193
/// set sprite in OAM buffer, chrnum is tile, attr is attribute, sprid is offset in OAM in bytes
129194
/// </summary>
130195
/// <returns>returns sprid+4, which is offset for a next sprite</returns>
131-
public static byte oam_spr(byte x, byte y, byte chrnum, byte attr, byte sprid) => default;
196+
public static byte oam_spr(byte x, byte y, byte chrnum, byte attr, byte sprid) => throw null!;
132197

133198
/// <summary>
134199
/// poll controller and return enum like PAD.LEFT, etc.
135200
/// </summary>
136201
/// <param name="pad">pad number (0 or 1)</param>
137202
/// <returns>Enum like PAD.LEFT, etc.</returns>
138-
public static PAD pad_poll(byte pad) => default;
203+
public static PAD pad_poll(byte pad) => throw null!;
139204

140205
/// <summary>
141206
/// set metasprite in OAM buffer
@@ -144,59 +209,58 @@ public static void oam_size(byte size) { }
144209
/// x=128 is end of a meta sprite
145210
/// </summary>
146211
/// <returns>returns sprid+4, which is offset for a next sprite</returns>
147-
public static byte oam_meta_spr(byte x, byte y, byte sprid, byte[] data) => default;
212+
public static byte oam_meta_spr(byte x, byte y, byte sprid, byte[] data) => throw null!;
148213

149214
/// <summary>
150215
/// hide all remaining sprites from given offset
151216
/// </summary>
152-
public static void oam_hide_rest(byte sprid) { }
153-
217+
public static void oam_hide_rest(byte sprid) => throw null!;
154218

155219
/// <summary>
156220
/// set vram pointer to write operations if you need to write some data to vram
157221
/// </summary>
158-
public static void vram_adr(ushort adr) { }
222+
public static void vram_adr(ushort adr) => throw null!;
159223

160224
/// <summary>
161225
/// put a byte at current vram address, works only when rendering is turned off
162226
/// </summary>
163-
public static void vram_put(byte n) { }
227+
public static void vram_put(byte n) => throw null!;
164228

165229
/// <summary>
166230
/// fill a block with a byte at current vram address, works only when rendering is turned off
167231
/// </summary>
168-
public static void vram_fill(byte n, uint len) { }
232+
public static void vram_fill(byte n, uint len) => throw null!;
169233

170234
/// <summary>
171235
/// set vram autoincrement, 0 for +1 and not 0 for +32
172236
/// </summary>
173-
public static void vram_inc(byte n) { }
237+
public static void vram_inc(byte n) => throw null!;
174238

175239
/// <summary>
176240
/// write a block to current address of vram, works only when rendering is turned off
177241
/// </summary>
178-
public static void vram_write(string src) { }
242+
public static void vram_write(string src) => throw null!;
179243

180244
/// <summary>
181245
/// write a block to current address of vram, works only when rendering is turned off
182246
/// </summary>
183-
public static void vram_write(byte[] src) { }
247+
public static void vram_write(byte[] src) => throw null!;
184248

185249
/// <summary>
186250
/// unpack RLE data to current address of vram, mostly used for nametables
187251
/// </summary>
188-
public static void vram_unrle(byte[] data) { }
252+
public static void vram_unrle(byte[] data) => throw null!;
189253

190254
/// <summary>
191255
/// delay for N frames
192256
/// </summary>
193-
public static void delay(byte frames) { }
257+
public static void delay(byte frames) => throw null!;
194258

195259
/// <summary>
196260
/// set scroll, including rhe top bits
197261
/// it is always applied at beginning of a TV frame, not at the function call
198262
/// </summary>
199-
public static void scroll(int x, int y) { }
263+
public static void scroll(int x, int y) => throw null!;
200264

201265
/// <summary>
202266
/// set scroll after screen split invoked by the sprite 0 hit
@@ -205,36 +269,37 @@ public static void scroll(int x, int y) { }
205269
/// otherwise empty frames without split will be inserted, resulting in jumpy screen
206270
/// warning: only X scroll could be changed in this version
207271
/// </summary>
208-
public static void split(int x, int y) { }
209-
272+
public static void split(int x, int y) => throw null!;
210273

211274
/// <summary>
212275
/// select current chr bank for sprites, 0..1
213276
/// </summary>
214-
public static void bank_spr(byte n) { }
277+
public static void bank_spr(byte n) => throw null!;
215278

216279
/// <summary>
217280
/// select current chr bank for background, 0..1
218281
/// </summary>
219-
public static void bank_bg(byte n) { }
282+
public static void bank_bg(byte n) => throw null!;
220283

221284
/// <summary>
222285
/// get random number 0..255, same as rand8()
223286
/// </summary>
224-
public static byte rand() => default;
287+
public static byte rand() => throw null!;
288+
225289
/// <summary>
226290
/// get random number 0..255
227291
/// </summary>
228-
public static byte rand8() => default;
292+
public static byte rand8() => throw null!;
293+
229294
/// <summary>
230295
/// get random number 0..65535
231296
/// </summary>
232-
public static ushort rand16() => default;
297+
public static ushort rand16() => throw null!;
233298

234299
/// <summary>
235300
/// set random seed
236301
/// </summary>
237-
public static void set_rand(ushort seed) { }
302+
public static void set_rand(ushort seed) => throw null!;
238303

239304
/// <summary>
240305
/// when display is enabled, vram access could only be done with this vram update system
@@ -253,14 +318,14 @@ public static void set_rand(ushort seed) { }
253318
///
254319
/// length of this data should be under 256 bytes
255320
/// </summary>
256-
public static void set_vram_update(byte[] buf) { }
321+
public static void set_vram_update(byte[] buf) => throw null!;
257322

258323
// all following vram functions only work when display is disabled
259324

260325
/// <summary>
261326
/// do a series of VRAM writes, the same format as for set_vram_update, but writes done right away
262327
/// </summary>
263-
public static void flush_vram_update(byte[] buf) { }
328+
public static void flush_vram_update(byte[] buf) => throw null!;
264329

265330
// These are from: https://github.com/mhughson/attributes/blob/master/neslib.h
266331

@@ -298,12 +363,12 @@ public static void flush_vram_update(byte[] buf) { }
298363
/// <summary>
299364
/// NOTE: this one is internal, not in neslib.h
300365
/// </summary>
301-
internal static void pal_copy() { }
366+
internal static void pal_copy() => throw null!;
302367

303368
/// <summary>
304369
/// NOTE: this one is internal, not in neslib.h
305370
/// </summary>
306-
internal static void ppu_onoff() { }
371+
internal static void ppu_onoff() => throw null!;
307372

308373
// Tables are from: https://github.com/clbr/neslib/blob/master/neslib.sinc
309374

0 commit comments

Comments
 (0)