This repository was archived by the owner on Sep 10, 2023. It is now read-only.
Repository navigation
Expand file tree
/
Copy pathindex.js
More file actions
105 lines (87 loc) · 3.01 KB
/
Copy pathindex.js
File metadata and controls
105 lines (87 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
const electron = require("electron");
const app = electron.app;
if(app == null){
throw "electron is not initiated.";
process.exit();
}
const BrowserWindow = electron.BrowserWindow;
const path = require("path");
const url = require("url");
const fs = require("fs");
var oldFile = "pso2Tools.db";
var newFile = "pso2db.db";
function upgradeDatabase(dbFile){
var db = require("sqlite-sync");
var offset = (new Date().getTimezoneOffset())*60;
var timeahead = offset<0;
offset = Math.abs(offset);
db.connect(dbFile)
var commands = [
"CREATE TABLE temp_table AS SELECT * FROM characters",
"DROP TABLE characters",
"CREATE TABLE IF NOT EXISTS `characters`(\
`cid` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,\
`CName` TEXT,\
`lastTATime` TIMESTAMP,\
`classLv` TEXT,\
`memo` TEXT\
);",
"INSERT INTO characters(CName, lastTATime, classLv, memo) SELECT CName, strftime('%s',lastTATime)"+ (timeahead?"-":"+") + offset.toString() +", classLv, memo FROM temp_table",
"DROP TABLE temp_table",
"CREATE TABLE IF NOT EXISTS `installed_modules`(`module_name` TEXT PRIMARY KEY);",
"INSERT INTO installed_modules(module_name) VALUES ('ClassLevel')",
"INSERT INTO installed_modules(module_name) VALUES ('Memo')",
"INSERT INTO installed_modules(module_name) VALUES ('TaCounter')",
]
for(var cmd in commands){
console.log(db.run(commands[cmd]));
}
}
if(!path.isAbsolute(oldFile)){
oldFile = path.join(process.cwd(),oldFile);
}
if(!path.isAbsolute(newFile)){
newFile = path.join(process.cwd(),newFile);
}
if(fs.existsSync(oldFile)){
fs.rename(oldFile, newFile, ()=>{upgradeDatabase(newFile);})
}
let mainWindow;
function CreateWindow(){
mainWindow = new BrowserWindow({
width: 1024,
height: 600,
minHeight: 400,
minWidth: 900,
frame: false,
//transparent: true,
webPreferences: {
nodeIntegration: true
//,experimentalFeatures: true
}
});
// To open DevTools, start with npm start --dev or pso2Tools.exe --dev
if(process.env["npm_config_dev"] == "true" || typeof(process.argv.find(function(el){return el=="--dev"})) !== "undefined" || (typeof(process.env.npm_package_version)=="string" && process.env.npm_package_version.match(/-dev$/))){
mainWindow.webContents.openDevTools();
}
mainWindow.setMenu(null);
mainWindow.loadURL(url.format({
pathname: path.join(__dirname, "index.html"),
protocol: "file:",
slashes: true
}));
mainWindow.on("closed", function(){
mainWindow = null;
})
}
app.on("ready",CreateWindow);
app.on("window-all-closed", function(){
if(process.platform !== 'darwin'){
app.quit();
}
})
app.on("activate", function(){
if(mainWindow == null){
CreateWindow();
}
})