Code Monkey home page Code Monkey logo

xenko's People

Contributors

xen2 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  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

xenko's Issues

DynamicSoundEffectInstance on Android and iOS

Hopefully I've built up some credits with you guys by helping where I could with issue #34 because I have a big favor to ask. ;)

I really really need DynamicSoundEffectInstance to be implemented on Android and iOS; and let's face it Windows Universal apps too, when support for that platform becomes available, although hopefully that just works by virtue of using XAudio2 under the hood.

Android and iOS are not my forté, so it would be greatly appreciated if you guys could do the heavy lifting on this one. Beg, grovel, etc. ;)

[Windows] Exception is silently ignored when trying to load an asset with inexistent name

Environment: Windows 8.1 x64
Paradox version: 1.0.0-beta01

When a wrong asset name is specified - the exception is silently ignored and game continues to load and run, however it work as expected as not all assets are loaded.

The only clue about the issue can be seen in Visual Studio Output window:

A first chance exception of type 'System.InvalidOperationException' occurred in SiliconStudio.Core.Serialization.dll
[Scheduler]: Error: Unexpected exception while executing a micro-thread. Reason: System.InvalidOperationException: Asset [wall_bottom1] not found.
   at SiliconStudio.Core.Serialization.Assets.AssetManager.DeserializeObject(AssetReference parentAssetReference, AssetReference& assetReference, String url, Type objType, AssetManagerLoaderSettings settings, ConverterContext converterContext)
   at SiliconStudio.Core.Serialization.Assets.AssetManager.Load[T](String url, AssetManagerLoaderSettings settings)
   at Pong.PongGame.<LoadContent>d__0.MoveNext() in d:\Artiom\Projects\Pong\Pong\Pong.Game\PongGame.cs:line 34
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at SiliconStudio.Core.MicroThreading.MicroThread.<>c__DisplayClass4.<<Start>b__2>d__6.MoveNext()

It would be good to rethrow this exception on the main thread or use some other notification to let developer know about the issue as soon as possible.

EditText does not support special characters or Enter key

While playing around with the EditText control, I noticed that it does not accept any special characters; including simple things like punctuation. I attempted to fix this by setting the CharacterFilterPredicate property to return true for all characters, but it did not solve my issue; it seems like the characters never even reach the control.

Additionally, it would be great to be able to submit text in an EditText control by pressing the Enter key. This would be especially useful for developer consoles and ingame chat. Currently, the control loses focus when the Enter key is pressed, but being able to override this behavior would be very helpful.

UI control borders

I realize I can create my own controls, but maybe borders should be a standard feature at the control level, like in WPF 'Control' which defines:

  • BorderBrush
  • BorderThickness

Although a BorderColor property would be sufficient. Then you can easily set borders on a Button for example.

This can probably be approximated with a Border element containing child content like a Button, but Button seems to have a subtle border already, which breaks the look. You'd need to be able to remove all the existing Button chrome, which I guess you can do if you derive directly from ButtonBase, but then what about other controls?

Also a CornerRadius property, again like in WPF, is essential to soften Border corners. Please add CornerRadius support! ;)

Game studio CPU usage

from Mendio: http://answers.paradox3d.net/questions/22/game-studio-cpu-usage.html

Hello,

I discovered Paradox today and gave it a try. I read the source code of the samples and it seems really promising. I'm an IT student and will probably use your engine for a few projects.

My only "problem", for now, is that the game studio is using more than 30% of my cpu for nothing (it seems).

At first I thought it was due to the project itself (I was trying JumpyJet) so I just created an empty project and the problem persists.

Is it normal ?

Don't know if this can help but here are my specs : i7 2640M (laptop, 2 core/4 threads at 3.3Ghz so powerfull enough), Windows 8.1 Pro 64bit, everything up to date. And a screenshot : http://postimg.org/image/sx6mqckil/

ps : I post it here since the "issues" are not usable at the moment.

[Suggestion] Generate C# constants for asset names

This is not critical, but it would be nice to generate C# constants containing asset names to get compile-time errors if designer will change an asset name, otherwise it will be discovered at runtime.

For example, Game Studio can generate and include in the project a file with name Assets.cs:

public static class Assets
{
    public static class MyFolder // generated if assets are stored in folders
    {
        public const string WallBottom = "wall_bottom";
    }
}

In the example above, the assets are grouped by folders - but if needed - another grouping algorithm can be used.

Additionally, there can be a property (checkbox) for each asset indicating whether to generate code for it or not.

Adding and removing asset leads to crash

I've been playing around with models and animations and added new asset(but I didn't proceed further, it just was in list of the assets to be imported). And after that I understood that it was the wrong one, so I removed it from the list. After that Paradox Studio crashed.

Here exception details: http://pastebin.com/t2thYiGe
"Коллекция была изменена; невозможно выполнить операцию перечисления." means "Collection was modified; enumeration operation may not execute.".

