Skip to main content

News

Topic: Sphere 1.5 vs miniSphere (Read 12614 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
Re: Sphere 1.5 vs miniSphere
Reply #45
Just turned the Triforce Outlines into a static image. It now displays properly in Sphere & miniSphere. Also, eliminated the need for all the triangle coordinates. The function is more streamlined this way too.
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Sphere 1.5 vs miniSphere
Reply #46
You probably would have been better to draw the triangles as LineSeries(), but this works too.  For some reason Sphere doesn't have an OutlinedTriangle function...
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: Sphere 1.5 vs miniSphere
Reply #47
Well here's a new one for Sphere vs miniSphere
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Sphere 1.5 vs miniSphere
Reply #48
That's interesting.  You might have found an actual bug!  What does your code to activate the passageway look like?
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: Sphere 1.5 vs miniSphere
Reply #49
@Fat Cerberus It's a rough draft...
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Sphere 1.5 vs miniSphere
Reply #50
Okay, so looking at the code, I have a question:
  • Does it play the Secret sound and just not show the staircase?
  • Or does it NOT play the sound?

If it's the former, then that means SetTile() is bugged.  If it's the latter, than something else is going wrong because that means name is always "block" (since the condition to unlock the secret is for name to not be "block").
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: Sphere 1.5 vs miniSphere
Reply #51
hmm, Let me try something real quick

Edit: Edited the north directional only for testing purposes.

Changed the code to read
Code: [Select]
if (y == (yn+1))
{
  if (name != "block")
  {
    PlaySound(Secret);
  }
SetTile(tileX, tileY, tileL, tile);
}

Now, it should only play the sound if the name is not "block" but set the tile in either case.

When I tried it in miniSphere the tile still did not change yet functions in Sphere.
  • Last Edit: September 15, 2017, 11:14:54 am by Miscreant
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Sphere 1.5 vs miniSphere
Reply #52
That means there's a problem with SetTile.  I'll look into it.
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: Sphere 1.5 vs miniSphere
Reply #53
That means there's a problem with SetTile.  I'll look into it.

Mathematical error in my code. The tile now appears in both Sphere and miniSphere. Not an issue with SetTile.
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Sphere 1.5 vs miniSphere
Reply #54
That's still curious that the behavior differed between the two engines.  What was the mistake?
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: Sphere 1.5 vs miniSphere
Reply #55
 I started by commenting out different parts of the code. "// this out, test with sphere, functions, miniSphere still broken. Ok, so i don't even need this line." After that it was just "let's check the math", which was literally off by 1.

On a side note: I keep forgetting to add this line
Code: [Select]
if (GetVersion() < 2 || GetActingPerson() == MainChar){//code here}
to certain entities on the map. As a result I just watched an Armos kick a headstone across the screen.
  • Last Edit: September 15, 2017, 02:25:56 pm by Miscreant
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Sphere 1.5 vs miniSphere
Reply #56
What I mean though, is why did the off-by-one math not break things in Sphere 1.5?  That indicates some imperfect emulation on my part, and I'd really like to fix that ;)
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

Re: Sphere 1.5 vs miniSphere
Reply #57
ah, that is an interesting question. I'm not sure why the errored version would process correctly in Sphere. Now, with no slow down in graphics, testing and debugging in miniSphere are a regular task of creating ZeC.
  • Last Edit: September 15, 2017, 07:10:39 pm by Miscreant
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

Re: Sphere 1.5 vs miniSphere
Reply #58
Now here's one I don't understand...

In miniSphere it functions. In Sphere 1.5, on touching the triforce it just pauses and warps the player outside the level...

Triforce 'On Touch'
Code: [Select]
LVL1C = true;
CollectTriforce();
QueuePersonScript("Triforce", "LevelComplete(119, 87, D3)", false);

Code: [Select]
function CollectTriforce();
{
DetachInput(MainChar);
Foo("Triforce", 127, 71, "north", 0); //Fooing again
ClearPersonQueue(MainChar);
Foo(MainChar, 127, 92, "collect", 0); //always with the Fooing
PlaySound("ItemCollected.ogg"); //To be changed to something more appropriate for the Triforce later
}

Code: [Select]
function LevelComplete(x, y, map);
{
Delay(1500); // adjust for future sound file length
DestroyPerson("Triforce");
AttachInput(MainChar);
FancyWarp(x, y, "south", map, 1500); //I think this came from sphere.chm. Nothing actually fancy just FadeOut() & FadeIn().
}

There are no ifs, no switch, no anything. The code is just straight forward commands.
  • Last Edit: September 17, 2017, 06:17:22 am by Miscreant
"I am to misbehave." - Malcom Renyolds, Captain of Serenity

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Sphere 1.5 vs miniSphere
Reply #59
That's interesting, there seems to be a bug in Sphere 1.5's handling of queued person scripts from the looks of things.  Not sure what's wrong yet, I can look into that later.
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub