2010-08-01, 10:54 AM
I'm not sure what you mean by "direct draw" or chunks out of walls etc. If you mean the geometry disappearing, Som does that. It's pretty common in many games. I don't know if I see it a lot in my projects or not. I know I do with the water sheet objects. If objects did not come with Som, then it's very possible there is something wrong with those files. If the object did come with Som, then there is probably something wrong with Som (would not be the first thing)
If increasing the draw distance helps at all, I could develop some extensions to prevent the disappearances either by hiding them in fog or overriding Som's Direct3D settings. There might also be a way to trick Som into thinking it has a wider frustum. Also if you enable "map optimization" when outputting your map, Som makes some assumptions like when you're in a tunnel you can't see things outside of it, which can be bad if your piece is not a true tunnel for example.
For lighting I do intend to try to get around Som's four light limit for objects. It may or may not work. But basically I would just always keep the lights on once Som sets them up (Som only keeps 4 on at a time) ...and since we know where the player is relative to the lights now I could still turn lights off that are too far away to be seen (according to maximum draw distance)
If you wanted to start doing interesting things with lights you'd have to output your map without lighting, then use that extension as a start. Then your map would have the same lights as the objects/monsters (which are really not consistent anyway -- I also plan to do a calibration extension to try to improve that) and you could turn the lights off/on dynamically, but you would lose Som's baked in shadow calculations (like how a column by a candle will cast a shadow on the room)
But if you want to totally revolutionize Som's lighting that would be the way to start. Then you could start adding shadows and stuff by some other means.
PS: If you literally "disabled DirectDraw" (and that means what it sounds) I'm surprised Som would even work. That might mean it has some yet undiscovered means of rendering itself which I'm totally unaware of. If so it would be statically linked into the exe and there'd be virtually no way of getting at it. Like a 3rd party software renderer with no dll associated. Though it probably just forces Windows to use software renderering to implement DirectDraw/3d.
If increasing the draw distance helps at all, I could develop some extensions to prevent the disappearances either by hiding them in fog or overriding Som's Direct3D settings. There might also be a way to trick Som into thinking it has a wider frustum. Also if you enable "map optimization" when outputting your map, Som makes some assumptions like when you're in a tunnel you can't see things outside of it, which can be bad if your piece is not a true tunnel for example.
For lighting I do intend to try to get around Som's four light limit for objects. It may or may not work. But basically I would just always keep the lights on once Som sets them up (Som only keeps 4 on at a time) ...and since we know where the player is relative to the lights now I could still turn lights off that are too far away to be seen (according to maximum draw distance)
If you wanted to start doing interesting things with lights you'd have to output your map without lighting, then use that extension as a start. Then your map would have the same lights as the objects/monsters (which are really not consistent anyway -- I also plan to do a calibration extension to try to improve that) and you could turn the lights off/on dynamically, but you would lose Som's baked in shadow calculations (like how a column by a candle will cast a shadow on the room)
But if you want to totally revolutionize Som's lighting that would be the way to start. Then you could start adding shadows and stuff by some other means.
PS: If you literally "disabled DirectDraw" (and that means what it sounds) I'm surprised Som would even work. That might mean it has some yet undiscovered means of rendering itself which I'm totally unaware of. If so it would be statically linked into the exe and there'd be virtually no way of getting at it. Like a 3rd party software renderer with no dll associated. Though it probably just forces Windows to use software renderering to implement DirectDraw/3d.