|
1 | 1 | from math import floor
|
2 | 2 |
|
3 |
| -system_data = { |
4 |
| - "RSE": {"frame_rate": (16777216 / 280896), "offset_ms": 0}, |
5 |
| - "GBA": {"frame_rate": (16777216 / 280896), "offset_ms": -260}, |
6 |
| - "GBP": {"frame_rate": (16777216 / 280896), "offset_ms": 200}, |
7 |
| - "NDS": {"frame_rate": (16756991 / 280896), "offset_ms": 788}, |
8 |
| - "3DS": {"frame_rate": (16756991 / 280896), "offset_ms": 1558}, |
| 3 | +SYSTEM_TIMING_DATA = { |
| 4 | + "RSE": {"frame_rate": 16777216 / 280896, "offset_ms": 0}, |
| 5 | + "GBA": {"frame_rate": 16777216 / 280896, "offset_ms": -260}, |
| 6 | + "GBP": {"frame_rate": 16777216 / 280896, "offset_ms": 200}, |
| 7 | + "NDS": {"frame_rate": 16756991 / 280896, "offset_ms": 788}, |
| 8 | + "3DS": {"frame_rate": 16756991 / 280896, "offset_ms": 1558}, |
9 | 9 | }
|
10 | 10 |
|
11 |
| -def frame_to_ms(frame, system): |
12 |
| - return floor((frame) / (system_data[system]["frame_rate"]) * 1000) + system_data[system]["offset_ms"] |
13 | 11 |
|
| 12 | +def frame_to_ms(frame: int, system: str = "RSE"): |
| 13 | + """Convert frame to milliseconds based on the selected system""" |
| 14 | + return ( |
| 15 | + floor(frame / SYSTEM_TIMING_DATA[system]["frame_rate"] * 1000) |
| 16 | + + SYSTEM_TIMING_DATA[system]["offset_ms"] |
| 17 | + ) |
0 commit comments