Skip to main content

News

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Fat Cerberus

1
Sphere General / Re: Proper way of using Sphere?
Yes, miniSphere supports .mod (and .it, .xm etc.) through allegro.  It doesn't support mp3 however, or MIDI.
2
Engine Development / Re: miniSphere 5.0.1
a) get the file path wrong (import expects relative paths)

Not entirely accurate - you can use a full path so long as it has a SphereFS prefix, e.g. @/bin/awesome.mjs.
3
Engine Development / Re: miniSphere 5.0.1
@Eggbertx Okay, I can reproduce the bug.  Even Specs (which worked fine under Duktape) drops to like 15fps after calling Sphere.restart().  So I don't think it's related to CC at all.  I'll profile the engine to investigate further where the slowdown might be.
4
Engine Development / Re: miniSphere 5.0.1
I'm not sure if it's something I'm doing wrong, but calling Sphere.restart() seems to cause a massive slowdown

That's a weird one.  I'll definitely look into that!

It could be that closing down CC and reinitializing it disables the JIT somehow, but that level of slowdown shouldn't be noticeable unless you're doing something really intense like mp3 decoding (Chakra's bytecode interpreter is faster than Duktape's).  So it's probably something else.
5
Quote
Code gremlin repellent system
First we had eaty pigs :pig_nose:, now we have code gremlins?!

Well we need something to feed the pig with, right?  So that we don't get eaten by it.
6
Modern GPUs render everything as textured triangles, this is true for both 2D and 3D graphics.  The specific projection is determined by the transformation matrix in use (in Sphere v2, a Transform object).
7
I'm still wrapping my head around how to manage polygons and reducing the rendering load by not rendering invisible polys.

I should note that miniSphere has hardware-accelerated APIs for drawing stuff ("Galileo") so you don't have to do this yourself, you can let the GPU do it.  Sphere 1.x dates back to the 90s and is primarily software-rendered, so that's why you had to do this kind of thing yourself.  Not so much in a modern engine like miniSphere.
8
6/10 not enough pigs
9
Engine Development / Re: miniSphere 5.0.1
Released 5.0.1 to fix a handful of small but potentially nasty bugs. :beetle:
https://github.com/fatcerberus/minisphere/releases/tag/v5.0.1
10
Editor Development / Re: The Sphere Studio v1.2.1
Trying with Wine gave me a different error:
Code: [Select]
Unhandled Exception:
System.TypeLoadException: Could not load type 'System.WeakReference`1' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
  at SphereStudio.UI.DialogHeader..ctor () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) SphereStudio.UI.DialogHeader:.ctor ()
  at SphereStudio.Ide.BuiltIns.IdeSettingsPage.InitializeComponent () [0x00000] in <filename unknown>:0
  at SphereStudio.Ide.BuiltIns.IdeSettingsPage..ctor () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) SphereStudio.Ide.BuiltIns.IdeSettingsPage:.ctor ()
  at SphereStudio.Ide.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type 'System.WeakReference`1' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
  at SphereStudio.UI.DialogHeader..ctor () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) SphereStudio.UI.DialogHeader:.ctor ()
  at SphereStudio.Ide.BuiltIns.IdeSettingsPage.InitializeComponent () [0x00000] in <filename unknown>:0
  at SphereStudio.Ide.BuiltIns.IdeSettingsPage..ctor () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) SphereStudio.Ide.BuiltIns.IdeSettingsPage:.ctor ()
  at SphereStudio.Ide.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0

