Code Monkey home page Code Monkey logo

rom-properties's People

Contributors

amnesia1000 avatar ccawley2011 avatar clownacy avatar dankrank avatar ecumber avatar gerbilsoft avatar jhynjhiruu avatar mariomasta64 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rom-properties's Issues

GCN/Wii: Add support for more disc image formats.

Issue by GerbilSoft
Tuesday Sep 20, 2016 at 14:47 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/19


There's some other formats that aren't used as much as GCM ("ISO") and WBFS, as detailed on http://wit.wiimm.de/info/iso-images.html :

  • CISO: A sparse format similar to WBFS, except with a much saner header format. It's designed for use as an image format rather than a hard drive format. Supported by Dolphin Emulator.
  • GCZ: Similar to CISO, but uses gzip compression. Supported by Dolphin Emulator.
  • WDF: A significantly more complex sparse format than either CISO or WBFS. Not seen too often.
  • WIA: An archival format that completely reoranizes the disc image. Among other things, it has its own partition layout, decrypts the Wii partitions, and uses LZMA compression. Probably won't be supported anytime soon.

Implement IThumbnailProvider for proper alpha transparency on Windows Vista and later.

Issue by GerbilSoft
Thursday Sep 08, 2016 at 14:33 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/13


The Win32 version of rom-properties currently supports the IExtractImage COM interface, which is supported on Windows XP (and earlier versions). However, IExtractImage doesn't properly support alpha transparency, so we have to use GDI+ to composite the image onto a white background.

IThumbnailProvider does properly support alpha transparency, so we should provide that interface so Windows Vista and later can make use of the alpha-transparent thumbnail.

NOTE: IThumbnailProvider will be added in addition to IExtractImage. This ensures compatibility with Windows XP.

[TRACKER] rom-properties-0.9 release

Issue by GerbilSoft
Sunday Jan 08, 2017 at 20:44 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/40


Meta issue for 0.9. I'd like to get a release out sometime this month, so let's consolidate everything here.

  • #5: Windows XP: Thumbnail downloads cause Explorer to freeze.
  • #8: Virtual Boy ROM Support
  • #18: Wii: Show "used size" for partitions.
  • #23: PlayStationSave: 16x16 icon shenanigans.
  • #24: [Suggestion] Support NES via iNES headers
  • #26: RomFields: Add age ratings type, and support DSi age ratings.
  • #27: IExtractIcon only uses icon from the first file in VC14 builds.
  • #28: ROM Properties tab uses mix of bitmapped and aliased fonts on Windows
  • #30: Include support for Mega Drive ROMs with .md extension
  • #32: Use libpng on all operating systems.
  • #33: amiibo bin support
  • #34: IExtractIcon: Windows XP doesn't like non-square icons.
  • #35: Windows: Handle conflicting shell extensions for e.g. .bin
  • #36: Add APNG export; use numer/denom for icon delay.
  • #39: GTK+: Add thumbnailing support.

All other enhancements should be postponed until 1.0 or later.

rp_image subclasses with factory class

Issue by GerbilSoft
Thursday Sep 01, 2016 at 23:16 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/4


Currently, in order to use an rp_image with Qt or Windows, it has to be converted to QImage or HBITMAP. This conversion requires a deep copy, which is unnecessary.

To eliminate this deep copy, rp_image should be refactored into an interface, IRpImage. Each implementation can provide non-virtual accessors to the internal image, and dynamic_cast<> can be used to convert between IRpImage and implementation-specific versions.

An RpImageFactory class will be needed in order to register the IRpImage subclass and create new instances.

RomFields: Add age ratings type, and support DSi age ratings.

Issue by GerbilSoft
Sunday Oct 23, 2016 at 01:57 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/26


GameCube is currently the only RomData implementation that supports age ratings (for Wii games), and it presents the age ratings using a string. DSi ROM headers also have an age rating, and they should be presented.

In order to allow display of the actual age rating logos instead of just a string, the ratings should be changed to a new type (RFT_AGERATING), and the values should be passed in a struct.

In addition, Wii ratings have a flag for "online interactions not rated by the ESRB". The high bits of the age ratings should be used for similar things.

Change ascii_to_rp_string() to latin1_to_rp_string(); use it for Nintendo DS titles.

Issue by GerbilSoft
Monday Sep 05, 2016 at 16:46 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/9


