mirror of
https://github.com/Grasscutters/Cultivation.git
synced 2025-12-16 17:14:36 +01:00
3dm support that doesn't actually work I just don't wanna fix it
This commit is contained in:
@@ -66,6 +66,7 @@
|
|||||||
"resources": "These are also required to run a Grasscutter server. This button will be grey if you have an existing resources folder with contents inside"
|
"resources": "These are also required to run a Grasscutter server. This button will be grey if you have an existing resources folder with contents inside"
|
||||||
},
|
},
|
||||||
"swag": {
|
"swag": {
|
||||||
"akebi": "Set Akebi Executable"
|
"akebi": "Set Akebi Executable",
|
||||||
|
"migoto": "Set 3dMigoto Executable"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -54,6 +54,7 @@ export default class ServerLaunchSection extends React.Component<{}, IState> {
|
|||||||
this.toggleGrasscutter = this.toggleGrasscutter.bind(this)
|
this.toggleGrasscutter = this.toggleGrasscutter.bind(this)
|
||||||
this.playGame = this.playGame.bind(this)
|
this.playGame = this.playGame.bind(this)
|
||||||
this.launchAkebi = this.launchAkebi.bind(this)
|
this.launchAkebi = this.launchAkebi.bind(this)
|
||||||
|
this.launch3dm = this.launch3dm.bind(this)
|
||||||
this.setIp = this.setIp.bind(this)
|
this.setIp = this.setIp.bind(this)
|
||||||
this.setPort = this.setPort.bind(this)
|
this.setPort = this.setPort.bind(this)
|
||||||
this.toggleHttps = this.toggleHttps.bind(this)
|
this.toggleHttps = this.toggleHttps.bind(this)
|
||||||
@@ -188,6 +189,18 @@ export default class ServerLaunchSection extends React.Component<{}, IState> {
|
|||||||
await this.playGame(config.akebi_path, gameExec)
|
await this.playGame(config.akebi_path, gameExec)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async launch3dm() {
|
||||||
|
const config = await getConfig()
|
||||||
|
|
||||||
|
// First launch 3dm
|
||||||
|
invoke('run_program', {
|
||||||
|
path: config.migoto_path
|
||||||
|
})
|
||||||
|
|
||||||
|
// Then play the game as normal
|
||||||
|
await this.playGame()
|
||||||
|
}
|
||||||
|
|
||||||
setIp(text: string) {
|
setIp(text: string) {
|
||||||
this.setState({
|
this.setState({
|
||||||
ip: text
|
ip: text
|
||||||
@@ -240,9 +253,15 @@ export default class ServerLaunchSection extends React.Component<{}, IState> {
|
|||||||
<BigButton onClick={this.playGame} id="officialPlay">{this.state.buttonLabel}</BigButton>
|
<BigButton onClick={this.playGame} id="officialPlay">{this.state.buttonLabel}</BigButton>
|
||||||
{
|
{
|
||||||
this.state.swag && (
|
this.state.swag && (
|
||||||
<BigButton onClick={this.launchAkebi} id="akebiLaunch">
|
<>
|
||||||
<img className="AkebiIcon" id="akebiIcon" src={Akebi} />
|
<BigButton onClick={this.launchAkebi} id="akebiLaunch">
|
||||||
</BigButton>
|
<img className="AkebiIcon" id="akebiIcon" src={Akebi} />
|
||||||
|
</BigButton>
|
||||||
|
<BigButton onClick={this.launch3dm} id="serverLaunch">
|
||||||
|
3DM
|
||||||
|
</BigButton>
|
||||||
|
</>
|
||||||
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
<BigButton onClick={this.launchServer} id="serverLaunch">
|
<BigButton onClick={this.launchServer} id="serverLaunch">
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ interface IState {
|
|||||||
|
|
||||||
// Swag stuff
|
// Swag stuff
|
||||||
akebi_path: string
|
akebi_path: string
|
||||||
|
migoto_path: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class Options extends React.Component<IProps, IState> {
|
export default class Options extends React.Component<IProps, IState> {
|
||||||
@@ -60,12 +61,14 @@ export default class Options extends React.Component<IProps, IState> {
|
|||||||
|
|
||||||
// Swag stuff
|
// Swag stuff
|
||||||
akebi_path: '',
|
akebi_path: '',
|
||||||
|
migoto_path: ''
|
||||||
}
|
}
|
||||||
|
|
||||||
this.setGameExecutable = this.setGameExecutable.bind(this)
|
this.setGameExecutable = this.setGameExecutable.bind(this)
|
||||||
this.setGrasscutterJar = this.setGrasscutterJar.bind(this)
|
this.setGrasscutterJar = this.setGrasscutterJar.bind(this)
|
||||||
this.setJavaPath = this.setJavaPath.bind(this)
|
this.setJavaPath = this.setJavaPath.bind(this)
|
||||||
this.setAkebi = this.setAkebi.bind(this)
|
this.setAkebi = this.setAkebi.bind(this)
|
||||||
|
this.setMigoto = this.setMigoto.bind(this)
|
||||||
this.toggleGrasscutterWithGame = this.toggleGrasscutterWithGame.bind(this)
|
this.toggleGrasscutterWithGame = this.toggleGrasscutterWithGame.bind(this)
|
||||||
this.setCustomBackground = this.setCustomBackground.bind(this)
|
this.setCustomBackground = this.setCustomBackground.bind(this)
|
||||||
this.toggleEncryption = this.toggleEncryption.bind(this)
|
this.toggleEncryption = this.toggleEncryption.bind(this)
|
||||||
@@ -137,6 +140,14 @@ export default class Options extends React.Component<IProps, IState> {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setMigoto(value: string) {
|
||||||
|
setConfigOption('migoto_path', value)
|
||||||
|
|
||||||
|
this.setState({
|
||||||
|
migoto_path: value
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
async setLanguage(value: string) {
|
async setLanguage(value: string) {
|
||||||
await setConfigOption('language', value)
|
await setConfigOption('language', value)
|
||||||
window.location.reload()
|
window.location.reload()
|
||||||
@@ -321,6 +332,14 @@ export default class Options extends React.Component<IProps, IState> {
|
|||||||
<DirInput onChange={this.setAkebi} value={this.state?.akebi_path} extensions={['exe']} />
|
<DirInput onChange={this.setAkebi} value={this.state?.akebi_path} extensions={['exe']} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div className='OptionSection' id="menuOptionsContainerMigoto">
|
||||||
|
<div className='OptionLabel' id="menuOptionsLabelMigoto">
|
||||||
|
<Tr text="swag.migoto" />
|
||||||
|
</div>
|
||||||
|
<div className='OptionValue' id="menuOptionsDirMigoto">
|
||||||
|
<DirInput onChange={this.setMigoto} value={this.state?.migoto_path} extensions={['exe']} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ export interface Configuration {
|
|||||||
|
|
||||||
// Swag stuff
|
// Swag stuff
|
||||||
akebi_path?: string
|
akebi_path?: string
|
||||||
|
migoto_path?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function setConfigOption<K extends keyof Configuration>(key: K, value: Configuration[K]): Promise<void> {
|
export async function setConfigOption<K extends keyof Configuration>(key: K, value: Configuration[K]): Promise<void> {
|
||||||
|
|||||||
Reference in New Issue
Block a user