Skip to main content

News

Topic: TurboSphere (Read 190983 times) previous topic - next topic

0 Members and 6 Guests are viewing this topic.
  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: TurboSphere
Reply #165
I'll test it on my i7 later, but it crashes on startup on my desktop (shows a blue triangle first, then crashes).  Admittedly this thing isn't the fastest thing ever, it's only a cheap AMD dual-core processor, but figured I'd throw it out there anyway in case you knew what was causing it.

Graphics card: Radeon HD 7340 (CPU graphics, chip is AMD E2-1800)
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: TurboSphere
Reply #166
@Lord English: If you run it through a command prompt, does it tell you anything? I doubt it will be too useful to do that on Windows, but it might. Otherwise I'd need to try dissected startup scripts to see what is crashing it.

I'm working on 0.3.1 right now. I've been trying to get my old Breakout game to run on it. And as it turns out, there were only four functions missing, and a little problem with file reading.

Considering that most of my best games had to do with juggling or hand-ball, I think that the circle functions (OutlinedCircle, FilledCircle, and GradientCircle) are coming soon.

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: TurboSphere
Reply #167
Results of running TurboSphere from PowerShell:

Code: [Select]
PS C:\users\bruce\desktop\turbosphere> .\turbosphere
Fixed plugins: 1
Fixed plugins as recorded: 1
Opening Game.
Opening SGM file startup/game.sgm
Opening main script.
The main script is startup/scripts/Jest_Main.js
[ConfigManager] Info: Successfully opened script startup/scripts/Jest_Main.js
Getting number of plugins.
Getting number of plugins.
Plugin audioBASS.dll is open.
[audioBASS] Info: loaded and initialized BASS.
[audioBASS] Info: Initialized BASSmidi.
Plugin bmpfontGL.dll is open.
Plugin getkeystring.dll is open.
Plugin inputSDL.dll is open.
[inputSDL] Info: Event state setup succeeded.
Plugin scriptfs.dll is open.
Plugin SDL_GL.dll is open.
[SDL_GL] Video mode setup succeeded.
[SDL_GL] Info: Using OpenGL version 4.2.11764 Compatibility Profile Context
Plugin ttffontGL.dll is open.
Plugin windowstyleGL.dll is open.
startup/fonts/DejaVuSans.ttf
PS C:\users\bruce\desktop\turbosphere> _
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: TurboSphere
Reply #168
Huh...normally you get more info about crashes than that. At least a segfault message or something.

So it crashes when you see the first screen. Is it before or after you hit a key to go to the next screen?

EDIT: Expect graphics scaling in 0.3.1 (1x through 16x guaranteed). I may even get hq2x and/or Eagle2x working too, but no promises there.
  • Last Edit: June 11, 2013, 09:20:20 pm by Flying Jester

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: TurboSphere
Reply #169
I see a blue triangle after running it, then it immediately crashes.  No keypresses or anything.

Edit: Works like a charm on my i7, though. :)
  • Last Edit: June 11, 2013, 10:00:49 pm by Lord English
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: TurboSphere
Reply #170
Interesting...

What does the command line say when you run it on your i7 machine?

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: TurboSphere
Reply #171
A bunch of stuff, I don't remember it all now and I'm not on that machine at the moment.  I remember more and more stuff being added to the console output while the game was running, though, JS events or something.  I'll have to check it out again later.

Edit: Just pulled out my laptop and tried it, output doesn't appear to be helpful.

Code: [Select]
Windows PowerShell
Copyright (C) 2012 Microsoft Corporation. All rights reserved.

PS C:\Users\Bruce> cd Desktop/TurboSphere
PS C:\Users\Bruce\Desktop\TurboSphere> ./turbosphere
Fixed plugins: 1
Fixed plugins as recorded: 1
Opening Game.
Opening SGM file startup/game.sgm
Opening main script.
The main script is startup/scripts/Jest_Main.js
[ConfigManager] Info: Successfully opened script startup/scripts/Jest_Main.js
Getting number of plugins.
Getting number of plugins.
Plugin audioBASS.dll is open.
[audioBASS] Info: loaded and initialized BASS.
[audioBASS] Info: Initialized BASSmidi.
Plugin bmpfontGL.dll is open.
Plugin getkeystring.dll is open.
Plugin inputSDL.dll is open.
[inputSDL] Info: Event state setup succeeded.
Plugin scriptfs.dll is open.
Plugin SDL_GL.dll is open.
[SDL_GL] Video mode setup succeeded.
[SDL_GL] Info: Using OpenGL version 4.0.0 - Build 9.17.10.2875
Plugin ttffontGL.dll is open.
Plugin windowstyleGL.dll is open.
startup/fonts/DejaVuSans.ttf
JS Result will be passed.
32
[ttffontGL] DrawText Info: Binding string Do a barrel roll! With TTF Fonts! to cache slot 0.
PS C:\Users\Bruce\Desktop\TurboSphere> _


