1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-21 23:59:16 +08:00
Commit Graph

28 Commits

Author SHA1 Message Date
Bartłomiej Dach
fff99a8b40
Implement special exporter intended specifically for submission flows 2025-02-05 14:01:37 +01:00
Bartłomiej Dach
20280cd195
Do not double up first control point of path 2025-01-31 09:01:42 +01:00
Bartłomiej Dach
b4f63da048
Move control point double-up logic to LegacyBeatmapExporter
Done for two reasons:

- During review it was requested for the logic to be moved out of
  `BezierConverter` as `BezierConverter` was intended to produce
  "lazer style" sliders with per-control-point curve types,
  as a future usability / code layering concern.

- It is also relevant for encode-decode stability. With how the logic
  was structured between the Bezier converter and the legacy beatmap
  encoder, the encoder would leave behind per-control-point Bezier curve
  specs that stable ignored, but subsequent encodes and decodes in lazer
  would end up multiplying the doubled-up control points ad nauseam.
  Instead, it is sufficient to only specify the curve type for the
  head control point as Bezier, not specify any further curve types
  later on, and instead just keep the double-up-control-point for new
  implicit segment logic which is enough to make stable cooperate
  (and also as close to outputting the slider exactly as stable would
  have produced it as we've ever been)
2025-01-30 15:28:47 +01:00
Bartłomiej Dach
e9762422b3
Round object coordinates to nearest integers rather than truncating
Addresses https://github.com/ppy/osu/issues/31256.
2024-12-27 11:10:29 +01:00
OliBomby
b6eff38520 Fix timing point truncation in legacy beatmap export 2024-11-13 14:23:28 +01:00
Dan Balasescu
276d8fe158
Truncate break times for legacy beatmap export 2024-06-26 16:20:56 +09:00
Bartłomiej Dach
6d7d826b8b
Fix incorrect legacy conversion when B-splines are used 2023-11-20 15:08:58 +09:00
Thomas Müller-Höhne
926636cc03 Generalize Bezier curves to BSplines of Nth degree 2023-11-11 13:32:53 +01:00
Bartłomiej Dach
a942b6ff74
Replace inline comment with actual explanation of what's happening 2023-08-21 07:27:02 +02:00
OliBomby
8686b6b1e6 fix The last slider point has effect on previous inherited 2023-08-16 16:44:08 +02:00
Bartłomiej Dach
253392409e
Fix LegacyBeatmapExporter not converting beatmap between decode and re-encode 2023-08-12 00:50:31 +02:00
OliBomby
e7a9175aea fix skin using wrong stream 2023-07-18 13:08:05 +02:00
OliBomby
63dd8bd991 use base.GetFileContents to get file stream 2023-07-18 12:40:48 +02:00
OliBomby
bcdf531039 truncate end time before start time 2023-07-18 12:28:35 +02:00
OliBomby
c02684d985 truncate hit object end time 2023-07-18 12:18:43 +02:00
OliBomby
1d837a8725 Move all conversion code to LegacyBeatmapExporter 2023-07-13 00:20:01 +02:00
OliBomby
465cc759f0 Add xmldoc to clarify the purpose of BeatmapExporter 2023-07-12 14:49:49 +02:00
Bartłomiej Dach
510484011c
Mark exporter extensions as untranslatable 2023-05-06 19:42:28 +02:00
cdwcgt
de21b4a2f7
use Live<TModel>
Use RealmAccess only when needed
2023-04-09 22:21:15 +09:00
cdwcgt
6900d0120a
change abstract implement 2022-12-15 21:39:48 +09:00
cdwcgt
e02b8cb199
Group export methods into their respective managers 2022-12-11 18:30:24 +09:00
cdwcgt
e37d30a373
refactor based on reviews
removed LegacyExportManager

Separated the method of CreateZip method and the default export method
2022-11-21 18:58:01 +09:00
cdwcgt
fc4a6cb125
working with test 2022-11-19 01:02:35 +09:00
cdwcgt
4b29941b47
add LegacyExportManager 2022-11-18 20:00:00 +09:00
cdwcgt
e1a21e0cf9
create a task to export to avoid block main thread
Code quality and remove some #nullable disable
2022-11-17 01:08:06 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
e2ebcf7a26 Remove unnecessary manager parameter
Confused why I added this in the first place..
2021-11-25 18:36:03 +09:00
Dean Herbert
cc1b91e4bd Split out legacy model export logic into LegacyModelExporter classes 2021-11-25 16:41:12 +09:00