Version of my studio is 1.0.0-alpha07.

Splah Screen always on top

When installing, a splash screen appears when downloading the program and starting it. This screen is always on top, and although it can be moved, it's really annoying. My screen has a small resolution and so the splash screen obscures a big junk of it.

[Feature request] AddRange for EntitySystem

I have entity collection and I want to add it to entitysystem. For now I have to do it like this:

List<Entity> entities;
...
foreach(var entity in entities)
{
     Entities.Add(entity);
}

But it would be more convinient to have method that takes IEnumerable and adds all elements to entity system:

Entities.AddRange(entities);

It's not important, but it would make work more convinient.

Invalid ShaderClassSource parameters on certain cultures

SiliconStudio.Paradox.Assets.Materials.Processor.Visitors.MaterialTreeShaderCreator.GetAsShaderString() overloads use ToString() with default culture, generating invalid shader code (due to the different NumberDecimalSeperator) when loading materials on german, and possibly other cultures.

Build warning 'Package Paradox with version [] not found...'

I don't like any warnings in my build output; I treat warnings as errors and fix them.

Building for example the JumpyJet sample generates the following warning several (7) times:

C:\ProgramData\Silicon Studio Corp\Paradox\Targets\SiliconStudio.Common.targets(9,5): warning : Package Paradox with version [] not found. Use version 1.0.0-alpha07 instead

The 'use version' clause always specifies the version I'm currently using, so it's doubly irritating.

InvalidOperationException: No screen modes found

From @NicoVermeir http://answers.paradox3d.net/questions/59/invalidoperationexception-no-screen-modes-found.html

I get this exception every time I try to run a Windows project. I've tried both the 2D and 3D sample templates, as well as an empty game.

Running Windows 8.1 x64 enterprise with VS2013 ultimate

stack trace:

 at SiliconStudio.Paradox.Games.GraphicsDeviceManager.FindBestDevice(Boolean anySuitableDevice)
at SiliconStudio.Paradox.Games.GraphicsDeviceManager.ChangeOrCreateDevice(Boolean forceCreate)
at SiliconStudio.Paradox.Games.GraphicsDeviceManager.SiliconStudio.Paradox.Games.IGraphicsDeviceManager.CreateDevice()
at SiliconStudio.Paradox.Games.GameBase.InitializeBeforeRun()
at SiliconStudio.Paradox.Games.GamePlatform.OnInitCallback()
at SiliconStudio.Paradox.Games.GameWindowDesktop.Run()
at SiliconStudio.Paradox.Games.GamePlatform.Run(GameContext gameContext)
at SiliconStudio.Paradox.Games.GameBase.Run(GameContext gameContext)
at SpaceEscape.Program.Main(String[] args) in c:\Users\nvmwy41\Documents\Paradox Projects\SpaceEscape\SpaceEscape\SpaceEscape.Windows\SpaceEscapeApp.cs:line 11
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Creating a Project with spaces causes error

Attempting to create a new game in Paradox Studio alpha08 causes an error.

[]: Error: An exception occurred while generating the template: Unable to parse file [...Paradox Projects/Project with space/Project with space/Project with space.Game\Effects\Project with spaceEffectMain.pdxfx]

Seems like a simple resolution of just quoting the project name in the path.

InputManager HasGamePad / GetGamePad fails to reconnect

GamePad input is working as expected with a wired Xbox 360 controller connected to Windows. I'm using something like the following:

public void UpdateInput(InputManager input)
{
    _lastState = _state;
    if (input.HasGamePad)
    {
        _state = input.GetGamePad(-1);
    }
    if (_state.IsConnected && (_state != _lastState))
    {
        ...
    }
}

However, it stops processing game pad input after a disconnect test; i.e. while running, disconnect the game pad, then reconnect the game pad and try to use it.

I can't see any events or other hooks for handling this, but ideally this scenario is handled transparently by the input manager anyway.

[Web] List of minor issues

The following issues are really small, but I thought I'd bring them out anyway. They are also mostly related to the Paradox website, so I'm not sure if I should even post them here ...

Using Chrome Version 37.0.2062.124 m.

Android project fails to build

From @gitfool http://answers.paradox3d.net/questions/31/android-project-fails-to-build.html

I have all the prerequisites installed and created a new project with JumpyJet sample.

First of all, from within Game Studio the JumpyJet.Windows code project is not shown bold. It always seems to build and run the Windows project. I can't select the JumpyJet.Android project as the startup project.

Switching to Visual Studio, I set JumpyJet.Android as the startup project, change the Solution Platform to Android with my device selected as the Target Android Device, and finally set the project properties to compile using Android version API Level 15 (4.0.3). Then trying to build the project I get the following warnings and errors:

Package Paradox with version [] not found. Use version 1.0.0-alpha05 instead
The "GetSdkToolFullPath" task could not be instantiated from the assembly ...
The "GetSdkToolFullPath" task has been declared or used incorrectly, or failed during construction ...

