Graal Forums  

Go Back   Graal Forums > Development Forums > Future Improvements
FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 09-11-2008, 06:17 AM
Inverness Inverness is offline
Incubator
Inverness's Avatar
Join Date: Aug 2004
Location: Houston, Texas
Posts: 3,613
Inverness is a jewel in the roughInverness is a jewel in the rough
Graal API

The external scripted windows were supposed to eliminate the need for external tools. Stefan first predicted their release around Christmas. It is now September and they still haven't been released. At this point I'm not confident the external scripted windows will be released this year.

As a solution I propose a Graal API. This would appear in the form of a DLL file with the required C/C++ headers and library for dynamic linking. The DLL file would provide two general functions: script parsing and server communication.

For the script parsing, there would be one input function ParseScript(const char *script). The DLL file would allow you to specify callback functions that would be called during script parsing so your program would know when to load a tileset, gmap, or anything else that the level editor should be doing.

For the server communication, it would be pretty much similar to SendText() and OnRecieveText(). I don't think that needs anymore elaboration.

I believe this would take much less effort for Stefan to create than the whole external scripted windows. If it had been done back during Christmas we'd already have an up-to-date level editor with support for layers and GS2 and 32-bit PNG's.
__________________

Last edited by Inverness; 09-11-2008 at 04:09 PM.. Reason: :rolleyes:
Reply With Quote
  #2  
Old 09-11-2008, 02:32 PM
Loriel Loriel is offline
Somewhat rusty
Loriel's Avatar
Join Date: Mar 2001
Posts: 5,059
Loriel is a name known to allLoriel is a name known to allLoriel is a name known to allLoriel is a name known to all
Quote:
Originally Posted by Inverness View Post
For the script parsing, there would be one input function ParseScript(char *script).
const char*

I am not really sure what you are asking for, here. Do you essentially want the entire script engine and also the network code in a standalone dll? Would you not kind of need the rest of the Graal engine as well to actually do anything with the parsed script?
Reply With Quote
  #3  
Old 09-11-2008, 04:09 PM
Inverness Inverness is offline
Incubator
Inverness's Avatar
Join Date: Aug 2004
Location: Houston, Texas
Posts: 3,613
Inverness is a jewel in the roughInverness is a jewel in the rough
Quote:
Originally Posted by Loriel View Post
const char*

Quote:
Originally Posted by Loriel View Post
Do you essentially want the entire script engine and also the network code in a standalone dll?
No, for level editing the dll would just have a parser that would notify your program when it should be doing something. The networking part would simply be what is available in the RC.
Quote:
Originally Posted by Loriel View Post
Would you not kind of need the rest of the Graal engine as well to actually do anything with the parsed script?
This API would not support offline testing or anything like that. When used with level editor, it would simply be giving you a way to parse a script present in the level so that you can know when to load tiledefs or a gmap like with the current level editor.
__________________
Reply With Quote
  #4  
Old 09-16-2008, 03:03 AM
Inverness Inverness is offline
Incubator
Inverness's Avatar
Join Date: Aug 2004
Location: Houston, Texas
Posts: 3,613
Inverness is a jewel in the roughInverness is a jewel in the rough
I'm suffering here without power or internet (currently using WiFi in random church parking lot) and ya'll aren't even nice enough to reply to my thread. D:
__________________
Reply With Quote
  #5  
Old 09-16-2008, 03:07 AM
cbk1994 cbk1994 is offline
the fake one
cbk1994's Avatar
Join Date: Mar 2003
Location: San Francisco
Posts: 10,718
cbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond repute
Send a message via AIM to cbk1994
Quote:
Originally Posted by Inverness View Post
I'm suffering here without power or internet (currently using WiFi in random church parking lot) and ya'll aren't even nice enough to reply to my thread. D:
Poor Inverness <3
__________________
Reply With Quote
  #6  
Old 09-16-2008, 04:06 PM
Nataxo Nataxo is offline
Cake'd
Join Date: May 2008
Location: México
Posts: 2,313
Nataxo is a glorious beacon of lightNataxo is a glorious beacon of lightNataxo is a glorious beacon of light
Quote:
Originally Posted by Inverness View Post
I'm suffering here without power or internet (currently using WiFi in random church parking lot) and ya'll aren't even nice enough to reply to my thread. D:
i feel your pain, once i had two weeks with only my itouch using wifi on random places...
Reply With Quote
  #7  
Old 09-16-2008, 05:52 PM
Loriel Loriel is offline
Somewhat rusty
Loriel's Avatar
Join Date: Mar 2001
Posts: 5,059
Loriel is a name known to allLoriel is a name known to allLoriel is a name known to allLoriel is a name known to all
Quote:
Originally Posted by Inverness View Post
I'm suffering here without power or internet (currently using WiFi in random church parking lot) and ya'll aren't even nice enough to reply to my thread. D:
I fixed a bug in your proposed API and you are not even nice enough to not rolleye at it

Yeah I do not really see this suggesting being all that useful.
Reply With Quote
  #8  
