1#![allow(non_camel_case_types)]
2
3pub const MODE_STD: u32 = 0;
5pub const MODE_TAIKO: u32 = 1;
6
7pub const MODS_NOMOD: u32 = 0;
9pub const MODS_NF: u32 = 1;
10pub const MODS_EZ: u32 = 2;
11pub const MODS_TD: u32 = 4;
12pub const MODS_HD: u32 = 8;
13pub const MODS_HR: u32 = 16;
14pub const MODS_SD: u32 = 32;
15pub const MODS_DT: u32 = 64;
16pub const MODS_RX: u32 = 128;
17pub const MODS_HT: u32 = 256;
18pub const MODS_NC: u32 = 512;
19pub const MODS_FL: u32 = 1024;
20pub const MODS_AT: u32 = 2048;
21pub const MODS_SO: u32 = 4096;
22pub const MODS_AP: u32 = 8192;
23pub const MODS_PF: u32 = 16384;
24pub const MODS_KEY4: u32 = 32768;
25pub const MODS_KEY5: u32 = 65536;
26pub const MODS_KEY6: u32 = 131072;
27pub const MODS_KEY7: u32 = 262144;
28pub const MODS_KEY8: u32 = 524288;
29pub const MODS_FADEIN: u32 = 1048576;
30pub const MODS_RANDOM: u32 = 2097152;
31pub const MODS_CINEMA: u32 = 4194304;
32pub const MODS_TARGET: u32 = 8388608;
33pub const MODS_KEY9: u32 = 16777216;
34pub const MODS_KEYCOOP: u32 = 33554432;
35pub const MODS_KEY1: u32 = 67108864;
36pub const MODS_KEY3: u32 = 134217728;
37pub const MODS_KEY2: u32 = 268435456;
38pub const MODS_SCOREV2: u32 = 536870912;
39pub const MODS_TOUCH_DEVICE: u32 = 4;
40pub const MODS_NOVIDEO: u32 = 4;
41pub const MODS_SPEED_CHANGING: u32 = 832;
42pub const MODS_MAP_CHANGING: u32 = 850;
43
44pub const ERR_MORE: i32 = -1;
45pub const ERR_SYNTAX: i32 = -2;
46pub const ERR_TRUNCATED: i32 = -3;
47pub const ERR_NOTIMPLEMENTED: i32 = -4;
48pub const ERR_IO: i32 = -5;
49pub const ERR_FORMAT: i32 = -6;
50pub const ERR_OOM: i32 = -7;
51pub const DIFF_SPEED: u32 = 0;
52pub const DIFF_AIM: u32 = 1;
53pub const OPPAI_VERSION_MAJOR: u32 = 3;
54pub const OPPAI_VERSION_MINOR: u32 = 2;
55pub const OPPAI_VERSION_PATCH: u32 = 3;
56pub const OBJ_CIRCLE: u32 = 1;
57pub const OBJ_SLIDER: u32 = 2;
58pub const OBJ_SPINNER: u32 = 8;
59pub const SOUND_NONE: u32 = 0;
60pub const SOUND_NORMAL: u32 = 1;
61pub const SOUND_WHISTLE: u32 = 2;
62pub const SOUND_FINISH: u32 = 4;
63pub const SOUND_CLAP: u32 = 8;
64pub const AUTOCALC_BIT: u32 = 1;
65pub const OWNS_MAP_BIT: u32 = 2;
66pub const M_BLOCK_SIZE: u32 = 4096;
67pub const AR0_MS: f64 = 1800.0;
68pub const AR5_MS: f64 = 1200.0;
69pub const AR10_MS: f64 = 450.0;
70pub const AR_MS_STEP1: f64 = 120.0;
71pub const AR_MS_STEP2: f64 = 150.0;
72pub const P_OVERRIDE_MODE: u32 = 1;
73pub const P_FOUND_AR: u32 = 2;
74pub const CIRCLESIZE_BUFF_TRESHOLD: f64 = 30.0;
75pub const PLAYFIELD_WIDTH: f64 = 512.0;
76pub const PLAYFIELD_HEIGHT: f64 = 384.0;
77pub const SINGLE_SPACING: f64 = 125.0;
78pub const STAR_SCALING_FACTOR: f64 = 0.0675;
79pub const EXTREME_SCALING_FACTOR: f64 = 0.5;
80pub const STRAIN_STEP: f64 = 400.0;
81pub const DECAY_WEIGHT: f64 = 0.9;
82pub const MAX_SPEED_BONUS: f64 = 45.0;
83pub const MIN_SPEED_BONUS: f64 = 75.0;
84pub const ANGLE_BONUS_SCALE: u32 = 90;
85pub const AIM_TIMING_THRESHOLD: u32 = 107;
86pub const SPEED_ANGLE_BONUS_BEGIN: f64 = 2.6179938779914944;
87pub const AIM_ANGLE_BONUS_BEGIN: f64 = 1.0471975511965976;
88pub const TAIKO_STAR_SCALING_FACTOR: f64 = 0.04125;
89pub const TAIKO_TYPE_CHANGE_BONUS: f64 = 0.75;
90pub const TAIKO_RHYTHM_CHANGE_BONUS: f64 = 1.0;
91pub const TAIKO_RHYTHM_CHANGE_BASE_THRESHOLD: f64 = 0.2;
92pub const TAIKO_RHYTHM_CHANGE_BASE: f64 = 2.0;
93
94pub type ezpp_t = *mut ezpp;
96extern "C" {
97 pub fn ezpp_new() -> ezpp_t;
98 pub fn ezpp_free(ez: ezpp_t);
99 pub fn ezpp(ez: ezpp_t, map: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
100 pub fn ezpp_pp(ez: ezpp_t) -> f32;
101 pub fn ezpp_stars(ez: ezpp_t) -> f32;
102 pub fn ezpp_set_autocalc(ez: ezpp_t, autocalc: ::std::os::raw::c_int);
103 pub fn ezpp_autocalc(ez: ezpp_t) -> ::std::os::raw::c_int;
104 pub fn ezpp_data(
105 ez: ezpp_t,
106 data: *mut ::std::os::raw::c_char,
107 data_size: ::std::os::raw::c_int,
108 ) -> ::std::os::raw::c_int;
109 pub fn ezpp_aim_stars(ez: ezpp_t) -> f32;
110 pub fn ezpp_speed_stars(ez: ezpp_t) -> f32;
111 pub fn ezpp_aim_pp(ez: ezpp_t) -> f32;
112 pub fn ezpp_speed_pp(ez: ezpp_t) -> f32;
113 pub fn ezpp_acc_pp(ez: ezpp_t) -> f32;
114 pub fn ezpp_accuracy_percent(ez: ezpp_t) -> f32;
115 pub fn ezpp_n300(ez: ezpp_t) -> ::std::os::raw::c_int;
116 pub fn ezpp_n100(ez: ezpp_t) -> ::std::os::raw::c_int;
117 pub fn ezpp_n50(ez: ezpp_t) -> ::std::os::raw::c_int;
118 pub fn ezpp_nmiss(ez: ezpp_t) -> ::std::os::raw::c_int;
119 pub fn ezpp_ar(ez: ezpp_t) -> f32;
120 pub fn ezpp_cs(ez: ezpp_t) -> f32;
121 pub fn ezpp_od(ez: ezpp_t) -> f32;
122 pub fn ezpp_hp(ez: ezpp_t) -> f32;
123 pub fn ezpp_artist(ez: ezpp_t) -> *mut ::std::os::raw::c_char;
124 pub fn ezpp_artist_unicode(ez: ezpp_t) -> *mut ::std::os::raw::c_char;
125 pub fn ezpp_title(ez: ezpp_t) -> *mut ::std::os::raw::c_char;
126 pub fn ezpp_title_unicode(ez: ezpp_t) -> *mut ::std::os::raw::c_char;
127 pub fn ezpp_version(ez: ezpp_t) -> *mut ::std::os::raw::c_char;
128 pub fn ezpp_creator(ez: ezpp_t) -> *mut ::std::os::raw::c_char;
129 pub fn ezpp_ncircles(ez: ezpp_t) -> ::std::os::raw::c_int;
130 pub fn ezpp_nsliders(ez: ezpp_t) -> ::std::os::raw::c_int;
131 pub fn ezpp_nspinners(ez: ezpp_t) -> ::std::os::raw::c_int;
132 pub fn ezpp_nobjects(ez: ezpp_t) -> ::std::os::raw::c_int;
133 pub fn ezpp_odms(ez: ezpp_t) -> f32;
134 pub fn ezpp_mode(ez: ezpp_t) -> ::std::os::raw::c_int;
135 pub fn ezpp_combo(ez: ezpp_t) -> ::std::os::raw::c_int;
136 pub fn ezpp_max_combo(ez: ezpp_t) -> ::std::os::raw::c_int;
137 pub fn ezpp_mods(ez: ezpp_t) -> ::std::os::raw::c_int;
138 pub fn ezpp_score_version(ez: ezpp_t) -> ::std::os::raw::c_int;
139 pub fn ezpp_time_at(ez: ezpp_t, i: ::std::os::raw::c_int) -> f32;
140 pub fn ezpp_strain_at(
141 ez: ezpp_t,
142 i: ::std::os::raw::c_int,
143 difficulty_type: ::std::os::raw::c_int,
144 ) -> f32;
145 pub fn ezpp_set_aim_stars(ez: ezpp_t, aim_stars: f32);
146 pub fn ezpp_set_speed_stars(ez: ezpp_t, speed_stars: f32);
147 pub fn ezpp_set_base_ar(ez: ezpp_t, ar: f32);
148 pub fn ezpp_set_base_od(ez: ezpp_t, od: f32);
149 pub fn ezpp_set_base_cs(ez: ezpp_t, cs: f32);
150 pub fn ezpp_set_base_hp(ez: ezpp_t, hp: f32);
151 pub fn ezpp_set_mode_override(ez: ezpp_t, mode_override: ::std::os::raw::c_int);
152 pub fn ezpp_set_mode(ez: ezpp_t, mode: ::std::os::raw::c_int);
153 pub fn ezpp_set_mods(ez: ezpp_t, mods: ::std::os::raw::c_int);
154 pub fn ezpp_set_combo(ez: ezpp_t, combo: ::std::os::raw::c_int);
155 pub fn ezpp_set_nmiss(ez: ezpp_t, nmiss: ::std::os::raw::c_int);
156 pub fn ezpp_set_score_version(ez: ezpp_t, score_version: ::std::os::raw::c_int);
157 pub fn ezpp_set_accuracy_percent(ez: ezpp_t, accuracy_percent: f32);
158 pub fn ezpp_set_accuracy(ez: ezpp_t, n100: ::std::os::raw::c_int, n50: ::std::os::raw::c_int);
159 pub fn ezpp_set_end(ez: ezpp_t, end: ::std::os::raw::c_int);
160 pub fn ezpp_set_end_time(ez: ezpp_t, end: f32);
161 pub fn ezpp_dup(ez: ezpp_t, mapfile: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
162 pub fn ezpp_data_dup(
163 ez: ezpp_t,
164 data: *mut ::std::os::raw::c_char,
165 data_size: ::std::os::raw::c_int,
166 ) -> ::std::os::raw::c_int;
167 pub fn errstr(err: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
168 pub fn oppai_version(
169 major: *mut ::std::os::raw::c_int,
170 minor: *mut ::std::os::raw::c_int,
171 patch: *mut ::std::os::raw::c_int,
172 );
173 pub fn oppai_version_str() -> *mut ::std::os::raw::c_char;
174}
175pub type _bindgen_ty_1 = u32;
176extern "C" {
177 pub fn info(fmt: *mut ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
178 pub fn get_inf() -> f32;
179 pub fn get_nan() -> f32;
180 pub fn v2f_sub(dst: *mut f32, a: *mut f32, b: *mut f32);
181 pub fn v2f_len(v: *mut f32) -> f32;
182 pub fn v2f_dot(a: *mut f32, b: *mut f32) -> f32;
183 pub fn is_nan(b: f32) -> ::std::os::raw::c_int;
184 pub fn is_inf(b: f32) -> ::std::os::raw::c_int;
185 pub fn whitespace(c: ::std::os::raw::c_char) -> ::std::os::raw::c_int;
186}
187#[repr(C)]
188#[derive(Debug, Copy, Clone)]
189pub struct slice {
190 pub start: *mut ::std::os::raw::c_char,
191 pub end: *mut ::std::os::raw::c_char,
192}
193#[test]
194fn bindgen_test_layout_slice() {
195 assert_eq!(
196 ::std::mem::size_of::<slice>(),
197 16usize,
198 concat!("Size of: ", stringify!(slice))
199 );
200 assert_eq!(
201 ::std::mem::align_of::<slice>(),
202 8usize,
203 concat!("Alignment of ", stringify!(slice))
204 );
205 assert_eq!(
206 unsafe { &(*(::std::ptr::null::<slice>())).start as *const _ as usize },
207 0usize,
208 concat!(
209 "Offset of field: ",
210 stringify!(slice),
211 "::",
212 stringify!(start)
213 )
214 );
215 assert_eq!(
216 unsafe { &(*(::std::ptr::null::<slice>())).end as *const _ as usize },
217 8usize,
218 concat!(
219 "Offset of field: ",
220 stringify!(slice),
221 "::",
222 stringify!(end)
223 )
224 );
225}
226pub type slice_t = slice;
227extern "C" {
228 pub fn slice_write(s: *mut slice_t, f: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
229 pub fn slice_whitespace(s: *mut slice_t) -> ::std::os::raw::c_int;
230 pub fn slice_trim(s: *mut slice_t);
231 pub fn slice_cmp(s: *mut slice_t, str: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
232 pub fn slice_len(s: *mut slice_t) -> ::std::os::raw::c_int;
233 pub fn slice_split(
234 s: *mut slice_t,
235 separator_list: *mut ::std::os::raw::c_char,
236 arr: *mut slice_t,
237 nmax: ::std::os::raw::c_int,
238 err: *mut ::std::os::raw::c_int,
239 ) -> ::std::os::raw::c_int;
240 pub fn array_reserve_i(
241 n: ::std::os::raw::c_int,
242 cap: *mut ::std::os::raw::c_int,
243 len: *mut ::std::os::raw::c_int,
244 data: *mut *mut ::std::os::raw::c_void,
245 esize: ::std::os::raw::c_int,
246 ) -> ::std::os::raw::c_int;
247 pub fn array_free_i(
248 cap: *mut ::std::os::raw::c_int,
249 len: *mut ::std::os::raw::c_int,
250 data: *mut *mut ::std::os::raw::c_void,
251 esize: ::std::os::raw::c_int,
252 );
253}
254#[repr(C)]
255#[derive(Debug, Copy, Clone)]
256pub struct timing {
257 pub time: f32,
258 pub ms_per_beat: f32,
259 pub change: ::std::os::raw::c_int,
260 pub px_per_beat: f32,
261 pub beat_len: f32,
262 pub velocity: f32,
263}
264#[test]
265fn bindgen_test_layout_timing() {
266 assert_eq!(
267 ::std::mem::size_of::<timing>(),
268 24usize,
269 concat!("Size of: ", stringify!(timing))
270 );
271 assert_eq!(
272 ::std::mem::align_of::<timing>(),
273 4usize,
274 concat!("Alignment of ", stringify!(timing))
275 );
276 assert_eq!(
277 unsafe { &(*(::std::ptr::null::<timing>())).time as *const _ as usize },
278 0usize,
279 concat!(
280 "Offset of field: ",
281 stringify!(timing),
282 "::",
283 stringify!(time)
284 )
285 );
286 assert_eq!(
287 unsafe { &(*(::std::ptr::null::<timing>())).ms_per_beat as *const _ as usize },
288 4usize,
289 concat!(
290 "Offset of field: ",
291 stringify!(timing),
292 "::",
293 stringify!(ms_per_beat)
294 )
295 );
296 assert_eq!(
297 unsafe { &(*(::std::ptr::null::<timing>())).change as *const _ as usize },
298 8usize,
299 concat!(
300 "Offset of field: ",
301 stringify!(timing),
302 "::",
303 stringify!(change)
304 )
305 );
306 assert_eq!(
307 unsafe { &(*(::std::ptr::null::<timing>())).px_per_beat as *const _ as usize },
308 12usize,
309 concat!(
310 "Offset of field: ",
311 stringify!(timing),
312 "::",
313 stringify!(px_per_beat)
314 )
315 );
316 assert_eq!(
317 unsafe { &(*(::std::ptr::null::<timing>())).beat_len as *const _ as usize },
318 16usize,
319 concat!(
320 "Offset of field: ",
321 stringify!(timing),
322 "::",
323 stringify!(beat_len)
324 )
325 );
326 assert_eq!(
327 unsafe { &(*(::std::ptr::null::<timing>())).velocity as *const _ as usize },
328 20usize,
329 concat!(
330 "Offset of field: ",
331 stringify!(timing),
332 "::",
333 stringify!(velocity)
334 )
335 );
336}
337pub type timing_t = timing;
338#[repr(C)]
339#[derive(Debug, Copy, Clone)]
340pub struct object {
341 pub time: f32,
342 pub type_: ::std::os::raw::c_int,
343 pub nsound_types: ::std::os::raw::c_int,
344 pub sound_types: *mut ::std::os::raw::c_int,
345 pub normpos: [f32; 2usize],
346 pub angle: f32,
347 pub strains: [f32; 2usize],
348 pub is_single: ::std::os::raw::c_int,
349 pub delta_time: f32,
350 pub d_distance: f32,
351 pub timing_point: ::std::os::raw::c_int,
352 pub pos: [f32; 2usize],
353 pub distance: f32,
354 pub repetitions: ::std::os::raw::c_int,
355 pub duration: f32,
356 pub tick_spacing: f32,
357 pub slider_is_drum_roll: ::std::os::raw::c_int,
358}
359#[test]
360fn bindgen_test_layout_object() {
361 assert_eq!(
362 ::std::mem::size_of::<object>(),
363 88usize,
364 concat!("Size of: ", stringify!(object))
365 );
366 assert_eq!(
367 ::std::mem::align_of::<object>(),
368 8usize,
369 concat!("Alignment of ", stringify!(object))
370 );
371 assert_eq!(
372 unsafe { &(*(::std::ptr::null::<object>())).time as *const _ as usize },
373 0usize,
374 concat!(
375 "Offset of field: ",
376 stringify!(object),
377 "::",
378 stringify!(time)
379 )
380 );
381 assert_eq!(
382 unsafe { &(*(::std::ptr::null::<object>())).type_ as *const _ as usize },
383 4usize,
384 concat!(
385 "Offset of field: ",
386 stringify!(object),
387 "::",
388 stringify!(type_)
389 )
390 );
391 assert_eq!(
392 unsafe { &(*(::std::ptr::null::<object>())).nsound_types as *const _ as usize },
393 8usize,
394 concat!(
395 "Offset of field: ",
396 stringify!(object),
397 "::",
398 stringify!(nsound_types)
399 )
400 );
401 assert_eq!(
402 unsafe { &(*(::std::ptr::null::<object>())).sound_types as *const _ as usize },
403 16usize,
404 concat!(
405 "Offset of field: ",
406 stringify!(object),
407 "::",
408 stringify!(sound_types)
409 )
410 );
411 assert_eq!(
412 unsafe { &(*(::std::ptr::null::<object>())).normpos as *const _ as usize },
413 24usize,
414 concat!(
415 "Offset of field: ",
416 stringify!(object),
417 "::",
418 stringify!(normpos)
419 )
420 );
421 assert_eq!(
422 unsafe { &(*(::std::ptr::null::<object>())).angle as *const _ as usize },
423 32usize,
424 concat!(
425 "Offset of field: ",
426 stringify!(object),
427 "::",
428 stringify!(angle)
429 )
430 );
431 assert_eq!(
432 unsafe { &(*(::std::ptr::null::<object>())).strains as *const _ as usize },
433 36usize,
434 concat!(
435 "Offset of field: ",
436 stringify!(object),
437 "::",
438 stringify!(strains)
439 )
440 );
441 assert_eq!(
442 unsafe { &(*(::std::ptr::null::<object>())).is_single as *const _ as usize },
443 44usize,
444 concat!(
445 "Offset of field: ",
446 stringify!(object),
447 "::",
448 stringify!(is_single)
449 )
450 );
451 assert_eq!(
452 unsafe { &(*(::std::ptr::null::<object>())).delta_time as *const _ as usize },
453 48usize,
454 concat!(
455 "Offset of field: ",
456 stringify!(object),
457 "::",
458 stringify!(delta_time)
459 )
460 );
461 assert_eq!(
462 unsafe { &(*(::std::ptr::null::<object>())).d_distance as *const _ as usize },
463 52usize,
464 concat!(
465 "Offset of field: ",
466 stringify!(object),
467 "::",
468 stringify!(d_distance)
469 )
470 );
471 assert_eq!(
472 unsafe { &(*(::std::ptr::null::<object>())).timing_point as *const _ as usize },
473 56usize,
474 concat!(
475 "Offset of field: ",
476 stringify!(object),
477 "::",
478 stringify!(timing_point)
479 )
480 );
481 assert_eq!(
482 unsafe { &(*(::std::ptr::null::<object>())).pos as *const _ as usize },
483 60usize,
484 concat!(
485 "Offset of field: ",
486 stringify!(object),
487 "::",
488 stringify!(pos)
489 )
490 );
491 assert_eq!(
492 unsafe { &(*(::std::ptr::null::<object>())).distance as *const _ as usize },
493 68usize,
494 concat!(
495 "Offset of field: ",
496 stringify!(object),
497 "::",
498 stringify!(distance)
499 )
500 );
501 assert_eq!(
502 unsafe { &(*(::std::ptr::null::<object>())).repetitions as *const _ as usize },
503 72usize,
504 concat!(
505 "Offset of field: ",
506 stringify!(object),
507 "::",
508 stringify!(repetitions)
509 )
510 );
511 assert_eq!(
512 unsafe { &(*(::std::ptr::null::<object>())).duration as *const _ as usize },
513 76usize,
514 concat!(
515 "Offset of field: ",
516 stringify!(object),
517 "::",
518 stringify!(duration)
519 )
520 );
521 assert_eq!(
522 unsafe { &(*(::std::ptr::null::<object>())).tick_spacing as *const _ as usize },
523 80usize,
524 concat!(
525 "Offset of field: ",
526 stringify!(object),
527 "::",
528 stringify!(tick_spacing)
529 )
530 );
531 assert_eq!(
532 unsafe { &(*(::std::ptr::null::<object>())).slider_is_drum_roll as *const _ as usize },
533 84usize,
534 concat!(
535 "Offset of field: ",
536 stringify!(object),
537 "::",
538 stringify!(slider_is_drum_roll)
539 )
540 );
541}
542pub type object_t = object;
543#[repr(C)]
544#[derive(Copy, Clone)]
545pub struct ezpp {
546 pub map: *mut ::std::os::raw::c_char,
547 pub data: *mut ::std::os::raw::c_char,
548 pub data_size: ::std::os::raw::c_int,
549 pub flags: ::std::os::raw::c_int,
550 pub format_version: ::std::os::raw::c_int,
551 pub mode: ::std::os::raw::c_int,
552 pub mode_override: ::std::os::raw::c_int,
553 pub original_mode: ::std::os::raw::c_int,
554 pub score_version: ::std::os::raw::c_int,
555 pub mods: ::std::os::raw::c_int,
556 pub combo: ::std::os::raw::c_int,
557 pub accuracy_percent: f32,
558 pub n300: ::std::os::raw::c_int,
559 pub n100: ::std::os::raw::c_int,
560 pub n50: ::std::os::raw::c_int,
561 pub nmiss: ::std::os::raw::c_int,
562 pub end: ::std::os::raw::c_int,
563 pub end_time: f32,
564 pub base_ar: f32,
565 pub base_cs: f32,
566 pub base_od: f32,
567 pub base_hp: f32,
568 pub max_combo: ::std::os::raw::c_int,
569 pub title: *mut ::std::os::raw::c_char,
570 pub title_unicode: *mut ::std::os::raw::c_char,
571 pub artist: *mut ::std::os::raw::c_char,
572 pub artist_unicode: *mut ::std::os::raw::c_char,
573 pub creator: *mut ::std::os::raw::c_char,
574 pub version: *mut ::std::os::raw::c_char,
575 pub ncircles: ::std::os::raw::c_int,
576 pub nsliders: ::std::os::raw::c_int,
577 pub nspinners: ::std::os::raw::c_int,
578 pub nobjects: ::std::os::raw::c_int,
579 pub ar: f32,
580 pub od: f32,
581 pub cs: f32,
582 pub hp: f32,
583 pub odms: f32,
584 pub sv: f32,
585 pub tick_rate: f32,
586 pub speed_mul: f32,
587 pub stars: f32,
588 pub aim_stars: f32,
589 pub aim_difficulty: f32,
590 pub aim_length_bonus: f32,
591 pub speed_stars: f32,
592 pub speed_difficulty: f32,
593 pub speed_length_bonus: f32,
594 pub pp: f32,
595 pub aim_pp: f32,
596 pub speed_pp: f32,
597 pub acc_pp: f32,
598 pub section: [::std::os::raw::c_char; 64usize],
599 pub buf: [::std::os::raw::c_char; 65535usize],
600 pub p_flags: ::std::os::raw::c_int,
601 pub objects: ezpp__bindgen_ty_1,
602 pub timing_points: ezpp__bindgen_ty_2,
603 pub interval_end: f32,
604 pub max_strain: f32,
605 pub highest_strains: ezpp__bindgen_ty_3,
606 pub block: *mut ::std::os::raw::c_char,
607 pub end_of_block: *mut ::std::os::raw::c_char,
608 pub blocks: ezpp__bindgen_ty_4,
609}
610#[repr(C)]
611#[derive(Debug, Copy, Clone)]
612pub struct ezpp__bindgen_ty_1 {
613 pub cap: ::std::os::raw::c_int,
614 pub len: ::std::os::raw::c_int,
615 pub data: *mut object_t,
616}
617#[test]
618fn bindgen_test_layout_ezpp__bindgen_ty_1() {
619 assert_eq!(
620 ::std::mem::size_of::<ezpp__bindgen_ty_1>(),
621 16usize,
622 concat!("Size of: ", stringify!(ezpp__bindgen_ty_1))
623 );
624 assert_eq!(
625 ::std::mem::align_of::<ezpp__bindgen_ty_1>(),
626 8usize,
627 concat!("Alignment of ", stringify!(ezpp__bindgen_ty_1))
628 );
629 assert_eq!(
630 unsafe { &(*(::std::ptr::null::<ezpp__bindgen_ty_1>())).cap as *const _ as usize },
631 0usize,
632 concat!(
633 "Offset of field: ",
634 stringify!(ezpp__bindgen_ty_1),
635 "::",
636 stringify!(cap)
637 )
638 );
639 assert_eq!(
640 unsafe { &(*(::std::ptr::null::<ezpp__bindgen_ty_1>())).len as *const _ as usize },
641 4usize,
642 concat!(
643 "Offset of field: ",
644 stringify!(ezpp__bindgen_ty_1),
645 "::",
646 stringify!(len)
647 )
648 );
649 assert_eq!(
650 unsafe { &(*(::std::ptr::null::<ezpp__bindgen_ty_1>())).data as *const _ as usize },
651 8usize,
652 concat!(
653 "Offset of field: ",
654 stringify!(ezpp__bindgen_ty_1),
655 "::",
656 stringify!(data)
657 )
658 );
659}
660#[repr(C)]
661#[derive(Debug, Copy, Clone)]
662pub struct ezpp__bindgen_ty_2 {
663 pub cap: ::std::os::raw::c_int,
664 pub len: ::std::os::raw::c_int,
665 pub data: *mut timing_t,
666}
667#[test]
668fn bindgen_test_layout_ezpp__bindgen_ty_2() {
669 assert_eq!(
670 ::std::mem::size_of::<ezpp__bindgen_ty_2>(),
671 16usize,
672 concat!("Size of: ", stringify!(ezpp__bindgen_ty_2))
673 );
674 assert_eq!(
675 ::std::mem::align_of::<ezpp__bindgen_ty_2>(),
676 8usize,
677 concat!("Alignment of ", stringify!(ezpp__bindgen_ty_2))
678 );
679 assert_eq!(
680 unsafe { &(*(::std::ptr::null::<ezpp__bindgen_ty_2>())).cap as *const _ as usize },
681 0usize,
682 concat!(
683 "Offset of field: ",
684 stringify!(ezpp__bindgen_ty_2),
685 "::",
686 stringify!(cap)
687 )
688 );
689 assert_eq!(
690 unsafe { &(*(::std::ptr::null::<ezpp__bindgen_ty_2>())).len as *const _ as usize },
691 4usize,
692 concat!(
693 "Offset of field: ",
694 stringify!(ezpp__bindgen_ty_2),
695 "::",
696 stringify!(len)
697 )
698 );
699 assert_eq!(
700 unsafe { &(*(::std::ptr::null::<ezpp__bindgen_ty_2>())).data as *const _ as usize },
701 8usize,
702 concat!(
703 "Offset of field: ",
704 stringify!(ezpp__bindgen_ty_2),
705 "::",
706 stringify!(data)
707 )
708 );
709}
710#[repr(C)]
711#[derive(Debug, Copy, Clone)]
712pub struct ezpp__bindgen_ty_3 {
713 pub cap: ::std::os::raw::c_int,
714 pub len: ::std::os::raw::c_int,
715 pub data: *mut f32,
716}
717#[test]
718fn bindgen_test_layout_ezpp__bindgen_ty_3() {
719 assert_eq!(
720 ::std::mem::size_of::<ezpp__bindgen_ty_3>(),
721 16usize,
722 concat!("Size of: ", stringify!(ezpp__bindgen_ty_3))
723 );
724 assert_eq!(
725 ::std::mem::align_of::<ezpp__bindgen_ty_3>(),
726 8usize,
727 concat!("Alignment of ", stringify!(ezpp__bindgen_ty_3))
728 );
729 assert_eq!(
730 unsafe { &(*(::std::ptr::null::<ezpp__bindgen_ty_3>())).cap as *const _ as usize },
731 0usize,
732 concat!(
733 "Offset of field: ",
734 stringify!(ezpp__bindgen_ty_3),
735 "::",
736 stringify!(cap)
737 )
738 );
739 assert_eq!(
740 unsafe { &(*(::std::ptr::null::<ezpp__bindgen_ty_3>())).len as *const _ as usize },
741 4usize,
742 concat!(
743 "Offset of field: ",
744 stringify!(ezpp__bindgen_ty_3),
745 "::",
746 stringify!(len)
747 )
748 );
749 assert_eq!(
750 unsafe { &(*(::std::ptr::null::<ezpp__bindgen_ty_3>())).data as *const _ as usize },
751 8usize,
752 concat!(
753 "Offset of field: ",
754 stringify!(ezpp__bindgen_ty_3),
755 "::",
756 stringify!(data)
757 )
758 );
759}
760#[repr(C)]
761#[derive(Debug, Copy, Clone)]
762pub struct ezpp__bindgen_ty_4 {
763 pub cap: ::std::os::raw::c_int,
764 pub len: ::std::os::raw::c_int,
765 pub data: *mut *mut ::std::os::raw::c_char,
766}
767#[test]
768fn bindgen_test_layout_ezpp__bindgen_ty_4() {
769 assert_eq!(
770 ::std::mem::size_of::<ezpp__bindgen_ty_4>(),
771 16usize,
772 concat!("Size of: ", stringify!(ezpp__bindgen_ty_4))
773 );
774 assert_eq!(
775 ::std::mem::align_of::<ezpp__bindgen_ty_4>(),
776 8usize,
777 concat!("Alignment of ", stringify!(ezpp__bindgen_ty_4))
778 );
779 assert_eq!(
780 unsafe { &(*(::std::ptr::null::<ezpp__bindgen_ty_4>())).cap as *const _ as usize },
781 0usize,
782 concat!(
783 "Offset of field: ",
784 stringify!(ezpp__bindgen_ty_4),
785 "::",
786 stringify!(cap)
787 )
788 );
789 assert_eq!(
790 unsafe { &(*(::std::ptr::null::<ezpp__bindgen_ty_4>())).len as *const _ as usize },
791 4usize,
792 concat!(
793 "Offset of field: ",
794 stringify!(ezpp__bindgen_ty_4),
795 "::",
796 stringify!(len)
797 )
798 );
799 assert_eq!(
800 unsafe { &(*(::std::ptr::null::<ezpp__bindgen_ty_4>())).data as *const _ as usize },
801 8usize,
802 concat!(
803 "Offset of field: ",
804 stringify!(ezpp__bindgen_ty_4),
805 "::",
806 stringify!(data)
807 )
808 );
809}
810#[test]
811fn bindgen_test_layout_ezpp() {
812 assert_eq!(
813 ::std::mem::size_of::<ezpp>(),
814 65936usize,
815 concat!("Size of: ", stringify!(ezpp))
816 );
817 assert_eq!(
818 ::std::mem::align_of::<ezpp>(),
819 8usize,
820 concat!("Alignment of ", stringify!(ezpp))
821 );
822 assert_eq!(
823 unsafe { &(*(::std::ptr::null::<ezpp>())).map as *const _ as usize },
824 0usize,
825 concat!("Offset of field: ", stringify!(ezpp), "::", stringify!(map))
826 );
827 assert_eq!(
828 unsafe { &(*(::std::ptr::null::<ezpp>())).data as *const _ as usize },
829 8usize,
830 concat!(
831 "Offset of field: ",
832 stringify!(ezpp),
833 "::",
834 stringify!(data)
835 )
836 );
837 assert_eq!(
838 unsafe { &(*(::std::ptr::null::<ezpp>())).data_size as *const _ as usize },
839 16usize,
840 concat!(
841 "Offset of field: ",
842 stringify!(ezpp),
843 "::",
844 stringify!(data_size)
845 )
846 );
847 assert_eq!(
848 unsafe { &(*(::std::ptr::null::<ezpp>())).flags as *const _ as usize },
849 20usize,
850 concat!(
851 "Offset of field: ",
852 stringify!(ezpp),
853 "::",
854 stringify!(flags)
855 )
856 );
857 assert_eq!(
858 unsafe { &(*(::std::ptr::null::<ezpp>())).format_version as *const _ as usize },
859 24usize,
860 concat!(
861 "Offset of field: ",
862 stringify!(ezpp),
863 "::",
864 stringify!(format_version)
865 )
866 );
867 assert_eq!(
868 unsafe { &(*(::std::ptr::null::<ezpp>())).mode as *const _ as usize },
869 28usize,
870 concat!(
871 "Offset of field: ",
872 stringify!(ezpp),
873 "::",
874 stringify!(mode)
875 )
876 );
877 assert_eq!(
878 unsafe { &(*(::std::ptr::null::<ezpp>())).mode_override as *const _ as usize },
879 32usize,
880 concat!(
881 "Offset of field: ",
882 stringify!(ezpp),
883 "::",
884 stringify!(mode_override)
885 )
886 );
887 assert_eq!(
888 unsafe { &(*(::std::ptr::null::<ezpp>())).original_mode as *const _ as usize },
889 36usize,
890 concat!(
891 "Offset of field: ",
892 stringify!(ezpp),
893 "::",
894 stringify!(original_mode)
895 )
896 );
897 assert_eq!(
898 unsafe { &(*(::std::ptr::null::<ezpp>())).score_version as *const _ as usize },
899 40usize,
900 concat!(
901 "Offset of field: ",
902 stringify!(ezpp),
903 "::",
904 stringify!(score_version)
905 )
906 );
907 assert_eq!(
908 unsafe { &(*(::std::ptr::null::<ezpp>())).mods as *const _ as usize },
909 44usize,
910 concat!(
911 "Offset of field: ",
912 stringify!(ezpp),
913 "::",
914 stringify!(mods)
915 )
916 );
917 assert_eq!(
918 unsafe { &(*(::std::ptr::null::<ezpp>())).combo as *const _ as usize },
919 48usize,
920 concat!(
921 "Offset of field: ",
922 stringify!(ezpp),
923 "::",
924 stringify!(combo)
925 )
926 );
927 assert_eq!(
928 unsafe { &(*(::std::ptr::null::<ezpp>())).accuracy_percent as *const _ as usize },
929 52usize,
930 concat!(
931 "Offset of field: ",
932 stringify!(ezpp),
933 "::",
934 stringify!(accuracy_percent)
935 )
936 );
937 assert_eq!(
938 unsafe { &(*(::std::ptr::null::<ezpp>())).n300 as *const _ as usize },
939 56usize,
940 concat!(
941 "Offset of field: ",
942 stringify!(ezpp),
943 "::",
944 stringify!(n300)
945 )
946 );
947 assert_eq!(
948 unsafe { &(*(::std::ptr::null::<ezpp>())).n100 as *const _ as usize },
949 60usize,
950 concat!(
951 "Offset of field: ",
952 stringify!(ezpp),
953 "::",
954 stringify!(n100)
955 )
956 );
957 assert_eq!(
958 unsafe { &(*(::std::ptr::null::<ezpp>())).n50 as *const _ as usize },
959 64usize,
960 concat!("Offset of field: ", stringify!(ezpp), "::", stringify!(n50))
961 );
962 assert_eq!(
963 unsafe { &(*(::std::ptr::null::<ezpp>())).nmiss as *const _ as usize },
964 68usize,
965 concat!(
966 "Offset of field: ",
967 stringify!(ezpp),
968 "::",
969 stringify!(nmiss)
970 )
971 );
972 assert_eq!(
973 unsafe { &(*(::std::ptr::null::<ezpp>())).end as *const _ as usize },
974 72usize,
975 concat!("Offset of field: ", stringify!(ezpp), "::", stringify!(end))
976 );
977 assert_eq!(
978 unsafe { &(*(::std::ptr::null::<ezpp>())).end_time as *const _ as usize },
979 76usize,
980 concat!(
981 "Offset of field: ",
982 stringify!(ezpp),
983 "::",
984 stringify!(end_time)
985 )
986 );
987 assert_eq!(
988 unsafe { &(*(::std::ptr::null::<ezpp>())).base_ar as *const _ as usize },
989 80usize,
990 concat!(
991 "Offset of field: ",
992 stringify!(ezpp),
993 "::",
994 stringify!(base_ar)
995 )
996 );
997 assert_eq!(
998 unsafe { &(*(::std::ptr::null::<ezpp>())).base_cs as *const _ as usize },
999 84usize,
1000 concat!(
1001 "Offset of field: ",
1002 stringify!(ezpp),
1003 "::",
1004 stringify!(base_cs)
1005 )
1006 );
1007 assert_eq!(
1008 unsafe { &(*(::std::ptr::null::<ezpp>())).base_od as *const _ as usize },
1009 88usize,
1010 concat!(
1011 "Offset of field: ",
1012 stringify!(ezpp),
1013 "::",
1014 stringify!(base_od)
1015 )
1016 );
1017 assert_eq!(
1018 unsafe { &(*(::std::ptr::null::<ezpp>())).base_hp as *const _ as usize },
1019 92usize,
1020 concat!(
1021 "Offset of field: ",
1022 stringify!(ezpp),
1023 "::",
1024 stringify!(base_hp)
1025 )
1026 );
1027 assert_eq!(
1028 unsafe { &(*(::std::ptr::null::<ezpp>())).max_combo as *const _ as usize },
1029 96usize,
1030 concat!(
1031 "Offset of field: ",
1032 stringify!(ezpp),
1033 "::",
1034 stringify!(max_combo)
1035 )
1036 );
1037 assert_eq!(
1038 unsafe { &(*(::std::ptr::null::<ezpp>())).title as *const _ as usize },
1039 104usize,
1040 concat!(
1041 "Offset of field: ",
1042 stringify!(ezpp),
1043 "::",
1044 stringify!(title)
1045 )
1046 );
1047 assert_eq!(
1048 unsafe { &(*(::std::ptr::null::<ezpp>())).title_unicode as *const _ as usize },
1049 112usize,
1050 concat!(
1051 "Offset of field: ",
1052 stringify!(ezpp),
1053 "::",
1054 stringify!(title_unicode)
1055 )
1056 );
1057 assert_eq!(
1058 unsafe { &(*(::std::ptr::null::<ezpp>())).artist as *const _ as usize },
1059 120usize,
1060 concat!(
1061 "Offset of field: ",
1062 stringify!(ezpp),
1063 "::",
1064 stringify!(artist)
1065 )
1066 );
1067 assert_eq!(
1068 unsafe { &(*(::std::ptr::null::<ezpp>())).artist_unicode as *const _ as usize },
1069 128usize,
1070 concat!(
1071 "Offset of field: ",
1072 stringify!(ezpp),
1073 "::",
1074 stringify!(artist_unicode)
1075 )
1076 );
1077 assert_eq!(
1078 unsafe { &(*(::std::ptr::null::<ezpp>())).creator as *const _ as usize },
1079 136usize,
1080 concat!(
1081 "Offset of field: ",
1082 stringify!(ezpp),
1083 "::",
1084 stringify!(creator)
1085 )
1086 );
1087 assert_eq!(
1088 unsafe { &(*(::std::ptr::null::<ezpp>())).version as *const _ as usize },
1089 144usize,
1090 concat!(
1091 "Offset of field: ",
1092 stringify!(ezpp),
1093 "::",
1094 stringify!(version)
1095 )
1096 );
1097 assert_eq!(
1098 unsafe { &(*(::std::ptr::null::<ezpp>())).ncircles as *const _ as usize },
1099 152usize,
1100 concat!(
1101 "Offset of field: ",
1102 stringify!(ezpp),
1103 "::",
1104 stringify!(ncircles)
1105 )
1106 );
1107 assert_eq!(
1108 unsafe { &(*(::std::ptr::null::<ezpp>())).nsliders as *const _ as usize },
1109 156usize,
1110 concat!(
1111 "Offset of field: ",
1112 stringify!(ezpp),
1113 "::",
1114 stringify!(nsliders)
1115 )
1116 );
1117 assert_eq!(
1118 unsafe { &(*(::std::ptr::null::<ezpp>())).nspinners as *const _ as usize },
1119 160usize,
1120 concat!(
1121 "Offset of field: ",
1122 stringify!(ezpp),
1123 "::",
1124 stringify!(nspinners)
1125 )
1126 );
1127 assert_eq!(
1128 unsafe { &(*(::std::ptr::null::<ezpp>())).nobjects as *const _ as usize },
1129 164usize,
1130 concat!(
1131 "Offset of field: ",
1132 stringify!(ezpp),
1133 "::",
1134 stringify!(nobjects)
1135 )
1136 );
1137 assert_eq!(
1138 unsafe { &(*(::std::ptr::null::<ezpp>())).ar as *const _ as usize },
1139 168usize,
1140 concat!("Offset of field: ", stringify!(ezpp), "::", stringify!(ar))
1141 );
1142 assert_eq!(
1143 unsafe { &(*(::std::ptr::null::<ezpp>())).od as *const _ as usize },
1144 172usize,
1145 concat!("Offset of field: ", stringify!(ezpp), "::", stringify!(od))
1146 );
1147 assert_eq!(
1148 unsafe { &(*(::std::ptr::null::<ezpp>())).cs as *const _ as usize },
1149 176usize,
1150 concat!("Offset of field: ", stringify!(ezpp), "::", stringify!(cs))
1151 );
1152 assert_eq!(
1153 unsafe { &(*(::std::ptr::null::<ezpp>())).hp as *const _ as usize },
1154 180usize,
1155 concat!("Offset of field: ", stringify!(ezpp), "::", stringify!(hp))
1156 );
1157 assert_eq!(
1158 unsafe { &(*(::std::ptr::null::<ezpp>())).odms as *const _ as usize },
1159 184usize,
1160 concat!(
1161 "Offset of field: ",
1162 stringify!(ezpp),
1163 "::",
1164 stringify!(odms)
1165 )
1166 );
1167 assert_eq!(
1168 unsafe { &(*(::std::ptr::null::<ezpp>())).sv as *const _ as usize },
1169 188usize,
1170 concat!("Offset of field: ", stringify!(ezpp), "::", stringify!(sv))
1171 );
1172 assert_eq!(
1173 unsafe { &(*(::std::ptr::null::<ezpp>())).tick_rate as *const _ as usize },
1174 192usize,
1175 concat!(
1176 "Offset of field: ",
1177 stringify!(ezpp),
1178 "::",
1179 stringify!(tick_rate)
1180 )
1181 );
1182 assert_eq!(
1183 unsafe { &(*(::std::ptr::null::<ezpp>())).speed_mul as *const _ as usize },
1184 196usize,
1185 concat!(
1186 "Offset of field: ",
1187 stringify!(ezpp),
1188 "::",
1189 stringify!(speed_mul)
1190 )
1191 );
1192 assert_eq!(
1193 unsafe { &(*(::std::ptr::null::<ezpp>())).stars as *const _ as usize },
1194 200usize,
1195 concat!(
1196 "Offset of field: ",
1197 stringify!(ezpp),
1198 "::",
1199 stringify!(stars)
1200 )
1201 );
1202 assert_eq!(
1203 unsafe { &(*(::std::ptr::null::<ezpp>())).aim_stars as *const _ as usize },
1204 204usize,
1205 concat!(
1206 "Offset of field: ",
1207 stringify!(ezpp),
1208 "::",
1209 stringify!(aim_stars)
1210 )
1211 );
1212 assert_eq!(
1213 unsafe { &(*(::std::ptr::null::<ezpp>())).aim_difficulty as *const _ as usize },
1214 208usize,
1215 concat!(
1216 "Offset of field: ",
1217 stringify!(ezpp),
1218 "::",
1219 stringify!(aim_difficulty)
1220 )
1221 );
1222 assert_eq!(
1223 unsafe { &(*(::std::ptr::null::<ezpp>())).aim_length_bonus as *const _ as usize },
1224 212usize,
1225 concat!(
1226 "Offset of field: ",
1227 stringify!(ezpp),
1228 "::",
1229 stringify!(aim_length_bonus)
1230 )
1231 );
1232 assert_eq!(
1233 unsafe { &(*(::std::ptr::null::<ezpp>())).speed_stars as *const _ as usize },
1234 216usize,
1235 concat!(
1236 "Offset of field: ",
1237 stringify!(ezpp),
1238 "::",
1239 stringify!(speed_stars)
1240 )
1241 );
1242 assert_eq!(
1243 unsafe { &(*(::std::ptr::null::<ezpp>())).speed_difficulty as *const _ as usize },
1244 220usize,
1245 concat!(
1246 "Offset of field: ",
1247 stringify!(ezpp),
1248 "::",
1249 stringify!(speed_difficulty)
1250 )
1251 );
1252 assert_eq!(
1253 unsafe { &(*(::std::ptr::null::<ezpp>())).speed_length_bonus as *const _ as usize },
1254 224usize,
1255 concat!(
1256 "Offset of field: ",
1257 stringify!(ezpp),
1258 "::",
1259 stringify!(speed_length_bonus)
1260 )
1261 );
1262 assert_eq!(
1263 unsafe { &(*(::std::ptr::null::<ezpp>())).pp as *const _ as usize },
1264 228usize,
1265 concat!("Offset of field: ", stringify!(ezpp), "::", stringify!(pp))
1266 );
1267 assert_eq!(
1268 unsafe { &(*(::std::ptr::null::<ezpp>())).aim_pp as *const _ as usize },
1269 232usize,
1270 concat!(
1271 "Offset of field: ",
1272 stringify!(ezpp),
1273 "::",
1274 stringify!(aim_pp)
1275 )
1276 );
1277 assert_eq!(
1278 unsafe { &(*(::std::ptr::null::<ezpp>())).speed_pp as *const _ as usize },
1279 236usize,
1280 concat!(
1281 "Offset of field: ",
1282 stringify!(ezpp),
1283 "::",
1284 stringify!(speed_pp)
1285 )
1286 );
1287 assert_eq!(
1288 unsafe { &(*(::std::ptr::null::<ezpp>())).acc_pp as *const _ as usize },
1289 240usize,
1290 concat!(
1291 "Offset of field: ",
1292 stringify!(ezpp),
1293 "::",
1294 stringify!(acc_pp)
1295 )
1296 );
1297 assert_eq!(
1298 unsafe { &(*(::std::ptr::null::<ezpp>())).section as *const _ as usize },
1299 244usize,
1300 concat!(
1301 "Offset of field: ",
1302 stringify!(ezpp),
1303 "::",
1304 stringify!(section)
1305 )
1306 );
1307 assert_eq!(
1308 unsafe { &(*(::std::ptr::null::<ezpp>())).buf as *const _ as usize },
1309 308usize,
1310 concat!("Offset of field: ", stringify!(ezpp), "::", stringify!(buf))
1311 );
1312 assert_eq!(
1313 unsafe { &(*(::std::ptr::null::<ezpp>())).p_flags as *const _ as usize },
1314 65844usize,
1315 concat!(
1316 "Offset of field: ",
1317 stringify!(ezpp),
1318 "::",
1319 stringify!(p_flags)
1320 )
1321 );
1322 assert_eq!(
1323 unsafe { &(*(::std::ptr::null::<ezpp>())).objects as *const _ as usize },
1324 65848usize,
1325 concat!(
1326 "Offset of field: ",
1327 stringify!(ezpp),
1328 "::",
1329 stringify!(objects)
1330 )
1331 );
1332 assert_eq!(
1333 unsafe { &(*(::std::ptr::null::<ezpp>())).timing_points as *const _ as usize },
1334 65864usize,
1335 concat!(
1336 "Offset of field: ",
1337 stringify!(ezpp),
1338 "::",
1339 stringify!(timing_points)
1340 )
1341 );
1342 assert_eq!(
1343 unsafe { &(*(::std::ptr::null::<ezpp>())).interval_end as *const _ as usize },
1344 65880usize,
1345 concat!(
1346 "Offset of field: ",
1347 stringify!(ezpp),
1348 "::",
1349 stringify!(interval_end)
1350 )
1351 );
1352 assert_eq!(
1353 unsafe { &(*(::std::ptr::null::<ezpp>())).max_strain as *const _ as usize },
1354 65884usize,
1355 concat!(
1356 "Offset of field: ",
1357 stringify!(ezpp),
1358 "::",
1359 stringify!(max_strain)
1360 )
1361 );
1362 assert_eq!(
1363 unsafe { &(*(::std::ptr::null::<ezpp>())).highest_strains as *const _ as usize },
1364 65888usize,
1365 concat!(
1366 "Offset of field: ",
1367 stringify!(ezpp),
1368 "::",
1369 stringify!(highest_strains)
1370 )
1371 );
1372 assert_eq!(
1373 unsafe { &(*(::std::ptr::null::<ezpp>())).block as *const _ as usize },
1374 65904usize,
1375 concat!(
1376 "Offset of field: ",
1377 stringify!(ezpp),
1378 "::",
1379 stringify!(block)
1380 )
1381 );
1382 assert_eq!(
1383 unsafe { &(*(::std::ptr::null::<ezpp>())).end_of_block as *const _ as usize },
1384 65912usize,
1385 concat!(
1386 "Offset of field: ",
1387 stringify!(ezpp),
1388 "::",
1389 stringify!(end_of_block)
1390 )
1391 );
1392 assert_eq!(
1393 unsafe { &(*(::std::ptr::null::<ezpp>())).blocks as *const _ as usize },
1394 65920usize,
1395 concat!(
1396 "Offset of field: ",
1397 stringify!(ezpp),
1398 "::",
1399 stringify!(blocks)
1400 )
1401 );
1402}
1403extern "C" {
1404 pub fn m_reserve(ez: ezpp_t, min_size: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1405 pub fn m_alloc(ez: ezpp_t, size: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void;
1406 pub fn m_strndup(
1407 ez: ezpp_t,
1408 s: *mut ::std::os::raw::c_char,
1409 n: ::std::os::raw::c_int,
1410 ) -> *mut ::std::os::raw::c_char;
1411 pub fn m_free(ez: ezpp_t);
1412 pub static mut od10_ms: [f32; 2usize];
1413 pub static mut od0_ms: [f32; 2usize];
1414 pub static mut od_ms_step: [f32; 2usize];
1415 pub fn mods_apply(ez: ezpp_t) -> ::std::os::raw::c_int;
1416 pub static mut playfield_center: [f32; 2usize];
1417 pub fn print_line(line: *mut slice_t);
1418 pub fn p_warn(e: *mut ::std::os::raw::c_char, line: *mut slice_t) -> ::std::os::raw::c_int;
1419 pub fn p_consume_til(
1420 s: *mut slice_t,
1421 separators: *mut ::std::os::raw::c_char,
1422 dst: *mut slice_t,
1423 ) -> ::std::os::raw::c_int;
1424 pub fn p_float(value: *mut slice_t) -> f32;
1425 pub fn p_section_name(s: *mut slice_t, name: *mut slice_t) -> ::std::os::raw::c_int;
1426 pub fn p_property(
1427 s: *mut slice_t,
1428 name: *mut slice_t,
1429 value: *mut slice_t,
1430 ) -> ::std::os::raw::c_int;
1431 pub fn p_slicedup(ez: ezpp_t, s: *mut slice_t) -> *mut ::std::os::raw::c_char;
1432 pub fn p_metadata(ez: ezpp_t, line: *mut slice_t) -> ::std::os::raw::c_int;
1433 pub fn p_general(ez: ezpp_t, line: *mut slice_t) -> ::std::os::raw::c_int;
1434 pub fn p_difficulty(ez: ezpp_t, line: *mut slice_t) -> ::std::os::raw::c_int;
1435 pub fn p_timing(ez: ezpp_t, line: *mut slice_t) -> ::std::os::raw::c_int;
1436 pub fn p_objects(ez: ezpp_t, line: *mut slice_t) -> ::std::os::raw::c_int;
1437 pub fn p_line(ez: ezpp_t, line: *mut slice_t) -> ::std::os::raw::c_int;
1438 pub fn p_end(ez: ezpp_t);
1439 pub fn p_reset(ez: ezpp_t);
1440 pub fn p_map(ez: ezpp_t, f: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
1441 pub fn p_map_mem(
1442 ez: ezpp_t,
1443 data: *mut ::std::os::raw::c_char,
1444 data_size: ::std::os::raw::c_int,
1445 ) -> ::std::os::raw::c_int;
1446 pub static mut decay_base: [f32; 2usize];
1447 pub static mut weight_scaling: [f32; 2usize];
1448 pub fn d_spacing_weight(
1449 distance: f32,
1450 delta_time: f32,
1451 prev_distance: f32,
1452 prev_delta_time: f32,
1453 angle: f32,
1454 type_: ::std::os::raw::c_int,
1455 is_single: *mut ::std::os::raw::c_int,
1456 ) -> f32;
1457 pub fn d_calc_strain(
1458 type_: ::std::os::raw::c_int,
1459 o: *mut object_t,
1460 prev: *mut object_t,
1461 speedmul: f32,
1462 );
1463 pub fn dbl_desc(
1464 a: *const ::std::os::raw::c_void,
1465 b: *const ::std::os::raw::c_void,
1466 ) -> ::std::os::raw::c_int;
1467 pub fn d_update_max_strains(
1468 ez: ezpp_t,
1469 decay_factor: f32,
1470 cur_time: f32,
1471 prev_time: f32,
1472 cur_strain: f32,
1473 prev_strain: f32,
1474 first_obj: ::std::os::raw::c_int,
1475 ) -> ::std::os::raw::c_int;
1476 pub fn d_weigh_strains(ez: ezpp_t, pdiff: *mut f32, ptotal: *mut f32);
1477 pub fn d_calc_individual(ez: ezpp_t, type_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1478 pub fn d_length_bonus(stars: f32, difficulty: f32) -> f32;
1479 pub fn d_std(ez: ezpp_t) -> ::std::os::raw::c_int;
1480}
1481#[repr(C)]
1482#[derive(Debug, Copy, Clone)]
1483pub struct taiko_object {
1484 pub hit: ::std::os::raw::c_int,
1485 pub strain: f32,
1486 pub time: f32,
1487 pub time_elapsed: f32,
1488 pub rim: ::std::os::raw::c_int,
1489 pub same_since: ::std::os::raw::c_int,
1490 pub last_switch_even: ::std::os::raw::c_int,
1491}
1492#[test]
1493fn bindgen_test_layout_taiko_object() {
1494 assert_eq!(
1495 ::std::mem::size_of::<taiko_object>(),
1496 28usize,
1497 concat!("Size of: ", stringify!(taiko_object))
1498 );
1499 assert_eq!(
1500 ::std::mem::align_of::<taiko_object>(),
1501 4usize,
1502 concat!("Alignment of ", stringify!(taiko_object))
1503 );
1504 assert_eq!(
1505 unsafe { &(*(::std::ptr::null::<taiko_object>())).hit as *const _ as usize },
1506 0usize,
1507 concat!(
1508 "Offset of field: ",
1509 stringify!(taiko_object),
1510 "::",
1511 stringify!(hit)
1512 )
1513 );
1514 assert_eq!(
1515 unsafe { &(*(::std::ptr::null::<taiko_object>())).strain as *const _ as usize },
1516 4usize,
1517 concat!(
1518 "Offset of field: ",
1519 stringify!(taiko_object),
1520 "::",
1521 stringify!(strain)
1522 )
1523 );
1524 assert_eq!(
1525 unsafe { &(*(::std::ptr::null::<taiko_object>())).time as *const _ as usize },
1526 8usize,
1527 concat!(
1528 "Offset of field: ",
1529 stringify!(taiko_object),
1530 "::",
1531 stringify!(time)
1532 )
1533 );
1534 assert_eq!(
1535 unsafe { &(*(::std::ptr::null::<taiko_object>())).time_elapsed as *const _ as usize },
1536 12usize,
1537 concat!(
1538 "Offset of field: ",
1539 stringify!(taiko_object),
1540 "::",
1541 stringify!(time_elapsed)
1542 )
1543 );
1544 assert_eq!(
1545 unsafe { &(*(::std::ptr::null::<taiko_object>())).rim as *const _ as usize },
1546 16usize,
1547 concat!(
1548 "Offset of field: ",
1549 stringify!(taiko_object),
1550 "::",
1551 stringify!(rim)
1552 )
1553 );
1554 assert_eq!(
1555 unsafe { &(*(::std::ptr::null::<taiko_object>())).same_since as *const _ as usize },
1556 20usize,
1557 concat!(
1558 "Offset of field: ",
1559 stringify!(taiko_object),
1560 "::",
1561 stringify!(same_since)
1562 )
1563 );
1564 assert_eq!(
1565 unsafe { &(*(::std::ptr::null::<taiko_object>())).last_switch_even as *const _ as usize },
1566 24usize,
1567 concat!(
1568 "Offset of field: ",
1569 stringify!(taiko_object),
1570 "::",
1571 stringify!(last_switch_even)
1572 )
1573 );
1574}
1575pub type taiko_object_t = taiko_object;
1576extern "C" {
1577 pub fn taiko_change_bonus(cur: *mut taiko_object_t, prev: *mut taiko_object_t) -> f32;
1578 pub fn taiko_rhythm_bonus(cur: *mut taiko_object_t, prev: *mut taiko_object_t) -> f32;
1579 pub fn taiko_strain(cur: *mut taiko_object_t, prev: *mut taiko_object_t);
1580 pub fn swap_ptrs(a: *mut *mut ::std::os::raw::c_void, b: *mut *mut ::std::os::raw::c_void);
1581 pub fn d_taiko(ez: ezpp_t) -> ::std::os::raw::c_int;
1582 pub fn d_calc(ez: ezpp_t) -> ::std::os::raw::c_int;
1583 pub fn acc_calc(
1584 n300: ::std::os::raw::c_int,
1585 n100: ::std::os::raw::c_int,
1586 n50: ::std::os::raw::c_int,
1587 misses: ::std::os::raw::c_int,
1588 ) -> f32;
1589 pub fn acc_round(
1590 acc_percent: f32,
1591 nobjects: ::std::os::raw::c_int,
1592 misses: ::std::os::raw::c_int,
1593 n300: *mut ::std::os::raw::c_int,
1594 n100: *mut ::std::os::raw::c_int,
1595 n50: *mut ::std::os::raw::c_int,
1596 );
1597 pub fn taiko_acc_calc(
1598 n300: ::std::os::raw::c_int,
1599 n150: ::std::os::raw::c_int,
1600 nmiss: ::std::os::raw::c_int,
1601 ) -> f32;
1602 pub fn taiko_acc_round(
1603 acc_percent: f32,
1604 nobjects: ::std::os::raw::c_int,
1605 nmisses: ::std::os::raw::c_int,
1606 n300: *mut ::std::os::raw::c_int,
1607 n150: *mut ::std::os::raw::c_int,
1608 );
1609 pub fn base_pp(stars: f32) -> f32;
1610 pub fn pp_std(ez: ezpp_t) -> ::std::os::raw::c_int;
1611 pub fn pp_taiko(ez: ezpp_t) -> ::std::os::raw::c_int;
1612 pub fn params_from_map(ez: ezpp_t) -> ::std::os::raw::c_int;
1613 pub fn calc(ez: ezpp_t) -> ::std::os::raw::c_int;
1614 pub fn free_owned_map(ez: ezpp_t);
1615 pub fn memclone(
1616 p: *mut ::std::os::raw::c_void,
1617 size: ::std::os::raw::c_int,
1618 ) -> *mut ::std::os::raw::c_void;
1619 pub fn strclone(s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1620}
1621pub type __builtin_va_list = [__va_list_tag; 1usize];
1622#[repr(C)]
1623#[derive(Debug, Copy, Clone)]
1624pub struct __va_list_tag {
1625 pub gp_offset: ::std::os::raw::c_uint,
1626 pub fp_offset: ::std::os::raw::c_uint,
1627 pub overflow_arg_area: *mut ::std::os::raw::c_void,
1628 pub reg_save_area: *mut ::std::os::raw::c_void,
1629}
1630#[test]
1631fn bindgen_test_layout___va_list_tag() {
1632 assert_eq!(
1633 ::std::mem::size_of::<__va_list_tag>(),
1634 24usize,
1635 concat!("Size of: ", stringify!(__va_list_tag))
1636 );
1637 assert_eq!(
1638 ::std::mem::align_of::<__va_list_tag>(),
1639 8usize,
1640 concat!("Alignment of ", stringify!(__va_list_tag))
1641 );
1642 assert_eq!(
1643 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize },
1644 0usize,
1645 concat!(
1646 "Offset of field: ",
1647 stringify!(__va_list_tag),
1648 "::",
1649 stringify!(gp_offset)
1650 )
1651 );
1652 assert_eq!(
1653 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize },
1654 4usize,
1655 concat!(
1656 "Offset of field: ",
1657 stringify!(__va_list_tag),
1658 "::",
1659 stringify!(fp_offset)
1660 )
1661 );
1662 assert_eq!(
1663 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize },
1664 8usize,
1665 concat!(
1666 "Offset of field: ",
1667 stringify!(__va_list_tag),
1668 "::",
1669 stringify!(overflow_arg_area)
1670 )
1671 );
1672 assert_eq!(
1673 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize },
1674 16usize,
1675 concat!(
1676 "Offset of field: ",
1677 stringify!(__va_list_tag),
1678 "::",
1679 stringify!(reg_save_area)
1680 )
1681 );
1682}
1683#[repr(C)]
1684#[derive(Debug, Copy, Clone)]
1685pub struct __locale_data {
1686 pub _address: u8,
1687}