See attached build log for complete output.

Installed in c:\ProgramData

From @liquidboy from http://answers.paradox3d.net/questions/40/installed-in-cprogramdata.html

Not questioning your reasons for installing Paradox in c:ProgramData, you must have your reason over installing in the "c:program files"

What I did have an issue with was after it installed I couldn't easily find it in Windows 8 Search, or in the Modern Start menu > Apps list (by date installed) ...

It was not easy to find as I had chosen not to create a shortcut in "Start Menu" / "desktop" on install ...

I think this is a by product of installing c:ProductData that it wasn't discoverable..

Just a suggestion that once you hit release you might want to address this... :)

[Paradox Studio] Adding a parameter value in Property Grid fails the first time

Paradox studio version: 1.0.0-alpha09

To select parameter value, you need to select it twice in Paradox Studio Property Grid as shown here: http://gyazo.com/dd340b7568d81d4737f06529774ec4d8

This occured when I created a new Material and wanted to add a parameter to it. Debug window showed the following exception when the problem occured:

[]: Error: An exception occurred while processing thumbnail request: Object reference not set to an instance of an object.
[C:/Users/Jaanus/Code/Paradox3D/ImportFirstAsset/ImportFirstAsset/Assets/Shared/Material.pdxmat(1,1)]: Error: BuildStep SiliconStudio.Assets.Compiler.ThumbnailCommandParameters`1[SiliconStudio.Paradox.Assets.Materials.MaterialAsset] failed.
[C:/Users/Jaanus/Code/Paradox3D/ImportFirstAsset/ImportFirstAsset/Assets/Shared/Material.pdxmat(1,1)]: Error: BuildStep Build step list (3 items) failed.

UI anomalies

I'm playing around with UI elements. First I made a WPF app so I can interactively prototype the layout. Then I tried to do the same thing with the Paradox engine:

WPF screenshot:
image

Paradox screenshot:
image

Quite close, but there are some subtle anomalies. Not all the button text is rendered the same way and this is affected by the BackgroundColor and Opacity properties.

e.g. comment out BackgroundColor = Color.Black:
image

e.g. comment out Opacity = 0.6f:
image

The same anomalies appear on Android, although different letters were missing! (Note that I'm yet to test this on iOS.)

Also, note that the button background in WPF is actually black and is using opacity, although that's hard to notice in the screenshot - hovering over or clicking the button lightens the colors, so this is more obvious. I don't really get a black button background with Paradox.

Select Visual Studio version

I currently have both VS2012 and VS2013 installed. Paradox opens solution in VS2012 by default.
Is it possible to add a setting to select the correct VS version?

Dynamic CPU texture fails to render on iOS

Attached (at the bottom) is a repro project that renders as expected on Windows and Android, but not on iOS.

I'm working with strange texture sizes, but ideally the Paradox framework takes care of the details to make such textures work transparently on platforms with specific texture size / stride requirements. If that is indeed the plan then this is a bug; otherwise I'd greatly appreciate some advice on getting this to work on iOS. ;)

Rendered on Windows (and Android):
cputexture-windows
(Targeting Android 4.0.3 with Nexus 5 running 4.4.4)

Rendered on iOS:
cputexture-ios
(Targeting Universal 6.1 with iPad 3 running 8.0.2)

CpuTextureRepro.zip | uploaded via ZenHub

iOS project fails to build with 7.0+ deployment target

Take the same project as attached in issue #35, but change the Deployment Target from 6.1 to 7.0 or higher:
deploymenttarget
Then the iOS project now fails to build with linker errors:

...
2>  CpuTextureRepro.iOS -> D:\Users\Sean\Documents\Paradox Projects\CpuTextureRepro\CpuTextureRepro\Bin\iOS-OpenGLES\Debug\CpuTextureRepro.exe
2>  SiliconStudio AssemblyProcessor: "C:\ProgramData\Silicon Studio Corp\Paradox\GamePackages\Paradox.1.0.0-alpha10\Bin\Windows-Direct3D11\SiliconStudio.AssemblyProcessor.exe" --platform=iOS --targetFramework=v1.0  --auto-notify-property --parameter-key --auto-module-initializer --serialization "D:\Users\Sean\Documents\Paradox Projects\CpuTextureRepro\CpuTextureRepro\Bin\iOS-OpenGLES\Debug\CpuTextureRepro.exe"
2>  Patch for assembly [CpuTextureRepro, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]
2>C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(385,3): warning : The executable name (CpuTextureRepro) and the app name (CpuTextureReproiOS.app) are different, this may prevent crash logs from getting symbolicated properly.
2>C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(385,3): error : Native linking failed, undefined symbol: std::_Rb_tree_decrement(std::_Rb_tree_node_base*). Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
2>C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(385,3): error : Native linking failed, undefined symbol: std::_Rb_tree_increment(std::_Rb_tree_node_base*). Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
2>C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(385,3): error : Native linking failed, undefined symbol: std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&). Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
2>C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(385,3): error : Native linking failed. Please review the build log and the user flags provided to gcc: -L/Users/Sean/Library/Caches/Xamarin/mtbs/builds/CpuTextureReproiOS/b8d37f3fe93f8541c0fb964f36e7cc04/../Bin/iOS-OpenGLES/Debug/CpuTextureReproiOS.app/../ -lstdc++ -lfreetype -force_load /Users/Sean/Library/Caches/Xamarin/mtbs/builds/CpuTextureReproiOS/b8d37f3fe93f8541c0fb964f36e7cc04/../Bin/iOS-OpenGLES/Debug/CpuTextureReproiOS.app/../libfreetype.a -lcore -force_load /Users/Sean/Library/Caches/Xamarin/mtbs/builds/CpuTextureReproiOS/b8d37f3fe93f8541c0fb964f36e7cc04/../Bin/iOS-OpenGLES/Debug/CpuTextureReproiOS.app/../libcore.a -lbulletc -force_load /Users/Sean/Library/Caches/Xamarin/mtbs/builds/CpuTextureReproiOS/b8d37f3fe93f8541c0fb964f36e7cc04/../Bin/iOS-OpenGLES/Debug/CpuTextureReproiOS.app/../libbulletc.a
2>C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(385,3): error : Native linking failed. Please review the build log.
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Game Studio cannot create new game project with qualified name

Creating a new game project in Game Studio works fine if I use a leaf name like 'Test', but I never use unqualified leaf names, so when I first tried to create a new game project I used 'Jellyfish.Test'.

The default namespace suggested is 'Jellyfish.Test', exactly what I'd want to use and expected, but clicking on OK results in an error dialog saying 'Please type a valid namespace'. The only valid namespace seems to be one without a dot, so I settle on 'JellyfishTest' to get past this error, only to get another error dialog saying 'An exception occurred while generating the template. This is not supposed to happen, your session might be in a corrupted state'.

The 'Creating session...' dialog shows the following stack trace:

[]: Info: Loading Assets from Package [Paradox.pdxpkg]
[]: Info: Generate Jellyfish.Test.Game
[]: Error: An exception occurred while generating the template: Unable to parse file [D:/Users/Sean/Documents/Paradox Projects/Jellyfish.Test/Jellyfish.Test/Jellyfish.Test.Game\Effects\Jellyfish.TestEffectMain.pdxfx]
D:\Users\Sean\Documents\Paradox Projects\Jellyfish.Test\Jellyfish.Test\Jellyfish.Test.Game\Effects\Jellyfish.TestEffectMain.pdxfx(5,22): error  : Syntax error, expected: {
D:\Users\Sean\Documents\Paradox Projects\Jellyfish.Test\Jellyfish.Test\Jellyfish.Test.Game\Effects\Jellyfish.TestEffectMain.pdxfx(5,24): error  : Syntax error, expected: {

   at SiliconStudio.Shaders.Parser.ShaderParser.Check(ParsingResult result, String sourceFileName)
   at SiliconStudio.Paradox.Shaders.Parser.Mixins.ShaderMixinCodeGen.GenerateCsharp(String pdxfxShaderCode, String filePath)
   at SiliconStudio.Paradox.Assets.Presentation.Templates.GameTemplateGenerator.ConvertPdxfxToCSharp(String pdxfxfile)
   at SiliconStudio.Paradox.Assets.Presentation.Templates.GameTemplateGenerator.GenerateTemplate(GameTemplateParameters parameters, UFile templateRelativePath, String projectName, Nullable`1 platformType, String currentProfile, Nullable`1 graphicsPlatform, ProjectType projectType, ILogger logger)
   at SiliconStudio.Paradox.Assets.Presentation.Templates.GameTemplateGenerator.Generate(GameTemplateParameters parameters)
   at SiliconStudio.Paradox.Assets.Presentation.Templates.GameTemplateGenerator.<>c__DisplayClass3.<PrepareForRun>b__2()
   at SiliconStudio.Assets.Editor.ViewModel.SessionViewModel.<>c__DisplayClass76.<InvokeTemplateGenerator>b__74()

The Jellyfish.TestEffectMain.pdxfx file contains the following:

using SiliconStudio.Paradox.Effects.Data;

namespace Jellyfish.Test.Effects
{
    shader Jellyfish.TestEffectMain
    {
        using params RenderingParameters;
        using params MaterialParameters;
        using params EffectSystem;

        mixin ShaderBase;
        mixin TransformationWAndVP;
        mixin BRDFDiffuseBase;
        mixin BRDFSpecularBase;
        mixin AlbedoFlatShading;

        if (MaterialParameters.AlbedoDiffuse != null)
            mixin compose albedoDiffuse = MaterialParameters.AlbedoDiffuse;

        if (MaterialParameters.HasSkinningPosition)
        {
            mixin macro MaterialParameters.SkinningMaxBones;
            mixin TransformationSkinning;
        }
    };
}

So the shader name must not contain a dot. Shouldn't it just be generated as 'Main' or 'MainEffect', given its namespace provides enough context, and to avoid redundant repeating of names?

Adding unsupported file format crashes Paradox Studio

Right click Assets folder->Import from file...->Add files...->change extension filter to "All files(.)"->Open some unsupported file->Crash

Paradox Version: 1.0.0-alpha11
GameStudio Version: 4
User: Kabinet
Current Directory: C:\ProgramData\Silicon Studio Corp\Paradox\GamePackages\Paradox.1.0.0-alpha11\Bin\Windows-Direct3D11
Command Line Args:
Exception type: NullReferenceException
Exception message: Object reference not set to an instance of an object.
Inner exception type:
Inner exception message:
StackTrace: at SiliconStudio.Assets.Editor.ViewModel.Import.ImportSessionViewModel.AddFile(UFile filePath, Package package, UDirectory directory)
at SiliconStudio.Assets.Editor.ViewModel.Import.ImportSessionViewModel.AddFiles()
at SiliconStudio.Presentation.Commands.AnonymousCommand.<>c__DisplayClass2.<.ctor>b__0(Object x)
at SiliconStudio.Presentation.Commands.AnonymousCommand.Execute(Object parameter)
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Window.ShowHelper(Object booleanBox)
at System.Windows.Window.Show()
at System.Windows.Window.ShowDialog()
at SiliconStudio.Assets.Editor.View.ImportWindow.SiliconStudio.Presentation.Services.IModalDialog.Show()
at SiliconStudio.Assets.Editor.ViewModel.PackageViewModel.ImportAssets(DirectoryViewModel directory)
at SiliconStudio.Assets.Editor.ViewModel.AssetImportViewModel.Import()
at SiliconStudio.Presentation.Commands.AnonymousCommand.<>c__DisplayClass2.<.ctor>b__0(Object x)
at SiliconStudio.Presentation.Commands.AnonymousCommand.Execute(Object parameter)
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.Run()
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at SiliconStudio.Paradox.GameStudio.Program.Main(String[] args)

Extension Error

I updated to 1.0.0-Beta01 and I get the following error when loading my paradox solution up in visual studio 2012:

System.ComponentModel.Composition.CompositionException: The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information. 1) The export 'Microsoft.VisualStudio.Text.Classification.Implementation.ClassificationTypeRegistryService (ContractName="Microsoft.VisualStudio.Text.Classification.IClassificationTypeRegistryService")' is not assignable to type 'Microsoft.VisualStudio.Text.Classification.IClassificationTypeRegistryService'. Resulting in: Cannot set import 'SiliconStudio.Paradox.VisualStudio.BuildEngine.OutputClassifierProvider.ClassificationRegistry (ContractName="Microsoft.VisualStudio.Text.Classification.IClassificationTypeRegistryService")' on part 'SiliconStudio.Paradox.VisualStudio.BuildEngine.OutputClassifierProvider'. Element: SiliconStudio.Paradox.VisualStudio.BuildEngine.OutputClassifierProvider.ClassificationRegistry (ContractName="Microsoft.VisualStudio.Text.Classification.IClassificationTypeRegistryService") --> SiliconStudio.Paradox.VisualStudio.BuildEngine.OutputClassifierProvider Resulting in: Cannot get export 'SiliconStudio.Paradox.VisualStudio.BuildEngine.OutputClassifierProvider (ContractName="Microsoft.VisualStudio.Text.Classification.IClassifierProvider")' from part 'SiliconStudio.Paradox.VisualStudio.BuildEngine.OutputClassifierProvider'. Element: SiliconStudio.Paradox.VisualStudio.BuildEngine.OutputClassifierProvider (ContractName="Microsoft.VisualStudio.Text.Classification.IClassifierProvider") --> SiliconStudio.Paradox.VisualStudio.BuildEngine.OutputClassifierProvider at System.ComponentModel.Composition.Hosting.CompositionServices.GetExportedValueFromComposedPart(ImportEngine engine, ComposablePart part, ExportDefinition definition) at System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportedValue(CatalogPart part, ExportDefinition export, Boolean isSharedPart) at System.ComponentModel.Composition.Hosting.CatalogExportProvider.CatalogExport.GetExportedValueCore() at System.ComponentModel.Composition.Primitives.Export.get_Value() at System.ComponentModel.Composition.ExportServices.GetCastedExportedValue[T](Export export) at System.ComponentModel.Composition.ExportServices.<>c__DisplayClass42.<CreateStronglyTypedLazyOfTM>b__1() at System.Lazy1.CreateValue() at System.Lazy1.LazyInitValue() at System.Lazy1.get_Value() at Microsoft.VisualStudio.Text.Utilities.GuardedOperations.InvokeMatchingFactories[TExtensionInstance,TExtensionFactory,TMetadataView](IEnumerable1 lazyFactories, Func2 getter, IContentType dataContentType, Object errorSource)

It doesn't seem to break functionality though.. As I can still compile without issue.

[Visual Studio Extensions] Uninstall does not cleanup extensions

Hia,

After uninstalling paradox via programs and features on windows 8:

  • the extensions were not removed from the registry
  • visual studio's "Extensions and updates..." window would not open

I had to go into the registry to remove the extensions manually.

Cheers,

Joe

Exception while trying to import a model on a laptop with NVidia Optimus

Hi,

I encountered various issues while trying to import a model from Blender 2.71 to Paradox 1.0.0-alpha07.

My environment:

  • Windows 8.1 x64
  • .NET 4.5.1
  • Intel Core i7 4810MQ
  • NVidia GeForce 780M
  • NVidia Optimus active

This issue reproduces only if Paradox IDE is started with default iGPU (Intel).
When forcing it to run with dGPU (NVidia) - everything works fine.

Steps to reproduce:

  1. Start Blender and create a new scene - by default it creates a cube.
  2. Select menu File -> Export -> Collada (.dae).
  3. Leave all options by default and save the exported file.
  4. Open Paradox IDE and create a new game.
  5. Right-click on Assets folder and select Import from file.
  6. Drag and drop the exported *.dae file to opened window.
  7. Leave all asset types selected and press Next button.
  8. On the next screen deselect all imported elements which are not related to the model: http://screencast.com/t/lPTDlOKzi
  9. Press Finish button, the selected items should be imported and displayed like this: http://screencast.com/t/KQVPD1DIWn

Issue 1:
11a. Clicking on the imported material crashes the video driver and leads to the following error: http://screencast.com/t/AHhTFfmg
Unfortunately, the window doesn't respond to any input and I can't click on the Details button to see the stack trace.
The only way to close Paradox IDE in this state - shut it down from Task Manager.

Issue 2:
11b. If we import only the model, select the imported model and click on "reset camera" in asset preview - it crashes: http://screencast.com/t/VWPV1hnZ
with the following message:

Paradox Version: 1.0.0-alpha07
GameStudio Version: 4
User: _
Current Directory: C:\ProgramData\Silicon Studio Corp\Paradox\GamePackages\Paradox.1.0.0-alpha07\Bin\Windows-Direct3D11
Command Line Args: 
Exception type: NullReferenceException
Exception message: Object reference not set to an instance of an object.
Inner exception type: 
Inner exception message: 
StackTrace:    at SiliconStudio.Paradox.Assets.Presentation.Preview.PreviewFromEntity`1.ResetCamera(PreviewEntity targetEntity)
   at SiliconStudio.Paradox.Assets.Presentation.Preview.ModelPreview.<ResetCamera>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__4(Object state)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at SiliconStudio.Paradox.GameStudio.Program.Main(String[] args)

