Life in Mirality
16 October 2018, 14:25:39 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: MAX Codelist Manager v2.3 released!
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Some Suggestions/Issues  (Read 12263 times)
 
0 Members and 1 Guest are viewing this topic.
steelvulture
Lurker
*

*
Offline Offline

United States United States

Posts: 9


View Profile
« on: 28 November 2008, 09:53:49 »

I have been using Max Codelist Manager for a few years now and think it’s great.  Since using version 2, there were a couple things that I noticed.  Here are some suggestions/issues that I encountered.  Most deal with custom codes and custom codelists.

1.  A simple import/export window where you would be able to just copy and paste codes.  I use Omniconvert, so it would be something like that. Simply paste codes where the first line would be a string that is the name of the code, and each code group for that particular code would follow on successive lines until a blank line.  The blank line would be used to separate codes.  Inputting codes would need to follow this format, and the export function would take existing codes and output it in a simple list using the above format like in Omniconvert.

The primary reason why I would like this is because it would definitely help in using Max Codelist Manager and Omniconvert together.  No need to combine the two, but just have a simpler way of working codes between the two would be nice.  For instance, highlighting and copying the codes from the CodeJunkies website and pasting directly into Omniconvert does not work well.  Some formatting is needed in order to get the codes to work correctly in Omniconvert.  The primary reason to do this is to modify existing codes.  For example, the .hack//Quarantine codes are listed as just one huge list, and empty codes are used to help separate and organize the codes.  Omniconvert contains a function “Make Organizers” that can create folders where for the input, a text line followed by a blank line is considered a folder, and the following codes are considered a part of that folder until another text line is followed by a blank line.  In the output, the text line that is followed by a blank line is given a code to make it a folder.  Copying the codes from the website is a pain since it needs to be formatted further, and there is no simple listing of codes from Max Codelist Manager.  A simple way of entering codes is especially helpful since CodeJunkies do not appear to be producing many codes for newer games.

2.  The above example brings me to another issue.  In your program, codes with no code lines/empty codes are considered errors.  However, CodeJunkies appears to use them here and there.  Instead of making them complete errors (requiring some code lines), just make them warnings so that the user would know that there are no codelines but still have the option of making an empty code.

This error also causes an annoying issue.  Every time I click on a game that has empty codes, I get a window called “code processing errors” that list all the empty codes.  Of course, I get a huge list when opening .hack//Quaratine.

3.  Another issue that I come across with adding new codes is a code id conflict.  Sometimes the codes I add conflict with other codes in a different game, but I can still add them just fine if that conflicting game is not in the active list.  However, if the game is a part of the active codelist, I can’t add the code.  I understand preventing adding conflicting codes if they were in the same game, but why if they are two completely different games?  This is the primary issue that hampers the ability to add new codes and new games.

For example, when I was trying to modify the .hack//Quarantine codes, Omniconvert would sometimes create codes with conflicting code ids.  I was testing this when trying to make “Infinite Foods” into a folder.  For the exact same code (“Infinite Foods”), one set of codes would cause a conflict with a code not in the active list, then convert again in Omniconvert and the new code would have no conflicts.  Another time, Omniconvert created a code (for "Infinite Foods" again) that conflicted with a code from a different game that was on the active list.  Unless there’s a particular reason why, it would be nice that conflicting codes between different games wouldn’t be so strict so it would be less troublesome to add new games and codes.

4.  Finally, I think it would be better to have the favorites list in the main window be sorted by alphabetical order rather than when a particular game was added to the list.  And since the codes from the custom list take priority when exporting, it would be also be nice to have the names from the custom list take priority in the favorites list.

Thanks for such a great program and keep it up.
Logged
Miral
Administrator
*****


Offline Offline

New Zealand New Zealand

Posts: 61


View Profile WWW
« Reply #1 on: 28 November 2008, 12:13:36 »