DMG uses ascii_to_rp_string() for the game title; NintendoDS uses cp1252_sjis_to_rp_string(). I'm pretty sure this field is just ASCII, though some unlicensed titles have characters >= 0x80 here. (NintendoDS has additional title fields that aren't currently displayed.)

Use Latin1 so we can at least keep the same performance as ASCII but not fail on "invalid" characters.

See commit f64f3a9.

Win32: Update all user profiles on DllRegisterServer().

Issue by GerbilSoft
Monday Oct 17, 2016 at 04:06 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/25


As per issue #20 and commit bfdf1e8, HKEY_USERS doesn't actually have all profiles on the system; it only has loaded profiles, i.e. for system and logged-on users. Any other users won't show up here.

This isn't a serious issue, considering most home systems aren't multi-user, but I should look into fixing it later. Rerunning REGSVR32 as the other users will "fix" it.

http://windowsitpro.com/scripting/how-can-i-update-all-profiles-machine-even-if-theyre-not-currently-loaded

Add support for multiple image sizes. (external images)

Issue by GerbilSoft
Monday Feb 27, 2017 at 01:22 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/50


The feature/multiple-image-sizes branch adds a supportedImageSizes() function to RomData. This is currently used by GameCube and NintendoDS to get the list of image sizes. However, they still default to the "default" image size.

Add a sorting function that takes the available image sizes from supportedImageSizes() as well as the requested thumbnail size, and then returns the desired image size.

For GameTDB, there shouldn't be any missing sizes for a given system and media type, since all sizes are automatically generated.

The user should also be able to disable "high resolution" downloads to save bandwidth, but that will be later.

Windows: Handle conflicting shell extensions for e.g. .bin

Issue by GerbilSoft
Sunday Nov 20, 2016 at 04:28 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/35


When registering the shell extension, we should check if something that isn't rom-properties is already registered. If there is something registered:

  • Save the existing registration information in a separate key.
  • If rom-properties attempts to process a file and fails, but the previous registration backup is available, attempt to use that shell extension.
  • Revert to the old registration information when rom-properties is unregistered.

Once this is done, we can register as a handler for .bin, .vb, etc. on Windows.

IExtractIcon: Windows XP doesn't like non-square icons.

Issue by GerbilSoft
Sunday Nov 20, 2016 at 00:50 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/34


Windows will automatically stretch non-square icons to make them square, which makes them have a screwy aspect ratio. This isn't noticeable in the master branch right now, but the new amiibo code downloads thumbnails from http://amiibo.life/, and these thumbnails aren't necessarily square.

Standard thumbnails (IExtractImage) do render with the correct aspect ratio.

Need to test this on Windows 7.

amiibo bin support

Issue by cheatfreak47
Monday Nov 14, 2016 at 22:51 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/33


Some info about amiibo bin files

  • have a .bin file extension
  • usually 540 bytes as they are raw copies of the content of an amiibo figure, card, or plush.
  • they have unique ID at 0x54 to 0x5B
  • the unique ID can be used to identify amiibo fairly easily
  • apparently http://amiibo.life/ supports the lookup via the amiibo's NFC id, which could be used for pulling images for icons or something probably. (format http://amiibo.life/nfc/xxxxxxxx-xxxxxxxx/)
  • the rewritable portions of the amiibo are encrypted, keys for this are out there, usually called key_retail.bin.

if you need the key retail binary or any actual dumps of amiibo contact me somehow, I'm always in #x-hax on BadnikZONE irc. :P