When clicking on Yes, then Ok in appeared popups, Paradox IDE either goes into infinite cycle displaying the same error or just crashes and closes.

Currently the workeround is to force it run with NVidia GPU - either by right-clicking Paradox.exe and selecting to run it with dGPU or forcing it from NVidia Control Panel.

Let me know if you need any mode details on this issue.

Access violation in LightPrepassRenderer after upgrade to beta01

After upgrading to beta01, I'm encountering access violations using the LightPrepassRenderer. This happens while creating the native PixelShader when loading the light prepass effect.

This occures on a laptop with Windows 7 64-bit and Intel HD Graphics 3000 (Feature level 10.1 compatible), while it works fine on Windows 8 64-bit and feature level 11 compatible graphics cards.

This is tested using the DeferredLighting sample with feature level switched to 10.1.

Are you aware of any changes since alpha11 that might cause this? Maybe related to downlevel hardware?

[Paradox Studio] Asset View - Opening assets.

Hi,

Could you please make it so double-clicking an asset opens it in it's default editor. This probably is not required for items that are editable in the property grid but would be nice for things like shaders.

Could you make it's so you can have different default editors per file extension?

Could you please add an option to the context menu of the asset view to open the raw asset in it's default editor?

Cheers,
dfkeenan

VSE2013 not opening default projects

