nnnotes 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. nnnotes/__init__.py +7 -0
  2. nnnotes/__main__.py +4 -0
  3. nnnotes/acb.py +190 -0
  4. nnnotes/addressables.py +413 -0
  5. nnnotes/adv.py +243 -0
  6. nnnotes/advcommand.py +29 -0
  7. nnnotes/advmedia.py +178 -0
  8. nnnotes/advscene.py +113 -0
  9. nnnotes/advui.py +1154 -0
  10. nnnotes/advvideo.py +684 -0
  11. nnnotes/atoms/__init__.py +151 -0
  12. nnnotes/atoms/astc.py +52 -0
  13. nnnotes/atoms/gltf.py +290 -0
  14. nnnotes/atoms/mesh.py +289 -0
  15. nnnotes/atoms/png.py +28 -0
  16. nnnotes/atoms/reader.py +269 -0
  17. nnnotes/atoms/sniff.py +198 -0
  18. nnnotes/atoms/sprite.py +236 -0
  19. nnnotes/atoms/texture.py +80 -0
  20. nnnotes/cache.py +289 -0
  21. nnnotes/catalog.py +373 -0
  22. nnnotes/catalogdb.py +457 -0
  23. nnnotes/census.py +276 -0
  24. nnnotes/cli.py +744 -0
  25. nnnotes/cli_assets.py +1539 -0
  26. nnnotes/config.py +238 -0
  27. nnnotes/contract.py +497 -0
  28. nnnotes/cri.py +371 -0
  29. nnnotes/crikey.py +71 -0
  30. nnnotes/crilips.py +265 -0
  31. nnnotes/cristages.py +558 -0
  32. nnnotes/deckdata.py +462 -0
  33. nnnotes/export.py +1462 -0
  34. nnnotes/gameapi.py +318 -0
  35. nnnotes/jsonio.py +98 -0
  36. nnnotes/languages.py +44 -0
  37. nnnotes/layout.py +596 -0
  38. nnnotes/link.py +418 -0
  39. nnnotes/live.py +115 -0
  40. nnnotes/live2d.py +235 -0
  41. nnnotes/liveaudio.py +331 -0
  42. nnnotes/livenotes.py +291 -0
  43. nnnotes/liveoptions.py +250 -0
  44. nnnotes/livescene.py +450 -0
  45. nnnotes/liveui.py +328 -0
  46. nnnotes/master.py +251 -0
  47. nnnotes/modelstages.py +424 -0
  48. nnnotes/motion.py +131 -0
  49. nnnotes/objexport.py +1564 -0
  50. nnnotes/orchestrate.py +630 -0
  51. nnnotes/plan.py +218 -0
  52. nnnotes/player.py +392 -0
  53. nnnotes/room.py +391 -0
  54. nnnotes/score.py +1139 -0
  55. nnnotes/shader.py +217 -0
  56. nnnotes/spot.py +201 -0
  57. nnnotes/stages.py +285 -0
  58. nnnotes/store.py +518 -0
  59. nnnotes/story.py +142 -0
  60. nnnotes/storyfonts.py +1258 -0
  61. nnnotes/storyhost.py +1190 -0
  62. nnnotes/storysite.py +662 -0
  63. nnnotes/storyvoices.py +102 -0
  64. nnnotes/textstyle.py +355 -0
  65. nnnotes/tmpfont.py +636 -0
  66. nnnotes/typetrees/6000.3.12f1.json +19 -0
  67. nnnotes/unity.py +368 -0
  68. nnnotes/viewrules.json +441 -0
  69. nnnotes/views.py +966 -0
  70. nnnotes/voices.py +1363 -0
  71. nnnotes/web.py +1624 -0
  72. nnnotes/webaudio.py +14 -0
  73. nnnotes/webmodel.py +397 -0
  74. nnnotes-0.1.0.dist-info/METADATA +200 -0
  75. nnnotes-0.1.0.dist-info/RECORD +79 -0
  76. nnnotes-0.1.0.dist-info/WHEEL +5 -0
  77. nnnotes-0.1.0.dist-info/entry_points.txt +2 -0
  78. nnnotes-0.1.0.dist-info/licenses/LICENSE +21 -0
  79. nnnotes-0.1.0.dist-info/top_level.txt +1 -0
