News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Utilities: NINJA 2.0 July 26 Beta  (Read 19269 times)

KaioShin

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 5697
    • View Profile
    • The Romhacking Aerie
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #20 on: July 30, 2006, 07:07:53 am »
I'm probably going to make it registry now just to spite you.

That's the D we know and love  :D
All my posts are merely personal opinions and not statements of fact, even if they are not explicitly prefixed by "In my opinion", "IMO", "I believe", or similar modifiers. By reading this disclaimer you agree to reply in spirit of these conditions.

Nightcrawler

  • Hero Member
  • *****
  • Posts: 5763
    • View Profile
    • Nightcrawler's Translation Corporation
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #21 on: July 30, 2006, 11:51:29 am »
Aerdan: Because Visual Basic is a portable language? This is the UI. The UI is VB.

You're using VB .NET. That IS somewhat portable and should become more portable as time goes on and .NET support on other platforms gets better. Microsoft themselves are porting .NET to the Mac, and there is more than one .NET projects to run it on Linux which should only get better.

The days of VB not being portable are numbered. VB .NET is vastly different than VB6 which would never be portable to much of anything.
TransCorp - Over 20 years of community dedication.
Dual Orb 2, Wozz, Emerald Dragon, Tenshi No Uta, Glory of Heracles IV SFC/SNES Translations

D

  • Guest
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #22 on: July 30, 2006, 12:26:24 pm »
Because VB is portable when I am not releasing the source code to the --front end--?

It would be a million times smarter and easier for someone to just make a new front end for those systems. For Linux it would be better done with GTK or QT, and for Mac, Carbon or whatever they current thing is.

Nightcrawler

  • Hero Member
  • *****
  • Posts: 5763
    • View Profile
    • Nightcrawler's Translation Corporation
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #23 on: July 30, 2006, 12:53:53 pm »
Because VB is portable when I am not releasing the source code to the --front end--?

It would be a million times smarter and easier for someone to just make a new front end for those systems. For Linux it would be better done with GTK or QT, and for Mac, Carbon or whatever they current thing is.

YES, the FRONT END will be portable. Winforms is what ALL .NET language use for the GUI and what will be interpreted on other .NET platforms as far as I can tell.

Winforms in Mono(runs .NET on linux) is done via option of GTK or WINE.  On dotGNU, it winforms is done via QT. The Mac .NET initiative from Microsoft will also have some sort of Winforms support, but I have not read up on it to know how it will be done.

So, .NET applications should be fully portable as far as I can tell unless I'm missing something obvious.

VB is merely an interface for .NET for all practical purposes. It's just as portable as managed C++, C# and the other .NET languages from my understanding.
TransCorp - Over 20 years of community dedication.
Dual Orb 2, Wozz, Emerald Dragon, Tenshi No Uta, Glory of Heracles IV SFC/SNES Translations

D

  • Guest
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #24 on: July 30, 2006, 01:15:08 pm »
So there is no need to even recompile it?

That means .NET win32 apps are cross-platform, not portable.

Nightcrawler

  • Hero Member
  • *****
  • Posts: 5763
    • View Profile
    • Nightcrawler's Translation Corporation
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #25 on: July 30, 2006, 06:40:18 pm »
So there is no need to even recompile it?

That means .NET win32 apps are cross-platform, not portable.

Right, I don't think it needs to be. .NET applications are compiled into an intermediate language known as the Common Language Runtime/Common Intermediate Language. Is essentially .NET virtual machine code for practical purposes, although it's not quite like Java. With .NET before the program executes it is compiled into native machine code.

Yes, the term should be cross-platform, not portable. My mistake. I think the only limitation is what features of .NET are currently supported and to what compatibility level they are in those other programs such as Mono or dotGNU. Obviously Winforms is crucial for the GUI.

I haven't actually used any of them to try them out, so I am no expert. And as of now .NET framework for Macs has not been released yet by MS, but it is coming.

So, it's not totally cross platform yet, but it's definitely getting there quickly.

It might be a good idea if we ask somebody who does use Mono or dotGNU to see if they can run the front end. As I said, I've never actually put this to the test myself and I don't run a linux machine aside from the ROMhacking.net server. ;)

I'm interested to know if it does work and/or what problems there might be.





TransCorp - Over 20 years of community dedication.
Dual Orb 2, Wozz, Emerald Dragon, Tenshi No Uta, Glory of Heracles IV SFC/SNES Translations

D

  • Guest
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #26 on: July 31, 2006, 12:16:29 am »
I would assume this framework must at least emulate the windows registry for data storage then, otherwise a whole lot of applications would be fucked. There's still a lot of stuff that has reason to be stored in the registry that would be lost then.