Getting the following opening any of the default projects in Visual Studio Express 2013:

Unsupported
This version of Visual Studio is unable to open the following projects. The project types may not be installed or this version of Visual Studio may not support them.
For more information on enabling these project types or otherwise migrating your assets, please see the details in the "Migration Report" displayed after clicking OK.
- SpaceEscape.Game, "C:\Users\Andy\Documents\Paradox Projects\SpaceEscape\SpaceEscape\SpaceEscape.Game\SpaceEscape.Game.csproj"
- SpaceEscape.Android, "C:\Users\Andy\Documents\Paradox Projects\SpaceEscape\SpaceEscape\SpaceEscape.Android\SpaceEscape.Android.csproj"
- SpaceEscape.iOS, "C:\Users\Andy\Documents\Paradox Projects\SpaceEscape\SpaceEscape\SpaceEscape.iOS\SpaceEscape.iOS.csproj"

No changes required
These projects can be opened in Visual Studio 2013, Visual Studio 2012, and Visual Studio 2010 SP1 without changing them.
- SpaceEscape, "SpaceEscape"
- SpaceEscape.Windows, "C:\Users\Andy\Documents\Paradox Projects\SpaceEscape\SpaceEscape\SpaceEscape.Windows\SpaceEscape.Windows.csproj"
- SpaceEscape, "C:\Users\Andy\Documents\Paradox Projects\SpaceEscape\SpaceEscape.sln"

