New MegaZeux Release FAQ

From MZXWiki
Jump to navigation Jump to search

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

AVG/Avast/McAfee/whatever says MegaZeux is infected with "DRep"!

"DRep" is short for Domain Reputation and is not a real virus. Some anti-virus programs will block downloads from DMZX because, according to them, executable files from DMZX are not "trustworthy". The intent here is to force developers to pay to use more "reputable" file hosts and/or for digital signing. If switching to a more reputable anti-virus provider isn't an option, all MZX builds are always mirrored from the official MegaZeux GitHub repository.


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

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, just download the latest release from DMZX.

In any case, do NOT run MZX as an administrator. There's really no need for it, and while MZX shouldn't delete your MBR or anything, exploitable bugs may exist in older MZX releases that could make it access files it isn't supposed to.


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.