nnnotes/viewrules.json ADDED
@@ -0,0 +1,441 @@
1
+ {
2
+ "format": 1,
3
+ "resolvers": {
4
+ "GameResourceType": {
5
+ "1": {"name": "Item", "table": "MasterItem", "vars": {"path": "_imagePath"}, "address": "{path}",
6
+ "expect": "Sprite", "names": {"name": "_nameTextId"}},
7
+ "2": {"name": "MemberCard", "table": "MasterMemberCard", "vars": {"asset": "_assetID"},
8
+ "address": "MemberCard/{asset}/member_thumbnail[member_thumbnail]", "expect": "Sprite",
9
+ "names": {"name": "_nameTextID"}},
10
+ "3": {"name": "SupportCard", "table": "MasterSupportCard", "vars": {"asset": "_assetID"},
11
+ "address": "SupportCard/{asset}/snap_thumbnail", "expect": "Sprite", "names": {"name": "_nameTextID"}},
12
+ "7": {"name": "GachaPoint", "address": "Item/common/item_icon_seal_member", "expect": "Sprite"},
13
+ "8": {"name": "Music", "table": "MasterLiveMusic", "vars": {"jacket": "_jacketAssetName"},
14
+ "address": "Image/Jacket/{jacket}", "expect": "Sprite", "names": {"name": "_titleTextID"}},
15
+ "9": {"name": "Stamp", "table": "MasterStamp", "vars": {"path": "_stampAsset"}, "address": "{path}",
16
+ "expect": "Sprite", "names": {"name": "_nameTextId"}},
17
+ "10": {"name": "PremiumPass", "table": "MasterSeasonPass", "vars": {"banner": "_bannerAsset"},
18
+ "address": "SeasonPass/Banner/{banner}", "expect": "Sprite", "names": {"name": "_nameTextId"}},
19
+ "17": {"name": "Degree", "table": "MasterDegree", "vars": {"path": "_imagePath"}, "address": "{path}",
20
+ "expect": "Sprite", "names": {"name": "_nameTextId"}},
21
+ "18": {"name": "Background", "table": "MasterBackground", "vars": {"path": "_thumbnailAssetPath"},
22
+ "address": "{path}", "expect": "Sprite", "names": {"name": "_nameTextId"}},
23
+ "19": {"name": "Spot", "table": "MasterHomeSpot", "vars": {"path": "_thumbnailAssetPath"}, "address": "{path}",
24
+ "expect": "Sprite", "names": {"name": "_nameTextId"}},
25
+ "1001": {"name": "BiliChatTheme", "table": "MasterBiliChatTheme", "vars": {"path": "_iconAssetPath"},
26
+ "address": "{path}", "expect": "Sprite", "names": {"name": "_skinNameTextId"}},
27
+ "1002": {"name": "BiliChatBubble", "table": "MasterBiliChatBubble", "vars": {"path": "_iconAssetPath"},
28
+ "address": "{path}", "expect": "Sprite", "names": {"name": "_skinNameTextId"}},
29
+ "1003": {"name": "BiliChatFrame", "table": "MasterBiliChatFrame", "vars": {"path": "_iconAssetPath"},
30
+ "address": "{path}", "expect": "Sprite", "names": {"name": "_skinNameTextId"}}
31
+ }
32
+ },
33
+ "views": {
34
+ "cards": {
35
+ "version": 1, "table": "MasterMemberCard",
36
+ "vars": {"id": "_id", "asset": "_assetID", "rarity": "_rarity",
37
+ "band": ["_characterID", "MasterCharacter._bandID"],
38
+ "r_background": ["_characterID", "MasterCharacter._bandID", "MasterBand._memberRarityRBackgroundAssetPath"]},
39
+ "names": {"name": "_nameTextID", "subtitle": "_subtitleTextID"},
40
+ "prefixes": ["MemberCard/"],
41
+ "roles": [
42
+ {"role": "member_full", "address": "MemberCard/{asset}/member_full[member_full]", "expect": "Sprite", "required": true},
43
+ {"role": "member_full_detail_pivot", "address": "MemberCard/{asset}/member_full[detail_pivot]", "expect": "Sprite"},
44
+ {"role": "member_full_face_center_x", "address": "MemberCard/{asset}/member_full[face_center_x]", "expect": "Sprite"},
45
+ {"role": "member_full_face_center", "address": "MemberCard/{asset}/member_full[face_center]", "expect": "Sprite"},
46
+ {"role": "member_full_sprite_meta_data", "address": "MemberCard/{asset}/member_full_sprite_meta_data"},
47
+ {"role": "member_character", "address": "MemberCard/{asset}/member_character[main]", "expect": "Sprite", "required": true},
48
+ {"role": "member_character_formation", "address": "MemberCard/{asset}/member_character[formation]", "expect": "Sprite"},
49
+ {"role": "member_character_member_result", "address": "MemberCard/{asset}/member_character[member_result]", "expect": "Sprite"},
50
+ {"role": "member_character_face_center_x", "address": "MemberCard/{asset}/member_character[face_center_x]", "expect": "Sprite"},
51
+ {"role": "member_character_face_center", "address": "MemberCard/{asset}/member_character[face_center]", "expect": "Sprite"},
52
+ {"role": "member_character_sprite_meta_data", "address": "MemberCard/{asset}/member_character_sprite_meta_data"},
53
+ {"role": "member_background", "address": "MemberCard/{asset}/member_background[member_background]", "expect": "Sprite",
54
+ "when": {"field": "rarity", "op": "ne", "value": 2}},
55
+ {"role": "member_background_formation", "address": "MemberCard/{asset}/member_background[formation]", "expect": "Sprite",
56
+ "when": {"field": "rarity", "op": "ne", "value": 2}},
57
+ {"role": "member_background_texture", "address": "MemberCard/{asset}/member_background", "expect": "Texture2D"},
58
+ {"role": "member_background_r", "address": "{r_background}", "expect": "Sprite",
59
+ "when": {"field": "rarity", "op": "eq", "value": 2}},
60
+ {"role": "gacha_band_background", "address": "MemberCard/MemberCommon/member_background{band}[member_background{band}_0]", "expect": "Sprite"},
61
+ {"role": "member_thumbnail", "address": "MemberCard/{asset}/member_thumbnail[member_thumbnail]", "expect": "Sprite", "required": true},
62
+ {"role": "member_thumbnail_square", "address": "MemberCard/{asset}/member_thumbnail[square]", "expect": "Sprite", "required": true},
63
+ {"role": "skill_sprite", "address": "MemberCard/{asset}/skill_sprite", "expect": "Sprite"},
64
+ {"role": "member_preview_movie", "address": "MemberCard/{asset}/member_preview_movie"},
65
+ {"role": "movie", "address": "MemberCard/{id}/movie/{part}",
66
+ "each": {"var": "part", "values": ["anime_part1", "anime_part2", "live2d_in", "live2d_loop"]},
67
+ "when": {"field": "rarity", "op": "eq", "value": 4}},
68
+ {"role": "member_gacha_animation_config", "address": "MemberCard/{asset}/member_gacha_animation_config"}
69
+ ]
70
+ },
71
+ "support_cards": {
72
+ "version": 1, "table": "MasterSupportCard",
73
+ "vars": {"asset": "_assetID"},
74
+ "names": {"name": "_nameTextID", "description": "_descriptionTextID"},
75
+ "prefixes": ["SupportCard/"],
76
+ "roles": [
77
+ {"role": "snap_full", "address": "SupportCard/{asset}/snap_full[snap_full]", "expect": "Sprite", "required": true},
78
+ {"role": "snap_thumbnail", "address": "SupportCard/{asset}/snap_thumbnail", "expect": "Sprite", "required": true},
79
+ {"role": "skill_sprite", "address": "SupportCard/{asset}/skill_sprite", "expect": "Sprite"}
80
+ ]
81
+ },
82
+ "characters": {
83
+ "version": 1, "table": "MasterCharacter",
84
+ "vars": {"id": "_id"},
85
+ "names": {"name": "_nameTextID", "short_name": "_shortNameTextID"},
86
+ "prefixes": ["Character/Image/"],
87
+ "roles": [
88
+ {"role": "character_sprite", "address": "Character/Image/{id}/character_sprite", "expect": "Sprite"},
89
+ {"role": "character_thumbnail", "address": "Character/Image/{id}/character_thumbnail", "expect": "Sprite"},
90
+ {"role": "character_face_icon", "address": "Character/Image/{id}/character_face_icon", "expect": "Sprite"},
91
+ {"role": "character_round_icon", "address": "Character/Image/{id}/character_round_icon", "expect": "Sprite"},
92
+ {"role": "board_icon", "address": "Character/Image/{id}/board_icon", "expect": "Sprite"}
93
+ ]
94
+ },
95
+ "bands": {
96
+ "version": 1, "table": "MasterBand",
97
+ "vars": {"id": "_id", "r_background": "_memberRarityRBackgroundAssetPath"},
98
+ "names": {"name": "_nameTextID"},
99
+ "prefixes": ["Band/"],
100
+ "exclude": ["Band/*/BandItem/"],
101
+ "roles": [
102
+ {"role": "band_small_icon", "address": "Band/{id}/band_small_Icon", "expect": "Sprite"},
103
+ {"role": "band_small_icon_white", "address": "Band/{id}/band_small_icon_white", "expect": "Sprite"},
104
+ {"role": "band_room_background", "address": "Band/{id}/band_room_background", "expect": "Sprite"},
105
+ {"role": "band_board_self", "address": "Band/{id}/Friendship/BandBoard_Self", "expect": "GameObject"},
106
+ {"role": "band_board_other", "address": "Band/{id}/Friendship/BandBoard_Other", "expect": "GameObject"},
107
+ {"role": "band_logo", "address": "Band/{id}/band_logo", "expect": "Sprite"},
108
+ {"role": "band_logo_white", "address": "Band/{id}/band_logo_white", "expect": "Sprite"},
109
+ {"role": "band_menu_enabled_icon", "address": "Band/{id}/band_menu_enabled_icon", "expect": "Sprite"},
110
+ {"role": "band_menu_disabled_icon", "address": "Band/{id}/band_menu_disabled_icon", "expect": "Sprite"},
111
+ {"role": "live_stage", "address": "Band/{id}/live_stage/live_stage"},
112
+ {"role": "live_stage_lightweight_background", "address": "Band/{id}/live_stage/lightweight_background", "expect": "Sprite"},
113
+ {"role": "live_start_timeline", "address": "Band/{id}/timeline/live_start_playable_timeline"},
114
+ {"role": "band_profile", "address": "Band/{id}/BandProfile/BandProfile"},
115
+ {"role": "band_fade", "address": "Band/{id}/band_fade", "expect": "Sprite"},
116
+ {"role": "band_studio_background", "address": "Band/{id}/band_studio_background", "expect": "Sprite"},
117
+ {"role": "band_stage_background", "address": "Band/{id}/band_stage_background", "expect": "Sprite"},
118
+ {"role": "band_arena_background", "address": "Band/{id}/band_arena_background", "expect": "Sprite"},
119
+ {"role": "login_bonus_bg", "address": "Band/{id}/LoginBonus/LoginBonusBg"},
120
+ {"role": "login_bonus_screen_bg", "address": "Band/{id}/LoginBonus/LoginBonusScreenBg"},
121
+ {"role": "login_bonus_screen_frame", "address": "Band/{id}/LoginBonus/LoginBonusScreenFrame"},
122
+ {"role": "member_rarity_r_background", "address": "{r_background}", "expect": "Sprite"}
123
+ ]
124
+ },
125
+ "band_items": {
126
+ "version": 1, "table": "MasterBandItem",
127
+ "vars": {"id": "_id", "band": "_bandId"},
128
+ "names": {"name": "_nameTextId", "description": "_descriptionTextId"},
129
+ "prefixes": ["Band/*/BandItem/"],
130
+ "roles": [
131
+ {"role": "band_item", "address": "Band/{band}/BandItem/{id}/band_item", "expect": "Sprite", "required": true}
132
+ ]
133
+ },
134
+ "stamps": {
135
+ "version": 1, "table": "MasterStamp",
136
+ "vars": {"path": "_stampAsset"},
137
+ "names": {"name": "_nameTextId"},
138
+ "prefixes": ["Stamp/"],
139
+ "roles": [{"role": "stamp", "address": "{path}", "expect": "Sprite", "required": true}]
140
+ },
141
+ "items": {
142
+ "version": 1, "table": "MasterItem",
143
+ "vars": {"path": "_imagePath"},
144
+ "names": {"name": "_nameTextId", "description": "_descriptionTextId"},
145
+ "prefixes": ["Item/"],
146
+ "roles": [{"role": "icon", "address": "{path}", "expect": "Sprite", "required": true}]
147
+ },
148
+ "degrees": {
149
+ "version": 1, "table": "MasterDegree",
150
+ "vars": {"path": "_imagePath"},
151
+ "names": {"name": "_nameTextId", "description": "_descriptionTextId"},
152
+ "prefixes": ["Image/Degree/"],
153
+ "roles": [{"role": "image", "address": "{path}", "expect": "Sprite", "required": true}]
154
+ },
155
+ "backgrounds": {
156
+ "version": 1, "table": "MasterBackground",
157
+ "vars": {"path": "_assetPath", "thumbnail": "_thumbnailAssetPath"},
158
+ "names": {"name": "_nameTextId", "description": "_descriptionTextId"},
159
+ "prefixes": ["Image/Background/", "thumbnail/Background/"],
160
+ "roles": [
161
+ {"role": "image", "address": "{path}", "required": true},
162
+ {"role": "thumbnail", "address": "{thumbnail}", "expect": "Sprite", "required": true}
163
+ ]
164
+ },
165
+ "spots": {
166
+ "version": 1, "table": "MasterHomeSpot",
167
+ "vars": {"thumbnail": "_thumbnailAssetPath", "background": "_backgroundAssetPath", "situation": "_situationAssetPath"},
168
+ "names": {"name": "_nameTextId"},
169
+ "prefixes": ["Image/Spot/"],
170
+ "roles": [
171
+ {"role": "thumbnail", "address": "{thumbnail}", "expect": "Sprite", "required": true},
172
+ {"role": "background", "address": "{background}"},
173
+ {"role": "situation", "address": "{situation}"}
174
+ ]
175
+ },
176
+ "jackets": {
177
+ "version": 1, "table": "MasterLiveMusic",
178
+ "vars": {"jacket": "_jacketAssetName"},
179
+ "names": {"title": "_titleTextID"},
180
+ "prefixes": ["Image/Jacket/"],
181
+ "roles": [
182
+ {"role": "jacket", "address": "Image/Jacket/{jacket}", "expect": "Sprite", "required": true},
183
+ {"role": "jacket_small", "address": "Image/Jacket/small/{jacket}", "expect": "Sprite", "required": true}
184
+ ]
185
+ },
186
+ "gacha": {
187
+ "version": 1, "table": "MasterGacha",
188
+ "vars": {"id": "_id", "banner": "_bannerAssetName", "logo_asset": "_logoAssetName"},
189
+ "names": {"name": "_nameTextId"},
190
+ "prefixes": ["Gacha/Banner/", "Gacha/Logo/"],
191
+ "roles": [
192
+ {"role": "banner", "address": "{banner}", "expect": "Sprite", "required": true},
193
+ {"role": "logo", "address": "Gacha/Logo/gacha_logo_{id}", "expect": "Sprite"},
194
+ {"role": "logo_asset", "address": "{logo_asset}", "expect": "Sprite"}
195
+ ]
196
+ },
197
+ "home_banners": {
198
+ "version": 1, "table": "MasterHomeBanner",
199
+ "vars": {"image": "_imageAsset"},
200
+ "roles": [{"role": "image", "address": "{image}", "expect": "Sprite", "required": true}]
201
+ },
202
+ "login_bonuses": {
203
+ "version": 1, "table": "MasterLoginBonus",
204
+ "vars": {"sheet": "_sheetImageAsset", "background": "_backgroundImageAsset"},
205
+ "names": {"name": "_nameTextID"},
206
+ "prefixes": ["LoginBonus/"],
207
+ "roles": [
208
+ {"role": "sheet", "address": "{sheet}", "expect": "Sprite", "required": true},
209
+ {"role": "background", "address": "{background}", "expect": "Sprite", "required": true}
210
+ ]
211
+ },
212
+ "story_chapters": {
213
+ "version": 1, "table": "MasterStoryChapter",
214
+ "vars": {"banner": "_banner", "image": "_image", "icon": "_icon"},
215
+ "names": {"name": "_nameTextId", "description": "_descriptionTextId"},
216
+ "prefixes": ["Story/Banner/Chapter/", "Story/Image/Chapter/", "Story/Icon/"],
217
+ "roles": [
218
+ {"role": "banner", "address": "Story/Banner/Chapter/{banner}", "expect": "Sprite", "required": true},
219
+ {"role": "image", "address": "Story/Image/Chapter/{image}", "expect": "Sprite", "required": true},
220
+ {"role": "icon", "address": "Story/Icon/{icon}", "expect": "Sprite", "required": true}
221
+ ]
222
+ },
223
+ "story_episodes": {
224
+ "version": 1, "table": "MasterStoryEpisode",
225
+ "vars": {"banner": "_banner", "image": "_image"},
226
+ "names": {"description": "_descriptionTextId"},
227
+ "prefixes": ["Story/Banner/Episode/", "Story/Image/Episode/"],
228
+ "roles": [
229
+ {"role": "banner", "address": "Story/Banner/Episode/{banner}", "expect": "Sprite", "required": true},
230
+ {"role": "image", "address": "Story/Image/Episode/{image}", "expect": "Sprite", "required": true}
231
+ ]
232
+ },
233
+ "friendship_episodes": {
234
+ "version": 1, "table": "MasterStoryFriendshipEpisode",
235
+ "vars": {"banner": "_banner"},
236
+ "prefixes": ["Story/Banner/Episode/"],
237
+ "roles": [{"role": "banner", "address": "Story/Banner/Episode/{banner}", "expect": "Sprite", "required": true}]
238
+ },
239
+ "friendships": {
240
+ "version": 1, "table": "MasterCharacterFriendship",
241
+ "vars": {"banner": "_storyBanner"},
242
+ "prefixes": ["Character/StoryBanner/"],
243
+ "roles": [{"role": "story_banner", "address": "Character/StoryBanner/{banner}", "expect": "Sprite", "required": true}]
244
+ },
245
+ "events": {
246
+ "version": 1, "table": "MasterEvent",
247
+ "vars": {"image": "_imageAsset", "logo": "_logoAsset", "background": "_backgroundAsset", "banner": "_bannerAsset"},
248
+ "names": {"name": "_nameTextId"},
249
+ "prefixes": ["Image/Event/"],
250
+ "roles": [
251
+ {"role": "image", "address": "Image/Event/{image}", "expect": "Sprite", "required": true},
252
+ {"role": "logo", "address": "Image/Event/{logo}", "expect": "Sprite", "required": true},
253
+ {"role": "background", "address": "Image/Event/{background}", "expect": "Sprite", "required": true},
254
+ {"role": "banner", "address": "Image/Event/{banner}", "expect": "Sprite", "required": true}
255
+ ]
256
+ },
257
+ "shops": {
258
+ "version": 1, "table": "MasterShop",
259
+ "vars": {"thumbnail": "_thumbnailAsset", "dialog": "_dialogAsset", "tab": "_tabAsset"},
260
+ "names": {"name": "_nameTextId", "description": "_descriptionTextId"},
261
+ "prefixes": ["Shop/ItemThumbnail/", "Shop/Dialog/", "Shop/Tab/"],
262
+ "roles": [
263
+ {"role": "thumbnail", "address": "Shop/ItemThumbnail/{thumbnail}", "expect": "Sprite", "required": true},
264
+ {"role": "dialog", "address": "Shop/Dialog/{dialog}", "expect": "Sprite", "required": true},
265
+ {"role": "tab", "address": "Shop/Tab/{tab}", "expect": "Sprite", "required": true}
266
+ ]
267
+ },
268
+ "monthly_passes": {
269
+ "version": 1, "table": "MasterMonthlyPass",
270
+ "vars": {"id": "_id"},
271
+ "names": {"name": "_nameTextId", "description": "_descriptionTextId"},
272
+ "prefixes": ["Shop/Pass/Banner/"],
273
+ "roles": [{"role": "banner", "address": "Shop/Pass/Banner/{id:05d}", "expect": "Sprite", "required": true}]
274
+ },
275
+ "season_passes": {
276
+ "version": 1, "table": "MasterSeasonPass",
277
+ "vars": {"banner": "_bannerAsset"},
278
+ "names": {"name": "_nameTextId", "description": "_descriptionTextId"},
279
+ "prefixes": ["SeasonPass/Banner/"],
280
+ "roles": [{"role": "banner", "address": "SeasonPass/Banner/{banner}", "expect": "Sprite", "required": true}]
281
+ },
282
+ "exchange_categories": {
283
+ "version": 1, "table": "MasterExchangeCategory",
284
+ "vars": {"banner": "_bannerAsset"},
285
+ "names": {"name": "_nameTextId"},
286
+ "prefixes": ["Exchange/Category/"],
287
+ "roles": [{"role": "banner", "address": "Exchange/Category/{banner}", "expect": "Sprite", "required": true}]
288
+ },
289
+ "exchange_products": {
290
+ "version": 1, "table": "MasterExchangeProduct",
291
+ "vars": {"thumbnail": "_thumbnailAsset"},
292
+ "prefixes": ["Exchange/ItemThumbnail/"],
293
+ "roles": [{"role": "thumbnail", "address": "Exchange/ItemThumbnail/{thumbnail}", "expect": "Sprite", "required": true}]
294
+ },
295
+ "comics": {
296
+ "version": 1, "table": "MasterLoadingComics",
297
+ "vars": {"image": "_imageAsset"},
298
+ "prefixes": ["Image/Comic/"],
299
+ "roles": [{"role": "comic", "address": "Image/Comic/{image}", "expect": "Sprite", "required": true}]
300
+ },
301
+ "skill_icons": {
302
+ "version": 1, "table": "MasterSkillIcon",
303
+ "vars": {"icon": "_normalIconAssetName"},
304
+ "prefixes": ["Character/Skill/"],
305
+ "roles": [{"role": "icon", "address": "Character/Skill/{icon}", "expect": "Sprite", "required": true}]
306
+ },
307
+ "rewards": {
308
+ "version": 1,
309
+ "sources": [
310
+ {"table": "MasterArenaDailyReward", "type": "_resourceType", "id": "_resourceId"},
311
+ {"table": "MasterArenaPromotionReward", "type": "_resourceType", "id": "_resourceId"},
312
+ {"table": "MasterArenaRankingReward", "type": "_resourceType", "id": "_resourceId"},
313
+ {"table": "MasterArenaSeasonReward", "type": "_resourceType", "id": "_resourceId"},
314
+ {"table": "MasterBattleLiveReward", "type": "_resourceType", "id": "_resourceId"},
315
+ {"table": "MasterChallengeLiveEventReward", "type": "_resourceType", "id": "_resourceId"},
316
+ {"table": "MasterCharacterFriendshipRankReward", "type": "_resourceType", "id": "_resourceId"},
317
+ {"table": "MasterCharacterRankReward", "type": "_resourceType", "id": "_resourceId"},
318
+ {"table": "MasterCircleMissionReward", "type": "_resourceType", "id": "_resourceId"},
319
+ {"table": "MasterExchange", "type": "_paymentResourceType", "id": "_paymentResourceId"},
320
+ {"table": "MasterExchangeProduct", "type": "_resourceType", "id": "_resourceId"},
321
+ {"table": "MasterGachaBonusLot", "type": "_bonusPrizeType", "id": "_bonusPrizeId"},
322
+ {"table": "MasterGachaPrize", "type": "_resourceType", "id": "_resourceId"},
323
+ {"table": "MasterGekisouLiveRankReward", "type": "_resourceType", "id": "_resourceId"},
324
+ {"table": "MasterInvitationReward", "type": "_resourceType", "id": "_resourceId"},
325
+ {"table": "MasterInvitationSuccessReward", "type": "_resourceType", "id": "_resourceId"},
326
+ {"table": "MasterLiveArenaRankReward", "type": "_resourceType", "id": "_resourceId"},
327
+ {"table": "MasterLiveEventReward", "type": "_resourceType", "id": "_resourceId"},
328
+ {"table": "MasterLiveFreeReward", "type": "_resourceType", "id": "_resourceId"},
329
+ {"table": "MasterLiveMusicComboReward", "type": "_resourceType", "id": "_resourceId"},
330
+ {"table": "MasterLiveMusicScoreReward", "type": "_resourceType", "id": "_resourceId"},
331
+ {"table": "MasterLiveStamp", "type": "_resourceType", "id": "_resourceId"},
332
+ {"table": "MasterLoginBonusSlot", "type": "_resourceType", "id": "_resourceId"},
333
+ {"table": "MasterMissionReward", "type": "_resourceType", "id": "_resourceId"},
334
+ {"table": "MasterMonthlyPassContinuationReward", "type": "_resourceType", "id": "_resourceId"},
335
+ {"table": "MasterMonthlyPassDailyReward", "type": "_resourceType", "id": "_resourceId"},
336
+ {"table": "MasterMonthlyPassFirstTimeReward", "type": "_resourceType", "id": "_resourceId"},
337
+ {"table": "MasterMonthlyPassPurchaseReward", "type": "_resourceType", "id": "_resourceId"},
338
+ {"table": "MasterOfflineBonusItemLot", "type": "_resourceType", "id": "_resourceId"},
339
+ {"table": "MasterReward", "type": "_resourceType", "id": "_resourceId"},
340
+ {"table": "MasterSeasonPassReward", "type": "_resourceType", "id": "_resourceId"},
341
+ {"table": "MasterShopProduct", "type": "_resourceType", "id": "_resourceId"},
342
+ {"table": "MasterStoryReward", "type": "_resourceType", "id": "_resourceId"},
343
+ {"table": "MasterVipDailyReward", "type": "_resourceType", "id": "_resourceId"},
344
+ {"table": "MasterVipRankPack", "type": "_resourceType", "id": "_resourceId"},
345
+ {"table": "MasterVipRankUpReward", "type": "_resourceType", "id": "_resourceId"}
346
+ ],
347
+ "roles": [{"role": "icon", "resolver": "GameResourceType", "required": true}]
348
+ }
349
+ },
350
+ "voices": {
351
+ "version": 2,
352
+ "key": "Cri/Sound/{sheet}",
353
+ "prefixes": ["Cri/Sound/Voice", "Cri/Sound/spot_", "Cri/Sound/InitialVoice", "Cri/Sound/adv_voice_"],
354
+ "sound": {"table": "MasterSound", "sheets": "MasterSoundCueSheet", "sheet": "_soundCueSheetID",
355
+ "sheetName": "_cueSheetName", "cue": "_cueName", "category": "_category", "voice": 2},
356
+ "characters": {"table": "MasterCharacter", "token": "_nameTextID",
357
+ "names": {"name": "_nameTextID", "short": "_shortNameTextID", "en": "_enDisplayNameTextId"}},
358
+ "enums": {
359
+ "CharacterVoiceMasterType": {"0": "Talk", "1": "CharacterVoice", "2": "MemberCard", "3": "LiveCharacter",
360
+ "4": "LiveGekisouVoice", "5": "LiveDialogueCommon", "6": "LiveDialogueFixedPair",
361
+ "7": "LiveStartCharacterVoice"},
362
+ "TalkCategory": {"0": "None", "1": "CharacterRankUp", "2": "Season", "3": "Birthday", "4": "LoginBonus",
363
+ "5": "Exchange", "6": "Live", "7": "OfflineBonus"},
364
+ "CharacterVoiceType": {"0": "LevelUp", "1": "Awaken", "2": "SkillLevelUp", "3": "RankUp", "4": "LiveClear",
365
+ "5": "LiveFullCombo", "6": "LiveAllPerfect", "7": "LiveResult",
366
+ "8": "LiveBattleResultFirst", "9": "LiveBattleResultHigh", "10": "LiveBattleResultLow"},
367
+ "GekisouVoiceType": {"0": "StartCombo", "1": "StartJustCount", "2": "StartLuck", "3": "TopRank"},
368
+ "SoundCategory": {"0": "Bgm", "1": "Se", "2": "Voice", "3": "NotesSe"}
369
+ },
370
+ "sources": [
371
+ {"name": "Talk", "type": 0, "table": "MasterTalk", "category": {"column": "_category", "enum": "TalkCategory"},
372
+ "voices": [{"character": "_characterId", "sound": "_voiceSoundId", "text": "_textId"}],
373
+ "conditions": ["_costumeId", "_year", "_seasonStartAt", "_seasonEndAt", "_startAt", "_birthdayCharacterId",
374
+ "_unlockCharacterRank"]},
375
+ {"name": "CharacterVoice", "type": 1, "table": "MasterCharacterVoice",
376
+ "category": {"column": "_type", "enum": "CharacterVoiceType"},
377
+ "voices": [{"character": "_characterId", "sound": "_soundId", "text": "_textId"}],
378
+ "conditions": ["_scoreRank", "_startAt"]},
379
+ {"name": "MemberCard", "type": 2, "table": "MasterMemberCard",
380
+ "voices": [{"character": "_characterID", "sound": "_gachaVoiceSoundId", "text": "_gachaVoiceTextId"}],
381
+ "names": {"card": "_nameTextID"}, "conditions": ["_startAt"]},
382
+ {"name": "LiveCharacter", "type": 3, "table": "MasterLiveCharacter",
383
+ "voices": [{"character": "_characterID", "sound": "_liveSkillVoiceSoundID", "text": "_liveSkillVoiceTextID"}]},
384
+ {"name": "LiveGekisouVoice", "type": 4, "table": "MasterLiveGekisouVoice",
385
+ "category": {"column": "_gekisouVoiceType", "enum": "GekisouVoiceType"},
386
+ "voices": [{"character": "_characterID", "sound": "_voiceID", "text": "_voiceTextID"}]},
387
+ {"name": "LiveDialogueCommon", "type": 5, "table": "MasterLiveDialogueCommon",
388
+ "voices": [{"character": "_characterID", "sound": "_comboVoiceSoundID", "text": "_comboVoiceTextID"}],
389
+ "conditions": ["_dialogueType", "_dialogueCallType"]},
390
+ {"name": "LiveDialogueFixedPair", "type": 6, "table": "MasterLiveDialogueFixedPair",
391
+ "voices": [{"slot": "1", "character": "_characterID01", "sound": "_character01ComboVoiceSoundID",
392
+ "text": "_character01ComboVoiceTextID"},
393
+ {"slot": "2", "character": "_characterID02", "sound": "_character02ComboVoiceSoundID",
394
+ "text": "_character02ComboVoiceTextID"}],
395
+ "conditions": ["_dialogueType", "_unlockFriendshipRank"]},
396
+ {"name": "LiveStartCharacterVoice", "type": 7, "table": "MasterLiveStartCharacterVoice",
397
+ "voices": [{"character": "_characterId", "sound": "_voiceSoundId", "text": "_voiceTextId"}],
398
+ "conditions": ["_unlockCharacterRank"]},
399
+ {"name": "HomeSpot", "table": "MasterHomeSpot",
400
+ "voices": [{"characters": "_characterIds", "sound": "_introSoundId"}],
401
+ "names": {"spot": "_nameTextId"}, "conditions": ["_startAt"]},
402
+ {"name": "Title", "table": "MasterTitle", "characters": "_voiceCharacterIds", "sheet": "InitialVoice",
403
+ "cues": [{"category": "TitleCall", "cue": "Title_{character}_App_ON_01"},
404
+ {"category": "SplashCompanyBR", "cue": "Title_{character}_Company_BR_01"},
405
+ {"category": "SplashCompanyFT", "cue": "Title_{character}_Company_FT_01"},
406
+ {"category": "SplashCompanyBilibili", "cue": "Title_{character}_Company_bili_01"}]}
407
+ ],
408
+ "situations": [
409
+ {"situation": "SpotTap", "cue": "spot_[0-9]+_[0-9]+_[0-9]+_[a-z]+_[0-9]+(_[0-9]+)?_tap(_[0-9]+)?"},
410
+ {"situation": "SpotAfter", "cue": "spot_[0-9]+_[0-9]+_[0-9]+_[a-z]+_[0-9]+(_[0-9]+)?_after(_[0-9]+)?"},
411
+ {"situation": "SpotIntro", "cue": "spot_[0-9]+_[0-9]+_[0-9]+_[a-z]+_[0-9]+(_nasi)?"},
412
+ {"situation": "ResultPairTalk", "cue": "Result_[A-Za-z]+_Talk_CP_?[A-Za-z]+_(Call|Res)_[0-9]+(_[0-9]+)?"},
413
+ {"situation": "ResultTalk", "cue": "Result_[A-Za-z]+_Talk_Common_[0-9]+"},
414
+ {"situation": "TitleCall", "cue": "Title_[A-Za-z]+_App_[0-9]+"},
415
+ {"situation": "SplashCompany", "cue": "Title_[A-Za-z]+_Company_[A-Za-z]+_[0-9]+"},
416
+ {"situation": "Location", "cue": "vox_pt[0-9]+_[a-z]+(_[a-z]+)?"}
417
+ ],
418
+ "near": ["HomeSpot"],
419
+ "story": {
420
+ "table": "MasterAdv", "asset": "_advEpisodeAsset", "title": "_titleTextId",
421
+ "key": "Adv/Episode/{asset}/{asset}", "shards": {"text": "-Text", "sound": "-Sound", "sheets": "-SoundCueSheet"},
422
+ "split": "・",
423
+ "kinds": [
424
+ {"kind": "Main", "table": "MasterStoryEpisode", "adv": "_advId",
425
+ "fields": {"chapter": "_chapterId", "episode": "_episodeNumber", "character": "_characterId",
426
+ "another": "_isAnotherEpisode", "extra": "_isExtraEpisode"},
427
+ "names": {"chapter": ["_chapterId", "MasterStoryChapter._nameTextId"]}},
428
+ {"kind": "Friendship", "table": "MasterStoryFriendshipEpisode", "adv": "_advId",
429
+ "fields": {"friendship": "_characterFriendshipId", "episode": "_episodeNumber",
430
+ "characterA": ["_characterFriendshipId", "MasterCharacterFriendship._masterCharacterIdA"],
431
+ "characterB": ["_characterFriendshipId", "MasterCharacterFriendship._masterCharacterIdB"]}},
432
+ {"kind": "HomeSpotTapTalk", "table": "MasterStoryHomeSpotTapTalkEpisode", "adv": "_advId",
433
+ "fields": {"spot": "_spotId", "character": "_characterId"}},
434
+ {"kind": "LiveResult", "table": "MasterStoryLiveResultEpisode", "adv": "_advId",
435
+ "fields": {"characters": "_characterIds"}},
436
+ {"kind": "HomeSpot", "table": "MasterHomeSpot", "adv": "_advId", "fields": {"spot": "_id"},
437
+ "names": {"spot": "_nameTextId"}}
438
+ ]
439
+ }
440
+ }
441
+ }