Issues when adding a reference to another package.

Hi!
I've found a couple of issues related to adding a reference to another package. I'm not 100% sure the three cases below are all bugs, but as there is no documentation about the behaviors, I assumed they are and thus decided to share them with you.


Symptom: Package will reappear in Paradox Studio solution explorer after being deleted.
To repro:

  1. Create new package from new game template. Let's call it package A.
  2. Add a new package to solution from solution explorer. Let's call it package B.
  3. Add a reference from package A to package B through solution explorer.
  4. Delete package B from solution explorer (Note that reference from package A to B is not removed).
  5. Refresh solution explorer by adding a new package or reloading Paradox Studio.
  6. Package B is back in the solution explorer.

Symptom: Solution will not build after adding a reference to a package which only contains shared library project (which it does by default).
To repro:

  1. Create new package from new game template. Let's call it package A.
  2. Add a new package to solution from solution explorer. Let's call it package B.
  3. Add a reference from package A to package B through solution explorer.
  4. Build the solution. This should fail with 'Unable to find profile [...]'.

Symptom: Unable to load asset after adding a reference to a new package.
To repro:

  1. Create new package from new game template. Let's call it package A.
  2. Add a new Sprite Font asset called SpriteFont to package A.
  3. Open the game code file and add the following line to LoadContent() method.
    Asset.Load("SpriteFont");
  4. Launch the game and witness loading asset succeed.
  5. Add a new package to solution from solution explorer. Let's call it package B.
  6. Add a reference from package A to package B through solution explorer.
  7. Modify package B .pdxpkg file and add a platform specific profile (in order to successfully build the solution).
  8. Launch the game and witness loading the same asset fail with 'Asset not found'.