The "JS Result will be passed" line didn't appear until I pressed a key on the blue triangle screen, the line immediately before it mentioning DejaVuSans.ttf is the last line displayed before it crashes on the AMD machine.  I don't think the console output is going to be too helpful here.  Honestly, if I could compile TurboSphere with VS, I could probably find the bug myself using the VS debugger, but since I don't think I can, I guess this one's up to you. :)
  • Last Edit: June 13, 2013, 10:48:03 am by Lord English
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: TurboSphere
Reply #172
You probably could compile it using MSVC. The source for 0.3.0 on SourceForge has a Scons file that works with MSVC quite well (that's how I compiled it).

Considering that it crashes before it gets a chance to call the game function (the 'JS result will (or will not) be passed' means that it fully evaluated a script, in this case the main script without calling game(). So it's something else in the script, and there's not too much else. It pretty much has to be GetKey or maybe FlipScreen.

Out of curiosity, your AMD laptop doesn't have a bunch of crazy media buttons or something like that, does it? Or a button to toggle on and off the touchpad?

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: TurboSphere
Reply #173
The AMD machine is a desktop, not a laptop.  Well, more specifically an all-in-one.  It does have an MS ergonomic keyboard attached with a bunch of media/other misc. keys, though...
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: TurboSphere
Reply #174
Huh. I do know that on my older Toshiba laptop, when I have the touchpad toggled off using a button below the keyboard, it makes TurboSphere hang until it's toggled back on for several key functions (SDL reads some ridiculous scan code for that button, and for some reason there is blocking while the pad is toggled off). A similar thing happens when I mute my laptop using the media key, SDL constantly reads a key being pressed, although in that case no scan code is generated. In both cases, I have no idea how to fix it. I'm just letting it go until I move to SDL 2.0, or it becomes enough of a problem that I'll have to figure it out.

You could try the script with all the GetKey()'s commented out. That's the only thing between the screen being drawn and the script ending. Otherwise it might actually be something in game(), but I haven't seen that kind of thing cause this kind of problem before (something terrible in game() causing a crash before game() is called).

Re: TurboSphere
Reply #175
I've updated http://wiki.spheredev.org/User:Flying_Jester/TurboSphere_API, and now it is (as far as I know) fully up to date for TurboSphere 0.3.0, except for the sound functions.

EDIT: 0.3.0's sound API is now documented as well.
  • Last Edit: June 15, 2013, 09:26:48 pm by Flying Jester

Re: TurboSphere
Reply #176
I've updated TurboSphere to use V8 3.19. I thought this would be a much more difficult transition, since persistent handles are going away. And make no mistake, the only reason I could make the transition with only a dozen lines of code difference or so is because there are a couple of hacks in v8 now so that it can behave more like 3.17 until persistent handles are finally gone and regular handles are changed to take up the slack.

I'm not looking forward to that day. But I am very happy that I've worked out the plugin system the way I have. The changes to all the plugins to make them work with 3.19 were almost completely in plugin.h.


  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: TurboSphere
Reply #177
That's good to hear. Would it mean making easier plugin creation?
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: TurboSphere
Reply #178
Well, plugins aren't very hard to make. At least I don't think so. I do know that it is a lot easier with plugins than it used to be before plugins.

The good news is that (partially accidentally) almost everything that seems to change in V8 is covered by the plugin making tools in the source. One change in the source, and the plugins just need to be recompiled (which would have to happen anyway, they are linked to V8).

Also, TurboSphere is beginning to run some games with no modifications to the scripts! Which also shows how the old editor does not create spec TGA files (I don't think TGA's can actually have alpha information).
  • Last Edit: June 20, 2013, 06:33:10 pm by Flying Jester

  • DaVince
  • [*][*][*][*][*]
  • Administrator
  • Used Sphere for, like, half my life
Re: TurboSphere
Reply #179
Awesome.

Hey FJ, when you get to the map engine, I have a request... Could you add functionality to grab a defined area of the entire map as an image/surface? In current Sphere, grabbing the map is limited to just the visible area on the screen (unless you use some kind of hack).