feat: update hit bursts
|
@ -55,10 +55,9 @@ Though no images have a `@2x` postfix, they are all HD images. The postfix are a
|
|||
- [osu! wiki page about skinning](https://osu.ppy.sh/wiki/en/Skinning)
|
||||
- some assets are from:
|
||||
- [monko2k's skin](https://skins.osuck.net/skins/2011)
|
||||
- [vaxei's skin](https://drive.google.com/file/d/1JRDbxtEVFYMgt9ls4rvIRs2v0IfBddFO/view)
|
||||
- [flyingtuna's skin](https://drive.google.com/file/d/1SVtUUvo4o2DUwQ1Pf2Xb0v4eDblvvovq/view)
|
||||
- [whitecat's skin](https://drive.google.com/file/d/1A9Ktx7MY-UP5iOGTTHsyQP622zDOKqfe/view)
|
||||
- [(base) vaxei's skin (blue, instant-fade)](https://drive.google.com/file/d/16YhU5yI4rgHFoK8PzBeFGDQoywWua417/view)
|
||||
- [osu!pure skin](https://www.reddit.com/r/OsuSkins/comments/kzv7s4/osupure_169_hdsd_osustandard)
|
||||
- [-#KW-! If there was an endpoint](https://osu.ppy.sh/community/forums/topics/1672096)
|
||||
|
||||
## License
|
||||
|
||||
|
|
|
@ -1,61 +1,7 @@
|
|||
from PIL import Image
|
||||
from glob import glob
|
||||
|
||||
|
||||
def create_frames(image_path: str, create_k=False):
|
||||
"""Create frames for each hit burst"""
|
||||
|
||||
file_name = image_path.split("/")[-1]
|
||||
|
||||
# create hit100k too
|
||||
if not create_k and "hit100" in file_name:
|
||||
create_frames(image_path, True)
|
||||
|
||||
# create hit300 and hit300k
|
||||
if "hit300" in file_name:
|
||||
create_hit300s(image_path)
|
||||
return
|
||||
|
||||
img = Image.open(image_path)
|
||||
|
||||
# i: 0 ~ 45
|
||||
for i in range(46):
|
||||
if create_k:
|
||||
frame_file_path = f"{file_name.removesuffix('.png')}k-{i}@2x.png"
|
||||
else:
|
||||
frame_file_path = f"{file_name.removesuffix('.png')}-{i}@2x.png"
|
||||
|
||||
if i <= 30:
|
||||
# no alterations for frame 0 ~ 30
|
||||
|
||||
img.save(f"./dist/{frame_file_path}")
|
||||
else:
|
||||
# linear fading for frame 31 ~ 45
|
||||
|
||||
transparent_img = img.convert("RGBA")
|
||||
data = img.getdata()
|
||||
|
||||
new_data = []
|
||||
for (r, g, b, a) in data:
|
||||
a = int(a * (45 - i) / 14)
|
||||
new_data.append((r, g, b, a))
|
||||
|
||||
transparent_img.putdata(new_data) # type: ignore
|
||||
transparent_img.save(f"./dist/{frame_file_path}")
|
||||
|
||||
|
||||
def create_hit300s(image_path: str):
|
||||
img = Image.open(image_path)
|
||||
file_name = image_path.split("/")[-1].removesuffix(".png")
|
||||
|
||||
img.save(f"./dist/{file_name}-0@2x.png")
|
||||
img.save(f"./dist/{file_name}k-0@2x.png")
|
||||
|
||||
from helper import copy_all
|
||||
|
||||
#
|
||||
# main
|
||||
#
|
||||
|
||||
|
||||
for image_path in glob("src/procedures/hit_bursts/*.png"):
|
||||
create_frames(image_path)
|
||||
copy_all("src/procedures/hit_bursts/*", True)
|
||||
|
|
BIN
src/procedures/hit_bursts/hit0-0.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
src/procedures/hit_bursts/hit0-1.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
src/procedures/hit_bursts/hit0-10.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
src/procedures/hit_bursts/hit0-11.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
src/procedures/hit_bursts/hit0-12.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/procedures/hit_bursts/hit0-13.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/procedures/hit_bursts/hit0-14.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/procedures/hit_bursts/hit0-15.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
src/procedures/hit_bursts/hit0-16.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
src/procedures/hit_bursts/hit0-17.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
src/procedures/hit_bursts/hit0-18.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
src/procedures/hit_bursts/hit0-19.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
src/procedures/hit_bursts/hit0-2.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/procedures/hit_bursts/hit0-20.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/procedures/hit_bursts/hit0-21.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/procedures/hit_bursts/hit0-22.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
src/procedures/hit_bursts/hit0-23.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
src/procedures/hit_bursts/hit0-24.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
src/procedures/hit_bursts/hit0-25.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
src/procedures/hit_bursts/hit0-26.png
Normal file
After Width: | Height: | Size: 2 KiB |
BIN
src/procedures/hit_bursts/hit0-27.png
Normal file
After Width: | Height: | Size: 2 KiB |
BIN
src/procedures/hit_bursts/hit0-28.png
Normal file
After Width: | Height: | Size: 2 KiB |
BIN
src/procedures/hit_bursts/hit0-29.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
src/procedures/hit_bursts/hit0-3.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
src/procedures/hit_bursts/hit0-30.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/procedures/hit_bursts/hit0-31.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
src/procedures/hit_bursts/hit0-32.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/procedures/hit_bursts/hit0-33.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
src/procedures/hit_bursts/hit0-34.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/procedures/hit_bursts/hit0-35.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
src/procedures/hit_bursts/hit0-36.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
src/procedures/hit_bursts/hit0-37.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
src/procedures/hit_bursts/hit0-38.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
src/procedures/hit_bursts/hit0-39.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
src/procedures/hit_bursts/hit0-4.png
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
src/procedures/hit_bursts/hit0-40.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
src/procedures/hit_bursts/hit0-41.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
src/procedures/hit_bursts/hit0-42.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/procedures/hit_bursts/hit0-43.png
Normal file
After Width: | Height: | Size: 1 KiB |
BIN
src/procedures/hit_bursts/hit0-44.png
Normal file
After Width: | Height: | Size: 1,005 B |
BIN
src/procedures/hit_bursts/hit0-45.png
Normal file
After Width: | Height: | Size: 898 B |
BIN
src/procedures/hit_bursts/hit0-46.png
Normal file
After Width: | Height: | Size: 804 B |
BIN
src/procedures/hit_bursts/hit0-47.png
Normal file
After Width: | Height: | Size: 773 B |
BIN
src/procedures/hit_bursts/hit0-48.png
Normal file
After Width: | Height: | Size: 736 B |
BIN
src/procedures/hit_bursts/hit0-49.png
Normal file
After Width: | Height: | Size: 630 B |
BIN
src/procedures/hit_bursts/hit0-5.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
src/procedures/hit_bursts/hit0-50.png
Normal file
After Width: | Height: | Size: 570 B |
BIN
src/procedures/hit_bursts/hit0-51.png
Normal file
After Width: | Height: | Size: 523 B |
BIN
src/procedures/hit_bursts/hit0-52.png
Normal file
After Width: | Height: | Size: 440 B |
BIN
src/procedures/hit_bursts/hit0-53.png
Normal file
After Width: | Height: | Size: 386 B |
BIN
src/procedures/hit_bursts/hit0-54.png
Normal file
After Width: | Height: | Size: 337 B |
BIN
src/procedures/hit_bursts/hit0-55.png
Normal file
After Width: | Height: | Size: 243 B |
BIN
src/procedures/hit_bursts/hit0-56.png
Normal file
After Width: | Height: | Size: 211 B |
BIN
src/procedures/hit_bursts/hit0-57.png
Normal file
After Width: | Height: | Size: 188 B |
BIN
src/procedures/hit_bursts/hit0-58.png
Normal file
After Width: | Height: | Size: 129 B |
BIN
src/procedures/hit_bursts/hit0-59.png
Normal file
After Width: | Height: | Size: 107 B |
BIN
src/procedures/hit_bursts/hit0-6.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
src/procedures/hit_bursts/hit0-7.png
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
src/procedures/hit_bursts/hit0-8.png
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
src/procedures/hit_bursts/hit0-9.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 8.3 KiB |
BIN
src/procedures/hit_bursts/hit100-0.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/procedures/hit_bursts/hit100-1.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
src/procedures/hit_bursts/hit100-10.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
src/procedures/hit_bursts/hit100-11.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/procedures/hit_bursts/hit100-12.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
src/procedures/hit_bursts/hit100-13.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
src/procedures/hit_bursts/hit100-14.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
src/procedures/hit_bursts/hit100-15.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
src/procedures/hit_bursts/hit100-16.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
src/procedures/hit_bursts/hit100-17.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
src/procedures/hit_bursts/hit100-18.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/procedures/hit_bursts/hit100-19.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
src/procedures/hit_bursts/hit100-2.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
src/procedures/hit_bursts/hit100-20.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
src/procedures/hit_bursts/hit100-21.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
src/procedures/hit_bursts/hit100-22.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/procedures/hit_bursts/hit100-23.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
src/procedures/hit_bursts/hit100-24.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
src/procedures/hit_bursts/hit100-25.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/procedures/hit_bursts/hit100-26.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
src/procedures/hit_bursts/hit100-27.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
src/procedures/hit_bursts/hit100-28.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
src/procedures/hit_bursts/hit100-29.png
Normal file
After Width: | Height: | Size: 2 KiB |
BIN
src/procedures/hit_bursts/hit100-3.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
src/procedures/hit_bursts/hit100-30.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
src/procedures/hit_bursts/hit100-31.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
src/procedures/hit_bursts/hit100-32.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
src/procedures/hit_bursts/hit100-33.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
src/procedures/hit_bursts/hit100-34.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
src/procedures/hit_bursts/hit100-35.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
src/procedures/hit_bursts/hit100-36.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/procedures/hit_bursts/hit100-37.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
src/procedures/hit_bursts/hit100-38.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
src/procedures/hit_bursts/hit100-39.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
src/procedures/hit_bursts/hit100-4.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
src/procedures/hit_bursts/hit100-40.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
src/procedures/hit_bursts/hit100-41.png
Normal file
After Width: | Height: | Size: 1.3 KiB |