Ehh..hmm...did you mean 3D view of a cube? Or the whole map?
- ØØ -
Printable View
Ehh..hmm...did you mean 3D view of a cube? Or the whole map?
- ØØ -
I had a preview of a single cube working which was quite straight forward but it didn't really give you a sense of the local area of the map. I don't think we'll be using Jamie's idea of a rotating 3d cube that you can drag textures onto. The map editor should just be a tool, not a multimedia rollercoaster :D It already has sound for pete's sake :lol:
Actualy, I didn't talk to you wossy...I don't talk to YOU all the time....I talked to TimeShifter...;)...because I guess we could make a preview app. Like the version where we took a picture of the whole map in one go. But movable camera and so on is not going to happen right now.
- ØØ
Hmmmph I want a divorce :mad:
read again, i was aware of the drag'n'drop this is what i used which was still very slow and tidous for a floor base (but you did forget to mention this feature in the readme)Quote:
Originally Posted by wossname
what i thought would be handy was a tool to mass create the basic shape of the map with the floor and cieling.. where you can easily just click around and add them.. may be too hard to implement for the benefits to be worth while, something to think about anyway.
noteme: perhaps if the camera can do the 4 sides of the map or something
Quote:
Originally Posted by wossname
That might happen before you know it..:)'
- ØØ -
Quote:
Originally Posted by Phill64
I will look into this tonight....I think I can make that happen without too much fuss. Just need to disable the frustum culling, and make the app respond to some keystrokes.
- ØØ -
A bit like using the pen in MSPaint when your zoomed in you mean? Yeah its possible, I'll probably do that tonight, maybe hook that feature to the shift key to distinguish it from straight duplication.Quote:
Originally Posted by Phill64
someone asked about a mergesort algorithm, and the only one i had near me at the time was written in haskell. much easier to do in functional programming than procedural, but equally much more useless in functional programming.Quote:
Originally Posted by NoteMe
Note, if you are going to use that KeyTester class, can you put the class definition inside the DSMath.dll project, then I can use it to check for keyboard states easily.
Yes, I will do that later on tonight. After all, I don't have a life anyway..:) BTW, why do you need to check for key states?
- ØØ -
So I can do shift-click combinations.
Ohhh...right..forgot about that..:) Will do as you say master..:)
- ØØ -
There's a good Viking, have a biscuit.
I'm going to try to get this chapter out of the way tonight so I can concentrate on the project.
Good. Don't stress it. After all, your book is work. This is just pure plesure..;)....BTW is the last version of D# on the server in the dev folder now? If not, can you tell me when it is. So I don't start working on something old?
- ØØ -
Yeah the most up to date version is on the server.
Just for the record I'll be doing:
* Intro screen / menu thingy
* blitter
* map editor
* some artwork for various things like the intro and enemies / players (maybe guns)
* sound effects.
Remind me some day we are working on this and have a lot of time that I will try to extract some sound from my broken HDD so we can use it for our game.
BTW I wish we had a web site to represent this. But I am so incredible bad at designing stuff....grrr....
- ØØ
ok cool.
I forgot to ask you yesterday but is that Distance property in the wallpart class working yet? Is that what you are sorting by? If so, then i can activate distance darkening tonight!!
Screenies ahoy!
Ehh...to be honest..I was a bit confused when it came to that...ehh....because there is two distances there now isn't it? I don't have the code here in Linux, but if I remember right, there is one called SphereDistance, and one just Distance right? The sphere distance is the distance from the center of our Frustum. That is used for culling, and has no value for you. But the other one is what you want. I am using that variable in the Sorting file. So if you can find the same name there, then you know you found it.
- ØØ -
grøøvy.
Can't wait to see that.
Looking forward to it too...hope we get more then 1FPS then..:)...BTW I think an unsafe versoin of it should be much faster. Don't you think? Then you don't need to texture passes.
- ØØ -
Unsafe version of what? The DD algorithm doesn't really allow pointers because its all done with managed classes.
Have you used unsafe code in your camera (and the other 3d classes) at all?
The blitter is my next priority after adding a "paintbrush" feature to the editor. I'm not convinced it'll beat the method we already have though. If I can get the textures into an int array instead of keeping them as images then we'll get an instant performance hike. Its a damn shame that we can't allocate ram on the unmanaged heap for the lifetime of the game, that would be waaaaaaay fast.
I havn't unsed unsafe code at all. Can't say that I know where I should use it at the moment. But I can have a look at it again when we go beta. Most of my work doesn't allow unsafe code..:(
When I said unsafe I was thinking about your experiments with drawing with unsafe code. Wasn't that what you where doing? And if it was, then calculating the distance darkening and applying it there at the same time, means that you only have to go through the "array" once, and not two times as you do when you draw the semi transparent picture on top of the other.
- ØØ -
Well if I do per-pixel like I plan to, then I only go through the array once anyway, and then maybe use a transparent polygon afterwards with normal GDI+ code. If I was to calculate each pixel's brightness one at a time then it would slow things down a lot (I think) flat Poly's draw pretty fast so it should be OK.
I just need to understand how to break up the quads into trapezoids. Sounds like a toughy.
I don't think adding alpha blending would do to much of a damage. I might be wrong though...
- ØØ -
Well it would mean adding an int to each pixel on the whole screen.
Yeah, but I think it would still be faster then going through the whole array once more, don't you? I might be wrong. But you can test it if you ever get the time I guess.
- ØØ -
I'm not sure what you mean about "going through the array once more". There's only one loop in the renderer.
But if you first draw the wall with GDI+ and then Draw the distance darkening on top of that, then that is 2 loops right?
- ØØ -
No, its just one loop and a call to DrawPolygon().
Yeah, but what does DrawPolygon do? Doesn't it first render the wall, then the stuff on top?
- ØØ -
The MapViewer is comming along nicely now. Just a bit sceptical to how many cameras I should add, and how I should add them. Since the map size may vary quit a bit. hmmmm.
- ØØ -
OK, here is just a slapped togheter map viewer. It is pretty simple, since I don't want to spend time on this right now. There is still plenty of other stuff to do, like a web page for the project...phewww...:(
But anyway. Here it is:
http://www.noteme.com/doomsharp/release/mapviewer.zip
Press 1, 2, 3 or 4 to choose camera. THe controlls are a bit jerky. So you might have to press a few times..:)...And that is more or less it. Just change the map file in this zip file with your own map (same name) and then start the app.
Thanks
- ØØ -
Ladies and gentlemen...It is our great pleasure to present to you...
Distance Darkening :D
(there's still a problem with trying to render objects beyond the far plane, we have yet to find out where the problem is. This screeny doesn't show polygon replacement because at the moment that particular feature looks really crap so i turned it off :D)
Suuuure is pretty aint it?
I'm gettin nothin but a black screen when I launch the app...
Except for this error...
I take it you mean the map previewer that noteme made?Quote:
Originally Posted by timeshifter
Click the details button and post the top 30 (or so) lines of text.
Details:
Quote:
See the end of this message, instead of this dialog box, for details on invoking
just-in-time (JIT) debugging.
************** Exception Text **************
System.OverflowException: Overflow error.
at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
at System.Drawing.Graphics.DrawImage(Image image, PointF[] destPoints, RectangleF srcRect, GraphicsUnit srcUnit, ImageAttributes imageAttr, DrawImageAbort callback, Int32 callbackData)
at System.Drawing.Graphics.DrawImage(Image image, PointF[] destPoints, RectangleF srcRect, GraphicsUnit srcUnit, ImageAttributes imageAttr)
at DSMath.TexEng.DrawPrimitive(Primitive thing)
at DSMath.ScreenTriangle.Draw()
at DSMath.WallPart.Draw()
at DSMath.Culling.DrawMap()
at DoomSharp.Form1.GameLoop()
at DoomSharp.Form1.Form1_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50215.44 (beta2.050215-4400)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50215/mscorlib.dll
----------------------------------------
DoomSharp
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Documents%20and%20Settings/David/Desktop/mapviewer/DoomSharp.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50215.44 (beta2.050215-4400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50215.44 (beta2.050215-4400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50215.44 (beta2.050215-4400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
DSMath
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Documents%20and%20Settings/David/Desktop/mapviewer/DSMath.DLL
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
ahh ok. That's the camera bug we're having trouble with.
Note's gone for the evening I think. I'll talk to him about it tomorrow.
PS, did you see the screeny of the proper game in post #795? :D
kk..
Can you try to move the camera in the map editor, and see if you still have the same problem?
- ØØ -