GMOgre isn't supported on GM8.1, because GMAPI isn't supported.Prepare to be dissapointed.
Just what I was looking for! I hope it isn't to complicated.
I'm rather shocked that it forces users to use 8.0 which is clearly an inferior Game Maker by a very long shot, we are not talking about the Game Maker 6.1 to 7.0 push, 8.0 to 8.1 was a MASSIVE improvement.
Gmogre3d - GM Port Of Ogre 3D - Supports GM 8.1
#801
Posted 27 February 2012 - 01:57 AM
#802
Posted 16 March 2012 - 10:25 PM
#803
Posted 25 March 2012 - 09:42 PM
Also can I use this to draw models faster?
Edited by sneaky666, 25 March 2012 - 09:42 PM.
#804
Posted 25 March 2012 - 09:45 PM
The DLL is incompatible with 8.1, you'll have to use 8.0 instead.every time I try any of the example gmk's, as soon as I give focus on the window after the game runs, it just freezes...
Also can I use this to draw models faster?
Using StaticGeometry will let you draw static models fast. Other than that it's not much faster than drawing models in 8.1, though the possibility to use shaders makes it look much better.
Edited by TheSnidr, 25 March 2012 - 09:46 PM.
#805
Posted 25 March 2012 - 10:19 PM
#806
Posted 29 March 2012 - 09:40 AM
every time I try any of the example gmk's, as soon as I give focus on the window after the game runs, it just freezes...
Also can I use this to draw models faster?
The physic freeze on the 1.25 version depend on how the exe are build. Don't work on every computer.
Strangely the 1.20 version the physic work more fast than the 1.25 less lag and the 1.20 work on every computer.
I work on Future Cop Remake http://img1.imagiliv...shot100.jpg.htm
#807
Posted 04 May 2012 - 11:13 AM
I work on Future Cop Remake http://img1.imagiliv...shot100.jpg.htm
Very nice :D I hope you will end this game, this was great time when i was playing this with my friend on split-screen :D
#808
Posted 22 May 2012 - 09:06 AM
___________________________________________
COMPILATION ERROR in Script: CreateOgre3DVariables
Error in code at line 34:
globalvar FSAA_HINT_NONE, FSAA_HINT_QUALITY;
^
at position 29: Variable name expected.
#809
Posted 02 June 2012 - 12:44 AM
#810
Posted 07 July 2012 - 11:22 PM
But.. what could be done to make this GM 8.1 compatible?
Edited by Drara, 08 July 2012 - 12:36 AM.
#811
Posted 11 July 2012 - 07:12 PM
Awesome thing.. I remember it testing in past on 8.0.
But.. what could be done to make this GM 8.1 compatible?
Update, but I don't know that this will be in future
#812
Posted 01 August 2012 - 07:51 PM
#813
Posted 02 August 2012 - 05:44 PM
You are using a later version of GM than GM 8.0...It wont work for me, The examples start fine, but if i click the window, it freezes, and i cant use it
#814
Posted 06 August 2012 - 04:15 PM
Unfortunately making GMOgre3D compatible with GM 8.1 is not a trivial task. If GMAPI was still being maintained this wouldn't be very difficult to do at all. I know there is a different GMAPI project out there but it uses GM scripting whenever possible whereas the original GMAPI used direct memory access when possible, so converting to the new GMAPI would cause a pretty large speed decrease in GMOgre3D as GM scripting is extremely slow.Awesome thing.. I remember it testing in past on 8.0.
But.. what could be done to make this GM 8.1 compatible?
If the old GMAPI is ever updated (or the new version duplicates much of what the old GMAPI did), or if GM ever updates the scripting engine to use C++ like there was talk of, then I would consider porting GMOgre3D to the latest version of GM. But until then there's not much I can do.
- Houdini
#815
Posted 06 August 2012 - 06:31 PM
Well it is getting there, but its mostly a case of what I need and how much time I have given I am the only one working on it, or really testing stuff. Variable access is getting there, for the next named release there will certainly be the ability to access existing variables and array elements (that is you can set them, as long as gml code or the regular variable gm functions "created" them, since I haven't worked out the memory allocation part yet for them). And Ive been thinking of putting what I have as 0.0.6 now, and leave the allocation for later.=Unfortunately making GMOgre3D compatible with GM 8.1 is not a trivial task. If GMAPI was still being maintained this wouldn't be very difficult to do at all. I know there is a different GMAPI project out there but it uses GM scripting whenever possible whereas the original GMAPI used direct memory access when possible, so converting to the new GMAPI would cause a pretty large speed decrease in GMOgre3D as GM scripting is extremely slow.
Awesome thing.. I remember it testing in past on 8.0.
But.. what could be done to make this GM 8.1 compatible?
If the old GMAPI is ever updated (or the new version duplicates much of what the old GMAPI did), or if GM ever updates the scripting engine to use C++ like there was talk of, then I would consider porting GMOgre3D to the latest version of GM. But until then there's not much I can do.
- Houdini
I also have a good idea where the IDirect3DDevice8 is, but not sure what else projects like Gmogre3d need. Was thinking to try and find the IDirect3DTexture8* and such for sprites, surfaces, textures, etc.
As for GM Studio, Mac, iOS, Android it is also very much a question of money
EDIT: Found the IDirect3DDevice8* value, having got my head around a "IDirect3DDevice8****" indirection to look it up.
Edited by SyncViews, 06 August 2012 - 07:37 PM.
#816
Posted 06 August 2012 - 08:09 PM
SyncViews, that is fantastic news!Well it is getting there, but its mostly a case of what I need and how much time I have given I am the only one working on it, or really testing stuff. Variable access is getting there, for the next named release there will certainly be the ability to access existing variables and array elements (that is you can set them, as long as gml code or the regular variable gm functions "created" them, since I haven't worked out the memory allocation part yet for them). And Ive been thinking of putting what I have as 0.0.6 now, and leave the allocation for later.=
I also have a good idea where the IDirect3DDevice8 is, but not sure what else projects like Gmogre3d need. Was thinking to try and find the IDirect3DTexture8* and such for sprites, surfaces, textures, etc.
As for GM Studio, Mac, iOS, Android it is also very much a question of money
EDIT: Found the IDirect3DDevice8* value, having got my head around a "IDirect3DDevice8****" indirection to look it up.
As far as GMOgre3D goes, I really only used the read/writing of GML variables (both array and single), creation of GML variables, and ability to execute custom GML script functions. The creation of variables via direct memory calls isn't as big a deal as GMOgre3D doesn't do a whole lot of variable creating, so as long as I can create variables via the standard GML functions then I think it would be fine. Only thing I can't remember is if the old GMAPI executed custom GML functions directly from memory or if it executed them through some kind of standard GML function. If it executed via direct memory then that would also be a must for GMOgre3D.
If you were able to add these features to the next version of GMAPI I would, as well as many others, be forever in your debt!
- Houdini
#817
Posted 06 August 2012 - 09:27 PM
Most of the changes are in the current SVN if you check it out. As I said as long as you use GML /variable_* means to create the variable, and array elements, you should be able to access them now, both to read and change. I have not looked at accessing the built in variables by name/id, but in the case of instances it would be far quicker to access them directly in the Instance struct anyway
Not sure how much you use strings, but that could perhaps use a little more testing since I recently rewrote all that to use some string objects rather than a couple of functions that take a raw pointer (they should also handle encoding and copy-on-write stuff, but still room for improvement there).
Edited by SyncViews, 06 August 2012 - 09:28 PM.
#818
Posted 07 August 2012 - 12:31 AM
Excellent! Looks like I'll be doing some testing with GMAPI and GM 8.1 and see how it compares to GM 8.0 and the older GMAPI...well the script execute thing takes an id, so I think it should be at least as fast as calling the script from GML in the first place .
Most of the changes are in the current SVN if you check it out. As I said as long as you use GML /variable_* means to create the variable, and array elements, you should be able to access them now, both to read and change. I have not looked at accessing the built in variables by name/id, but in the case of instances it would be far quicker to access them directly in the Instance struct anyway
Not sure how much you use strings, but that could perhaps use a little more testing since I recently rewrote all that to use some string objects rather than a couple of functions that take a raw pointer (they should also handle encoding and copy-on-write stuff, but still room for improvement there).
- Houdini
#819
Posted 13 August 2012 - 06:50 PM
Anyone who finds this useful please show SyncViews your appreciation in this thread, as this update would not have been possible without his recent updates to GMAPI for GM 8.1.
See below for instructions on how to use GMOgre3D with GameMaker 8.1:
To use the GMOgre3D with GameMaker 8.1 please first download GMOgre3D 1.25 here. Next download the GMOgre3DStatic.dll for GameMaker 8.1 from here. Unzip and replace the old GMOgre3DStatic.dll from your GMOgre3D 1.25 install with the new. Keep in mind that this new version of GMOgre3DStatic.dll will not work with GameMaker 8.0 or lower.
After replacing the DLL please import your GameMaker project into GameMaker 8.1, then modify the InitializeOgre3D script and replace:
global.ogre_init = external_define(global.ogre_dll, "Initialize", dll_cdecl, ty_real, 3, ty_string, ty_string, ty_string);
with this:
global.ogre_init = external_define(global.ogre_dll, "Initialize", dll_cdecl, ty_real, 4, ty_real, ty_string, ty_string, ty_string);
In that same script file replace:
external_call(global.ogre_init, global.ogre_plugins_cfg, global.ogre_cfg, global.ogre_log_file);
with this:
external_call(global.ogre_init, get_function_address("get_function_address"), global.ogre_plugins_cfg, global.ogre_cfg, global.ogre_log_file);
That's it! If you run into any issues please post them here and I'll take a look at them as soon as possible.
As some of you may know, this is the first update to GMOgre3D in almost 2 years. The reason this project stalled was mostly because it was impossible to port GMOgre3D to GameMaker 8.1/GameMaker Studio without a version of GMAPI that supports GM 8.1/GameMaker Studio. It was hard to find the drive to work on a project that only works on older versions of GameMaker.
But now that the new GMAPI has all the functionality that GMOgre3D needs to run in GameMaker 8.1, this excuse is obviously no longer valid, and it's time for me to re-evaluate where GMOgre3D is, and what lies in its future...
- Houdini
#820
Posted 14 August 2012 - 02:21 PM
I'm pleased to say that GMOgre3D now supports GameMaker 8.1. Currently I'm offering the modified GMOgre3DStatic.dll for GameMaker 8.1 as a separate download. I tested this with all GMOgre3D 1.25 examples and everything runs smoothly, but I am waiting for feedback from community users before including this in the official GMOgre3D 1.25 download.
Anyone who finds this useful please show SyncViews your appreciation in this thread, as this update would not have been possible without his recent updates to GMAPI for GM 8.1.
See below for instructions on how to use GMOgre3D with GameMaker 8.1:To use the GMOgre3D with GameMaker 8.1 please first download GMOgre3D 1.25 here. Next download the GMOgre3DStatic.dll for GameMaker 8.1 from here. Unzip and replace the old GMOgre3DStatic.dll from your GMOgre3D 1.25 install with the new. Keep in mind that this new version of GMOgre3DStatic.dll will not work with GameMaker 8.0 or lower.
After replacing the DLL please import your GameMaker project into GameMaker 8.1, then modify the InitializeOgre3D script and replace:
global.ogre_init = external_define(global.ogre_dll, "Initialize", dll_cdecl, ty_real, 3, ty_string, ty_string, ty_string);
with this:
global.ogre_init = external_define(global.ogre_dll, "Initialize", dll_cdecl, ty_real, 4, ty_real, ty_string, ty_string, ty_string);
In that same script file replace:
external_call(global.ogre_init, global.ogre_plugins_cfg, global.ogre_cfg, global.ogre_log_file);
with this:
external_call(global.ogre_init, get_function_address("get_function_address"), global.ogre_plugins_cfg, global.ogre_cfg, global.ogre_log_file);
That's it! If you run into any issues please post them here and I'll take a look at them as soon as possible.
As some of you may know, this is the first update to GMOgre3D in almost 2 years. The reason this project stalled was mostly because it was impossible to port GMOgre3D to GameMaker 8.1/GameMaker Studio without a version of GMAPI that supports GM 8.1/GameMaker Studio. It was hard to find the drive to work on a project that only works on older versions of GameMaker.
But now that the new GMAPI has all the functionality that GMOgre3D needs to run in GameMaker 8.1, this excuse is obviously no longer valid, and it's time for me to re-evaluate where GMOgre3D is, and what lies in its future...
- Houdini
That is simply amazing. It works for me without any problems.
I thought that this wouldn't be possible until (maybe) GM9.
Great work what you Houdini and SyncViews did. I really appreciate your work.
Thanks for this wunderfull possibilities which you have opened for the GM Community.
- LEWA
Edited by -LEWA-, 14 August 2012 - 02:23 PM.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users