Since there's no way I'm going to make the August 1st release I was hoping for, I'll consider rewriting the GUI to use an INI file, but the chances of me creating any INI loader for storing templates for the patch creator is still very minimal. That program is already getting cluttered, and adding more will make it difficult for anyone without a widescreen monitor to use.

Kiyoshi Aman

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 2261
  • Browncoat Captain
    • View Profile
    • Aerdan's Blog
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #27 on: July 31, 2006, 06:04:51 am »
Uh, no. Only the OS itself should use the registry. Everything else should use per-user configuration files.

Nightcrawler

  • Hero Member
  • *****
  • Posts: 5763
    • View Profile
    • Nightcrawler's Translation Corporation
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #28 on: July 31, 2006, 09:25:37 am »
I would assume this framework must at least emulate the windows registry for data storage then, otherwise a whole lot of applications would be fucked. There's still a lot of stuff that has reason to be stored in the registry that would be lost then.

Since there's no way I'm going to make the August 1st release I was hoping for, I'll consider rewriting the GUI to use an INI file, but the chances of me creating any INI loader for storing templates for the patch creator is still very minimal. That program is already getting cluttered, and adding more will make it difficult for anyone without a widescreen monitor to use.

If you are Accessing the Registry with the .NET Framework and not the standard VB functions, I'd assume it would HAVE to be emulated or handled with some equivalant in the .NET framework for other platforms. I couldn't really find any information on this. I can't imagine only selected classes in the framework would be supported. That sounds stupid. That kills the whole idea of using on other platforms effectively. However, I did find that there are two ways to access the registry in VB .NET. One is with VB functions, and the other is with the .NET framework.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchAccessingRegistryWithVisualBasicNET.asp
TransCorp - Over 20 years of community dedication.
Dual Orb 2, Wozz, Emerald Dragon, Tenshi No Uta, Glory of Heracles IV SFC/SNES Translations

D

  • Guest
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #29 on: July 31, 2006, 09:58:23 am »
I'll assure you I already access within the .NET framework.

Quote
Conclusions

The registry is an optimal location for saving information about your application as well as individual user settings. You may also need to check information about system hardware, or applications with which yours will interact.

Microsoft agrees that my use of the registry is appropriate. Aerdan, back the fuck off.

Kiyoshi Aman

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 2261
  • Browncoat Captain
    • View Profile
    • Aerdan's Blog
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #30 on: July 31, 2006, 12:42:08 pm »
This article was written over four years ago. Since then, I'm pretty sure Microsoft has started telling people to back off. I'm also pretty certain that Microsoft has disabled the Windows technology that sucks any .ini files it finds into the registry. [Unfortunately, however, a quick Google search didn't turn up any articles about it, but writing to the registry is still A Bad Idea for cross-platform apps.]

EDIT: Also, for *really* cross-platform config stuff, consider using Elektra.

Quote from: IRC
[11:36:57] <@LeoNerd> Elektra == library for using GConf on GNOME, Registry on Win32, K[whatever] on KDE, ini / XML / whatever files otherwise..
[11:37:08] <@LeoNerd> Abstracted out so program Doesn't{Know,Mind,Care} what's going on

Kitsune Sniper

  • Hero Member
  • *****
  • Posts: 3503
  • Complaining about mods == trolling, whee
    • View Profile
    • Foxhack.net
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #31 on: July 31, 2006, 06:40:37 pm »
D, if you do go the registry route, could you at least include some sort of switch that nukes all Ninja-related registry entries? I ask because I've had quite a few problems with programs that use the registry, and if the keys are damaged, they won't even start up. :)
For any further project updates, please visit my website. I do not wish to belong to a site where a user has no voice.

Nightcrawler

  • Hero Member
  • *****
  • Posts: 5763
    • View Profile
    • Nightcrawler's Translation Corporation
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #32 on: August 01, 2006, 09:43:58 am »
D, if you do go the registry route, could you at least include some sort of switch that nukes all Ninja-related registry entries? I ask because I've had quite a few problems with programs that use the registry, and if the keys are damaged, they won't even start up. :)

Agreed. Number one on that list is LunarAddress. For some damn reason is constantly gets corrupt keys and fails to start. It's a nice utility, but I still brand it crap since it hardly works.
TransCorp - Over 20 years of community dedication.
Dual Orb 2, Wozz, Emerald Dragon, Tenshi No Uta, Glory of Heracles IV SFC/SNES Translations

