Skip to main content

News

Topic: The Sphere Studio v1.2.1 (Read 200510 times) previous topic - next topic

0 Members and 6 Guests are viewing this topic.
  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Radnen's Sphere Studio v1.1.5.0
Reply #150
So? The .NET wrapper's developers took upon themselves to change several aspects. Perhaps scintilla had a more open way of doing folding... .NET only exposes so much of it. There are 5 style methods, one reads 'custom'. I see no way, read no way of making a custom fold line. The API is not that good.

Edit:
Well I was able to get a line after the fold. :) Cryptic, but there. It's a property called Flags, and there are several flags you can choose from, such as fold lines. I did this by reading someones code repository on GitHub (since GitHub is far easier to peruse). Calling it flags though, still suggests the wrapper is not finished. There a more standard .NET way of doing this by using enums.
  • Last Edit: May 06, 2013, 03:53:29 pm by Radnen
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

Re: Radnen's Sphere Studio v1.1.5.0
Reply #151

It is done. .NET 4.0 and VS2012 Premium are now being used.


Wait, .NET 4.0 is being used for the editor? That may actually help cross-platform use. .NET 2.0 really doesn't like 64-bit Wine, but .NET > 3.0 is much happier there.


With that I gotta rant.
I hate the look of VS2012! HATE IT!... And so I changed the default theme to the old 2010 editor style and now it looks slightly less garish. It's still ugly as hell, for one, they removed ALL visual cues. ALL OF THEM. I can't tell what a folder is apart from references and properties, and I can't tell menu items apart. Two-bit icons were definitely not the way to go here. There are also no icons on docked controls, for example the toolbox doesn't have the tool icon I look for. The menu bar doesn't start or stop anywhere, hell that applies to all the damn borders (my eyes just flow off the screen, I get disoriented). It's goddamn useless now. I don't care what people say or if they say "you'll get used to it", because that's plain rubbish. I never had to get used to VS2010, I fell in love with it the minute I put my eyes on it. That said, Github's Windows Git tool also looks in a similar way (borderless, crappy design) but is a far simpler tool and so I can manage that, but still I can't tell where the splitter bars are. What happened to the older, steadier designs of the past? This is plain ridiculous. Apparently, I'm also not the only one. A Google search returned hundreds of people saying the exact same things.


There's a reason I use command line tools for a lot of my work. I also despise the graphical git for Windows. I tried for a very long time, and I still don't really know ho wit works. It needs more buttons, more borders, more...interface. I constantly close it, thinking that it will just close the working repo and put me back on the main screen.

'You'll get used to it', and 'you'll be as productive as you were before' is not a compelling argument for a redesign. If it's a good redesign, you should be noticeable more productive after getting used to it, not about the same as before (and have wasted all the time to learn it, as well).

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Radnen's Sphere Studio v1.1.5.0
Reply #152
Yeah, Radnen just switched over to .NET 4.0.  It was originally using 2.0, but we both figured it was time to upgrade.  Win8 won't run .NET 2/3 apps out of the box anyway (needs a separate download), so we weren't saving anybody any time by sticking to the old framework version. :p
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • DaVince
  • [*][*][*][*][*]
  • Administrator
  • Used Sphere for, like, half my life