Old 09-16-2008, 07:35 PM
Inverness Inverness is offline
Incubator
Inverness's Avatar
Join Date: Aug 2004
Location: Houston, Texas
Posts: 3,613
Inverness is a jewel in the roughInverness is a jewel in the rough
Quote:
Originally Posted by Loriel View Post
I fixed a bug in your proposed API and you are not even nice enough to not rolleye at it
It doesn't have to be a constant to work, which is why it wasn't there the first time. The parsed script most likely won't be a literal.
Quote:
Originally Posted by Loriel View Post
Yeah I do not really see this suggesting being all that useful.
This would help people develop their own tools on their own time rather than waiting a year for Stefan to release external scripted controls.

I've wanted an excuse to make a program in Python.
__________________
Reply With Quote
  #9  
Old 09-16-2008, 09:39 PM
Loriel Loriel is offline
Somewhat rusty
Loriel's Avatar
Join Date: Mar 2001
Posts: 5,059
Loriel is a name known to allLoriel is a name known to allLoriel is a name known to allLoriel is a name known to all
Quote:
Originally Posted by Inverness View Post
It doesn't have to be a constant to work, which is why it wasn't there the first time. The parsed script most likely won't be a literal.
It has to be constant to work with pointers to constant characters. It does not have to be non-constant to work, so it should be constant. Requiring that the character array is mutable is ridiculous (you would be unable to pass data from std::strings).

Quote:
This would help people develop their own tools on their own time rather than waiting a year for Stefan to release external scripted controls.
There is plenty of room for people to make their own tools without that dll, and the things you get out of it probably do not justify the effort involved.

Graal does not want people to write their own programs that mess with the protocol, so you are not ever going to get a dll that lets you talk to the server. (Perhaps you could set up something with the web-ish GS2 stuff? No idea, I never used it)

You could probably write your own minimalistic parser for gmaps and tiledefs or whatever in scripts, since if they are not hardcoded, and instead dynamic, you probably would not want them to be applied in an editor anyway. But I really doubt that the reason that no one made a third party level editor yet is that people would have to configure gmaps and tiledefs themselves.
Reply With Quote
  #10  
Old 09-16-2008, 09:50 PM
Inverness Inverness is offline
Incubator
Inverness's Avatar
Join Date: Aug 2004
Location: Houston, Texas
Posts: 3,613
Inverness is a jewel in the roughInverness is a jewel in the rough
Quote:
Originally Posted by Loriel View Post
It has to be constant to work with pointers to constant characters. It does not have to be non-constant to work, so it should be constant.
Thats a good point actually, I will remember it.
Quote:
Originally Posted by Loriel View Post
There is plenty of room for people to make their own tools without that dll, and the things you get out of it probably do not justify the effort involved.
The DLL would take less effort than the external scripted windows, which is why I proposed it.
Quote:
Originally Posted by Loriel View Post
Graal does not want people to write their own programs that mess with the protocol, so you are not ever going to get a dll that lets you talk to the server.
The functionality the DLL would provide for RC would be equivilent to the SendText() and OnRecieveText() functions.
Quote:
Originally Posted by Loriel View Post
(Perhaps you could set up something with the web-ish GS2 stuff? No idea, I never used it)
Me neither, sounds like something to look in to.
__________________
Reply With Quote
  #11  
Old 10-28-2008, 02:04 AM
Inverness Inverness is offline
Incubator
Inverness's Avatar
Join Date: Aug 2004
Location: Houston, Texas
Posts: 3,613
Inverness is a jewel in the roughInverness is a jewel in the rough
Bump.

I want to make an RC using wxPython, Inverness wants an API.
__________________
Reply With Quote
  #12  
Old 10-28-2008, 10:25 AM
Skyld Skyld is offline
Script-fu
Skyld's Avatar
Join Date: Jan 2002
Location: United Kingdom
Posts: 3,914
Skyld has much to be proud ofSkyld has much to be proud ofSkyld has much to be proud ofSkyld has much to be proud ofSkyld has much to be proud ofSkyld has much to be proud of
Send a message via AIM to Skyld
It's not likely to happen. Sorry.
Reply With Quote
  #13  
Old 10-28-2008, 06:53 PM
Inverness Inverness is offline
Incubator
Inverness's Avatar
Join Date: Aug 2004
Location: Houston, Texas
Posts: 3,613
Inverness is a jewel in the roughInverness is a jewel in the rough
Quote:
Originally Posted by Skyld View Post
It's not likely to happen. Sorry.
I know, but nobody can say that I wasn't willing to help Graal when I start complaining about something.
__________________
Reply With Quote
  #14  
Old 10-28-2008, 08:10 PM
Loriel Loriel is offline
Somewhat rusty
Loriel's Avatar
Join Date: Mar 2001
Posts: 5,059
Loriel is a name known to allLoriel is a name known to allLoriel is a name known to allLoriel is a name known to all
Quote:
Originally Posted by Inverness View Post
I know, but nobody can say that I wasn't willing to help Graal when I start complaining about something.
You could work on gonstruct instead! That does not require non-free DLLs!
Reply With Quote
  #15  
Old 10-28-2008, 08:26 PM
Inverness Inverness is offline
Incubator
Inverness's Avatar
Join Date: Aug 2004
Location: Houston, Texas
Posts: 3,613
Inverness is a jewel in the roughInverness is a jewel in the rough
Quote:
Originally Posted by Loriel View Post
You could work on gonstruct instead! That does not require non-free DLLs!
If I decide to make a level editor it will be using wxPython, which makes it platform independent.
__________________
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 10:00 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.