1.  A simple import/export window where you would be able to just copy and paste codes.  I use Omniconvert, so it would be something like that. Simply paste codes where the first line would be a string that is the name of the code, and each code group for that particular code would follow on successive lines until a blank line.  The blank line would be used to separate codes.  Inputting codes would need to follow this format, and the export function would take existing codes and output it in a simple list using the above format like in Omniconvert.
MCM does already provide a way to export an entire list (via the Export button in the Active Codelist group); you can choose to export it as plain text or HTML, among other things.

There is currently no mass import feature in MCM.  I've considered adding it a few times, but formatting differences become a problem (as there is no standard way of representing codes in plain text), and they'd be harder to validate properly that way.  I don't think it's too much of an issue to import them one at a time.

2.  The above example brings me to another issue.  In your program, codes with no code lines/empty codes are considered errors.  However, CodeJunkies appears to use them here and there.  Instead of making them complete errors (requiring some code lines), just make them warnings so that the user would know that there are no codelines but still have the option of making an empty code.
Completely empty codes are utterly illegal; no compromises are possible there.  MAX codes require at least one line that describes the code itself -- without that the code doesn't really exist.  On the other hand, single-line codes don't actually do anything (unless they're folder codes), but they're legal and valid in both MCM and ARMAX (ARMAX displays them in green, as a kind of separator I guess).

Any program that is generating such empty codes has a bug.  (Think about it -- without any code lines you couldn't enter it into the ARMAX manually either.)

3.  Another issue that I come across with adding new codes is a code id conflict.  Sometimes the codes I add conflict with other codes in a different game, but I can still add them just fine if that conflicting game is not in the active list.  However, if the game is a part of the active codelist, I can’t add the code.  I understand preventing adding conflicting codes if they were in the same game, but why if they are two completely different games?  This is the primary issue that hampers the ability to add new codes and new games.
All of the standard codes have unique ids regardless of which game they belong to.  I haven't done enough testing to confirm whether ARMAX itself cares whether the codelist contains duplicate ids (and there are certainly ways that it could store information about the codes that would make it care a great deal), so for the moment I'm trying to play it safe.  Why can't you get the conversion program to choose ids that are safely outside of the range of any existing codes?  Again, if you can't tell it to do that, then it's a bug.

4.  Finally, I think it would be better to have the favorites list in the main window be sorted by alphabetical order rather than when a particular game was added to the list.  And since the codes from the custom list take priority when exporting, it would be also be nice to have the names from the custom list take priority in the favorites list.
Alphabetic sorting is a good idea; I believe I've already done that in an as-yet-unreleased version.  The names are also a good point; for the moment you can work around it by removing the game and re-adding it from the custom list, as the name is "frozen" when the game is added to the favourites.
Logged
steelvulture
Lurker
*

*
Offline Offline

United States United States

Posts: 9


View Profile
« Reply #2 on: 28 November 2008, 14:14:06 »

Quote
MCM does already provide a way to export an entire list (via the Export button in the Active Codelist group); you can choose to export it as plain text or HTML, among other things.

There is currently no mass import feature in MCM.  I've considered adding it a few times, but formatting differences become a problem (as there is no standard way of representing codes in plain text), and they'd be harder to validate properly that way.  I don't think it's too much of an issue to import them one at a time.
Then maybe refine the export function to be able to just export a list from a single game.  With more games in the custom codelist, the exported list gets harder to deal with.

You already appear to have your own standard when you export the codelist to a text file (which is pretty much the same as how Omniconvert handles codes).  Why not use that as the standard for your program?  It’s your program, so even if there is no universal standard, you can use whatever you want as the standard for your program.  Of course, just make sure to document it so that people would know what the correct way of using your program is.

If you don’t think importing a code one at a time is a problem, download the official NTSC codelist from CodeJunkies and look at .hack//Quarantine (should be the first one on the list “.hack Part 4: Quarantine”).  Every code on that list needs to be changed in order to use folders effectively.  It takes quite a bit of time to go through each code, and when saving the code, I get the “code processing errors” list each time because of CodeJunkies’ official codes containing empty codes.

Quote
Completely empty codes are utterly illegal; no compromises are possible there.  MAX codes require at least one line that describes the code itself -- without that the code doesn't really exist.  On the other hand, single-line codes don't actually do anything (unless they're folder codes), but they're legal and valid in both MCM and ARMAX (ARMAX displays them in green, as a kind of separator I guess).

Any program that is generating such empty codes has a bug.  (Think about it -- without any code lines you couldn't enter it into the ARMAX manually either.)
I guess that even though they are illegal, CodeJunkies has done it.  I’m not using any program to generate empty codes.  I’m just looking at the worst offender, the official codes for .hack//Quarantine.  Even the codes listed on the CodeJunkies website for .hack//Quarantine show empty codes, so I have no idea what they are thinking.

Quote
All of the standard codes have unique ids regardless of which game they belong to.  I haven't done enough testing to confirm whether ARMAX itself cares whether the codelist contains duplicate ids (and there are certainly ways that it could store information about the codes that would make it care a great deal), so for the moment I'm trying to play it safe.  Why can't you get the conversion program to choose ids that are safely outside of the range of any existing codes?  Again, if you can't tell it to do that, then it's a bug.
Omniconvert does not have the ability to restrict ids used when converting codes.  Even if it did, I would need to get the ids of all the codes in my active list in order to make sure that there is no conflict which makes the process even more cumbersome.
Logged
Miral
Administrator
*****


Offline Offline

New Zealand New Zealand

Posts: 61


View Profile WWW
« Reply #3 on: 02 December 2008, 00:47:36 »

Then maybe refine the export function to be able to just export a list from a single game.  With more games in the custom codelist, the exported list gets harder to deal with.
That seems reasonable.  You can kinda do that at the moment (though it's a bit clunky) by creating a new custom list, making it active, adding the games you want exported to the list, then exporting.  If you remove the custom list again then it'll never even write it to disk Smiley

You already appear to have your own standard when you export the codelist to a text file (which is pretty much the same as how Omniconvert handles codes).  Why not use that as the standard for your program?  It’s your program, so even if there is no universal standard, you can use whatever you want as the standard for your program.  Of course, just make sure to document it so that people would know what the correct way of using your program is.
Yeah, I should do that.  And I nearly did, but I got lazy Wink

I guess that even though they are illegal, CodeJunkies has done it.  I’m not using any program to generate empty codes.  I’m just looking at the worst offender, the official codes for .hack//Quarantine.  Even the codes listed on the CodeJunkies website for .hack//Quarantine show empty codes, so I have no idea what they are thinking.
I think the conversion program they use has a bug in it.  Assuming they even use a program -- I wonder sometimes, I've encountered quite a few bugs in their codelist (not just missing codes, but codes that are obviously wrong -- I don't know how many are unobviously wrong).

But for reference, the codelist.bin format does actually permit completely empty codes, because the information that's supposed to be encoded in the first line of the code has been extracted out.  But there's no way other than a codelist.bin file to get that kind of code into the ARMAX.  Having said that, it ought to be possible (given one of these codes already in the list) to make a magic "fix it!" button to recreate the missing code line.  I might look into that.

Omniconvert does not have the ability to restrict ids used when converting codes.  Even if it did, I would need to get the ids of all the codes in my active list in order to make sure that there is no conflict which makes the process even more cumbersome.
I think MAXconvert does.  Anyway, have you actually managed to get a conflicting-codes list into the ARMAX yet and tested it (and did it work?), or has MCM managed to thwart you?
Logged
steelvulture
Lurker
*

*
Offline Offline

United States United States

Posts: 9


View Profile
« Reply #4 on: 02 December 2008, 18:32:36 »

Quote
But for reference, the codelist.bin format does actually permit completely empty codes, because the information that's supposed to be encoded in the first line of the code has been extracted out.  But there's no way other than a codelist.bin file to get that kind of code into the ARMAX.  Having said that, it ought to be possible (given one of these codes already in the list) to make a magic "fix it!" button to recreate the missing code line.  I might look into that.
I really wasn’t thinking about adding empty codes or trying to recreate missing code lines.  It’s just that the error dialogue that pops up every time I try to work with an offending game gets annoying.  In the case of working with a custom list, the dialogue shows an error for both the codes in the custom list and the original codes so even if I change the empty codes in my list, as I’ve been trying to do to turn them into folders, errors would still show up because of the original codes.  Like I said earlier, I need to change each code for .hack//Quarantine so that everything would use folders, but the error pops up each time a code is saved.

Quote
I think MAXconvert does.  Anyway, have you actually managed to get a conflicting-codes list into the ARMAX yet and tested it (and did it work?), or has MCM managed to thwart you?
If you didn’t know, Omniconvert is the apparent successor to MAXconvert, at least according to Codemasters Project.  There still appears to be continuing development on Omniconvert while development for MAXconvert has pretty much stopped.  I like Omniconvert as it works with pretty much everything including the latest Codebreaker codes and has the ability to automatically convert codes to use a folder.

Anyway, the only testing I’ve really done is with codes that I have managed to add to my active list.  This means that the only conflicting codes that I know work are those that conflict with those not in the active list.  Since MCM blocks codes that conflict with those on the active list, I haven’t been able to test those.  Ever since you released version 2, I’ve only worked with codes through MCM.  I’ll try later to see if there’s a code that I can’t add through MCM but would work fine adding directly through ARMAX.


Update:
Before doing anything, I updated the codelist on my memory card with my current list to make sure everything is the same.  It took a number of tries until Omniconvert generated a code that conflicted with my active list.  I used the following code:

For Codebreaker (from CodeTwink)
Game: Ace Combat 5
Infinite Mission Time
6FE72A1B 82F08604

Converted ARMAX code that conflicts with active list
KG6N-DPEJ-FGPKP
70YA-B1RG-W3MKQ

Conflicting code on active list according to MCM
Game: Final Fantasy X
Wakka

These codes are for NTSC/USA.  I added the code manually in ARMAX and there were no problems.  The code works just fine when playing Ace Combat 5.  Tried it on the mission “Rendezvous” and the time stayed at 20 minutes.  It appears that even if MCM states that there’s a code id conflict, the code can be added manually in ARMAX without any problems and works in-game.  Of course, MCM still prevents me from adding the code through MCM.
« Last Edit: 02 December 2008, 20:31:35 by steelvulture » Logged
Miral
Administrator
*****


Offline Offline

New Zealand New Zealand

Posts: 61


View Profile WWW
« Reply #5 on: 03 December 2008, 04:17:14 »

I really wasn’t thinking about adding empty codes or trying to recreate missing code lines.  It’s just that the error dialogue that pops up every time I try to work with an offending game gets annoying.  In the case of working with a custom list, the dialogue shows an error for both the codes in the custom list and the original codes so even if I change the empty codes in my list, as I’ve been trying to do to turn them into folders, errors would still show up because of the original codes.  Like I said earlier, I need to change each code for .hack//Quarantine so that everything would use folders, but the error pops up each time a code is saved.
Right, but that's what I was thinking about in a Fix It! button.  Though I could possibly just remove the "no code lines" error, or maybe change how it's presented.  But it is really an error.

Incidentally, all of these "no code lines" codes do actually have unique code ids already (you can't see them in MCM at present, but I can tell you what they are if you're interested), so there shouldn't be any clashes from them.

has the ability to automatically convert codes to use a folder.
That's actually in the MCM to-do list (although not quite automatically, but certainly very easily) Smiley

I added the code manually in ARMAX and there were no problems.  The code works just fine when playing Ace Combat 5.  Tried it on the mission “Rendezvous” and the time stayed at 20 minutes.  It appears that even if MCM states that there’s a code id conflict, the code can be added manually in ARMAX without any problems and works in-game.  Of course, MCM still prevents me from adding the code through MCM.
Ok, good to know.  I might relax that restriction then (so that it only prevents duplicates within the same game).
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.13 | SMF © 2006-2011, Simple Machines LLC Valid XHTML 1.0! Valid CSS!

Bad Behavior has blocked 70 access attempts in the last 7 days.