Visual Studio with Paradox extension error when opening solutions with SQL DB projects

I keep getting the following error when opening a non-game solution in visual studio:
http://screencast.com/t/iGIHBFk9a
The solution contains a 2 web projects, 1 SQL DB project and 2 class library projects and doesn't contain any references to Paradox.
The activity log from the screenshot contains the following relevant information (XSL-transformed in a table):

663  Entering function CVsPackageInfo::HrInstantiatePackage {C26B1CE9-BBAB-497B-98AD-67E93A2037D1}  VisualStudio 2014/09/17 14:46:21.468 
664  Begin package load [ParadoxPackage] {C26B1CE9-BBAB-497B-98AD-67E93A2037D1}  VisualStudio 2014/09/17 14:46:21.468 
665 ERROR SetSite failed for package [ParadoxPackage] {C26B1CE9-BBAB-497B-98AD-67E93A2037D1} 80131500 VisualStudio 2014/09/17 14:46:21.509 
666 ERROR End package load [ParadoxPackage] {C26B1CE9-BBAB-497B-98AD-67E93A2037D1} 80131500 VisualStudio 2014/09/17 14:46:21.510 

The actual XML source is like this (I removed the name of the project):

  <entry>
    <record>663</record>
    <time>2014/09/17 14:46:21.468</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Entering function CVsPackageInfo::HrInstantiatePackage</description>
    <guid>{C26B1CE9-BBAB-497B-98AD-67E93A2037D1}</guid>
  </entry>
  <entry>
    <record>664</record>
    <time>2014/09/17 14:46:21.468</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Begin package load [ParadoxPackage]</description>
    <guid>{C26B1CE9-BBAB-497B-98AD-67E93A2037D1}</guid>
  </entry>
  <entry>
    <record>665</record>
    <time>2014/09/17 14:46:21.509</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>SetSite failed for package [ParadoxPackage]</description>
    <guid>{C26B1CE9-BBAB-497B-98AD-67E93A2037D1}</guid>
    <hr>80131500</hr>
    <errorinfo>The project file could not be loaded. Could not find file 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\<Project Name>.sqlproj'.  C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\<Project Name>.sqlproj</errorinfo>
  </entry>
  <entry>
    <record>666</record>
    <time>2014/09/17 14:46:21.510</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>End package load [ParadoxPackage]</description>
    <guid>{C26B1CE9-BBAB-497B-98AD-67E93A2037D1}</guid>
    <hr>80131500</hr>
    <errorinfo>The project file could not be loaded. Could not find file 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\<Project Name>.sqlproj'.  C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\<Project Name>.sqlproj</errorinfo>
  </entry>

