()
| 137 | } catch(e) {} |
| 138 | } |
| 139 | getRetroArchCfg() { |
| 140 | let cfg = "autosave_interval = 60\n" + |
| 141 | "screenshot_directory = \"/\"\n" + |
| 142 | "block_sram_overwrite = false\n" + |
| 143 | "video_gpu_screenshot = false\n" + |
| 144 | "audio_latency = 64\n" + |
| 145 | "video_top_portrait_viewport = true\n" + |
| 146 | "video_vsync = true\n" + |
| 147 | "video_smooth = false\n" + |
| 148 | "fastforward_ratio = 3.0\n" + |
| 149 | "slowmotion_ratio = 3.0\n" + |
| 150 | (this.EJS.rewindEnabled ? "rewind_enable = true\n" : "") + |
| 151 | (this.EJS.rewindEnabled ? "rewind_granularity = 6\n" : "") + |
| 152 | "savefile_directory = \"/data/saves\"\n"; |
| 153 | |
| 154 | if (this.EJS.retroarchOpts && Array.isArray(this.EJS.retroarchOpts)) { |
| 155 | this.EJS.retroarchOpts.forEach(option => { |
| 156 | let selected = this.EJS.preGetSetting(option.name); |
| 157 | console.log(selected); |
| 158 | if (!selected) { |
| 159 | selected = option.default; |
| 160 | } |
| 161 | const value = option.isString === false ? selected : '"' + selected + '"'; |
| 162 | cfg += option.name + " = " + value + "\n" |
| 163 | }) |
| 164 | } |
| 165 | return cfg; |
| 166 | } |
| 167 | initShaders() { |
| 168 | if (!this.EJS.config.shaders) return; |
| 169 | this.mkdir("/shader"); |
no test coverage detected