Jump to content


Photo

Gmogre3d - GM Port Of Ogre 3D - Supports GM 8.1


  • Please log in to reply
876 replies to this topic

#801 MasterOfKings

MasterOfKings

    The True Master

  • GMC Member
  • 4888 posts
  • Version:GM8

Posted 27 February 2012 - 01:57 AM


Just what I was looking for! I hope it isn't to complicated. Posted Image

Prepare to be dissapointed.

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.

GMOgre isn't supported on GM8.1, because GMAPI isn't supported.
  • 0

#802 Nirvan

Nirvan

    GMC Member

  • New Member
  • 32 posts

Posted 16 March 2012 - 10:25 PM

I everyday check this post for next ver 1.3
  • 0

#803 sneaky666

sneaky666

    536e65616b79

  • GMC Member
  • 1034 posts
  • Version:GM8

Posted 25 March 2012 - 09:42 PM

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?

Edited by sneaky666, 25 March 2012 - 09:42 PM.

  • 0

#804 TheSnidr

TheSnidr

    That guy

  • Global Moderators
  • 2440 posts
  • Version:GM:Studio

Posted 25 March 2012 - 09:45 PM

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 DLL is incompatible with 8.1, you'll have to use 8.0 instead.
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.

  • 0

#805 Phantom107

Phantom107

    Engineer

  • GMC Member
  • 2598 posts
  • Version:GM:Studio

Posted 25 March 2012 - 10:19 PM

Careful with Static Geometry. In the newest GM OGRE release the drawing distance with Static Geometry is broken. So you have to design your game around that. And going to a previous release of GM OGRE isn't really an option because you'll be missing vital features! Good luck.
  • 0

#806 dany25

dany25

    GMC Member

  • GMC Member
  • 25 posts

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
  • 0

#807 Nirvan

Nirvan

    GMC Member

  • New Member
  • 32 posts

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
  • 0

#808 GS-games

GS-games

    Creative

  • GMC Member
  • 323 posts
  • Version:GM:Studio

Posted 22 May 2012 - 09:06 AM

I got this error when I tried the first tutorial in the manual: Posted Image
___________________________________________
COMPILATION ERROR in Script: CreateOgre3DVariables
Error in code at line 34:
  	globalvar FSAA_HINT_NONE, FSAA_HINT_QUALITY;
                          	^
at position 29: Variable name expected.

  • 0

#809 Debels

Debels

    GMC Member

  • GMC Member
  • 1997 posts
  • Version:GM:Studio

Posted 02 June 2012 - 12:44 AM

Is this dll still being updated?
  • 0

#810 Drara

Drara

    GMC Member

  • GMC Member
  • 294 posts

Posted 07 July 2012 - 11:22 PM

Awesome thing.. I remember it testing in past on 8.0.
But.. what could be done to make this GM 8.1 compatible?

Edited by Drara, 08 July 2012 - 12:36 AM.

  • 0

#811 Nirvan

Nirvan

    GMC Member

  • New Member
  • 32 posts

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 :(
  • 0

#812 see_aya

see_aya

    GMC Member

  • New Member
  • 3 posts
  • Version:GM:HTML5

Posted 01 August 2012 - 07:51 PM

It wont work for me, The examples start fine, but if i click the window, it freezes, and i cant use it
  • 0

#813 Drara

Drara

    GMC Member

  • GMC Member
  • 294 posts

Posted 02 August 2012 - 05:44 PM

It wont work for me, The examples start fine, but if i click the window, it freezes, and i cant use it

You are using a later version of GM than GM 8.0...
  • 0

#814 Houdini

Houdini

    GMC Member

  • New Member
  • 195 posts

Posted 06 August 2012 - 04:15 PM

Awesome thing.. I remember it testing in past on 8.0.
But.. what could be done to make this GM 8.1 compatible?

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.

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
  • 0

#815 SyncViews

SyncViews

    GMC Member

  • GMC Member
  • 392 posts

Posted 06 August 2012 - 06:31 PM


Awesome thing.. I remember it testing in past on 8.0.
But.. what could be done to make this GM 8.1 compatible?

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.

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

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.

Edited by SyncViews, 06 August 2012 - 07:37 PM.

  • 1

#816 Houdini

Houdini

    GMC Member

  • New Member
  • 195 posts

Posted 06 August 2012 - 08:09 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.=

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.

SyncViews, that is fantastic news!

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! :biggrin:

- Houdini
  • 0

#817 SyncViews

SyncViews

    GMC Member

  • GMC Member
  • 392 posts

Posted 06 August 2012 - 09:27 PM

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).

Edited by SyncViews, 06 August 2012 - 09:28 PM.

  • 0

#818 Houdini

Houdini

    GMC Member

  • New Member
  • 195 posts

Posted 07 August 2012 - 12:31 AM

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).

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...

- Houdini
  • 0

#819 Houdini

Houdini

    GMC Member

  • New Member
  • 195 posts

Posted 13 August 2012 - 06:50 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
  • 3

#820 -LEWA-

-LEWA-

    GMC Member

  • GMC Member
  • 30 posts
  • Version:GM8.1

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




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users