-
Notifications
You must be signed in to change notification settings - Fork 21
/
config.txt
853 lines (645 loc) · 31.9 KB
/
config.txt
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
# Configuration file for MegaZeux 2.93b
# September 10th, 2024
# Comments begin with #. Whitespace is ignored. Empty lines are
# ignored as well.
# Options are set in the following format:
# option = value
# If value is not given, then it is assumed to be 1.
# You can include spaces in values by escaping them with \s.
# (see the default macros for examples)
# For directories, use forward slashes (/) instead of back-slashes,
# as they work more reliably.
# Note that even if the option is given to change the values
# in MZX, this text file will NOT be modified, and hence the
# values will revert to what they are here when you restart MZX.
# NOTE: All of the options below have sane defaults. Changes to
# these options will only take effect if you uncomment them.
# In many cases, the current default value has been written in,
# but this is not guaranteed (for example with video_output).
### Video options ###
# Rendering engine to use to display MegaZeux. The simplest (but not
# necessarily fastest) renderer is "software". Due to MegaZeux's strange
# default resolution (640x350), many video cards have difficulty
# supporting it correctly in fullscreen mode.
#
# The software renderer is the fallback renderer if another renderer fails
# to initialize, and has generally adequate performance. Additionally, it
# supports 8 bit indexed color and requires no overlay or 3D hardware support.
# If you're on a slow computer or a handheld portable, definitely use this.
# To use it, uncomment the line below.
# video_output = software
# A much faster option for almost anything with a graphics card is the
# "softscale" renderer. This renderer uses SDL2's built-in rendering API
# to stream the output of the software renderer to a hardware-accelerated
# texture (if available) for extremely fast scaling and display. This (or
# "glslscale", see below) is usually the fastest scaling renderer for devices
# using integrated graphics e.g. Intel HD, phones, tablets, Raspberry Pi.
#
# Either 32 bit or 16 bit rendering can be enabled (see force_bpp), but
# 32 bit is recommended. Nearest neighbor or linear scaling will be chosen
# automatically based on the scaling ratio and size of the window. This
# renderer is a replacement for the YUV overlay renderer.
# video_output = softscale
# The SDL renderer API used by softscale will use the following underlying
# drivers by default: Direct3D (Windows), Metal (Mac OS 10.11+), or OpenGL.
# To request a different driver, the following option can be changed.
# See https://wiki.libsdl.org/SDL_HINT_RENDER_DRIVER for more info.
# sdl_render_driver = opengl
# If you built MegaZeux yourself with SDL 1.2 support enabled, the YUV overlay
# renderer is available instead of softscale. This renderer is good if you
# want scaling and can't use OpenGL. The quality of scaling is hardware
# dependent and often looks bad at non-integer scaling.
#
# Uncomment either of the lines below (but not both) if you want to try it.
# The "overlay2" mode is cheaper, but will be less accurate due to the use
# of chroma subsampling instead of a full YUV encode. The "overlay2" mode
# also does not support newer graphical features such as unbound sprites.
# If uncommented for SDL2 builds, these lines will enable softscale instead.
# video_output = overlay1
# video_output = overlay2
# An OpenGL renderer is a good choice if you want a configurable, cheap
# renderer and have a video card. This method provides the highest quality
# scaler and should work on all platforms with OpenGL or OpenGL ES support.
#
# MegaZeux provides two fixed-function scalers. The first renders the whole
# screen to a texture and uses OpenGL to stretch it. This method is generally
# fast but may be slow on very old PCs. This renderer is called "opengl1".
#
# The second fixed-function scaler draws entirely in OpenGL by remapping the
# character sets to a texture. This yields a performance increase for some
# games, but at the cost of compatibility. This renderer is called "opengl2".
#
# MegaZeux also provides a scaler for programmable hardware. If you have
# OpenGL 2.0 or OpenGL ES 2.0 capable hardware, you should use this renderer.
# This renderer uses GLSL shaders to render and scale the screen, and several
# different scaling shaders can be selected at runtime using the settings menu.
# This renderer is called "glsl". It is the highest quality and best performing
# renderer for most PCs with a dedicated video card.
#
# A variant of the GLSL renderer called "glslscale" is available that uses the
# software renderer internally with GLSL shader scaling. This performs better
# than the original GLSL renderer on PCs and other devices that don't have a
# video card, and is currently the default renderer for most platforms.
#
# Uncomment ONE of the lines below:
# video_output = opengl1
# video_output = opengl2
# video_output = glsl
# video_output = glslscale
# The scaling renderers can be configured to preserve aspect ratio where
# possible in window and fullscreen modes. The supported ratios are
# "classic" (4:3) and "modern" (64:35). The ratio type "stretch" disables
# any aspect ratio preservation. The default is "modern" (except for consoles
# where "classic" makes more sense, including the 3DS, NDS, and Wii).
# video_ratio = modern
# OpenGL will, by default, linearly interpolate pixels as it upscales
# to your requested resolution. This creates an output with more "blur",
# which some people dislike. If you are using a sufficiently high target
# resolution, preferably an integer multiple of 640x350, you may find
# "nearest" more pleasing, which will have no "blur". The default
# setting is "linear".
# gl_filter_method = nearest
# The GLSL renderer uses scaling shaders to determine the scaling method
# instead of gl_filter_method. The default shader to be loaded when MZX
# starts is assets/glsl/scalers/semisoft.frag.
# Change this config option to specify a different shader to load on startup.
# For a list of valid options, see the F2 menu or the GLSL scalers folder.
# Do not include an extension.
# gl_scaling_shader = semisoft
# Some OpenGL driver settings may default vertical sync on, which looks
# visually better on CRTs but can cause "speed 1" to run noticably slower.
# For consistency with other renderers, and for correctness, MegaZeux will
# attempt to disable vsync when gl_vsync is the default value of 0.
# Conversely, a value of 1 forces MegaZeux to override the driver settings
# and enable vsync, which decreases tearing. A value of -1 can be used to
# tell MegaZeux to obey the driver default, which is unlikely to be useful.
# gl_vsync = 1
# Resolution MZX uses for fullscreen. With the software renderer, this
# will center MZX on the screen, and will not scale it. All other renderers
# listed above will attempt to scale the screen to match this resolution.
# Best results are obtained by using your current desktop resolution or a
# well-supported resolution (like 1280,720) in conjunction with the modern
# aspect ratio.
#
# Give in x,y format. Use this if the defaults are giving you problems,
# especially in the software renderer.
# The current desktop resolution is the default for all scalable renderers;
# "640,480" is the default for the software renderer.
# fullscreen_resolution = 640,480
# If this setting is enabled, instead of regular fullscreen MZX will create
# a borderless window with the current desktop resolution when fullscreen
# is enabled. This overrides fullscreen_resolution. Disabled by default
# except on macOS, where it is enabled by default.
# fullscreen_windowed = 0
# The resolution MZX uses in a window. If your renderer supports
# it, MZX will be scaled to fit this specification. Otherwise
# the setting is ignored.
# window_resolution = 640,350
# Use this to toggle whether MZX can be scaled while in window
# mode, if your renderer supports it. If you use a renderer which
# supports scaling, but don't want to accidentally scale it (which
# may distort the image), you can switch this off here.
# enable_resizing = 1
# MZX is limited internally to 8bit colour, but it can upmix its
# rendering to 32bit if your video card has difficulty with 8bit
# resolutions. Using 32bit colour is slower, but not by much.
#
# NOTE: This option may be ignored by one or more of the above renderers.
# force_bpp is guaranteed to apply to "software". This might not always be
# useful, however; SDL 2 picks a native window pixel format automatically
# and non-native BPPs are handled with an extra surface blit. The "softscale"
# renderer can use this setting to select different native pixel formats.
#
# Valid settings are usually '8', '16', or '32'; a value of '0' or 'auto'
# will instruct the renderer to automatically pick the best available
# BPP (if applicable). Default is 'auto'.
# force_bpp = auto
# Whether MZX should start up in fullscreen or not.
# Press ctrl-alt-enter to toggle fullscreen as MZX runs.
# fullscreen = 1
# Whether MZX should disable the screensaver (or similar) while running.
# By default, MZX will instruct SDL to leave the screensaver on. This setting
# currently only affects SDL 2+ ports.
# disable_screensaver = 0
# MZX can optionally display the text cursor to hint at the currently selected
# UI element when applicable. Valid settings are 0 or "off" (doesn't display
# or update the cursor position), 1 or "hidden" (doesn't display, but updates
# the cursor position for platforms with hardware cursors), "underline"
# (displays the underline cursor), and "solid" (displays the filled cursor).
# The default value is 1.
# dialog_cursor_hints = 1
# Whether MZX should allow a screenshot to be taken when F12 is pressed.
# Defaults to enabled.
# allow_screenshots = 1
### Audio options ###
# Sampling rate to output audio at. Higher values will sound
# better but use more resources and may not be supported by
# your audio card/drivers. Typical values include 22050, 44100,
# and 48000. If your card supports it you might get away with
# 96000, or even 192000.
# audio_sample_rate = 44100
# Audio buffer size in sample frames. Setting this to lower can improve
# latency, so audio will be heard sooner after it is set to be
# changed. It is also possible to change PC speaker effects more
# rapidly with lower values. Lower buffer sizes need more CPU power
# to process. 2048 is adequate for PC speaker playback every
# command at speed 4.
# audio_buffer_samples = 1024
# Number of audio channels. The normal value here is 2 for stereo, but
# in rare cases, 1 (mono) may be preferable. This setting is ignored
# by most ports and for some DOS sound devices. MegaZeux currently
# does not support any type of surround sound.
# audio_output_channels = 2
# Allow music to be sampled at higher precision. Increases CPU
# usage but increases audio quality as well. (Modplug only.)
# enable_oversampling = 0
# Set global resample mode. This affects how OGGs, SAMs, WAVs, RADs, and
# frequency shifted modules sound. Choices are:
# none (fastest, poor quality)
# linear (fast, good quality)
# cubic (slow, great quality)
# resample_mode = linear
# Set resample mode for xmp (or Modplug, depending on build settings).
# This affects how modules sound. Choices are:
# none (fastest, poor quality)
# linear (fast, good quality)
# cubic (slow, great quality)
# fir (very slow, excellent quality) (Modplug only)
# module_resample_mode = cubic
# Whether music/samples should be played or not.
# Does not include PC speaker effects.
# music_on = 1
# Whether PC speaker effects should be played or not.
# pc_speaker_on = 1
# Volume music plays at (0 through 10)
# music_volume = 8
# Volume samples play at (0 through 10)
# sample_volume = 8
# Volume PC speaker SFX play at (0 through 10)
# pc_speaker_volume = 8
# The maximum number of samples that can be played simultaneously.
# Set to -1 for an unlimited number of samples.
# max_simultaneous_samples = -1
### Game options ###
# Name of the directory where MegaZeux should start.
# startup_path = /home/username/MegaZeux
# Name of world file that should be loaded when MZX starts.
# startup_file = caverns.mzx
# Default save file name given when you first try to save.
# save_file = saved.sav
# Speed MZX should start at (1 through 16)
# mzx_speed = 4
# Start in the editor by default
# startup_editor = 1
# Allow the use of editing cheats in regular gameplay. Set to 1
# to enable the cheats for either executable, "mzxrun" to enable
# them for MZXRun only, or to 0 to disable them for both. This
# feature is disabled by default.
# allow_cheats = 0
# Allow MegaZeux to automatically decrypt worlds without confirmation.
# Instead of replacing the world, the world will be decrypted either in
# memory or to a temporary file. Enabled by default.
# auto_decrypt_worlds = 1
# Enable standalone mode. This is a game mode meant to be used
# for packaged standalone MegaZeux games. In standalone mode:
# - ENTER_MENU, ESCAPE_MENU, HELP_MENU, F2_MENU and LOAD_MENU
# can be used on the title screen to disable these menus.
# - HELP_MENU prevents the help menu from being opened even
# when other builtin dialogs are open
# - EXIT_GAME can be used on the title screen to exit MegaZeux
# - The default title screen message does not appear
# - PLAY_GAME can be set to 1 to start a game
# - Using ALT-F4, closing the window or using other OS-specific
# ways of closing an application will exit MZX entirely,
# without asking for confirmation first
# Standalone mode can only be used from MZXRun.
# standalone_mode = 1
# Enable no titlescreen mode. This mode only works if standalone
# mode is enabled and causes the following:
# - The title screen is skipped and the game begins on the first
# board.
# - Exiting to the title screen exits MegaZeux
# no_titlescreen = 1
### Board editor options ###
# Whether or not the spacebar can be used to toggle between
# your active buffer and the meta character "SPACE". If you
# set this, it will behave like older MegaZeux versions, but it
# will allow you to overwrite robots, for instance.
#
# If the setting is disabled (the default), replacing params
# will your new buffer will not require a toggle, and robots
# can only be deleted with the Delete key.
# editor_space_toggles = 1
# Whether or not the editor should center the viewport on the
# cursor in tab draw mode. Disabled by default; uncomment the
# following line to enable.
# editor_tab_focuses_view = 1
# Whether or not the editor will load board char sets and
# palettes when the board is changed. Disabled by default.
# editor_load_board_assets = 1
# Whether or not the thing menus (F3-F10) will place an object on
# the board when that object is selected. Enabled by default.
# editor_thing_menu_places = 1
# By default, the show thing keys (e.g. "Shift+F2: Show Robots") will block
# editing until a key or mouse button is pressed, after which they are turned
# off. If this option is set to 1, these keys will instead toggle on until
# the same key is pressed again, another show thing key is pressed, or until
# escape is pressed. This allows scrolling and other editing without having to
# press these keys repeatedly.
# editor_show_thing_toggles = 0
# This option controls the blinking speed when a show thing key is used.
# Lower numbers mean faster blinking; for example, when set to 4 (default),
# the character displayed by the blinking will alternate every 4 frames (~8 Hz).
# When set to 0, no blinking will occur and only the first character will display.
# editor_show_thing_blink_speed = 4
# If this is set to 1 (the default), enter can be used to split
# a line in the robot editor. However, the classic behaviour is
# that enter moves the cursor down a line. If you would like to
# restore the old behaviour, please set this to 0.
# editor_enter_splits = 1
# Set to 0 if you want the board editor to show the hotkey help
# by default.
# board_editor_hide_help = 1
# Set to 1 if you want the palette editor to hide the hotkey help
# when MegaZeux starts (default: don't hide).
# palette_editor_hide_help = 0
# The size of the board, overlay, vlayer, and char editor undo history
# stacks. Valid values are between 0 and 1000. Defaults to 100.
# undo_history_size = 100
# Defaults for new boards. Put these in [filename].editor.cnf to customize
# for each individual game, E.G. caverns.editor.cnf. Viewport width/height
# must be set before offset, and board width/height must be set before any
# viewport vars.
# Options for the majority of these are 0 or 1, for off and on.
# Options for explosions_leave: space, ash, fire
# Options for saving: enabled, disabled, sensoronly
# Options for overlay: enabled, disabled, static, transparent
# board_default_width = 100
# board_default_height = 100
# board_default_viewport_w = 80
# board_default_viewport_h = 25
# board_default_viewport_x = 0
# board_default_viewport_y = 0
# board_default_can_shoot = 1
# board_default_can_bomb = 1
# board_default_fire_burns_spaces = 0
# board_default_fire_burns_fakes = 1
# board_default_fire_burns_trees = 1
# board_default_fire_burns_brown = 0
# board_default_fire_burns_forever = 0
# board_default_forest_to_floor = 0
# board_default_collect_bombs = 0
# board_default_restart_if_hurt = 0
# board_default_reset_on_entry = 0
# board_default_player_locked_ns = 0
# board_default_player_locked_ew = 0
# board_default_player_locked_att = 0
# board_default_time_limit = 0
# board_default_explosions_leave = ash
# board_default_saving = enabled
# board_default_overlay = enabled
# board_default_charset_path =
# board_default_palette_path =
### Robot editor options ###
# Enable or disable color coding in the editor.
# If color coding is off, ccode_string is used for the entire
# line.
# color_coding_on = 0
# Color codes for various types.
# For colors, use 255 to show a color box.
# ccode_chars = 14
# ccode_colors = 255
# ccode_commands = 15
# ccode_conditions = 15
# ccode_current_line = 11
# ccode_directions = 3
# ccode_equalities = 0
# ccode_extras = 7
# ccode_immediates = 10
# ccode_items = 11
# ccode_params = 2
# ccode_strings = 14
# ccode_things = 11
# Whether or not "extra words" should be displayed.
# For instance, if turned on, a line like "wait 1" will
# become "wait for 1."
# disassemble_extras = 0
# The base numbers should be displayed as. Valid options
# are 10 and 16 (decimal and hexidecimal). Hex numbers are
# prefixed with a dollar sign ($).
# disassemble_base = 16
# Changing this will allow invalid comments to automatically
# be marked to "delete" or "comment" instead of "ignore".
# Don't change this unless you know what you're doing.
# default_invalid_status = ignore
# Single line macros
# These are the traditional MZX macros; they may only
# occupy one line in their definition in this file. They
# correspond to parameter-less macros: when you press
# F6 through F10 the following strings are printed to
# the editor, verbatim. For instance if you set macro_1 to
# * "hello", * "hello" will be inserted every time you
# press F6 in the robot editor.
# The following are the default singe-line macros.
# macro_1 = char\s
# macro_2 = color\s
# macro_3 = goto\s
# macro_4 = send\s
# macro_5 = :\splayershot^
# Extended macros:
# See macro.txt.
# The following is an example extended macro.
# It sets up a sprite. If you find it useful, remove the #'s.
#macro_sprite = Sprite\sSetup
# (number255 spr_num)
# (number255 w, h, rx, ry)
# (number255 cx, cy, cw, ch)
# (number255 x, y)
# set spr!spr_num!_width !w!
# set spr!spr_num!_height !h!
# set spr!spr_num!_refx !rx!
# set spr!spr_num!_refy !ry!
# set spr!spr_num!_cwidth !cw!
# set spr!spr_num!_cheight !ch!
# set spr!spr_num!_cx !cx!
# set spr!spr_num!_cy !cy!
# put !x1! sprite p!#spr_num! !x! !y!
# Whether or not the palette should be reverted to default
# when the robot editor is load. If set, SMZX mode 0 will
# also be enforced.
# robot_editor_default_palette = 0
# Set to 0 if you want the robot editor to show the hotkey help
# and horizontal border by default.
# robot_editor_hide_help = 1
# Backup options
# Backups are save files made in the editor. They will only be made
# while in the main editor, not while in a sub-editor or a dialogue
# box of sorts. Note that this can cause slight pauses while editing,
# as the game saves.
# If you have multiple backups you should check the modified date in
# a console or file properties to determine which was most recently
# modified. The number will not indicate most recently saved.
# How many backups to be made. Set to zero to disable backups.
# backup_count = 3
# How often (in seconds) backups should be made
# backup_interval = 60
# The name of the backup file. If you choose "backup" with 3 backups
# the backups will be named backup1.mzx, backup2.mzx, and backup3.mzx.
# backup_name = backup
# The extension of backup files (keep this .mzx if you want to be able
# to easily load them)
# backup_ext = .mzx
# Joystick options
# It is possible to emulate key presses using a joystick. This can be
# achieved with the following config options globally or (for options
# starting with "joyX" only) on a per-game basis. To configure joysticks
# for a particular game, place the applicable settings in a file called
# [game].cnf (e.g. "caverns.cnf" is the settings file for "caverns.mzx").
# This will configure joysticks for that world and all saves loaded from
# that world only. Games utilizing swaps may require multiple .cnf files.
# Each joystick in MegaZeux is assigned a number between 1 and 16. When
# a joystick is detected, it is given the lowest available number, so
# typically the joystick you are using is joystick 1. When multiple
# joysticks are plugged in, you may have to experiment to determine which
# joystick is which.
# The old method for mapping joystick controls is to manually assign axes,
# buttons, and/or a POV hat to keys to simulate keypresses. While this is no
# longer recommended, the settings for this are
# joyXbuttonY = A
# joyXaxisY = A, B
# joyXhat = A, B, C, D
# where X is the number of the joystick, Y is the number of the button or axis,
# and A, B, C, and D are any of the following:
#
# 1) a number representing an internal MZX keycode (see keycodes.html);
# 2) 'key_NAME' (without quotes), representing the key NAME (see keycodes.html);
# 3) or 'act_NAME' (without quotes), representing the action NAME (see below).
# The threshold to trigger a joystick axis press can be globally defined with
# the setting
# joy_axis_threshold = 10000
# where lower values (0 minimum) will press the mapped key with less
# movement and higher values (32767 maximum) will press the mapped key
# with more movement.
# As of MegaZeux 2.92, it is also possible to bind joystick controls to
# named joystick "actions". These actions correspond directly to positional
# button names common on popular game controllers, are more UI-friendly than
# using keys directly, they have default gameplay keys pre-assigned, and these
# gameplay keys can be changed to different values without altering UI behavior.
# Actions can also be detected directly through Robotic. Finally, for most
# platforms, these actions can be assigned automatically for many controllers
# rather than by config options.
# The available joystick actions and their typical behaviors are:
#
# Action Title screen Window Game key (default)
# ------------- -------------- -------------- ----------------------
# up (1) Cursor up Up (move)
# down (1) Cursor down Down (move)
# left (1) Cursor left Left (move)
# right (1) Cursor right Right (move)
# a Play game Select Space (shoot)
# b Main menu Cancel Delete (lay bomb)
# x Load world Select char Enter (game menu)
# y Reload save Backspace S (Caverns: spells)
# select Main menu Cancel Game menu (2)
# start Play game Select Game menu (2)
# lshoulder Settings Next element Insert (switch bombs)
# rshoulder Settings Settings P (Caverns: altar)
# ltrigger Load world Page up F3 (save game)
# rtrigger Reload save Page down F4 (load save)
# lstick Home
# rstick End
#
# (1) Actions "up"/"down"/"left"/"right" are intended for a dpad. Actions
# "l_up"/"l_down"/"l_left"/"l_right" and "r_up"/"r_down"/"r_left"/"r_right"
# also exist for analog sticks, and have the same default mappings.
#
# (2) These buttons will always open the game menu directly unless both the
# enter menu and the escape menu have been disabled through Robotic.
# To map a joystick action to a different key for gameplay, use the setting
# joyX.NAME = A
# where X is the number of the joystick, NAME is the name of the action
# (e.g. "lshoulder"), and A is the number (or name) of the key to assign. The
# joystick number 'X' can be substituted with a range '[Z,W]', which will
# assign the control for all joysticks numbered Z through W (inclusive).
# Automatic mapping for actions is handled using SDL's gamepad API.
# Supported gamepads should generally "just work" when they're plugged in.
# This setting can be used to globally disable the automatic mapping feature
# entirely. If 1, it will be enabled (default). If 0, it will be disabled.
# gamepad_enable = 1
# Gamepads that aren't supported can be fixed by adding SDL mapping strings.
# This config option adds a new mapping string and can be used multiple times;
# each line adds a new mapping. See docs/joystick.html for more information.
# gamepad_add =
# The following settings can be used to globally customize the automated
# joystick mappings generated from SDL mapping strings.
# See docs/joystick.html for more information.
# gamepad.a = act_a
# gamepad.b = act_b
# gamepad.x = act_x
# gamepad.y = act_y
# gamepad.back = act_select
# gamepad.start = act_start
# gamepad.leftstick = act_lstick
# gamepad.rightstick = act_rstick
# gamepad.leftshoulder = act_lshoulder
# gamepad.rightshoulder = act_rshoulder
# gamepad.dpup = act_up
# gamepad.dpdown = act_down
# gamepad.dpleft = act_left
# gamepad.dpright = act_right
# gamepad.-leftx = act_l_left
# gamepad.+leftx = act_l_right
# gamepad.-lefty = act_l_up
# gamepad.+lefty = act_l_down
# gamepad.-rightx = act_r_left
# gamepad.+rightx = act_r_right
# gamepad.-righty = act_r_up
# gamepad.+righty = act_r_down
# gamepad.lefttrigger = act_ltrigger
# gamepad.righttrigger = act_rtrigger
# Misc Options
# Set to 1 if you want MZX to pause when key focus is lost. Useful for
# when another app (such as someone IM'ing you) steals the screen. This
# might cause MZX to lock up sometimes on some machines - if you have
# problems with it don't enable it.
# pause_on_unfocus = 0
# Set to 0 if you want input boxes and strings in the robot editor
# to use the game set for characters 32-126, as opposed to the protected
# GUI set.
# mask_midchars = 1
# Set to 1/"on" to display the system mouse; set to "only" to display ONLY
# the system mouse (i.e. hide the software mouse cursor). MegaZeux versions
# prior to 2.93c treated a setting of 1 like "only".
# system_mouse = off
# Set to 1 to let MZX grab the mouse pointer while active.
# grab_mouse = 0
# Set to 1 to use a save slot system (similar to emulator save states)
# instead of allowing for freeform text entry.
# save_slots = 0
# The filename of the saved games used by the save slot system. The world
# name can be inserted into this name by including "%w" in the value below.
# To use a "%" symbol as part of the target filename, use "%%". The slot
# number will immediately follow this value.
# save_slots_name = %w.
# The extension of the saved games used by the save slot system. Keep this
# set to .sav if you wish to be able to easily load slot saves using the
# traditional load dialog.
# save_slots_ext = .sav
# Set to 1 to start MZX in testing mode, exactly as if Alt+T was pressed in
# the editor. MegaZeux will exit after gameplay ends. This is intended to be
# used with the command line or exec(), and only works with the "megazeux"
# executable. Testing will start in the world's first board; a different
# board can be chosen by setting the second option to a valid board number.
# test_mode = 0
# test_mode_start_board = 0
# Set to 1 to enable MegaZeux's virtual filesystem (VFS). Currently, this
# feature is used only to implement file caching in memory. This is disabled by
# default for all platforms except 3DS and Vita. This feature is not available
# on the NDS.
# vfs_enable = 0
# Set to 0 to disable file caching in memory when the VFS is active.
# This will make MegaZeux use more memory. For platforms where the stdlib
# memory allocation functions properly return NULL, MegaZeux will attempt to
# reclaim memory from the file cache before an out of memory error occurs.
# Enabled by default, but only takes effect if the VFS is also enabled.
# vfs_enable_auto_cache = 1
# This setting controls the total amount of memory that can be used by the
# VFS file cache. This is a soft limit and can be exceeded in some situations.
# vfs_max_cache_size = 16777216
# This setting controls the largest size of an individual file that can be
# cached within the VFS file cache. Larger files will not be cached to memory.
# vfs_max_cache_file_size = 4194304
###################
# NETWORK OPTIONS #
###################
# If networking is enabled, MZX is permitted to bind ports and connect
# out to the network or Internet. This option is a global kill switch
# for the paranoid and allows the entire network layer to be disabled.
# network_enabled = 1
# By default, MZX will allow IPv4 and IPv6 connections and name resolution based
# on whether the system has an IPv4 address and/or an IPv6 address configured.
# This setting can be changed to "ipv4" to force IPv4 connections/lookups or
# "ipv6" to force IPv6 connections/lookups (and IPv4-mapped IPv6 addresses if
# no real IPv6 addresses are found). Default value is "any".
# network_address_family = any
# MegaZeux can support connections via a SOCKS4/5 proxy to punch through
# connections that would otherwise require some sort of pipe intermediary.
# socks_host = localhost
# socks_port = 1080
# For SOCKS5 proxies, a username and password can optionally be provided.
# Note that if your socks host is remote, these will be sent unencrypted over
# your network connection.
# socks_username = your_username
# socks_password = your_password
# By default, MZX builds with networking enabled will allow the user to check
# for updates (either manually or automatically; see update_auto_check below).
# For platforms that support it, a full update can also be performed. This
# option allows the updater system (both update checks and the full update
# process if applicable) to be turned off entirely.
# updater_enabled = 1
# The update host is an HTTP server containing all data and metadata
# associated with updates for MegaZeux. You normally won't want to
# change this, but it may be useful if you are a third party distributing
# unofficial updates. You may specify this up to times 16; connections will
# be attempted in the order they are defined. Please note, this is not a
# URL and should not contain protocol specifiers such as http://
# By default, MZX will attempt to connect to updates.digitalmzx.com,
# followed by updates.megazeux.org and updates.megazeux.net.
# update_host = updates.digitalmzx.com
# update_host = updates.digitalmzx.net
# update_host = updates.megazeux.org
# update_host = updates.megazeux.net
# The update "branch" is consulted each time the updater runs. Typically,
# there are only two branches, "Stable" and "Unstable". Please note, this
# option is case sensitive. The "Stable" branch is the default, but if
# you are interested in helping find bugs in the latest development
# version, or are instructed to follow development, you will need to
# change this to "Unstable". Third parties may use different branch names.
# update_branch_pin = Stable
# By default, MZX will check for updates on startup. There are three modes:
# "on", which will display most messages; "silent", which will only display
# certain errors and a message in the window caption; and "off", which disables
# this feature altogether. The default setting is "silent" for Windows and
# "off" for any other platform.
# update_auto_check = silent
include pad.config