From the last two entries it looks like the Paradox extension is trying to load the SQL DB project from the wrong folder.

Environment: Windows 8.1 x64, Visual Studio 2013 Premium, Paradox v1.0.0-alpha08.

SpriteBatch does not use custom Effect

Following up from Paradox Answers.
Hack the Custom Effect Sample to use a SpriteBatch instead of a PrimitiveQuad:

private void RenderQuad(RenderContext renderContext)
{
    //GraphicsDevice.SetBlendState(GraphicsDevice.BlendStates.NonPremultiplied);
    customEffect.Parameters.Set(CustomEffectKeys.Phase, -3 * (float)this.UpdateTime.Total.TotalSeconds);
    //quad.Draw(paradoxTexture, samplingState, Color.White);
    var destination = new RectangleF(0, 0, GraphicsDevice.BackBuffer.Width, GraphicsDevice.BackBuffer.Height);
    spriteBatch.Begin(SpriteSortMode.Immediate, GraphicsDevice.BlendStates.NonPremultiplied, samplingState, effect: customEffect);
    spriteBatch.Draw(paradoxTexture, destination, Color.White);
    spriteBatch.End();
}

The custom effect is never applied. Stepping the code in the debugger, after spriteBatch.Begin the spriteBatch.Effect property is of type BatchDefaultEffect, not CustomEffect.

Text change in Edit -> Settings

There are two issues I noticed in the Settings Window:

  • First, it says "Default Visual Studio Version", which can be changed to "Default C# IDE".
  • Secondly, the first text is trimmed to appear as "Default Visual Studio V..." with no possibility to resize.

Visual Studio fails to execute ParadoxShaderKeyGenerator

My Visual Studio installation claims to be unable to find the custom tools provided by the Paradox extension. They seem to be correcly registered and are associated with their respective file extensions, though. I'm running VS 2013 Ultimate on Win7 x64 and Win8.1 x64.

I'm assuming this is due to the Paradox package referencing Visual Studio 2012 SDK assemblies. Are you aware of any redistributables containing these assemblies, or are there plans to provide a VS 2013 build?

InputManager keyboard improvements

On Windows, keyboard input works well, apart from two things:

  • There needs to be a way to prevent default processing of the 'Windows' and 'Alt' keys
    • These keys steal focus and have other undesirable side effects
    • Ideally, only prevent default processing when pressed by themselves; e.g. 'Alt+Tab' should still work as expected
  • The keyboard event stream for the current frame needs to be publicly accessible
    • KeyDown list and IsKeyDown helper are great for testing current state
    • ... but KeyPressed and KeyReleased lists and their helpers have lost event order / interleave
    • If you're tracking key presses and releases, then the order matters!
    • Ideally, you just need to make (a copy of) the internal KeyboardInputEvents list (or similar) publicly accessible

[Paradox Studio] Window re-size really slow (after asset preview)

Hi,

When you re-size the studio window it takes a long time for the window to catch-up to the mouse. This only seems to happen once you selected an asset that renders in the Asset preview pane. The problem continues even if you select a different asset that does not render in the Asset preview pane. I have only noticed this since updating to beta01, though I can't say for sure that I "tested" this before.

Is the preview back buffer being re-sized the whole time? If so maybe it needs to be delayed until things stop moving?

Cheers,
dfkeenan

DynamicSoundEffectInstance AccessViolationException

Following up from Paradox Answers.

I've managed to create a reasonably minimal repro project that exhibits the crash behaviour. Since this involves a race condition, I've also created a PowerShell script that I used to loop until the crash appears (and captures a crash dump). This can take a few thousand iterations, which in real time could take an hour or more.

You'll need the following files:

Then to repro the crash:

  • Compile the DseiRepro solution
  • Extract Test-Process.ps1 and Sysinternals ProcDump into a directory
    • Put procdump.exe in the same directory as the script
  • Open a PowerShell prompt in that directory
  • Run Test-Process, specifying the path and iterations parameters
    • I used the sleep parameter default value (1 second)
    • ./Test-Process.ps1 -path {PathToDseiReproExe} -iterations 1000000

Since the crash happens during application shutdown, the script loops over the following:

  • Create a new process for the executable under test
  • Create a new process for ProcDump to monitor the test
  • Sleep the specified number of seconds
  • Close the test window (to shutdown gracefully)
  • Check process exit codes to look for anomalies

The number of iterations is just the maximum. It will stop as soon as it repros the crash and generate a dump file in the same directory as the executable under test.

Change default Windows output type to Windows Application

Right now Windows projects created with Paradox GameStudio have their Output type set to Console Application, making a console window pop before the game window is created. This should be changed to Windows Application to take rid of it, unless it's done this way by design to provide a way for viewing the logging output.

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.