mirror of
https://github.com/asphyxia-core/plugins.git
synced 2026-04-15 22:06:02 -05:00
IIDX: Initial support added for GOLD
IIDX: Fixed where plugin cannot be compiled (Buffer type) - 2
This commit is contained in:
parent
20c2d7b83e
commit
9c1bc88f96
|
|
@ -1,11 +1,11 @@
|
|||
# beatmaniaIIDX
|
||||
|
||||
Plugin Version: **v0.1.14**
|
||||
Plugin Version: **v0.1.15**
|
||||
|
||||
---
|
||||
|
||||
Supported Versions
|
||||
|
||||
- beatmaniaIIDX 14 GOLD
|
||||
- beatmaniaIIDX 15 DJ TROOPERS
|
||||
- beatmaniaIIDX 16 EMPRESS
|
||||
- beatmaniaIIDX 17 SIRIUS
|
||||
|
|
@ -130,3 +130,7 @@ Changelogs
|
|||
- Reworked on SINOBUZ ~ Rootage responses
|
||||
- Fixed where Base64toBuffer returns invalid value sometimes
|
||||
- Fixed where timing display option isn't saving on certain versions
|
||||
|
||||
**v0.1.15**
|
||||
- Added Initial support for GOLD
|
||||
- Fixed where plugin may fail to register due to missing types in dev mode
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { IDtoRef, Base64toNumArray, GetVersion, OldMidToNewMid, NewMidToOldMid, ReftoProfile, ReftoPcdata, ClidToPlaySide, ReftoQPRO, NumArrayToString, OldMidToVerMid, HextoBase64 } from "../util";
|
||||
import { IDtoRef, Base64toNumArray, GetVersion, OldMidToNewMid, NewMidToOldMid, ReftoProfile, ReftoPcdata, ClidToPlaySide, ReftoQPRO, NumArrayToString, OldMidToVerMid, HextoBase64, NumArraytoBase64 } from "../util";
|
||||
import { score, score_top } from "../models/score";
|
||||
import { profile } from "../models/profile";
|
||||
import { shop_data } from "../models/shop";
|
||||
|
|
@ -25,7 +25,7 @@ export const musicgetrank: EPR = async (info, data, send) => {
|
|||
let m = [], top = [], b = [], t = [];
|
||||
let score_data: number[];
|
||||
let indices, temp_mid = 0;
|
||||
if (version == 15) {
|
||||
if (version == 14 || version == 15) {
|
||||
let result = {
|
||||
r: [], // v - (-1, beginner/-2, tutorial) //
|
||||
};
|
||||
|
|
@ -33,12 +33,13 @@ export const musicgetrank: EPR = async (info, data, send) => {
|
|||
music_data.forEach((res: score) => {
|
||||
temp_mid = NewMidToOldMid(res.mid);
|
||||
let verMid = OldMidToVerMid(temp_mid);
|
||||
let rank_id = -1;
|
||||
|
||||
// TODO:: determine whether use rid,dj_level from music.reg or make a database that has max exscore of all songs for rid //
|
||||
if (verMid[0] > version) return;
|
||||
for (let a = 0; a < 3; a++) {
|
||||
if (res.esArray[indices[a]] == 0) continue;
|
||||
let rank_id = _.isNil(res.rArray) ? -1 : res.rArray[indices[a]];
|
||||
|
||||
result.r.push(
|
||||
K.ITEM("str", NumArrayToString(
|
||||
[7, 4, 13, 3, 3],
|
||||
|
|
@ -316,10 +317,9 @@ export const musicappoint: EPR = async (info, data, send) => {
|
|||
option = music_data.optArray[clid];
|
||||
option2 = music_data.opt2Array[clid];
|
||||
}
|
||||
|
||||
mydata = Base64toNumArray(music_data[clid]);
|
||||
}
|
||||
else mydata = K.ITEM("bin", Base64toNumArray(music_data[clid]));
|
||||
|
||||
mydata = K.ITEM("bin", Base64toNumArray(music_data[clid]));
|
||||
}
|
||||
|
||||
/*** ctype
|
||||
|
|
@ -468,7 +468,7 @@ export const musicreg: EPR = async (info, data, send) => {
|
|||
let gArray = Array<number>(10).fill(0); // GREAT //
|
||||
let mArray = Array<number>(10).fill(0); // MISS //
|
||||
let cArray = Array<number>(10).fill(0); // CLEAR FLAGS //
|
||||
let rArray = Array<number>(10).fill(0); // RANK ID //
|
||||
let rArray = Array<number>(10).fill(-1); // RANK ID //
|
||||
let esArray = Array<number>(10).fill(0); // EXSCORE //
|
||||
let optArray = Array<number>(10).fill(0); // USED OPTION (CastHour) //
|
||||
let opt2Array = Array<number>(10).fill(0); // USED OPTION (CastHour) //
|
||||
|
|
@ -478,13 +478,11 @@ export const musicreg: EPR = async (info, data, send) => {
|
|||
else if (!_.isNil($(data).attr().dj_level)) rid = parseInt($(data).attr().dj_level);
|
||||
if (rid > -1) console.log(`[music.reg] rank_id : ${rid}`);
|
||||
|
||||
if (version == 15) ghost = HextoBase64($(data).str("ghost"));
|
||||
else ghost = $(data).buffer("ghost").toString("base64");
|
||||
|
||||
console.log(ghost);
|
||||
if (version == 14 || version == 15) ghost = HextoBase64($(data).str("ghost"));
|
||||
else ghost = NumArraytoBase64($(data).buffer("ghost"));
|
||||
|
||||
if (version >= 27) {
|
||||
ghost_gauge = $(data).buffer("ghost_gauge").toString("base64");
|
||||
ghost_gauge = NumArraytoBase64($(data).buffer("ghost_gauge"));
|
||||
style = parseInt($(data).element("music_play_log").attr().play_style);
|
||||
|
||||
if (version >= 29) {
|
||||
|
|
@ -841,7 +839,7 @@ export const musiccrate: EPR = async (info, data, send) => {
|
|||
}
|
||||
|
||||
let indices = [1, 2, 3, 6, 7, 8];
|
||||
if (version == 15) {
|
||||
if (version == 14 || version == 15) {
|
||||
let verMid = OldMidToVerMid(parseInt(key));
|
||||
|
||||
let str = cltype == 0 ?
|
||||
|
|
@ -864,7 +862,7 @@ export const musiccrate: EPR = async (info, data, send) => {
|
|||
}
|
||||
}
|
||||
|
||||
if (version == 15) result = { cdata };
|
||||
if (version == 14 || version == 15) result = { cdata };
|
||||
else result = { c };
|
||||
|
||||
return send.object(result);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { pcdata, KDZ_pcdata, IIDX27_pcdata, IIDX28_pcdata, IIDX29_pcdata, IIDX30_pcdata, JDZ_pcdata, LDJ_pcdata, IIDX21_pcdata, IIDX22_pcdata, IIDX23_pcdata, IIDX24_pcdata, IIDX25_pcdata, IIDX26_pcdata, JDJ_pcdata, HDD_pcdata, I00_pcdata } from "../models/pcdata";
|
||||
import { pcdata, KDZ_pcdata, IIDX27_pcdata, IIDX28_pcdata, IIDX29_pcdata, IIDX30_pcdata, JDZ_pcdata, LDJ_pcdata, IIDX21_pcdata, IIDX22_pcdata, IIDX23_pcdata, IIDX24_pcdata, IIDX25_pcdata, IIDX26_pcdata, JDJ_pcdata, HDD_pcdata, I00_pcdata, GLD_pcdata } from "../models/pcdata";
|
||||
import { grade } from "../models/grade";
|
||||
import { custom, default_custom } from "../models/custom";
|
||||
import { IDtoCode, IDtoRef, Base64toNumArray, GetVersion, ReftoProfile, ReftoPcdata, ReftoQPRO, appendSettingConverter, NumArrayToString, NumArraytoHex } from "../util";
|
||||
import { IDtoCode, IDtoRef, Base64toNumArray, GetVersion, ReftoProfile, ReftoPcdata, ReftoQPRO, appendSettingConverter, NumArrayToString, NumArraytoHex, NumArraytoBase64 } from "../util";
|
||||
import { eisei_grade, eisei_grade_data, lightning_musicmemo, lightning_musicmemo_new, lightning_playdata, lightning_settings, lm_playdata, lm_settings, lm_settings_new, musicmemo_data, musicmemo_data_new } from "../models/lightning";
|
||||
import { profile, default_profile } from "../models/profile";
|
||||
import { rival, rival_data } from "../models/rival";
|
||||
|
|
@ -290,6 +290,9 @@ export const pcreg: EPR = async (info, data, send) => {
|
|||
let lightning_settings: object;
|
||||
let lightning_playdata: object;
|
||||
switch (version) {
|
||||
case 14:
|
||||
pcdata = GLD_pcdata;
|
||||
break;
|
||||
case 15:
|
||||
pcdata = HDD_pcdata;
|
||||
break;
|
||||
|
|
@ -495,6 +498,7 @@ export const pcget: EPR = async (info, data, send) => {
|
|||
|
||||
rArray.push(rival_data);
|
||||
}
|
||||
|
||||
rArray.sort((a: rival_data, b: rival_data): number => a.play_style - b.play_style || a.index - b.index);
|
||||
}
|
||||
|
||||
|
|
@ -512,7 +516,32 @@ export const pcget: EPR = async (info, data, send) => {
|
|||
}
|
||||
|
||||
let event, gradeStr = "", exStr = "", skinStr = "";
|
||||
if (version == 15) {
|
||||
if (version == 14) {
|
||||
dArray.forEach((res) => {
|
||||
gradeStr += NumArrayToString([6, 3, 2, 7], [res[1], res[2], res[0], res[3]]);
|
||||
});
|
||||
|
||||
expert.sort((a: expert, b: expert) => a.coid - b.coid);
|
||||
expert.forEach((res) => {
|
||||
for (let a = 0; a < 6; a++) {
|
||||
exStr += NumArrayToString([6, 5, 1], [res.coid, a, res.cArray[a]]);
|
||||
exStr += NumArrayToString([18], [res.pgArray[a]]);
|
||||
exStr += NumArrayToString([18], [res.gArray[a]]);
|
||||
}
|
||||
});
|
||||
|
||||
skinStr += NumArrayToString([12], [custom.frame, custom.turntable, custom.note_burst, custom.menu_music, appendsettings, custom.lane_cover, 0, custom.category_vox]);
|
||||
|
||||
return send.pugFile("pug/GLD/pcget.pug", {
|
||||
profile,
|
||||
pcdata,
|
||||
gradeStr,
|
||||
exStr,
|
||||
skinStr,
|
||||
rArray,
|
||||
});
|
||||
}
|
||||
else if (version == 15) {
|
||||
dArray.forEach((res) => {
|
||||
gradeStr += NumArrayToString([6, 3, 2, 7], [res[1], res[2], res[0], res[3]]);
|
||||
});
|
||||
|
|
@ -975,6 +1004,9 @@ export const pctakeover: EPR = async (info, data, send) => {
|
|||
let lightning_settings: object;
|
||||
let lightning_playdata: object;
|
||||
switch (version) {
|
||||
case 14:
|
||||
pcdata = GLD_pcdata;
|
||||
break;
|
||||
case 15:
|
||||
pcdata = HDD_pcdata;
|
||||
break;
|
||||
|
|
@ -1147,7 +1179,32 @@ export const pcsave: EPR = async (info, data, send) => {
|
|||
pcdata.mode = parseInt($(data).attr().mode);
|
||||
pcdata.pmode = parseInt($(data).attr().pmode);
|
||||
|
||||
if (version == 15) {
|
||||
if (version == 14) {
|
||||
if (cltype == 0) {
|
||||
pcdata.sach = parseInt($(data).attr().achi);
|
||||
pcdata.sp_opt = parseInt($(data).attr().opt);
|
||||
}
|
||||
else {
|
||||
pcdata.dach = parseInt($(data).attr().achi);
|
||||
pcdata.dp_opt = parseInt($(data).attr().opt);
|
||||
pcdata.dp_opt2 = parseInt($(data).attr().opt2);
|
||||
}
|
||||
|
||||
pcdata.gno = parseInt($(data).attr().gno);
|
||||
pcdata.sflg0 = parseInt($(data).attr().sflg0);
|
||||
pcdata.sflg1 = parseInt($(data).attr().sflg1);
|
||||
pcdata.sflg2 = parseInt($(data).attr().sflg2);
|
||||
pcdata.sdhd = parseInt($(data).attr().sdhd);
|
||||
pcdata.ncomb = parseInt($(data).attr().ncomb);
|
||||
pcdata.mcomb = parseInt($(data).attr().mcomb);
|
||||
|
||||
if (!_.isNil($(data).attr().now_g)) {
|
||||
pcdata.gold_now = parseInt($(data).attr().now_g);
|
||||
pcdata.gold_all = parseInt($(data).attr().all_g);
|
||||
pcdata.gold_use = parseInt($(data).attr().use_g);
|
||||
}
|
||||
}
|
||||
else if (version == 15) {
|
||||
if (cltype == 0) {
|
||||
pcdata.sach = parseInt($(data).attr().achi);
|
||||
pcdata.sp_opt = parseInt($(data).attr().opt);
|
||||
|
|
@ -1447,8 +1504,8 @@ export const pcsave: EPR = async (info, data, send) => {
|
|||
pcdata.st_dp_mplay = parseInt($(data).attr("step").dp_mplay);
|
||||
}
|
||||
pcdata.st_review = parseInt($(data).attr("step").review);
|
||||
pcdata.st_stamp = $(data).buffer("step").toString("base64"); // TODO:: verify //
|
||||
pcdata.st_help = $(data).element("step").buffer("help").toString("base64");
|
||||
pcdata.st_stamp = NumArraytoBase64($(data).buffer("step")); // TODO:: verify //
|
||||
pcdata.st_help = NumArraytoBase64($(data).element("step").buffer("help"));
|
||||
}
|
||||
|
||||
if (!_.isNil($(data).element("achievements"))) {
|
||||
|
|
@ -1725,10 +1782,10 @@ export const pcsave: EPR = async (info, data, send) => {
|
|||
}
|
||||
|
||||
if (!_.isNil($(data).element("favorite"))) {
|
||||
pcdata.sp_mlist = $(data).element("favorite").buffer("sp_mlist").toString("base64");
|
||||
pcdata.sp_clist = $(data).element("favorite").buffer("sp_clist").toString("base64");
|
||||
pcdata.dp_mlist = $(data).element("favorite").buffer("dp_mlist").toString("base64");
|
||||
pcdata.dp_clist = $(data).element("favorite").buffer("dp_clist").toString("base64");
|
||||
pcdata.sp_mlist = NumArraytoBase64($(data).element("favorite").buffer("sp_mlist"));
|
||||
pcdata.sp_clist = NumArraytoBase64($(data).element("favorite").buffer("sp_clist"));
|
||||
pcdata.dp_mlist = NumArraytoBase64($(data).element("favorite").buffer("dp_mlist"));
|
||||
pcdata.dp_clist = NumArraytoBase64($(data).element("favorite").buffer("dp_clist"));
|
||||
}
|
||||
|
||||
if (!_.isNil($(data).element("qpro_secret"))) {
|
||||
|
|
@ -1760,7 +1817,7 @@ export const pcsave: EPR = async (info, data, send) => {
|
|||
pcdata.st_sp_mplay = parseInt($(data).attr("step").sp_mplay);
|
||||
pcdata.st_dp_mplay = parseInt($(data).attr("step").dp_mplay);
|
||||
pcdata.st_last_select = parseInt($(data).attr("step").last_select);
|
||||
pcdata.st_album = $(data).buffer("step").toString("base64"); // TODO:: verify //
|
||||
pcdata.st_album = NumArraytoBase64($(data).buffer("step")); // TODO:: verify //
|
||||
}
|
||||
|
||||
if (!_.isNil($(data).element("deller"))) pcdata.deller += parseInt($(data).attr("deller").deller);
|
||||
|
|
@ -1990,10 +2047,10 @@ export const pcsave: EPR = async (info, data, send) => {
|
|||
}
|
||||
|
||||
if (!_.isNil($(data).element("favorite"))) {
|
||||
pcdata.sp_mlist = $(data).element("favorite").buffer("sp_mlist").toString("base64");
|
||||
pcdata.sp_clist = $(data).element("favorite").buffer("sp_clist").toString("base64");
|
||||
pcdata.dp_mlist = $(data).element("favorite").buffer("dp_mlist").toString("base64");
|
||||
pcdata.dp_clist = $(data).element("favorite").buffer("dp_clist").toString("base64");
|
||||
pcdata.sp_mlist = NumArraytoBase64($(data).element("favorite").buffer("sp_mlist"));
|
||||
pcdata.sp_clist = NumArraytoBase64($(data).element("favorite").buffer("sp_clist"));
|
||||
pcdata.dp_mlist = NumArraytoBase64($(data).element("favorite").buffer("dp_mlist"));
|
||||
pcdata.dp_clist = NumArraytoBase64($(data).element("favorite").buffer("dp_clist"));
|
||||
}
|
||||
|
||||
if (!_.isNil($(data).element("qpro_secret"))) {
|
||||
|
|
@ -2033,7 +2090,7 @@ export const pcsave: EPR = async (info, data, send) => {
|
|||
pcdata.st_sp_mplay = parseInt($(data).attr("step").sp_mplay);
|
||||
pcdata.st_dp_mplay = parseInt($(data).attr("step").dp_mplay);
|
||||
pcdata.st_age_list = parseInt($(data).attr("step").age_list);
|
||||
pcdata.st_album = $(data).buffer("step").toString("base64"); // TODO:: verify //
|
||||
pcdata.st_album = NumArraytoBase64($(data).buffer("step")); // TODO:: verify //
|
||||
pcdata.st_is_present = parseInt($(data).attr("step").is_present);
|
||||
pcdata.st_is_future = parseInt($(data).attr("step").is_future);
|
||||
}
|
||||
|
|
@ -2225,10 +2282,10 @@ export const pcsave: EPR = async (info, data, send) => {
|
|||
}
|
||||
|
||||
if (!_.isNil($(data).element("favorite"))) {
|
||||
pcdata.sp_mlist = $(data).element("favorite").buffer("sp_mlist").toString("base64");
|
||||
pcdata.sp_clist = $(data).element("favorite").buffer("sp_clist").toString("base64");
|
||||
pcdata.dp_mlist = $(data).element("favorite").buffer("dp_mlist").toString("base64");
|
||||
pcdata.dp_clist = $(data).element("favorite").buffer("dp_clist").toString("base64");
|
||||
pcdata.sp_mlist = NumArraytoBase64($(data).element("favorite").buffer("sp_mlist"));
|
||||
pcdata.sp_clist = NumArraytoBase64($(data).element("favorite").buffer("sp_clist"));
|
||||
pcdata.dp_mlist = NumArraytoBase64($(data).element("favorite").buffer("dp_mlist"));
|
||||
pcdata.dp_clist = NumArraytoBase64($(data).element("favorite").buffer("dp_clist"));
|
||||
}
|
||||
|
||||
if (!_.isNil($(data).element("qpro_secret"))) {
|
||||
|
|
@ -2268,7 +2325,7 @@ export const pcsave: EPR = async (info, data, send) => {
|
|||
pcdata.st_sp_mplay = parseInt($(data).attr("step").sp_mplay);
|
||||
pcdata.st_dp_mplay = parseInt($(data).attr("step").dp_mplay);
|
||||
pcdata.st_mission_gauge = parseInt($(data).attr("step").mission_gauge);
|
||||
pcdata.st_tokimeki = $(data).buffer("step").toString("base64"); // TODO:: verify //
|
||||
pcdata.st_tokimeki = NumArraytoBase64($(data).buffer("step")); // TODO:: verify //
|
||||
}
|
||||
|
||||
if (!_.isNil($(data).element("deller"))) pcdata.deller += parseInt($(data).attr("deller").deller);
|
||||
|
|
@ -2395,10 +2452,10 @@ export const pcsave: EPR = async (info, data, send) => {
|
|||
}
|
||||
|
||||
if (!_.isNil($(data).element("favorite"))) {
|
||||
pcdata.sp_mlist = $(data).element("favorite").buffer("sp_mlist").toString("base64");
|
||||
pcdata.sp_clist = $(data).element("favorite").buffer("sp_clist").toString("base64");
|
||||
pcdata.dp_mlist = $(data).element("favorite").buffer("dp_mlist").toString("base64");
|
||||
pcdata.dp_clist = $(data).element("favorite").buffer("dp_clist").toString("base64");
|
||||
pcdata.sp_mlist = NumArraytoBase64($(data).element("favorite").buffer("sp_mlist"));
|
||||
pcdata.sp_clist = NumArraytoBase64($(data).element("favorite").buffer("sp_clist"));
|
||||
pcdata.dp_mlist = NumArraytoBase64($(data).element("favorite").buffer("dp_mlist"));
|
||||
pcdata.dp_clist = NumArraytoBase64($(data).element("favorite").buffer("dp_clist"));
|
||||
}
|
||||
|
||||
if (!_.isNil($(data).element("qpro_secret"))) {
|
||||
|
|
@ -2582,10 +2639,10 @@ export const pcsave: EPR = async (info, data, send) => {
|
|||
}
|
||||
|
||||
if (!_.isNil($(data).element("favorite"))) {
|
||||
pcdata.sp_mlist = $(data).element("favorite").buffer("sp_mlist").toString("base64");
|
||||
pcdata.sp_clist = $(data).element("favorite").buffer("sp_clist").toString("base64");
|
||||
pcdata.dp_mlist = $(data).element("favorite").buffer("dp_mlist").toString("base64");
|
||||
pcdata.dp_clist = $(data).element("favorite").buffer("dp_clist").toString("base64");
|
||||
pcdata.sp_mlist = NumArraytoBase64($(data).element("favorite").buffer("sp_mlist"));
|
||||
pcdata.sp_clist = NumArraytoBase64($(data).element("favorite").buffer("sp_clist"));
|
||||
pcdata.dp_mlist = NumArraytoBase64($(data).element("favorite").buffer("dp_mlist"));
|
||||
pcdata.dp_clist = NumArraytoBase64($(data).element("favorite").buffer("dp_clist"));
|
||||
}
|
||||
|
||||
if (!_.isNil($(data).element("qpro_secret"))) {
|
||||
|
|
@ -2755,10 +2812,10 @@ export const pcsave: EPR = async (info, data, send) => {
|
|||
}
|
||||
|
||||
if (!_.isNil($(data).element("favorite"))) {
|
||||
pcdata.sp_mlist = $(data).element("favorite").buffer("sp_mlist").toString("base64");
|
||||
pcdata.sp_clist = $(data).element("favorite").buffer("sp_clist").toString("base64");
|
||||
pcdata.dp_mlist = $(data).element("favorite").buffer("dp_mlist").toString("base64");
|
||||
pcdata.dp_clist = $(data).element("favorite").buffer("dp_clist").toString("base64");
|
||||
pcdata.sp_mlist = NumArraytoBase64($(data).element("favorite").buffer("sp_mlist"));
|
||||
pcdata.sp_clist = NumArraytoBase64($(data).element("favorite").buffer("sp_clist"));
|
||||
pcdata.dp_mlist = NumArraytoBase64($(data).element("favorite").buffer("dp_mlist"));
|
||||
pcdata.dp_clist = NumArraytoBase64($(data).element("favorite").buffer("dp_clist"));
|
||||
}
|
||||
|
||||
if (!_.isNil($(data).element("qpro_secret"))) {
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ export function register() {
|
|||
|
||||
R.Contributor("duel0213");
|
||||
|
||||
R.GameCode("GLD");
|
||||
R.GameCode("HDD");
|
||||
R.GameCode("I00");
|
||||
R.GameCode("JDJ");
|
||||
|
|
|
|||
|
|
@ -120,6 +120,10 @@ export interface pcdata {
|
|||
sgid: number; // grade //
|
||||
dgid: number;
|
||||
|
||||
gold_now: number;
|
||||
gold_all: number;
|
||||
gold_use: number;
|
||||
|
||||
jewel_num: string;
|
||||
jewel_bnum: number[];
|
||||
party: number[];
|
||||
|
|
@ -220,6 +224,34 @@ export interface pcdata {
|
|||
tourism_secret_flg2: string[];
|
||||
}
|
||||
|
||||
export const GLD_pcdata = {
|
||||
version: 14,
|
||||
|
||||
spnum: 0,
|
||||
dpnum: 0,
|
||||
sach: 0,
|
||||
dach: 0,
|
||||
sflg0: 0,
|
||||
sflg1: 0,
|
||||
sflg2: 0,
|
||||
gno: 0,
|
||||
sdhd: 0,
|
||||
sp_opt: 0,
|
||||
dp_opt: 0,
|
||||
dp_opt2: 0,
|
||||
mcomb: 0,
|
||||
ncomb: 0,
|
||||
mode: 0,
|
||||
pmode: 0,
|
||||
|
||||
sgid: -1,
|
||||
dgid: -1,
|
||||
|
||||
gold_now: 0,
|
||||
gold_all: 0,
|
||||
gold_use: 0,
|
||||
}
|
||||
|
||||
export const HDD_pcdata = {
|
||||
version: 15,
|
||||
|
||||
|
|
|
|||
9
iidx@asphyxia/pug/GLD/pcget.pug
Normal file
9
iidx@asphyxia/pug/GLD/pcget.pug
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
pc(status="0")
|
||||
pcdata(id=profile.id idstr=profile.idstr name=profile.name pid=profile.pid spnum=pcdata.spnum dpnum=pcdata.dpnum sach=pcdata.sach dach=pcdata.dach sflg0=pcdata.sflg0 sflg1=pcdata.sflg1 sflg2=pcdata.sflg2 gno=pcdata.gno sdhd=pcdata.sdhd sp_opt=pcdata.sp_opt dp_opt=pcdata.dp_opt dp_opt2=pcdata.dp_opt2 mcomb=pcdata.mcomb ncomb=pcdata.ncomb mode=pcdata.mode pmode=pcdata.pmode)
|
||||
grade(sgid=pcdata.sgid dgid=pcdata.dgid __type="str") #{gradeStr}
|
||||
ex(__type="str") #{exStr}
|
||||
skin(__type="str") #{skinStr}
|
||||
rlist
|
||||
- for (let rd of rArray)
|
||||
rival(rno=rd.index id=rd.profile[2] id_str=rd.profile[3] djname=rd.profile[0] pid=rd.profile[1] sg=rd.pcdata[0] dg=rd.pcdata[1] sa=rd.pcdata[2] da=rd.pcdata[3])
|
||||
gold(now_g=pcdata.gold_now all_g=pcdata.gold_all use_g=pcdata.gold_use)
|
||||
|
|
@ -40,6 +40,28 @@ export function ClidToPlaySide(clid: number) {
|
|||
return clid < 5 ? 0 : 1;
|
||||
}
|
||||
|
||||
export function NumArraytoBase64(buff: number[]) {
|
||||
const base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
|
||||
let result = "";
|
||||
|
||||
for (let i = 0; i < buff.length; i += 3) {
|
||||
const chunk = (buff[i] << 16) | (buff[i + 1] << 8) | buff[i + 2];
|
||||
result += base64Chars[(chunk >> 18) & 63] +
|
||||
base64Chars[(chunk >> 12) & 63] +
|
||||
base64Chars[(chunk >> 6) & 63] +
|
||||
base64Chars[chunk & 63];
|
||||
}
|
||||
|
||||
const padding = buff.length % 3;
|
||||
if (padding === 1) {
|
||||
result = result.slice(0, -2) + "==";
|
||||
} else if (padding === 2) {
|
||||
result = result.slice(0, -1) + "=";
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
export function Base64toNumArray(s: string) {
|
||||
const base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
|
||||
let p = -8,
|
||||
|
|
@ -48,6 +70,8 @@ export function Base64toNumArray(s: string) {
|
|||
d: number,
|
||||
buffer: number[] = [];
|
||||
|
||||
if (_.isNil(s)) return buffer;
|
||||
|
||||
for (let i = 0; i < s.length; i++) {
|
||||
if ((c = base64Chars.indexOf(s.charAt(i))) < 0) continue;
|
||||
a = (a << 6) | (c & 63);
|
||||
|
|
@ -158,6 +182,7 @@ export function NumArrayToString(bits: number[], numArray: number[]): string {
|
|||
export function GetVersion(info: EamuseInfo) {
|
||||
let version = -1;
|
||||
switch (info.model.substring(0, 3)) {
|
||||
case "GLD": return 14;
|
||||
case "HDD": return 15;
|
||||
case "I00": return 16;
|
||||
case "JDJ": return 17;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user