• What are you working on? V10
    2,002 replies, posted
[QUOTE=nullsquared;21929319]Can you guys do something very important for me? I need you to test my program, especially dual-core and quad-core users on Windows Vista and Windows 7, but other testers are also appreciated (including if anyone wants to see if it starts under Mono): [url]http://anyhub.net/file/test_opengl.zip[/url] or [url]http://omploader.org/vNGJpNA/test_opengl.zip[/url] (.NET framework is required) It should run without error and look *exactly* like this (except for the rotation, of course): When the triangle rotates, its back-face will be wireframe. This is expected; if the triangle's back-face is filled instead of wireframe, please tell me. If it looks different, please take a screenshot and show me. If you get some sort of error, please take a screenshot and show me. If you get an error that tells you to show me error.log, please do so. Thank you very much![/QUOTE] [quote]System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B) at grapher.gl.GL.enable(IntPtr hwnd) at test_opengl.MainForm..ctor() at test_opengl.Program.Main()[/quote] Using an Intel Core i5, 4GB RAM with Windows 7 x64.
[CODE]System.BadImageFormatException: Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x8007000B) bei grapher.gl.GL.enable(IntPtr hwnd) bei test_opengl.MainForm..ctor() bei test_opengl.Program.Main() [/CODE] Core2Duo e6750 Geforce 9600 GT 2 gigs ram Windows 7 64-bit [editline]11:09PM[/editline] I just noticed that is in german, but it's the exact same message wickedgenius got.
nullsquared needs to get the full not express version of VS and compile for anycpu maybe? The common theme I see is 64bit.
I'm not using the express version. As far as I can tell from the errors, the problem is coming from loading the glhelper.dll DLL. Let me investigate. If you're getting the same error on a similar machine, no need to post. However, I *would* like to know if someone with 32-bit Win7 has the same issue. [editline]07:19PM[/editline] Okay I built a new version, can you guys please try this one and tell me if it runs now? [url]http://anyhub.net/file/test_opengl.exe[/url] (just put it in the same directory as the glhelper DLL)
Works just fine. I have a Quad core CPU + Windows Vista 32-bit + ATI graphics card.
[code]System.DllNotFoundException: glhelper.dll at (wrapper managed-to-native) grapher.gl.GL:enable (intptr) at test_opengl.MainForm..ctor () [0x00000] at (wrapper remoting-invoke-with-check) test_opengl.MainForm:.ctor () at test_opengl.Program.Main () [0x00000] [/code] Ubuntu 9.10 amd64 w/ Openbox Mono v2.4.4 Core i3 330M nVidia GeForce 330M Note: C# binaries compiled for .NET should actually run fine under Mono, since it is binary compatible. I too have used dlls with my Sudoku-program, though they are compiled with Mono. I have no idea why it says that the dll cannot be found :(
Didn't work with the first version, works now. Windows 7 64-bit Core2Quad Q9550 Radeon HD 5870
[QUOTE=TheBoff;21921081]Don't you want breaks on the top three cases? Isn't signalName always going to be "Interrupt"?[/QUOTE] See, I need people like you to tell me how much of a moron I am. Anyway, I need to find out how to trigger these interrupts in Windows.
[QUOTE=Robber;21930083]Didn't work with the first version, works now. Windows 7 64-bit Core2Quad Q9550 Radeon HD 5870[/QUOTE] So the second executable I posted fixed it? Yes! :haw: [editline]07:57PM[/editline] [QUOTE=Dlaor;21929886]Works just fine. I have a Quad core CPU + Windows Vista 32-bit + ATI graphics card.[/QUOTE] The original version I posted, without the updated executable I later posted? [editline]07:58PM[/editline] [QUOTE=ZeekyHBomb;21929951][code]System.DllNotFoundException: glhelper.dll at (wrapper managed-to-native) grapher.gl.GL:enable (intptr) at test_opengl.MainForm..ctor () [0x00000] at (wrapper remoting-invoke-with-check) test_opengl.MainForm:.ctor () at test_opengl.Program.Main () [0x00000] [/code] Ubuntu 9.10 amd64 w/ Openbox Mono v2.4.4 Core i3 330M nVidia GeForce 330M Note: C# binaries compiled for .NET should actually run fine under Mono, since it is binary compatible. I too have used dlls with my Sudoku-program, though they are compiled with Mono. I have no idea why it says that the dll cannot be found :([/QUOTE] Hm, weird. Is this with the new .exe or the original version I posted? The DLL is a native 32-bit DLL compiled with MSVC, could that be confusing it?
Both are crashing. If glhelper.dll is not a CLI library, then probably yes. If it contains any native code, [url=http://www.mono-project.com/CPlusPlus]then it will not work[/url]. [QUOTE=CPPNOOB;21930179]See, I need people like you to tell me how much of a moron I am. Anyway, I need to find out how to trigger these interrupts in Windows.[/QUOTE] Trigger the interrupts? Do you mean how to catch them before the program terminates or do you indeed want to raise them?
[QUOTE=nullsquared;21924516]Wait are you saying I can't build a Linux binary, that uses Mono? I don't see why not, especially with ahead-of-time compilation.[/QUOTE] As arienh4 said, there is no difference (apart from probably slightly different code gen) between a .net executable built by mono and a .net executable built by microsoft's .net. AOT compiling will only compile certain parts of your app to native code, and it's generally worthless anyway unless you have a long startup time that you want to get rid of. You can, provided you don't use generics or any systems that dynamically create code, generate a full binary that pulls the mono runtime statically in, but that's rather limited, and rather useless in your problem domain.
[QUOTE=ZeekyHBomb;21930641]Both are crashing. If glhelper.dll is not a CLI library, then probably yes. If it contains any native code, [url=http://www.mono-project.com/CPlusPlus]then it will not work[/url].[/QUOTE] Thank you for the link. I will research to see what I can do. The only problem I can see arising is the fact that glhelper makes Win32 calls to create an OpenGL context... I have no idea how I'm going to replace that. [editline]08:09PM[/editline] [QUOTE=blankthemuffin;21930716]As arienh4 said, there is no difference (apart from probably slightly different code gen) between a .net executable built by mono and a .net executable built by microsoft's .net.[/QUOTE] Oh, wait, I see what you're saying. Thanks for the information.
[QUOTE=nullsquared;21930767]Thank you for the link. I will research to see what I can do. The only problem I can see arising is the fact that glhelper makes Win32 calls to create an OpenGL context... I have no idea how I'm going to replace that.[/QUOTE] Use a better GL .net library. Like OpenTK. Then you get cross platform context creation that will work on x86 and x64.
[QUOTE=blankthemuffin;21930853]Use a better GL .net library. Like OpenTK. Then you get cross platform context creation that will work on x86 and x64.[/QUOTE] OpenTK is a little heavy for what I want. But I'll look into it to see how it handles context creation. [editline]08:36PM[/editline] [QUOTE=blankthemuffin;21930853]Use a better GL .net library.[/QUOTE] BTW glhelper is a 5 minute DLL I threw together, it's not a GL .NET library :v:
[QUOTE=ZeekyHBomb;21930641]Trigger the interrupts? Do you mean how to catch them before the program terminates or do you indeed want to raise them?[/QUOTE] I don't exactly know how to interrupt programs in Windows or kill them. Is there some way to do this?
[QUOTE=CPPNOOB;21931522]I don't exactly know how to interrupt programs in Windows or kill them. Is there some way to do this?[/QUOTE] Windows doesn't let you interrupt a program. You can kill it by closing the process from an external process, or calling the standard C functions abort or exit from within the process. If you are using C++ and want to run destructors, throw a custom exception and catch it either in main (which you can return from) or a custom handler set by set_terminate (where you can call exit or abort).
Animated mobius strip: [img]http://img72.imageshack.us/img72/6002/graphermobiusstrip.gif[/img]
I think I just jizzed my pants. That's pretty cool null.
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup -snip- Not related to the DInput.h file. I think I may have broken my VC++ Express. If I have two CPP files in a project folder can that cause a issue? Nevermind. It is related to my classes file.
[QUOTE=darkrei9n;21932312]1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup -snip- Not related to the DInput.h file. I think I may have broken my VC++ Express.[/QUOTE] Did you choose to create a Win32 Application but removed the skeleton WinMain definition or something like that? Make sure you have a main function with the prototype you wanted. [QUOTE=darkrei9n;21932312]If I have two CPP files in a project folder can that cause a issue?[/QUOTE] No. Having several code modules is perfectly normal and generally, the more code modules (files) the merrier.
[QUOTE=jA_cOp;21932506]Did you choose to create a Win32 Application but removed the skeleton WinMain definition or something like that? Make sure you have a main function with the prototype you wanted. .[/QUOTE] *Whistles* I generally use Win32 app when I don't want to use console, I didn't think I would need that part.
[QUOTE=darkrei9n;21932837]*Whistles* I generally use Win32 app when I don't want to use console, I didn't think I would need that part.[/QUOTE] Haha, spot on :) In many cases where you want a graphical application on Windows but don't want anything WinMain offers, check if your graphics library offers a "main" module. By linking it you get to use the standard, portable main function in your application but without the console.
Well. I give up on trying to use DInput with the mouse.
While I'm still early in the project, is it a good idea for me to have returning false as an error instead of returning true? run() runs the engine, but returns true if the engine is dead. Is this the right way to do it?
[QUOTE=CPPNOOB;21934026]While I'm still early in the project, is it a good idea for me to have returning false as an error instead of returning true? run() runs the engine, but returns true if the engine is dead. Is this the right way to do it?[/QUOTE] It really depends on your architecture, it does seem an overly simplistic and naive approach though. [b]Edit:[/b] To actually say something useful, generally you want more information from a fail event. Especially when initialising a graphics engine. 'engine could not start' is no use to anybody.
Yeah, I know. I use to have it logging it, but now I'm using bitmas error codes. My point is, on bool functions, is it better to have false = fail and true = ok?
Everybody does that differently, I return false for error. The worst thing to do is have different functions like that in your api that work in different ways. More important than which convention you use, is how strictly you stick to it.
[QUOTE=CPPNOOB;21934498]Yeah, I know. I use to have it logging it, but now I'm using bitmas error codes. My point is, on bool functions, is it better to have false = fail and true = ok?[/QUOTE] If you have another error code convention in place, simply don't have functions with bool return values for error codes. Use the other convention. However, if you are using C++, this is a good place to use exceptions (although further down the chain, error codes could be more appropriate, resulting in a mix).
Anyone familiar with LOVE2D/Box2D? I can't figure out how to set air resistance so I can do top-down stuff.
There should be a command to apply friction in a certain axis, but if you need to do it yourself, you just take the velocity and make it closer to zero, however you want to go about it.
Sorry, you need to Log In to post a reply to this thread.