D

  • Guest
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #33 on: August 01, 2006, 10:54:57 am »
Kitsune: I am not sure it can actually be a problem ... The only things stored in the registry are yes/no values for whether or not to associate a file with ninja, a yes/no whether to associate at all, your UI language (which if it doesn't exist or corrupted would just default to English, and switching again would reset the value), and which style icons to use.

If any of the values corrupted, you'd just end up going down an if/else path to either the default action or no action. But the program would still run just fine ... and changing the config option would reset the value to work anew.

FuSoYa

  • Jr. Member
  • **
  • Posts: 19
    • View Profile
    • FuSoYa's Niche
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #34 on: August 01, 2006, 04:39:28 pm »
Agreed. Number one on that list is LunarAddress. For some damn reason is constantly gets corrupt keys and fails to start. It's a nice utility, but I still brand it crap since it hardly works.

That's strange...  did you get any sort of error message from windows to indicate that it was a registry problem?

And would you mind using regedit to export the program's registry keys to a file and sending it to me (or just posting the contents)?  You can find the keys in [HKEY_CURRENT_USER\Software\LunarianConcepts\LunarAddress].

Nightcrawler

  • Hero Member
  • *****
  • Posts: 5763
    • View Profile
    • Nightcrawler's Translation Corporation
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #35 on: August 01, 2006, 06:41:19 pm »
Agreed. Number one on that list is LunarAddress. For some damn reason is constantly gets corrupt keys and fails to start. It's a nice utility, but I still brand it crap since it hardly works.

That's strange...  did you get any sort of error message from windows to indicate that it was a registry problem?

And would you mind using regedit to export the program's registry keys to a file and sending it to me (or just posting the contents)?  You can find the keys in [HKEY_CURRENT_USER\Software\LunarianConcepts\LunarAddress].

No, this is the problem I reported to you a long long time ago(a few years now) that you completely ignored my e-mail of. :P

It pretends to start and shows up in the task bar, but the actual window never displays.

I know it is the registry because if I delete the registry keys for your program and try again after that, everything works again. It's done this on THREE different computers now over the course of the last few years.

I know where to find the keys. ;) I usually have to delete them anytime I want your program to run.

Coincidentally, it happens to be working now. I haven't bothered to use it in a long while.





TransCorp - Over 20 years of community dedication.
Dual Orb 2, Wozz, Emerald Dragon, Tenshi No Uta, Glory of Heracles IV SFC/SNES Translations

FuSoYa

  • Jr. Member
  • **
  • Posts: 19
    • View Profile
    • FuSoYa's Niche
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #36 on: August 02, 2006, 12:38:51 am »
Sorry, but I probably didn't get that email.  My old moon.co.jp address turned out to be somewhat unreliable, which is why I stopped using it.  ;)

Anyway, I've never heard of that problem before, nor have I ever experienced it myself (and I've used the program quite frequently over the years...  I'm on my second machine and third version of windows).

If the program's X/Y screen coordinate settings from the registry were set outside your current desktop area, that could cause what you're describing.  Except there are already checks in the program for this, in case someone switches screen resolutions between program sessions.  Although it might not be checking for negative coordinates...

But if this happened pretty much every time you ran the program and you always had to delete the keys to get it to display again, I would suspect possible interference from any extra window management software you may have installed.  Deleting LA's X/Y registry keys will cause the program not to even try setting it's own position the next time it runs.

RedComet

  • Hero Member
  • *****
  • Posts: 3166
    • View Profile
    • Twilight Translations
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #37 on: August 02, 2006, 03:58:53 am »
It pretends to start and shows up in the task bar, but the actual window never displays.

Yeah, I had the same thing happen to me, except it would start minimized in the task bar, but when I went to maximize it, it would maximize outside my desktop area. Restarting the program didn't help. This was on WinXP. I don't think I ever had this problem on Win98SE, but I can't remember.
Twilight Translations - More than just Dragonball Z. :P

FuSoYa

  • Jr. Member
  • **
  • Posts: 19
    • View Profile
    • FuSoYa's Niche
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #38 on: August 02, 2006, 05:33:50 am »
*mulls the problem over for a while, then starts LA, minimizes it, closes it while minimized, and starts it again*

Ah... umm... guess I should have checked for negative coordinates after all.  Looks like a new version will have to be released.


Tauwasser

  • Hero Member
  • *****
  • Posts: 1392
  • Fantabulous!!
    • View Profile
    • My blog
Re: Utilities: NINJA 2.0 July 26 Beta
« Reply #39 on: August 02, 2006, 11:50:50 am »
Sorry to interrupt, but heck...

According to this. The first sector of the patch should be only 1024 Bytes... right? Well, considering that I actually made a patch today with no other information in it except changes, the header is 0x800 Bytes long, which is double of what the specs say ... It matches only if all the data is present to the last byte, even if unused. Couldn't that be reduced to a "00" byte for no content? That way, you can still input 256 Bytes or whatever in a single read, just that it would stop printing on the first "00" in the read data. Well, I know it's final Beta and I apologize for not noticing earlier, but that seems like a whole lot of data in there for nothing. The actual patching data is 0xD8 bytes long... This doesn't compare quality/quantity-wise :-/

cYa,

Tauwasser