-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hello Pop'n Music support #87
base: trunk
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First off, wow, cool! Thank you so much for the new game support, and a weird one at that! I checked this out locally and it introduces a lot of typing issues that looks like it was based off an older revision of code before the cache refactor. It also introduces a fair amount of lint issues. Make sure to run ./verifytyping
and ./verifylint
after rebasing this on the latest changes to see if it is lint/type hint clean. I've also commented on a few issues I saw in the review. Also, I ran the traffic tests to generate some data and some of the pages don't seem to load (scores crashes, records shows no records). This looks pretty close but still needs some work to be accepted.
bemani/frontend/hellopopn/cache.py
Outdated
cache = Cache( | ||
app, | ||
config={ | ||
"CACHE_TYPE": "filesystem", | ||
"CACHE_DIR": config.cache_dir, | ||
}, | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This uses the old preload copy-paste that won't work for anyone using memcached. It should be updated to import the globally available cache like other frontends (see iidx for an example).
bemani/client/hellopopn/hellopopn.py
Outdated
self.verify_game_load_m(ref_id) | ||
self.verify_game_save_m(ref_id) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These don't really test that scores were actually saved, just that the packet worked. See other clients for tests to verify that lower scores don't overwrite higher ones and such.
achievements = self.data.local.user.get_achievements(self.game, self.version, userid) | ||
love = last.attribute('love') | ||
for achievement in achievements: | ||
if achievement.type == 'toki_love' and achievement.id == int(last.attribute('chara')): | ||
love = str(int(achievement.data["love"]) + 1) | ||
if achievement.data["love"] == "5": | ||
love = "5" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm confused about the purpose of this. It loads all achievements, overwrites the love given by the client with the achievement that we stored plus one, and then also attempts to cap at 5 in a weird way. What's the intent with this section?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since server only sends what chara we level up, server side needs to plus 1, 5 is the max level, so if its more than 5 should stay as 5, ill try to make a cleaner form
+ "\uFF41-\uFF5A" # widetext A-Z and @ | ||
+ "\uFF10-\uFF19" # widetext a-z | ||
+ "\uFF0C\uFF0E\uFF3F" # widetext 0-9 | ||
+ "\u3041-\u308D\u308F\u3092\u3093" # widetext ,._ | ||
+ "\u30A1-\u30ED\u30EF\u30F2\u30F3\u30FC" # hiragana | ||
+ "]*$", # katakana |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are the comments supposed to be shifted one down on these?
easy = 1 | ||
normal = 10 | ||
hard = 100 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these hardcoded constants true for all songs?
bemani/utils/read.py
Outdated
'easy': 0, | ||
'normal': 1, | ||
'hard': 2, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These difficulties are different than the above ones?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hello! has no in game difficulties so this is likely just for sorting purposes? I don't know why there's two different values (as above)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes there are no difficulties, just for sorting, the two different values is a mistake i made while testing stuff lol, ill fix it
0|崖の上のポニョ|井上あずみ | ||
1|Dragon Soul|谷本貴義 | ||
2|Blow Me Up|Sota Fujimori feat. Calin | ||
3|Cloudy Skies|EGOISTIC LEMONTEA | ||
4|男々道|Des-ROW・組 | ||
5|Fantasia|TЁЯRA | ||
6|fffff|Five Hammer | ||
7|High School Love|DJ YOSHITAKA feat.DWP | ||
8|Homesick Pt.2&3|ORANGENOISE SHORTCUT | ||
9|SA-DA-ME|good-cool feat.すわひでお | ||
10|♥LOVE²シュガ→♥|dj TAKA feat.のりあ | ||
11|ナタラディーン|Q-Mex | ||
12|にゃんだふる55 marble version|Dormir | ||
13|Pink Rose|Kiyommy+Seiya | ||
14|ポップミュージック論|ギラギラメガネ団 | ||
15|凛として咲く花の如く|紅色リトマス | ||
16|サヨナラ・ヘヴン|猫叉Master | ||
17|Soul On Fire|L.E.D.-G VS GUHROOVY fw NO+CHIN | ||
18|Übertreffen|TAKA respect for J.S.B. | ||
19|うるとらボーイ|V.C.O. featuring Yuko Asai | ||
20|Blind Justice ~Torn souls, Hurt Faiths~|Zektbach | ||
21|キセキ|GReeeeN | ||
22|じょいふる|いきものがかり | ||
23|ヘビーローテーション|AKB48 | ||
24|BABY P|Plus-Tech Squeeze Box | ||
25|チェイス!チェイス!チェイス!|パーキッツ | ||
26|ふしぎなくすり|上野圭一 feat. SATOE | ||
27|隅田川夏恋歌|seiya-murai feat.ALT | ||
28|smooooch・∀・|kors k | ||
29|DROP THE BOMB|Scotty D. | ||
30|First Date|ko-saku | ||
31|jewelry girl*|jun | ||
32|天庭 おとこのこ編|あさき | ||
33|murmur twins|yu_tokiwa.djw | ||
34|恐怖の右脳改革|96 | ||
35|LOVE♥SHINE|小坂りゆ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How was this file derived? Is it like Jubeat where it has to be manually typed? Or was it pulled from the game somehow. Either way, should it not have the difficulties for the songs here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i get it from the older revision, and as the other comments, no difficulties in game, i tried to dump the db but looks its based in game files rather in the dll
ill commit fixes tomorrow or day after tomorrow |
No description provided.