New MegaZeux Release FAQ: Difference between revisions

From MZXWiki
Jump to navigation Jump to search
Line 42: Line 42:


=== Sound ===
=== Sound ===
''When playing MOD/S3M/XM/IT/etc music, I used to be able to set the MOD_POSITION to any row in the mod and it would work. Now, when I do that, it jumps to the start of the nearest order instead. Why?''
This is because of the new default module sound engine in 2.90b+, libxmp. This library does not support seeking to positions inside of patterns as of the moment. Since this feature of libmodplug generally did not sound very good anyway, and most of the time '''jump mod order''' is used instead, we considered it a fair sacrifice to fix other sound engine bugs caused by libmodplug and to restore GDM functionality.


''Restore GDM functionality? What??''
''Restore GDM functionality? What??''
Line 64: Line 59:
=== Utilities ===
=== Utilities ===


''I need to port my game back to MegaZeux 2.84X. What happened to downver?"
''I'm using MegaZeux 2.90X need to port my game back to MegaZeux 2.84X. What happened to downver?"


The downver utility has been temporarily removed due to the complexity of the new world format. You can export your world to the 2.84X format using Alt+X from the MegaZeux editor.
The downver utility was temporarily removed from 2.90X releases due to the complexity of the new world format. You can export your world to the 2.84X format using Alt+X from the MegaZeux editor. The downver utility has been readded as of 2.91.





Revision as of 22:57, 5 September 2018

All Versions

MegaZeux Bugs

The new MegaZeux release has a bug that wasn't in the last release!

Please use the MegaZeux bug tracker to report the new bug. If MegaZeux crashes, or doesn't work at all, cross post the issue you're having in the new version release thread as well.


I've found a bug and I want to make a good quality report. MegaZeux crashes and I've found a way to reproduce it, but I want to pass this on to developers in the best way possible. How can I achieve this?

An excellent question! As of 2.82b, MegaZeux uses something called GNU debuglink to provide optional side-by-side debug packages which you can install (together with GDB) to produce something called a backtrace which is very useful to developers. This supplants an earlier project ajs's called the "MZX Debugging Package", but its goals are the same.

  • Grab the symbols for your version (one of windows-x86, windows-x64, ubuntu i386 or ubuntu amd64 at the moment). For windows, these packages are called e.g. mzx283-x86.debug.zip
  • Extract the package to the same directory (or install the Ubuntu -dbg package).
  • Download GDB if you don't already have it and extract it into the MZX directory with your release and debug symbols.
  • Drag "megazeux.exe" over gdb.exe.
  • Type "r" and press return.
  • Reproduce the crash context.
  • Backtrace with "bt full" and copy/paste the results to a bug report thread.


Windows 10

When I press U or F7 from the titlescreen, nothing happens. When I press enter, the option for the updater isn't even in the list! What's wrong?

OR

When I press U or F7 from the titlescreen, I get an error message telling me the updater failed to initialize and to check folder permissions.


For some reason, the updater failed to initialize. This is probably because MegaZeux requires folder permissions it doesn't have or is located at a path that is causing issues. Do the following:

1) When updating MZX, make sure you're running MegaZeux.exe (not MZXRun.exe), and

2) Do not install MZX in a system folder like "Program Files" or "Program Files (x86)". If MegaZeux is in one of the Program Files folders or is inside of a folder that uses Unicode characters, move the MegaZeux folder elsewhere. Ensure that your account has permissions to write to the folder MegaZeux is in, and then attempt to update MegaZeux again. OR:

3) As a last resort if you can't update, run the MegaZeux.exe executable as an administrator (right click and select "Run as administrator") and attempt to update. NOTE: It is not necessary to run MegaZeux.exe normally this way.

MegaZeux 2.90X

Sound

Restore GDM functionality? What??

The module library used in DOS versions supported GDMs, which are a container for S3Ms. During the switch to the cross-platform port, MZX lost the ability to play GDMs because its new module library (libmodplug) did not support them. Instead, a program called gdm2s3m was included to convert them automatically to a format which libmodplug could read, and the extension was removed from the allowed mod extensions list in the editor. The new library in 2.90b+, libxmp, natively supports GDMs, making this conversion unnecessary. The GDM format has been readded to the allowed mod extensions list.


Editor

In the palette editor, when I edit a value, change it back, and then switch between colorspaces, why are there different values in the other colorspace?

This is because the color spaces don't perfectly map between each other. When changes are made in one colorspace, they must be converted to RGB (if applicable) and then the RGB values must be converted to the other colorspaces. Because of the complexity in these conversions (particularly CIELAB), alternate values may arise. This difference can be dramatic with CIELAB, which contains colors outside of the RGB (and visible light!) spectrums called imaginary colors. When values are selected in these ranges, they will be converted to various (usually bright and saturated) colors with RGB values that correspond to a completely different position in the CIELAB colorspace. For technical reasons, these colors can't really be bounded out of the selection range.


Utilities

I'm using MegaZeux 2.90X need to port my game back to MegaZeux 2.84X. What happened to downver?"

The downver utility was temporarily removed from 2.90X releases due to the complexity of the new world format. You can export your world to the 2.84X format using Alt+X from the MegaZeux editor. The downver utility has been readded as of 2.91.


Why doesn't checkres work with 2.90X worlds?

The copy of checkres released with MegaZeux 2.90 was not compatible with 2.90X worlds due to the format change. Support for the new world format has been added in 2.90b.


What is "ccv"?

ccv is a lightweight and powerful utility created by Lancer-X that can convert BMP image files into charsets and/or MZMs. This program was originally released standalone in February 2013 to replace older conversion utilities, and it has been relicensed so it can be distributed with MZX. Run ccv from the command line without any arguments for more details.

MegaZeux 2.84c

I set the undo history size for the char editor to N but I can only undo N-1 times! WTF? MegaZeux sucks!

The undo history size includes the current frame, since you can redo history too.


Tab keeps centering the editor viewport! I liked it better when I could easily ruin things with ALT+Arrows in draw mode! Why did you declaw my favorite way of destroying hours of robot code without realizing it?

You can disable it with the config option 'editor_tab_focuses_view'.


I don't like the new debugger! It is too awe inspiring for me to use as it lets me access robot local variables! How do I go back to the less amazing, older version?

You can't. Might want to stick with 2.84b!


What's this mumbo jumbo about saving board defaults?

MegaZeux now loads an editor config file specific to each world called [world name].editor.cnf. You may put custom config here that will only affect that world, with the exception of extended macros, which will always override global extended macros and will carry between worlds. The "set as default" buttons in the I and ALT+P dialogs save a block of board default config options to the world.editor.cnf file. These options take effect immediately, but the config file isn't reloaded unless you change worlds. You may edit the contents in the editor-generated section but it is advised that you don't edit the comments themselves or add your own options between the comments, as when you resave the defaults, the editor-generated section is overwritten.


Wow! Counter creation and lookups are faster now, especially in the upper range. I hate this! How can I go back to it taking 12 minutes to create a million counters?

There is no way to disable this in the compiled distributions. You may download the source code for MegaZeux 2.84c and check out the compiling and Git sections of the Wiki for help with compiling the source. Running config.sh will show several compile options, including one to turn off counter hash tables.


MegaZeux 2.83

The new 'glsl' video_output option doesn't work, or the quality is bad!

The new renderer will only work on video cards capable of OpenGL 2.0 or greater. There are known quality issues with glsl on some ATI Radeon cards (X1300) that will be looked into ASAP. Modern cards like HD Radeons should not be affected.