WeakReference has existed since .NET 1.1 so no idea what's going on there.
11
Editor Development / Re: The Sphere Studio v1.2.1
So I just tried to get Sphere Studio running on Linux Mono again, it flashed the window for a split second but then I got this:
Code: [Select]
fatcerberus@pigcult-vm:~/Desktop/sphere-studio$ sudo mono "Sphere Studio.exe"
SendMessage (62914598, 0x101f, (nil), (nil))
SendMessage (62914598, 0x1003, 0x3, (nil))
SendMessage (62914598, 0x109b, (nil), 0x7ffeaa5bf250)
SendMessage (62914598, 0x1036, 0x2000002, (nil))
SendMessage (62914598, 0x1027, (nil), (nil))
X11 Error encountered:
  Error: BadMatch (invalid parameter attributes)
  Request:     12 (0)
  Resource ID: 0x3C0001F
  Serial:      5655
  Hwnd:        Hwnd, Mapped:True ClientWindow:0x3C00020, WholeWindow:0x3C0001F, Zombie=False, Parent:[<null>]
  Control:     WeifenLuo.WinFormsUI.Docking.DockPanel, BorderStyle: None  at System.Environment.get_StackTrace () [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUIX11.HandleError (IntPtr display, System.Windows.Forms.XErrorEvent& error_event) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUIX11.XTranslateCoordinates (IntPtr , IntPtr , IntPtr , Int32 , Int32 , System.Int32& , System.Int32& , System.IntPtr& ) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUIX11.ClientToScreen (IntPtr handle, System.Int32& x, System.Int32& y) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.XplatUI.ClientToScreen (IntPtr handle, System.Int32& x, System.Int32& y) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.PointToScreen (Point p) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.RectangleToScreen (Rectangle r) [0x00000] in <filename unknown>:0
  at WeifenLuo.WinFormsUI.Docking.DockPanel.GetAutoHideWindowBounds (Rectangle rectAutoHideWindow) [0x00000] in <filename unknown>:0
  at WeifenLuo.WinFormsUI.Docking.DockPanel.OnLayout (System.Windows.Forms.LayoutEventArgs levent) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.PerformLayout (System.Windows.Forms.Control affectedControl, System.String affectedProperty) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ScrollableControl.OnVisibleChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at WeifenLuo.WinFormsUI.Docking.DockPanel.OnVisibleChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.OnParentVisibleChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.OnVisibleChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.ScrollableControl.OnVisibleChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.OnVisibleChanged (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.SetVisibleCore (Boolean value) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Form.SetVisibleCore (Boolean value) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Control.set_Visible (Boolean value) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.RunLoop (Boolean Modal, System.Windows.Forms.ApplicationContext context) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext context) [0x00000] in <filename unknown>:0
  at System.Windows.Forms.Application.Run (System.Windows.Forms.Form mainForm) [0x00000] in <filename unknown>:0
  at SphereStudio.Ide.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0

System.EntryPointNotFoundException: ShowWindow
  at (wrapper managed-to-native) BrightIdeasSoftware.NativeMethods:ShowWindow (intptr,int)
  at BrightIdeasSoftware.NativeMethods.ShowWithoutActivate (IWin32Window win) <0x40bb31c0 + 0x00023> in <filename unknown>:0
  at BrightIdeasSoftware.GlassPanelForm..ctor () <0x40bb27c0 + 0x0017f> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) BrightIdeasSoftware.GlassPanelForm:.ctor ()
  at BrightIdeasSoftware.ObjectListView.ShowOverlays () <0x40bb2100 + 0x000e3> in <filename unknown>:0
  at BrightIdeasSoftware.ObjectListView.HandlePaint (System.Windows.Forms.Message& m) <0x40bb2080 + 0x00036> in <filename unknown>:0
  at BrightIdeasSoftware.ObjectListView.WndProc (System.Windows.Forms.Message& m) <0x40b3b220 + 0x00153> in <filename unknown>:0
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) <0x414ee940 + 0x00024> in <filename unknown>:0
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) <0x414ee900 + 0x00036> in <filename unknown>:0
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) <0x414ed390 + 0x0031c> in <filename unknown>:0

Also for some reason I had to run mono with sudo otherwise it gave me an error upon trying to access the registry.  Kind of weird.  Also strange is how the error I get is always different every time I revisit this...
12
Engine Development / Re: miniSphere 5.0.0
The AUR package has been updated to the latest upsteam version.

Thanks, I guess you had no problem getting ChakraCore running on Arch then.
13
Engine Development / Re: miniSphere 5.0.0
There's now a macOS build of 5.0.0 available for download courtesy of @Rhuan.  With that, miniSphere now officially supports all three major desktop platforms.  Hooray! :smile:
14
Engine Development / Re: miniSphere 5.0.0
Just in time for Halloween :jack_o_lantern:, miniSphere 5.0 final has been released, bringing a scary amount of improvements including long-awaited support for ES2015+ and a blazing-fast JavaScript engine in ChakraCore.  miniSphere 5.0 also brings some brand-new Sphere Runtime modules, many API refinements and freezes the Core API to ensure that code written for Sphere v2 today will continue to work in all future engine versions.*  SSj has also been updated with some time-saving features.

This release includes many, many breaking changes over miniSphere 4.8.x, so be sure to look over the release notes and changelog here:
https://github.com/fatcerberus/minisphere/releases

Be sure to uninstall any previous version of miniSphere, including pre-release versions of 5.0, before setting up 5.0.0.  Many files were removed or renamed, so it's good to start with a clean slate to ensure cruft from previous builds doesn't interfere.

* Note: API freeze applies only to the Core API in miniSphere 5.0; the Sphere Runtime API freeze is currently scheduled for the next major version release (6.0).
15
Sphere General / Re: Proper way of using Sphere?
It used to be more complicated with CommonJS but now that it's built into the language, modules are very simple - you export from one file and import to another.  If you don't export it you can't access it from outside.