Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
kinetic-flow committed Mar 8, 2023
1 parent 8db718a commit b921032
Show file tree
Hide file tree
Showing 18 changed files with 2,351 additions and 150 deletions.
64 changes: 64 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Prerequisites
*.d

# Object files
*.o
*.ko
*.obj
*.elf

# Linker output
*.ilk
*.map
*.exp

# Precompiled Headers
*.gch
*.pch

# Libraries
*.lib
*.a
*.la
*.lo

# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib

# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex

# Debug files
*.dSYM/
*.su
*.idb
*.pdb

# Kernel Module Compile Results
*.mod*
*.cmd
.tmp_versions/
modules.order
Module.symvers
Mkfile.old
dkms.conf

# IDE
dist/
.vscode
infzoom/.vscode
infzoom/.vs
infzoom/Debug
infzoom/Release
infzoom/x64
infzoom/x86

infzoom.log
196 changes: 118 additions & 78 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,48 @@
# inf_launch_ext
INFINITASの起動オプションをいじる

For USTA(Korean) Version:
[Coldlapse/inf_launch_ext_kr](https://github.com/Coldlapse/inf_launch_ext_kr)

## 注意
このスクリプトを使用することによって生じる問題等の責任を一切負いません<br>
このスクリプトを作成するにあたってゲーム本体の改造やリバースエンジニアリング等の利用規約違反となる行為は行っていませんが、なにがあるかわからないので自己責任にて使用してください。<br>
なお、作者及びこのスクリプトはKonami Amusementと一切関係ありません。

これはランチャーの代わりにこのスクリプトを立ち上げるようにレジストリを変更します。<br>
**スクリプトファイルを削除する前に必ずアンインストール方法をお読みください。**

## なにこれ
INFINITASの起動ページからランチャーではなくこのスクリプトを起動するようにし、コマンドラインオプションを付け加えてゲームを起動できるようにするツールです。

できること
- 通常のランチャーの起動
- ランチャーを介さずゲーム本体を起動
- ASIO出力やウィンドウモードを使用して起動
- ウィンドウサイズの変更、ボーダーレス化
- 前回の設定の読み込み

## ASIO出力について
ARESPEARに採用されていることでも知られるASUS Xonar AEならこのスクリプトでASIOを使うことができます。WASAPI排他モードを超える低遅延や安定性を期待できそうです。<br>
それ以外でもある条件を満たせば使えます。詳しくは[ASIOについて](https://github.com/darekasan/inf_launch_ext/blob/master/asio.md)を参照。

## インストール
#### 1 [inf_launch_ext.ps1](https://github.com/darekasan/inf_launch_ext/blob/master/inf_launch_ext.ps1)をダウンロード
どこでもいいです。
#### 2 PowerShellを管理者として開く
ダウンロードしたフォルダで「ファイル > Windows PowerShellを開く > Windows PowerShellを管理者として開く」とするとそのフォルダがカレントディレクトリになるので楽です。<br>
![エクスプローラーの左上](https://raw.githubusercontent.com/darekasan/inf_launch_ext/master/doc_img/explorer.png) <br>
※「ダウンロード」「デスクトップ」「ドキュメント」の直下では選択できないことがあるので、その場合はフォルダを作成してそこに入れるなどして対処しましょう。もちろん、別の方法でPowerShellを立ち上げて実行してもOKです。
#### 3 PowerShell実行ポリシーを変更(スクリプトの実行に必要です)
# infzoom

infzoom is a custom launcher for beatmania IIDX Infinitas.

## Disclaimers

infzoom is based on [darekasan/inf_launch_ext](https://github.com/darekasan/inf_launch_ext).

infzoom will use functionalities built into Windows to change window decorations and resize the game window. None of this is invasive and very unlikely that any of this would be considered a violation of Terms of Service / EULA of Infinitas.

That being said, contributors of this project (or the fork this project is based on) are **not** responsible for any consequences of using this project, which can include (but not limited to) getting banned from the game service.

Use at your own risk.

## Features

The launcher provides the following options:

1. Skipping the updater and launching the game directly
1. Ability to use ASIO audio output, instead of built-in WASAPI
1. Windowed mode (resizable)
1. Ability to pan and zoom in/out, with presets.

It should work with both Japanese and Korean versions. It has been tested primarily with the Japanese version.

## Installation

#### 1 Go to [Releases](https://github.com/kinetic-flow/infzoom/releases) page and download the latest version.

#### 2 Open a PowerShell window as administrator

#### 3 Change PowerShell execution policy
```
PS C:\Users\darekasan\Downloads> Set-ExecutionPolicy Bypass
PS> Set-ExecutionPolicy Bypass
```
※Bypassにしたくない人はダウンロードしたあとにスクリプトファイルのプロパティを開いて、「このファイルへのアクセスはブロックされます」を「許可する」にチェックを入れてあげればRemoteSignedでも動きます。
#### 4 スクリプトを実行
This is required to execute the downloaded PowerShell script.

#### 4 Run the script and install it

For Japanese version, run inf_launch_ext.ps1.

For Korean Infinitas service by USTA, run inf_launch_ext_kr.ps1.

```
PS C:\Users\darekasan\Downloads> .\inf_launch_ext.ps1
PS> .\inf_launch_ext.ps1
currently command: "C:\Games\beatmania IIDX INFINITAS\\launcher\modules\bm2dx_launcher.exe" "%1"
script path: C:\Users\darekasan\Downloads\inf_launch_ext.ps1
Expand All @@ -51,51 +53,89 @@ game path: C:\Games\beatmania IIDX INFINITAS\
3 : copy script file to game directory and set to new script path (recommended)
number->:
```
「3」と入力してEnter。done.と表示されたら閉じます<br>
スクリプトファイルがINFINITASのインストール先にコピーされ、bm2dxinfのURLスキームのコマンドがランチャーではなくこのスクリプトに変更されます。<br>

## 使用方法
いつもどおりWebページから起動すると、オプション選択画面が表示されるので数字を入力してEnterキーを押します。<br>
アップデートが必要なときは0を選んでランチャーを起動します。
Here, type 3, and press enter; you are done.

Once this is done, when you try to launch Infinitas from the website, it will automatically launch this custom launcher instead of the game.

## Running the game

When you log into Infinitas website in the browser and launch the game, you will be shown the following prompt instead of the game launcher:

```
Executing: inf_launch_ext.ps1
JP eamusement mode
Please select option.
0 : Launcher
1 : Normal
2 : Normal + window mode
0 : Launcher (required for game updates)
1 : WASAPI
2 : WASAPI + window mode
3 : ASIO
4 : ASIO + window mode
number(last time: 2):
5 : WASAPI + fullscreen borderless with zoom
6 : ASIO + fullscreen borderless with zoom
number(press enter for option 0):
```
なにも指定しないでEnterを押すと前回起動時のオプションで起動します。<br>
もし、bm2dx.exeのプロパティの互換性タブで「管理者としてこのプログラムを実行する」にチェックを入れているなら外してください。うまく動きません。
### ウィンドウモードの使い方 ###
ウィンドウモードでは実行中にウィンドウの位置やサイズの変更、ボーダーレス化などの設定が行えます。<br>
120Hzで出力可能なモニターを使っている場合(144Hzなども含む)はWindowsのディスプレイ設定でリフレッシュレートを「120Hz」にしたほうがよさげです。<br>
```
window mode setting
example:
window size -> 1280x720
window position -> 100,100
Press enter key to switch to Borderless window.
: 854x480
: 10,10
:
```
ウィンドウのサイズや位置の指定はそれぞれ「1280x720」「100,100」といった書式で行うことができます。<br>
何も入力せずEnterを押すとボーダーレスウィンドウになります。これらの設定は次回起動時に引き継がれます。

ボーダーレスウィンドウをモニターの解像度と同じ大きさにすると「排他じゃないイマドキのフルスクリーン」にできていい感じ。
### 0 : Launcher

Launches the original Infinitas launcher, which lets you change settings and update the game. You should run this once in a while to check for updates, since other options bypass the update check.

### 1 : WASAPI

Run the game right away, with WASAPI audio (the default audio mode).

### 2 : WASAPI + window mode

Same as #2, but launch the game in a resizable window.

### 3 : ASIO

Run the game right away, with ASIO audio.

Making the game use ASIO audio requres extra steps - see [this link](https://github.com/darekasan/inf_launch_ext/blob/master/asio.md).

### 4 : ASIO + window mode

Same as #3, but launch the game in a resizable window.

### 5 : WASAPI + fullscreen borderless with zoom

Launch the game with WASAPI audio with "borderless fullscreen" window. It also runs infzoom.exe which give you the ability to resize the window with hotkeys.

To change settings, like which monitor is used, modify the zoom presets, or to change the hotkeys: modify **infzoom.ini** in the game directory.

The default hotkeys are:

* Zoom into 1P: **F1**
* Zoom into 2P: **F2**
* Zoom into DP: **F3**
* Reset zoom & enable manual mode: **F5**
* In manual mode, move window: **ctrl + up, down, left, or right**
* In manual mode, change zoom: **alt + up, down, left, or right**
* Forcibly close game: **alt+ F10****

### 6 :ASIO + fullscreen borderless with zoom

Same as #5, but with ASIO audio.

## Zoom mode: important notes

This application allows the game window to stretch beyond the visible desktop area, like this:

![window size demo](https://raw.githubusercontent.com/kinetic-flow/infzoom/master/doc_img/monitor.png) <br>

... which effectively gives you the "zoom in" function.

A side effect of this is that, if you have multiple monitors, the game window may spill over to other windows.

Running the game in windowed mode is not originally intended to be possible. You may or may not experience sync issues. Ensure you are launching the game with the correct refresh rate.

The game window is scaled without any filters, so it can look pixelated. There is not much that can be done about that, but you can work around this by changing the Windows desktop size to be something smaller (maybe 1280x720) and launching the game.

## Troubleshooting

## アンインストール
**この手順を踏まずにスクリプトファイルを削除してしまうとランチャーが起動できなくなって詰みます。**<br>
「3 : copy script file to game directory and set to new script path (recommended)」を選んでインストールした場合はINFINITASのインストール先(C:\Games\beatmania IIDX INFINITASとか)にスクリプトファイルがあるはずです。<br>
管理者権限のPowerShellでスクリプトを実行して、「0 : revert to default」を選ぶとレジストリを元に戻します。<br>
それが済んだらinf_launch_ext.ps1とconfig.jsonを削除しても大丈夫です。
Look for infzoom.log in the game directory.

※どうにもならなくなったときはお手数ですがINFINITASを再インストールしてください。
## Uninstallation

## 既知の問題
- ウィンドウサイズを縦横整数倍以外にすると汚い(補間処理がないため)<br>
補間処理を入れようと思うと間に挟まってレンダリング結果横取りして別のウィンドウに表示するくらいしか方法が無いので、気になる方は~~DxWndとかで窓化したほうがいいです。~~ DxWndは64bitバイナリ非対応なので新INFINITASじゃ使えないんですね
- 導入がむずい<br>
「何をやってるのか全然わからん」って人は手を出さないほうが無難?
It is not sufficient to delete the PowerShell script. Instead, run the script again, but choose option "0 : revert to default". After that, you can delete the script.
8 changes: 8 additions & 0 deletions deploy.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
cd /d %~dp0
copy /y infzoom\infzoom.ini infzoom\Debug
copy /y infzoom\infzoom.ini infzoom\Release

set outdir="G:\Games\beatmania IIDX INFINITAS"
copy /y inf_launch_ext.ps1 %outdir%
copy /y infzoom\infzoom.ini %outdir%
copy /y infzoom\Debug\infzoom.exe %outdir%
Binary file added doc_img/monitor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit b921032

Please sign in to comment.