Re: Radnen's Sphere Studio v1.1.5.0
Reply #153
After reading how you switched to .NET 4.0, I tried running this in Mono on Linux for the heck of it (seeing as I'm very interested in this becoming a cross-platform thing). It actually gets past the initial WinForms dependencies (once installed)! But it still errors out in a few ways:

Code: [Select]
Missing method System.Type::op_Equality(Type,Type) in assembly /usr/lib/mono/2.0/mscorlib.dll, referenced in assembly /usr/lib/mono/gac/UIAutomationProvider/3.0.0.0__31bf3856ad364e35/UIAutomationProvider.dll
Error setting up UIA: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Automation.Provider.AutomationInteropProvider ---> System.MissingMethodException: Method not found: 'System.Type.op_Equality'.
  at System.Windows.Automation.Provider.BridgeManager.GetAutomationBridges () [0x00000] in <filename unknown>:0
  at System.Windows.Automation.Provider.AutomationInteropProvider..cctor () [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at Mono.UIAutomation.Winforms.FormListener.Initialize () [0x00000] in <filename unknown>:0
  at Mono.UIAutomation.Winforms.Global.Initialize () [0x00000] in <filename unknown>:0
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.InitializeUIAutomation () [0x00000] in <filename unknown>:0
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.

Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.XplatUI ---> System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Automation.Provider.AutomationInteropProvider ---> System.MissingMethodException: Method not found: 'System.Type.op_Equality'.
  at System.Windows.Automation.Provider.BridgeManager.GetAutomationBridges () [0x00000] in <filename unknown>:0
  at System.Windows.Automation.Provider.AutomationInteropProvider..cctor () [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at Mono.UIAutomation.Winforms.FormListener.Initialize () [0x00000] in <filename unknown>:0
  at Mono.UIAutomation.Winforms.Global.Initialize () [0x00000] in <filename unknown>:0
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at System.Windows.Forms.Application.EnableVisualStyles () [0x00000] in <filename unknown>:0
  at Sphere_Editor.Program.Main () [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.XplatUI ---> System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Automation.Provider.AutomationInteropProvider ---> System.MissingMethodException: Method not found: 'System.Type.op_Equality'.
  at System.Windows.Automation.Provider.BridgeManager.GetAutomationBridges () [0x00000] in <filename unknown>:0
  at System.Windows.Automation.Provider.AutomationInteropProvider..cctor () [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at Mono.UIAutomation.Winforms.FormListener.Initialize () [0x00000] in <filename unknown>:0
  at Mono.UIAutomation.Winforms.Global.Initialize () [0x00000] in <filename unknown>:0
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at System.Windows.Forms.Application.EnableVisualStyles () [0x00000] in <filename unknown>:0
  at Sphere_Editor.Program.Main () [0x00000] in <filename unknown>:0

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Radnen's Sphere Studio v1.1.5.0
Reply #154
DaVince, was that the latest GitHub version ran through the Mono compiler? Or the 1.5.0 version here ran with Mono?
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

Re: Radnen's Sphere Studio v1.1.5.0
Reply #155
I'll give it a try when my laptop and the internet meet up.

It can't be worse than before. I couldn't get .NET 2.0 to work in the first place with 64-bit Linux.

  • DaVince
  • [*][*][*][*][*]
  • Administrator
  • Used Sphere for, like, half my life
Re: Radnen's Sphere Studio v1.1.5.0
Reply #156

DaVince, was that the latest GitHub version ran through the Mono compiler? Or the 1.5.0 version here ran with Mono?

Just the 1.5.0 version here, ran with Mono. I'll try the latest Git tomorrow.

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Radnen's Sphere Studio v1.1.5.0
Reply #157
What do you guys think about a solution manager in the Sphere Studio? The idea is that you can have multiple projects present in the project tree, each with the standard game directories (images, sprites, etc.) and then when you test a game it compiles into one directory: the one set up to be the project to load/run.

So, if you are like Alpha123, Lord English, or me and are developing a game alongside a (reusable) game library, this will be awesome to have.

What you do is set your game to the parent project, and then when you go test it, child projects are merged with your project. For example: RadLib's folders will be merged with Blockmans folders. Furthermore, it can be coded to only import the newer/changed versions of files. Overwrites may have to be handled with care.
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

Re: Radnen's Sphere Studio v1.1.5.0
Reply #158
That would be extremely helpful. Might it be possible for a plugin to do some extra steps when things are copied over? e.g. compile CoffeeScript to JavaScript, or in my case compile JS to JS instrumented with some debugging information (I'm experimenting with a Sphere JS debugger).

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Radnen's Sphere Studio v1.1.5.0
Reply #159

That would be extremely helpful. Might it be possible for a plugin to do some extra steps when things are copied over? e.g. compile CoffeeScript to JavaScript, or in my case compile JS to JS instrumented with some debugging information (I'm experimenting with a Sphere JS debugger).


We'll see when I get that far. It's going to take some work to implement. But I think that's doable.
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

Re: Radnen's Sphere Studio v1.1.5.0
Reply #160
Just a quick suggestion

I always end up accidentally closing the editor when my game aborts (when i wasnt expecting it)

can you make it so that any branches that you closed in your scripts STAY closed?

Everytime i reopen the editor and open a script all the branches are open again and i have to go around closing them for easier navigation

10 mins later i do it again...

Talking about the original editor by the way, id love to see this feature in your as is driving me crazy (Damn my automatic ALT F4 reaction)

That or rather than the engine closing after any key, make it REQUIRE escape key?

  • N E O
  • [*][*][*][*][*]
  • Administrator
  • Senior Administrator
Re: Radnen's Sphere Studio v1.1.5.0
Reply #161
Remembering a text file's code folding state (as an option toggle, however) = a really good idea! How hard is it to implement in a Scintilla-based editor, Radnen?

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Radnen's Sphere Studio v1.1.5.0
Reply #162
Give how much Radnen hates the Scintilla.NET control, probably quite difficult. :(. It is a good idea though, even if I never use folding personally (I prefer to see all my code at all times, and if there's too much to sift through then I know it's time to refactor).  I think Visual Studio remembers folding state (even across sessions), but only as long as you don't close the tab.
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Radnen's Sphere Studio v1.1.5.0
Reply #163

Give how much Radnen hates the Scintilla.NET control, probably quite difficult. :(.


Well, that's because it's not very well documented!! Now, is there a way to do that? Quite possibly! But how easy is it to get to? We shall see... it involves looking through the API, the original API, source code, and SciNET forum posts. So It'll take some time. And where do I store that info? Where does Visual Studio store that?
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

  • N E O
  • [*][*][*][*][*]
  • Administrator
  • Senior Administrator
Re: Radnen's Sphere Studio v1.1.5.0
Reply #164
And where do I store that info? Where does Visual Studio store that?


Probably the user's data directory (ie, %AppData%\Local\%COMPANY_NAME%\%APP_NAME%). Check byuu's nall to see a surprisingly easy way to access the user's data directory that's also cross-platform (look for the userpath() function).