diff --git a/sdvx@asphyxia/README.md b/sdvx@asphyxia/README.md index 6efc0db..6e7aff9 100644 --- a/sdvx@asphyxia/README.md +++ b/sdvx@asphyxia/README.md @@ -1,8 +1,8 @@ # SOUND VOLTEX -**Plugin Version:** fork-6.0.2.5 +**Plugin Version:** fork-6.0.2.6 -**Supported game versions:** EXCEED GEAR (2023110700) +**Supported game versions:** EXCEED GEAR (2023120500) **Unsupported game versions:** Every other game, as they're untested. @@ -16,6 +16,25 @@ Changelog =========== +## fork-6.0.2.6 + +### New: + +1. Main: + - 2023120500 support. + - Enabled HEXA DIVER 10. + - Enabled HEXA REVOLUTION features. + - Added SKILL ANALYZER 8 courses. +2. WebUI: + - Added "Startup Flags" page - for toggling a few select game flags/events on the fly without restarting core, such as USE_CUDA_VIDEO_PRESENTER, etc. + - Updated game achievements list. + +### Todo: + +1. Figure out how to use image (png) files to appear in information/news popup. +2. More work on online matchmaking (globalMatch.) I can't seem to make clients establish a connection. + + ## fork-6.0.2.5 ### New: @@ -23,6 +42,7 @@ Changelog 1. Main: - Added the new Kinoshita songs to LICENSED_SONGS list. + ## fork-6.0.2.4 ### New: @@ -46,39 +66,6 @@ Changelog - Updated bgm_convert.bat ### Fixes: + 1. WebUI - Fixed Japan-exclusive warning not displaying for some Premium Generator sets. - -### Todo: -1. Figure out how to use image (png) files to appear in information/news popup. -2. More work on online matchmaking (globalMatch.) I can't seem to make clients establish a connection. - - -## fork-6.0.2.3 - -### New: - -1. Main: - - Added ~~ARENA~~ MEGAMIX BATTLE ranked match season & ARENA STATION set 11. - - Added PREMIUM GENERATOR Fubuki set. - - Updated licensed songs list (Fubuki songs) -2. WebUI - - Updated ARENA Season statistics display in detail page. Displays rank, rank point meter, megamix rate (for ranked megamix,) ultimate rate (for ultimate players,) and arena power. - - Added achievements list page (work in progress) - - Added ability to set how many Valkyrie Generator tickets you have. These tickets are used to purchase valkyrie generator items. - - Added ability to change Skill Titles. Players can only switch to titles they own. - - (Update webui resources) Added code to extract wma audio from .s3p files. Largely based on [mon's s3p_extract](https://github.com/mon/s3p_extract) code. -3. Others: - - DEMOLOOP_INFORMATION implementation (attract mode announcements images) - - Updated bgm\_convert batch script to remove the need for s3p\_extract. - -### Fixes: - -1. Game - - Fixed gibberish on Asphyxia card entry information data. -2. WebUI - - Fixed details page error for players with no skill course data. - - Fixed sorting of Valgene/Pregene item images. -3. Misc: - - Updated BPL Triple Tribe event category from 'gift' to 'event_online.' - - Added missing matchmaker model file. diff --git a/sdvx@asphyxia/data/exg.ts b/sdvx@asphyxia/data/exg.ts index be87679..0766146 100644 --- a/sdvx@asphyxia/data/exg.ts +++ b/sdvx@asphyxia/data/exg.ts @@ -1,4 +1,9 @@ export const EVENT6 = [ + // 'APPEAL_CARD_GEN_PRICE\t100', + // 'APPEAL_CARD_GEN_NEW_PRICE\t200', + // 'APPEAL_CARD_UNLOCK\t0,20170914,0,20171014,0,20171116,0,20180201,0,20180607,0,20181206,0,20200326,0,20200611,4,10140732,6,10150431', + // 'EVENTDATE_GOTT', + // 'EVENTDATE_ONIGO', 'DEMOGAME_PLAY', 'MATCHING_MODE', 'MATCHING_MODE_FREE_IP', @@ -12,36 +17,29 @@ export const EVENT6 = [ 'TENKAICHI_MODE', 'QC_MODE', 'KAC_MODE', - // 'APPEAL_CARD_GEN_PRICE\t100', - // 'APPEAL_CARD_GEN_NEW_PRICE\t200', - // 'APPEAL_CARD_UNLOCK\t0,20170914,0,20171014,0,20171116,0,20180201,0,20180607,0,20181206,0,20200326,0,20200611,4,10140732,6,10150431', + 'DISABLE_MONITOR_ID_CHECK', 'FAVORITE_APPEALCARD_MAX\t200', 'FAVORITE_MUSIC_MAX\t200', - //'EVENTDATE_APRILFOOL', - //'KONAMI_50TH_LOGO', - 'OMEGA_ARS_ENABLE', - 'DISABLE_MONITOR_ID_CHECK', - 'SKILL_ANALYZER_ABLE', - 'BLASTER_ABLE', 'STANDARD_UNLOCK_ENABLE', 'PLAYERJUDGEADJ_ENABLE', 'MIXID_INPUT_ENABLE', - 'EVENTDATE_ONIGO', - 'EVENTDATE_GOTT', + 'DISP_PASELI_BANNER', + 'CHARACTER_IGNORE_DISABLE\t122,123,131,139,140,143', + 'OMEGA_ENABLE\t1,2,3,4,5,6,7,8,9', + 'OMEGA_ARS_ENABLE', + 'HEXA_ENABLE\t1,2,3,4,5,6,7,8,9,10', + 'HEXA_OVERDRIVE_ENABLE\t8', + 'SKILL_ANALYZER_ABLE', + 'BLASTER_ABLE', + 'PREMIUM_TIME_ENABLE', + 'MEGAMIX_ENABLE', + 'ARENA_ENABLE', + 'SINGLE_BATTLE_ENABLE', 'GENERATOR_ABLE', 'CREW_SELECT_ABLE', - 'PREMIUM_TIME_ENABLE', - 'OMEGA_ENABLE\t1,2,3,4,5,6,7,8,9', - 'HEXA_ENABLE\t1,2,3,4,5,6,7,8,9', - 'MEGAMIX_ENABLE', 'VALGENE_ENABLE', - 'ARENA_ENABLE', - 'DISP_PASELI_BANNER', - 'S_PUC_EFFECT_ENABLE', 'PLAYER_RADAR_ENABLE', - 'SINGLE_BATTLE_ENABLE', - 'DEMOLOOP_INFORMATION\tdemo_info/230710_bpls3_streaming.png', - 'CHARACTER_IGNORE_DISABLE\t122,123,131,139,140,143' + 'S_PUC_EFFECT_ENABLE' ]; export const INFORMATION6 = { @@ -5707,7 +5705,7 @@ export const COURSES6 = [ { id: 17, name: 'SKILL ANALYZER 第7回', - isNew: 1, + isNew: 0, hasGod: 1, courses: [ { @@ -6012,6 +6010,314 @@ export const COURSES6 = [ }, ] }, + { + id: 18, + name: 'SKILL ANALYZER 第8回', + isNew: 1, + hasGod: 1, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 1211, + mty: 0, + }, + { + no: 1, + mid: 781, + mty: 1, + }, + { + no: 2, + mid: 922, + mty: 0, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 191, + mty: 1, + }, + { + no: 1, + mid: 520, + mty: 1, + }, + { + no: 2, + mid: 1740, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 397, + mty: 1, + }, + { + no: 1, + mid: 1233, + mty: 1, + }, + { + no: 2, + mid: 1387, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 724, + mty: 1, + }, + { + no: 1, + mid: 829, + mty: 1, + }, + { + no: 2, + mid: 752, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 1618, + mty: 1, + }, + { + no: 1, + mid: 740, + mty: 1, + }, + { + no: 2, + mid: 1795, + mty: 1, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 1123, + mty: 2, + }, + { + no: 1, + mid: 1876, + mty: 2, + }, + { + no: 2, + mid: 968, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 1094, + mty: 2, + }, + { + no: 1, + mid: 1167, + mty: 2, + }, + { + no: 2, + mid: 521, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 955, + mty: 4, + }, + { + no: 1, + mid: 855, + mty: 2, + }, + { + no: 2, + mid: 1682, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 1677, + mty: 4, + }, + { + no: 1, + mid: 1437, + mty: 2, + }, + { + no: 2, + mid: 2036, + mty: 4, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 1803, + mty: 4, + }, + { + no: 1, + mid: 873, + mty: 2, + }, + { + no: 2, + mid: 362, + mty: 2, + }, + ], + }, + { + id: 11, + type: 1, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 1930, + mty: 4, + }, + { + no: 1, + mid: 1843, + mty: 4, + }, + { + no: 2, + mid: 1276, + mty: 4, + }, + ], + }, + { + id: 12, + type: 1, + name: 'SKILL ANALYZER Level.∞', + level: 12, + nameID: 12, + assist: 0, + tracks: [ + { + no: 0, + mid: 258, + mty: 3, + }, + { + no: 1, + mid: 1582, + mty: 4, + }, + { + no: 2, + mid: 2085, + mty: 4, + }, + ], + }, + ] + } ]; export const SDVX_AUTOMATION_SONGS = [ diff --git a/sdvx@asphyxia/handlers/common.ts b/sdvx@asphyxia/handlers/common.ts index 3a1235a..1950af6 100644 --- a/sdvx@asphyxia/handlers/common.ts +++ b/sdvx@asphyxia/handlers/common.ts @@ -54,6 +54,13 @@ export const common: EPR = async (info, data, send) => { console.log('Game: Exceed Gear') //events = EVENT6; EVENT6.forEach(val => events.push(val)); + if(IO.Exists('webui/asset/config/flags.json')) { + let bufFlagConfig = await IO.ReadFile('webui/asset/config/flags.json') + let flagConfig = JSON.parse(bufFlagConfig.toString()) + for(const flagIter in flagConfig) { + if(flagConfig[flagIter]['toggle']) events.push(flagConfig[flagIter]['str']) + } + } courses = COURSES6; EXTENDS6.forEach(val => extend.push(Object.assign({}, val))); break; diff --git a/sdvx@asphyxia/handlers/webui.ts b/sdvx@asphyxia/handlers/webui.ts index e448f3f..f503d85 100644 --- a/sdvx@asphyxia/handlers/webui.ts +++ b/sdvx@asphyxia/handlers/webui.ts @@ -782,3 +782,9 @@ export const manageEvents = async (data: { }) => { IO.WriteFile('webui/asset/config/events.json', JSON.stringify(data.eventConfig, null, 4)); } + +export const manageStartupFlags = async (data: { + flagConfig: {} +}) => { + IO.WriteFile('webui/asset/config/flags.json', JSON.stringify(data.flagConfig, null, 4)); +} \ No newline at end of file diff --git a/sdvx@asphyxia/index.ts b/sdvx@asphyxia/index.ts index 5122a29..bae81bc 100644 --- a/sdvx@asphyxia/index.ts +++ b/sdvx@asphyxia/index.ts @@ -7,7 +7,8 @@ import { deleteMix, copyResourcesFromGame, preGeneRoll, - manageEvents + manageEvents, + manageStartupFlags } from './handlers/webui'; import { load, @@ -47,6 +48,7 @@ export function register() { R.WebUIEvent('copyResourcesFromGame', copyResourcesFromGame); R.WebUIEvent('preGeneRoll', preGeneRoll); R.WebUIEvent('manageEvents', manageEvents); + R.WebUIEvent('manageStartupFlags', manageStartupFlags); R.WebUIEvent('updateProfile', updateProfile); R.WebUIEvent('updateMix', updateMix); R.WebUIEvent('importMix', importMix); diff --git a/sdvx@asphyxia/webui/asset/js/flags.js b/sdvx@asphyxia/webui/asset/js/flags.js new file mode 100644 index 0000000..258530f --- /dev/null +++ b/sdvx@asphyxia/webui/asset/js/flags.js @@ -0,0 +1,84 @@ +function generateEventToggles(eventInfo, eventConfig) { + let cardContent = $('
" + eventInfo['explain'] + "
") + ) + + cardContent.append( + $('