Core commit. Compile and run on the OpenPandora
[mupen64plus-pandora.git] / source / mupen64plus-core / doc / emuwiki-api-doc / Mupen64Plus_Plugin_Parameters.txt
CommitLineData
451ab91e 1[[Mupen64Plus v2.0 Core API v1.0|Mupen64Plus v2.0 API]]
2
3= Plugin Parameters =
4
5These are standard parameters which are used by the Mupen64Plus plugins. The behavior of the plugin library when these parameters are changed while the emulator is running is not defined here. Some plugins will load the parameters when starting and store internal copies of the parameters for use during emulation. Other plugins may read the value of the parameters while running.
6
7=== Audio-SDL ===
8
9{| border="1"
10!Parameter Name!!Type!!Usage
11|-
12|Version
13|M64TYPE_FLOAT
14|Mupen64Plus Audio SDL config parameter set version number. Please don't change.
15|-
16|DEFAULT_FREQUENCY
17|M64TYPE_INT
18|Frequency which is used if rom doesn't want to change it
19|-
20|SWAP_CHANNELS
21|M64TYPE_BOOL
22|Swaps left and right channels
23|-
24|PRIMARY_BUFFER_SIZE
25|M64TYPE_INT
26|Size of primary buffer in output samples. This is where audio is loaded after it's extracted from n64's memory.
27|-
28|PRIMARY_BUFFER_TARGET
29|M64TYPE_INT
30|Fullness level target for Primary audio buffer, in equivalent output samples.
31|-
32|SECONDARY_BUFFER_SIZE
33|M64TYPE_INT
34|Size of secondary buffer in samples. This is SDL's hardware buffer.
35|-
36|RESAMPLE
37|M64TYPE_STRING
38|Audio resampling algorithm. "trivial" for fastest, lowest-quality algorithm. If compiled with SPEEX support, this can be "speex-fixed-0" to "speex-fixed-10". If compiled with libsrc support, this can be "src-sinc-best-quality", "src-sinc-medium-quality", "src-sinc-fastest", "src-zero-order-hold", or "src-linear".
39|-
40|VOLUME_CONTROL_TYPE
41|M64TYPE_INT
42|Volume control type: 1 = SDL (only affects Mupen64Plus output) 2 = OSS mixer (adjusts master PC volume)
43|-
44|VOLUME_ADJUST
45|M64TYPE_INT
46|Percentage change each time the volume is increased or decreased
47|-
48|VOLUME_DEFAULT
49|M64TYPE_INT
50|Default volume when a game is started. Only used if VOLUME_CONTROL_TYPE is 1
51|-
52|}
53
54=== Video-General ===
55
56{| border="1"
57!Parameter Name!!Type!!Usage
58|-
59|Fullscreen
60|M64TYPE_BOOL
61|Use fullscreen mode if True, or windowed mode if False
62|-
63|ScreenWidth
64|M64TYPE_INT
65|Width of output window or fullscreen width
66|-
67|ScreenHeight
68|M64TYPE_INT
69|Height of output window or fullscreen height
70|-
71|}
72
73=== Video-Rice ===
74
75{| border="1"
76!Parameter Name!!Type!!Usage
77|-
78|FrameBufferSetting
79|M64TYPE_INT
80|Frame Buffer Emulation (0=ROM default, 1=disable)
81|-
82|FrameBufferWriteBackControl
83|M64TYPE_INT
84|Frequency to write back the frame buffer (0=every frame, 1=every other frame, etc)
85|-
86|RenderToTexture
87|M64TYPE_INT
88|Render-to-texture emulation (0=none, 1=ignore, 2=normal, 3=write back, 4=write back and reload)
89|-
90|ScreenUpdateSetting
91|M64TYPE_INT
92|Control when the screen will be updated (0=ROM default, 1=VI origin update, 2=VI origin change, 3=CI change, 4=first CI change, 5=first primitive draw, 6=before screen clear, 7=after screen drawn)
93|-
94|NormalAlphaBlender
95|M64TYPE_BOOL
96|Force to use normal alpha blender
97|-
98|FastTextureLoading
99|M64TYPE_BOOL
100|Use a faster algorithm to speed up texture loading and CRC computation (may break hi-res texture loading)
101|-
102|AccurateTextureMapping
103|M64TYPE_BOOL
104|Use different texture coordinate clamping code
105|-
106|InN64Resolution
107|M64TYPE_BOOL
108|Force emulated frame buffers to be in N64 native resolution
109|-
110|SaveVRAM
111|M64TYPE_BOOL
112|Try to reduce Video RAM usage (should never be used)
113|-
114|DoubleSizeForSmallTxtrBuf
115|M64TYPE_BOOL
116|Enable this option to have better render-to-texture quality
117|-
118|DefaultCombinerDisable
119|M64TYPE_BOOL
120|Force to use normal color combiner
121|-
122|EnableHacks
123|M64TYPE_BOOL
124|Enable game-specific settings from INI file
125|-
126|EnableFog
127|M64TYPE_BOOL
128|Enable or disable fog generation
129|-
130|WinFrameMode
131|M64TYPE_BOOL
132|If enabled, graphics will be drawn in WinFrame mode instead of solid and texture mode
133|-
134|FullTMEMEmulation
135|M64TYPE_BOOL
136|N64 Texture Memory Full Emulation (may fix some games, may break others)
137|-
138|OpenGLVertexClipper
139|M64TYPE_BOOL
140|Enable vertex clipper for fog operations
141|-
142|EnableSSE
143|M64TYPE_BOOL
144|Enable SSE optimizations for capable CPUs
145|-
146|EnableVertexShader
147|M64TYPE_BOOL
148|Use GPU vertex shader
149|-
150|SkipFrame
151|M64TYPE_BOOL
152|If this option is enabled, the plugin will skip every other frame
153|-
154|TexRectOnly
155|M64TYPE_BOOL
156|If enabled, texture enhancement will be done only for TxtRect ucode
157|-
158|SmallTextureOnly
159|M64TYPE_BOOL
160|If enabled, texture enhancement will be done only for textures width+height<=128
161|-
162|LoadHiResTextures
163|M64TYPE_BOOL
164|Enable hi-resolution texture file loading
165|-
166|LoadHiResCRCOnly
167|M64TYPE_BOOL
168|Filter hi-resolution texture filenames based only on the CRC and ignore format+size tags (Glide64 compatibility)
169|-
170|DumpTexturesToFiles
171|M64TYPE_BOOL
172|Enable texture dumping
173|-
174|ShowFPS
175|M64TYPE_BOOL
176|Display On-screen FPS
177|-
178|FogMethod
179|M64TYPE_INT
180|Enable, Disable or Force fog generation (0=Disable, 1=Enable n64 choose, 2=Force Fog)
181|-
182|Mipmapping
183|M64TYPE_INT
184|Use Mipmapping? 0=no, 1=nearest, 2=bilinear, 3=trilinear
185|-
186|MultiSampling
187|M64TYPE_INT
188|Enable/Disable MultiSampling (0=off, 2,4,8,16=quality)
189|-
190|TextureEnhancement
191|M64TYPE_INT
192|Primary texture filter (0=None, 1=2X, 2=2XSAI, 3=HQ2X, 4=LQ2X, 5=HQ4X, 6=Sharpen, 7=Sharpen More, 8=External, 9=Mirrored)
193|-
194|TextureEnhancementControl
195|M64TYPE_INT
196|Secondary texture filter (0 = none, 1-4 = filtered)
197|-
198|ForceTextureFilter
199|M64TYPE_INT
200|Force to use texture filtering or not (0=auto: n64 choose, 1=force no filtering, 2=force filtering)
201|-
202|TextureQuality
203|M64TYPE_INT
204|Color bit depth to use for textures (0=default, 1=32 bits, 2=16 bits
205|-
206|OpenGLDepthBufferSetting
207|M64TYPE_INT
208|Z-buffer depth (only 16 or 32)
209|-
210|ColorQuality
211|M64TYPE_INT
212|Color bit depth for rendering window (0=32 bits, 1=16 bits)
213|-
214|OpenGLRenderSetting
215|M64TYPE_INT
216|OpenGL rendering level to support (0=auto, 1=OGL_1.1, 2=OGL_1.2, 3=OGL_1.3, 4=OGL_1.4, 5=OGL_1.4_V2, 6=OGL_TNT2, 7=NVIDIA_OGL, 8=OGL_FRAGMENT_PROGRAM)
217|-
218|AnisotropicFiltering
219|M64TYPE_INT
220|Enable/Disable Anisotropic Filtering for Mipmapping (0=no filtering, 2-16=quality). This is uneffective if EnableMipmapping is false. If the given value is to high to be supported by your graphic card, the value will be the highest value your graphic card can support. Better result with Trilinear filtering
221|}
222
223=== Input-SDL ===
224
225The Mupen64Plus-Input-SDL plugin uses a separate config section for each simulated N64 controller. The sections are named: <tt>Input-SDL-Control1</tt>, <tt>Input-SDL-Control2</tt>, <tt>Input-SDL-Control3</tt>, and <tt>Input-SDL-Control4</tt>. The 4 sections all contain the same parameters.
226
227<b>General-purpose Controller Configuration Parameters</b>
228
229{| border="1"
230!Parameter Name!!Type!!Usage
231|-
232|version
233|M64TYPE_FLOAT
234|Mupen64Plus Input-SDL config parameter set version number. Please don't change.
235|-
236|mode
237|M64TYPE_INT
238|Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic
239|-
240|device
241|M64TYPE_INT
242|Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number
243|-
244|name
245|M64TYPE_STRING
246|SDL joystick name (or Keyboard)
247|-
248|plugged
249|M64TYPE_BOOL
250|Specifies whether this controller is 'plugged in' to the simulated N64
251|-
252|plugin
253|M64TYPE_INT
254|Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak
255|-
256|mouse
257|M64TYPE_BOOL
258|If True, then mouse buttons may be used with this controller, and mouse movement will map to X/Y analog stick
259|-
260|MouseSensitivity
261|M64TYPE_STRING
262|The sensitivity coefficients for the mouse to move the N64 controller axis value from 0. For X, Y axes. Values must be positive.
263|-
264|AnalogDeadzone
265|M64TYPE_STRING
266|The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes.
267|-
268|AnalogPeak
269|M64TYPE_STRING
270|An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
271|-
272|}
273
274<b>Digital Controller Configuration</b>
275These parameters are used to bind input events with N64 Controller button presses. There are 14 simulated buttons and 2 special buttons for switching between the Mem Pak and Rumble Pak expansion units. Each configuration parameter is a string which specifies input events which will map to the given N64 button. The configuration strings consist of zero or more input event words. A list of available input event words is given here:
276
277{| border="1"
278!Input Event Word!!Usage
279|-
280|<tt>key(&lt;keysym&gt;)</tt>
281|&lt;keysym&gt; = SDLK_* key symbol enumerated type
282|-
283|<tt>button(&lt;num&gt;)</tt>
284|&lt;num&gt; = SDL Joystick Button Number (0 or greater)
285|-
286|<tt>axis(&lt;num&gt;&lt;dir&gt;)</tt>
287|&lt;num&gt; = SDL Joystick Axis Number, &lt;dir&gt; = axis direction (+ = positive, - = negative)
288|-
289|<tt>axis(&lt;num&gt;&lt;dir&gt;,&lt;deadzone&gt;)</tt>
290|&lt;num&gt; = SDL Joystick Axis Number, &lt;dir&gt; = axis direction (+ = positive, - = negative), &lt;deadzone&gt; = minimum axis value (max 32767) to activate button; default 6000
291|-
292|<tt>hat(&lt;num&gt; &lt;dir&gt;)</tt>
293|&lt;num&gt; = SDL Joystick Hat Number, &lt;dir&gt; = hat direction (Up, Down, Left, or Right)
294|-
295|<tt>mouse(&lt;num&gt;)</tt>
296|&lt;num&gt; = mouse button number (1 = left button, 2 = middle, 3 = right, etc)
297|-
298|}
299
300<br>
301{| border="1"
302!Parameter Name!!Type!!Usage
303|-
304|DPad R
305|M64TYPE_STRING
306|Input event string for mapping the Right button on the D-pad
307|-
308|DPad L
309|M64TYPE_STRING
310|Input event string for mapping the Left button on the D-pad
311|-
312|DPad D
313|M64TYPE_STRING
314|Input event string for mapping the Down button on the D-pad
315|-
316|DPad U
317|M64TYPE_STRING
318|Input event string for mapping the Up button on the D-pad
319|-
320|Start
321|M64TYPE_STRING
322|Input event string for mapping the Start button
323|-
324|Z Trig
325|M64TYPE_STRING
326|Input event string for mapping the Z trigger
327|-
328|B Button
329|M64TYPE_STRING
330|Input event string for mapping the "B" button
331|-
332|A Button
333|M64TYPE_STRING
334|Input event string for mapping the "A" button
335|-
336|C Button R
337|M64TYPE_STRING
338|Input event string for mapping the Right "C" button
339|-
340|C Button L
341|M64TYPE_STRING
342|Input event string for mapping the Left "C" button
343|-
344|C Button D
345|M64TYPE_STRING
346|Input event string for mapping the Down "C" button
347|-
348|C Button U
349|M64TYPE_STRING
350|Input event string for mapping the Up "C" button
351|-
352|R Trig
353|M64TYPE_STRING
354|Input event string for mapping the Right trigger
355|-
356|L Trig
357|M64TYPE_STRING
358|Input event string for mapping the Left trigger
359|-
360|Mempak switch
361|M64TYPE_STRING
362|Input event string for toggling the Memory Pak unit
363|-
364|Rumblepak switch
365|M64TYPE_STRING
366|Input event string for toggling the Rumble Pak unit
367|-
368|}
369
370<b>Analog Controller Configuration</b>
371These parameters are used to bind input events with N64 Controller analog stick movements. There are only 2 analog stick axes, X and Y. Each configuration parameter is a string which specifies input events which will map to the given N64 controller axis movement. The configuration strings consist of zero or more input event words. A list of available input event words is given here:
372
373{| border="1"
374!Input Event Word!!Usage
375|-
376|<tt>key(&lt;key_a&gt;,&lt;key_b&gt;)</tt>
377|&lt;key_a&gt; = SDLK_* key symbol for up/left movement. &lt;key_b&gt; = SDLK_* key symbol for down/right movement. The strength of these movements can be modulated with the Left-Shift and Left-Control keys.
378|-
379|<tt>button(&lt;num_a&gt;,&lt;num_b&gt;)</tt>
380|&lt;num_a&gt; = SDL Joystick Button Number for up/left movement. &lt;num_b&gt; = SDL Joystick Button Number for down/right movement.
381|-
382|<tt>axis(&lt;num_a&gt;&lt;dir_a&gt;,&lt;num_b&gt;&lt;dir_b&gt;)</tt>
383|&lt;num_a&gt; = SDL Joystick Axis Number for up/left movement, &lt;dir_a&gt; = axis direction for up/left movement (+ = positive, - = negative). &lt;num_b&gt; = SDL Joystick Axis Number for down/right movement, &lt;dir_b&gt; = axis direction for down/right movement.
384|-
385|<tt>hat(&lt;num&gt; &lt;dir_a&gt; &lt;dir_b&gt;)</tt>
386|&lt;num&gt; = SDL Joystick Hat Number, &lt;dir_a&gt; = hat direction for up/left movement (Up, Down, Left, or Right), &lt;dir_b&gt; = hat direction for right/down movement
387|-
388|}
389
390<br>
391{| border="1"
392!Parameter Name!!Type!!Usage
393|-
394|Y Axis
395|M64TYPE_STRING
396|Input event string for mapping the Y axis (up/down) of the analog stick
397|-
398|X Axis
399|M64TYPE_STRING
400|Input event string for mapping the X axis (left/right) of the analog stick
401|-
402|}
403