Did you install the DirectX optional components with the Construct installer? If you skipped that dialog and didn't install the DirectX components, you may be missing the legacy shader compiler, which could cause effect errors.
Suffice to say, yes or no
If it has to be a yes or no answer, then no.
In C++, static class member declerations also need to be declared in a .cpp file so the linker knows about them. The following line in runtime.cpp should fix it:
vector<CRunObject*> CRunObject::sameBehavior;[/code:2nr3odo6] This is not an SDK specific thing, you need to do this any time in C++ you declare a static member.
That's right, and you would do something like:
sameBehaviors.push_back(this); // in OnCreate()
sameBehaviors.erase(find(sameBehaviors.begin(), sameBehaviors.end(), this)); // in destructor
You'll need to include <algorithm> for std::find.
They'll still work in older versions too, because they're binary compatible. But any features which have changed (the renderer, filter etc) won't work in older versions, but I don't know of any plugins this would affect.
Can you post a .cap showing what you mean? It should work fine no matter the shape of the object.
It's not anti-aliasing, it's called linear filtering. The option Rich mentioned will change the mode for the entire application, but you can also change it per-layer in layer properties from 0.99.3.
Why not just give your groups appropriate names in the first place? This sounds like a tool specially designed for people who have made mistakes in organising their events
I don't know. If you're not already proficient at making 2D games, 3D game creation is a whole new level: an original 3D game needs skilled 3D modellers and animators, world designers, and sometimes complex 3D maths which can be a few levels beyond the 2D geometry everyone's taught in schools. Construct might move in a 2D-gameplay-with-3D-graphics direction, but I'm not convinced there's a market for a full 3D 'easy' game creator. Given the high level of skill required in other areas, you may as well learn proper scripting...
There were lots of big code changes from 0.98.9 to 0.99 which is why some people's files broke; from the current unstable release (0.99.3) to 1.0 there will only be bug fixes so it shouldn't break anything significantly. So I would recommend waiting for the next stable build then starting with that - in fact, I've started my own large project in the as-yet unreleased next build of Construct
Using pre-rendered backgrounds doesn't work very well in hardware-accelerated games: they use way too much VRAM. I'm sure Diablo uses 3D models and smaller tiled textures and objects to build up a more complicated level. Your game should use smaller textures to build up levels too, to save memory, and I'm sure the artwork will be quicker that way too!
Download Plugin SDK 0.99.3 now
Sorry it's late!
Changes in this SDK:
I don't think existing third party plugins will suffer too much from this - they should only need small changes. If you need any help let me know and I'll try sort it out. Note that the includes in stdafx.h have changed and if you don't update these your plugin won't compile and will give a lot of errors: if you haven't changed stdafx.h, just paste in the new one from the new SDK, or look at the new headers and typedefs and paste them in.
It has nothing to do with vectors
CRunObject** instances; int count; pRuntime->GetTypeInstances(pType, instances, count); if (instances != NULL) { CRunObject** i = instances; CRunObject** end = instances + count; for ( ; i != end; ++i) pRuntime->DestroyObject(*i); }[/code:f76xay8n]
Develop games in your browser. Powerful, performant & highly capable.
All you need is a static variable. Something like a static vector of instances in your CRunObject, which you add the 'this' pointer to in OnCreate and remove in the destructor. Then, all objects have access to the list of all objects with that behavior.
Call VRuntime::GetTypeInstances to get a list of the instances in that type, then call VRuntime::DestroyObject on each of them.