I was recommending the following info be pulled for the figures for the rom-properties tab

  • amiibo Information
    • amiibo name (so what figure/card is it, if the figure or card is in a series, what number it is as well, pull from amiibo.life if possible I guess?)
    • ID (16 character id mentioned above)
    • Known, Unknown, or Tampered With (maybe link to the amiibo.life page if it's known, if it's unknown but valid show unknown, if it's ID has bits that don't work together (like series and figure clashing or something) then report it as Tampered or Invalid
    • Game Series (pulled from bits 1-3 of the ID)
    • Character (pulled bits 3-4 of the ID)
    • Variation (pulled from ID bit 5 and 6)
    • Type (Figure, Card or Plush derived from bit 7 and 8 of the ID)
    • Amiibo Series (pulled from bits 13 - 14)
  • Save File Data (this will require a decryption key file called key_retail.bin)
    • Amiibo Name
    • Mii Owner Name
    • Game the Save Data is for it it exists

Some useful links for possibly more info on amiibo bins:

spread sheet breaking down the ID format a bit, and giving examples. Also contains all known IDs for amiibo bins that are out there.
https://docs.google.com/spreadsheets/d/19E7pMhKN6x583uB6bWVBeaTMyBPtEAC-Bk59Y6cfgxA/edit#gid=2077491727

the wiki article explaining in detail how amiibo bins are structured, in high detail
http://3dbrew.org/wiki/Amiibo

A source for an app that probably uses the ID to figure out data on the amiibo, might be helpful to look at when making your own code to do this. It also decrypts and encrypts amiibo I think so that might be good to look at too.
https://github.com/HiddenRambler/TagMo/

Another tool
https://github.com/socram8888/amiitool

Rework RomFields to use dynamic fields.

Issue by GerbilSoft
Tuesday Jan 10, 2017 at 06:14 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/41


Currently, the fields are hard-coded on class initialization, and data must be added in a corresponding order. This makes it painful to support similar formats that share some fields but not others, e.g. GameCube and Wii, since the unsupported fields need to be blanked out.

Switch over to a system where field descriptions and data are added at the same time. This might use some more memory and CPU cycles due to string copying, but it will significantly reduce cognitive overhead when adding new fields to RomData classes.

PlayStationSave: 16x16 icon shenanigans.

Issue by GerbilSoft
Sunday Oct 16, 2016 at 04:59 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/23


From the feature/PlayStation.save-file branch:

  • Windows seems to screw up the top half of the icon if it's 16x16. Scaling it to 32x32 fixes this.
  • Spyro icon has a black background in Windows Explorer's status bar on Windows 7 (and when viewing small enough icons), but not in File Properties. May need forced ARGB32 conversion for icons with any transparency.

The PS1 format isn't as easy as I thought it would be, so it'll be pushed back to 0.9.

EDIT: Maybe it'd be easier to just convert all bitmaps and icons to ARGB32 (or premultiplied ARGB32) before rendering on Windows...

Wii: Show "used size" for partitions.

Issue by GerbilSoft
Monday Sep 19, 2016 at 21:17 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/18


Currently, the partition table shows the total partition sizes. Usually only a portion of the game partition is in use, so we should show how much is actually used.

TODO: What method do we want to use:

  • WBFS: Count how many 2 MB blocks are actually allocated.
  • FST: Add up the file sizes of everything in the FST, then add the FST+DOL area.

Enable stack smashing protection by default.

Issue by GerbilSoft
Monday Sep 12, 2016 at 17:18 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/14


Older versions of VBA-M are vulnerable to a stack smashing vulnerability by loading a specially crafted GameShark code file. (https://www.youtube.com/watch?v=L-L8qWpd_74) To prevent this from happening with rom-properties, we should enable stack smashing protection.

gcc-4.1 introduced -fstack-protector and -fstack-protector-all. The former doesn't help much, and the latter adds significant overhead. gcc-4.9 introduced -fstack-protector-strong, which is a good compromise between the two. We should probably select -fstack-protector-strong if it's available, and -fstack-protector-all if it isn't.

MSVC has had /GS for quite a while, and it has been enabled by default since MSVC 2005, so we don't have to do anything here.

NES: TNES extensions, submappers, other fields

Issue by GerbilSoft
Saturday Jan 21, 2017 at 02:37 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/44


The NES handler is missing support for the following:

  • File extensions for TNES files. These are numeric, so I'm not sure if it's a good idea to add file associations for these.
  • Submappers. There's an initial database, but no decoding yet. I don't have any ROMs that have NES 2.0 headers, so I can't test this easily.
  • Other fields in the iNES and NES 2.0 headers that aren't supported yet.

Display a system logo and game title at the top of the property page.

Issue by GerbilSoft
Friday Sep 02, 2016 at 03:13 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/6


The property page should show a system logo, and in cases where a banner/icon and title are available, those should be displayed next to the logo.

In addition, these should be localizable:

  • For MegaDrive, if a game's region code is e.g. Japan only, then the logo should be the Japanese Mega Drive logo. If the game is region-free, then it should use the logo that most closely matches the system's locale, e.g. JP for Japan, South Korea, and some other Asian countries; US for the Americas; and PAL for basically everywhere else.
  • For NintendoDS, the game's icon and localized title should be displayed. Up to 8 titles are available in the ROM header, so the one that matches the system's region should be used. (If none are available, then use the English title.)
  • For games with multiple localized titles, a spinbox should be added to allow the user to cycle between the different titles.

GTK+: Add thumbnailing support.

Issue by GerbilSoft
Sunday Jan 08, 2017 at 20:35 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/39


Both XFCE and GNOME use thumbnail executables, as opposed to KDE which uses a shared library. What I'm planning on doing is adding a simple function call to the GTK+ (and KDE) plugins that can be called by a stub thumbnail executable. The function call will basically handle all the thumbnailing. This eliminates the need to link libromdata into the thumbnailer.

TODO: Maybe libromdata should be a shared library, but this would require a stable ABI.

Wii: Parse the update partition to get the system update version.

Issue by GerbilSoft
Friday Sep 02, 2016 at 05:04 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/7


If an update partition is present in the disc image, we should parse it to find the system menu version. This can be done by looking through the FST for a file named RVL-WiiSystemmenu-vXXX.wad, where XXX is the decimal version number. This can be converted to e.g. "4.3U" using a lookup table.

NOTE: This requires decryption using the Wii common key. I'm probably going to use the Nettle library on Linux and CryptoAPI on Windows. If I'm feeling particularly bored, I might also add support for CryptoAPI NG, which supports AES-NI instructions on Windows 7. (Nettle supports AES-NI as of version 3.1.)

I probably won't include the encryption key with the DLL, but will make it easy enough to add with a configuration file.

Write a test suite for GcnFst.

Issue by GerbilSoft
Friday Sep 16, 2016 at 19:25 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/17


GcnFst is a bit hackish due to the way the GameCube file system is set up, so a test suite would be a good idea.

Requirements:

  • Collection of fst.bin files from all sorts of GameCube and Wii games. (Should be legal to redistribute, since it's basically just a binary representation of a directory structure.)
  • Simple test program to use GcnFst to parse the fst.bin and print the directory tree as text.
  • Google Test program to compare the two at runtime.

The fst.bin files will be stored in a Zip archive, since they're usually small. The comparison text files will probably also be stored in a Zip archive, since those are likely to be small as well (though larger than fst.bin because it'll be printing full paths).

Dependencies:

  • Add MiniZip to extlib/. This will be used on all systems regardless of whether or not a system MiniZip is installed, though it will use the extlib/ version of zlib on Windows and the system zlib everywhere else.

Later: Add support for american-fuzzy-lop to fuzz the parser. (See issue #15.)

Touhou Replay file support

Issue by DankRank
Monday Jan 16, 2017 at 15:31 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/pull/42


This PR is not ready for merging yet.

Touhou is a series of danmaku (bullet-hell) games. This PR adds support for replay (.rpy) files, which contain information such as: author of replay, date of recording, total score, difficulty (aka rank), game mode (normal, extra, practice), etc.

There will be detailed info for th06 through th08, as those are reverse engineered already (especially th06). Others will have less detailed support.


DankRank included the following code: https://github.com/GerbilSoft/rom-properties.reworking/pull/42/commits

Use pngcheck to verify downloaded PNG images.

Issue by GerbilSoft
Thursday Sep 01, 2016 at 23:12 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/3


As a followup to issue #2, we should use pngcheck to validate downloaded PNG images before using them. PNG (and other image formats) have been the subject of multiple arbitrary code exploits in the past, so validation will help to prevent that.

pngcheck: http://www.libpng.org/pub/png/apps/pngcheck.html

Note that pngcheck is written as an application, not a library. It will need significant refactoring to be usable as a generic library function.

IExtractIcon only uses icon from the first file in VC14 builds.

Issue by GerbilSoft
Monday Oct 24, 2016 at 04:20 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/27


Something is terribly broken in VC14 builds. If a directory contains multiple ROMs with images (e.g. DS ROMs), the first one is used for all icons. On Windows 7, this shows up in List view. (Larger icons work correctly because they use IThumbnailProvider.)

Interestingly, this does NOT happen with VC10 builds!

Windows: Use premultiplied alpha for HBITMAP.

Issue by GerbilSoft
Saturday Oct 15, 2016 at 07:31 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/22


While most parts of Windows seem to be fine with the non-premultiplied alpha, there's noticeable color fringing on SSBM save icons in Windows 7's file browser (when the save file is contained within another folder). This color fringing also appears when using AlphaBlend() in the property sheet.

As a workaround for now, I'm going to composite the alpha-transparent images onto the window background color. DrawThemeBackground() might work as well, but some parts should use premultiplied alpha instead.

Add APNG export; use numer/denom for icon delay.

Issue by GerbilSoft
Friday Jan 06, 2017 at 03:47 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/36


Currently, a PNG exporter is available to export single frames. An APNG exporter should be added as well. For DLL builds, it should use dlsym() and/or GetProcAddress() to dynamically load the APNG symbols; if they aren't present, then an error message should be displayed.

iconAnimData currently stores delays in milliseconds. PNG uses numer/denom, which allows more accurate delay handling for e.g. ntscframes. We should store numer/denom in iconAnimData as well as milliseconds.

Detect specific system for Mega Drive ROMs.

Issue by GerbilSoft
Wednesday Sep 07, 2016 at 19:31 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/11


Currently, MD, 32X, and Pico ROMs (and Mega CD disc images) are all handled as MD ROMs. The specific system should be detected and the appropriate logo displayed. (Logo depends on #6.)

In addition, Mega CD has an extra header that has a few unknown flags, information about the Main CPU and Sub CPU initial programs, and the build date. The build date should be parsed and shown in the localized date format. The other information can be added later if/when I add an "Entry Points" tab.

Use std::unique_ptr instead of std::auto_ptr.

Issue by GerbilSoft
Wednesday Sep 07, 2016 at 18:54 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/10


std::unique_ptr is supported as of gcc-4.4 and MSVC 2010, so we should use it instead of std::auto_ptr.

Besides being a much better class and supporting new[]/delete[], it will also get rid of a ton of deprecation warnings that gcc prints, since std::auto_ptr is marked as deprecated.

Also, unique_ptr has operator bool, so we can use something like if (!myUniquePtr) instead of if (!myUniquePtr.get()).

ROM Properties tab uses mix of bitmapped and aliased fonts on Windows

Issue by vaguerant
Monday Oct 24, 2016 at 07:04 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/28


Windows uses some font with bitmapped glyphs at small font sizes (probably Arial?) by default in Properties dialogues, while rom-properties prefers to use an outlines-only, non-bitmapped font for its monospace text output on the ROM Properties tab. See the Entry Point field in this image.

aliased

This is probably not as noticeable/noticeable at all on systems with ClearType enabled (the default on any recent Windows) where the variable-width font will also look aliased, so this is likely a niche issue that only concerns systems where ClearType is disabled.

For reference, monospace, bitmapped fonts that are bundled with most Windows releases include Courier, Courier New, Fixedsys, Lucida Console and MS Gothic. Courier New is probably the one most commonly used/expected by end users, from this list, but I doubt any would be particularly jarring.

Use activation contexts for Common Controls 6 in the MinGW(-w64) build.

Issue by GerbilSoft
Wednesday Sep 07, 2016 at 19:42 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/12


MinGW and MinGW-w64 don't have isolation-aware headers, which makes it impossible to build an isolation-aware component by simply adding #define ISOLATION_AWARE_ENABLED 1 to stdafx.h (and adding an appropriate manifest file). MSDN lists a way to manually use activation contexts by using a wrapper class in all possible entry points, e.g. exported functions and COM interface functions.

If this isn't done correctly, then the properties page will show up using unthemed controls on Windows XP. (Windows 7 themes the controls anyway; not sure about Windows Vista.)

MSDN reference: https://msdn.microsoft.com/en-us/library/windows/desktop/aa375197(v=vs.85).aspx

Win32 property sheets don't work when a file extension has associations set

Issue by DankRank
Monday Sep 26, 2016 at 21:46 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/20


So I have had three file associations set for .gb and .gbc:

  • NesBox (horrible appy apped app emulator)
  • mednafen (default. set manually through "look for another app on this pc" thingy)
  • rom-properties

The property sheet simply didn't show up.

Here's what I tried doing:

  1. removed everything but rom-properties from HKCR (for both .gb and .gbc)
  2. removed everything but rom-properties from HKCU[...]\FileExts (only for .gbc tho)

Results:

  • .gb is still associated with all three as usual. That is, removing stuff from HKCR did nothing.
  • .gbc is not associated with mednafen anymore. It doesn't have a default association, but the properties sheet still doesn't show up, and NesBox is still in the list (probably because appy apps have their own way of setting associations)

There's a possibility that the problem is elsewhere, but I can't test it (yet) because all the supported extensions are associated on my machine. I'll have to create a test extension to see if that's the case.
Also, icons/thumbnails might also not work, I haven't really checked.

Screenshots:
.gb
.gbc

Add ability to disable specific features to the config file

Issue by DankRank
Monday Sep 26, 2016 at 22:05 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/21


Examples of what such config options could be:

  • disable icons
  • disable thumbnails
  • disable external images
  • disable internal images
  • disable property sheets
  • disable specific systems
  • disable specific extensions
  • enable additional extensions

Last two are up for discussion, because they might be impossible to implement without changing system configuration (e.g. registry).

Age ratings: Convert numbers to names for ESRB and CERO; add DSi support

Issue by GerbilSoft
Monday Oct 24, 2016 at 19:08 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/31


The age ratings on Wii discs are numeric, so they should be converted to the appropriate rating based on ESRB, CERO, etc.

Reference: https://gist.github.com/Steveice10/08e75915d9993ec4efe2

A new data type should be added that allows the numeric values to be passed to the UI for translation and/or image substitution.

[TRACKER] rom-properties-0.8 release

Issue by GerbilSoft
Tuesday Sep 13, 2016 at 19:58 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/16


The issue tracker is getting filled with issues for "later", so here's a meta-issue for everything blocking the first release, 0.8 "Beta 1".

  • #2: Implement PNG image loading in libromdata.
  • #3: Use pngcheck to verify downloaded PNG images.
  • #4: rp_image subclasses with factory class.
  • #7: Wii: Parse the update partition to get the system update version.
  • #9: Change ascii_to_rp_string() to latin1_to_rp_string(); use it for Nintendo DS titles.
  • #10: Use std::unique_ptr instead of std::auto_ptr.
  • #11: Detect specific system for Mega Drive ROMs.
  • #13: Implement IThumbnailProvider for proper alpha transparency on Windows Vista and later.
  • #14: Enable stack smashing protection by default.
  • #17: Write a test suite for GcnFst.
  • #20: Win32 property sheets don't work when a file extension has associations set.

All other enhancements should be postponed until 0.9 or later.

Use libpng on all operating systems.

Issue by GerbilSoft
Monday Oct 31, 2016 at 18:59 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/32


Currently, rom-properties uses GDI+ to load PNG images on Windows. This has the advantage of a smaller code size, but has caused tons of problems:

  • GDI+ has weird quirks when loading certain types of images.
  • GDI+ doesn't handle 256-color+alpha images that well.
  • GDI+ doesn't support APNG.

These can all be solved by adding an internal copy of libpng, similar to some of my other projects. Note that I'll have to include a bundled version of libpng in the Ubuntu builds, since Ubuntu's libpng is 1.2.x and doesn't have APNG support.

The GDI+ rp_image backend will still be used on Windows. It's just the PNG handling that's being switched.

rpcli: Control codes are not escaped.

Issue by GerbilSoft
Sunday Jan 08, 2017 at 01:30 GMT
Originally opened as https://github.com/GerbilSoft/rom-properties.reworking/issues/38


Control codes in strings aren't being escaped or formatted properly. This results in something like the following for Nintendo DS ROMs:

 Reading file 'Sonic Colors.nds'...
-- Nintendo DS rom detected
Title:        'SONICCOLORS'
Full Title:   'SONIC COLORS
SEGA'
Game ID:      'BXSE8P'
Publisher:    'Sega Japan'
Revision:     '00'
Hardware:      [*] Nintendo DS [ ] Nintendo DSi
DS Region:     [*] Region-Free [ ] South Korea [ ] China
-- Internal icon is present (use -x0 to extract)
   Format : CI8
   Size   : 32 x 32

Ideally, the title should be formatted such that the second line is aligned to the first line (or maybe aligned to after the apostrophe).

With JSON, C-style escape characters are used: \b, \f, \n, \r, \t, \", \. This appears to be implemented already, though in a non-optimal fashion.

Tagging @DankRank.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.