Advertisement Jump to content
  • Advertisement

Miss

Member
  • Content Count

    116
  • Joined

  • Last visited

Community Reputation

176 Neutral

1 Follower

About Miss

  • Rank
    Member

Personal Information

Social

  • Twitter
    codecatt
  • Github
    codecat

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I'm pretty sure they are definitely related - check out my new answer on that other thread. It's returning a bool by reference rather than by value which seems to cause this.
  2. Okay, I figured it out - the problem is that it returns a bool& rather than just a bool. I will probably have to re-think how the API is registered in my API (really shouldn't need to be returning by reference honestly). The reason I overlooked it at first is because I am generating these specific declarations automatically (with a formatting like "%s get_%s()" etc.), sorry about that.
  3. I have the following code: if (g_serverDisplayNameTask.HasSucceeded) { g_serverDisplayName = g_serverDisplayNameTask.GetDisplayName(g_serverDisplayID); I get a failed assertion in "asCCompiler::CompileStatementBlock": "tempVariables.GetLength() == 0". If I inspect the "node->tokenPos" there it points me to the 2nd line in the above snippet. Perhaps this means that the return value of get_HasSucceeded is getting leaked or so? HasSucceeded is defined as "bool get_HasSucceeded()" and "void set_HasSucceeded(bool)", both with asCALL_GENERIC. If I change the condition to be like "if (!x.y) {" then it doesn't happen. It also doesn't happen if I change it to "if (!x.y && true) {". It also happens with much smaller similar pieces of code: if (root.IsVisible) { root.Hide(); } else { root.Show(); } It doesn't seem to happen with classes written in scripts, only from application registration. This issue might be related, however I did add a set_X() function that simply throws an exception to work around the failed assertion:
  4. Ah I see, you were totally right. So I did make a few changes that were required in my case that I unknowingly overwrote when copying the new changes. Consider this report invalid. In the header file for the dictionary I changed the typedef for "dictKey_t" and also "dictMap_t" in order to use a custom string type that doesn't provide a hashing function yet.
  5. I'm not entirely sure. The scripts that cause the issues are only on the build I use for development the least, so it might've been quite a bit back.. but probably somewhere after October 25th, at least. I know, that probably doesn't help much..
  6. Unsure exactly if this is the reason why the assertion fails, but it does make sense. The following assertion fails: // We should never get here while the context is still an unprocessed property accessor asASSERT(ctx->property_get == 0 && ctx->property_set == 0); Above, property_get is some number, and property_set seems to be 0. ConvertToVariable is called from "asCCompiler::CompileIfStatement": if( expr.type.dataType.IsReference() ) ConvertToVariable(&expr); It happens when compiling the following if statement in the script: if (g_serverDisplayNameTask.HasSucceeded) { HasSucceeded is a read-only property, and therefore it's registered only as "bool get_HasSucceeded()". This used to never give me problems in prior (SVN/WIP) versions, I guess something changed? I believe this also happens with while() loops. And, if the assertion is ignored, the returned value is just false.
  7. I haven't been able to fully figure out what's going on yet, but this seems to crash on Windows with a "bad_alloc" exception, when put outside of a function: dictionary g_thing = { { "key", "value" } }; I reverted to an earlier version of CScriptDictionary and there it doesn't happen. Seems like the difference is some GC enum things?
  8. Miss

    AngelScript 2.33.0 released

    A pre-compiled build of asrun would be really cool! We'd probably use that quite a bit here. I'm glad you've released this new version! Thanks for all your hard work. ❤️ Happy holidays to you!
  9. The following code will first cause the error "A function with the same name and parameters already exists", and then crash: class Foo { void a() {} void a() {} } class Bar : Foo { void a() override {} } class FooBar : Bar { } void Test() { FooBar@ b = FooBar(); b.a(); } The empty FooBar class inheriting Bar is required, it doesn't crash without.
  10. Miss

    Will there be more frequent updates?

    That's great news!! ❤️
  11. Miss

    Will there be more frequent updates?

    Yesterday was exactly 1 year ago since the last stable update. Maybe it's time for another stable update soon?
  12. Miss

    Auto keyword behavior was changed?

    Sorry, you were right! It's fixed now. I must've accidentally messed something up while updating our copy of the sources. Thanks!
  13. Miss

    Auto keyword behavior was changed?

    Thanks for the fix, however the same error is still appearing.
  14. This is not an SFML forum. But to answer your question, you probably need to keep the Music object alive longer than the scope of the function.
  15. Miss

    Crash on preparing context

    Can you expand on the solution a little bit? I'd have for someone to find this page through Google and there not being any real answer
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!