 |
Castle Paradox
|
View previous topic :: View next topic |
Author |
Message |
TMC On the Verge of Insanity
Joined: 05 Apr 2003 Posts: 3240 Location: Matakana
|
Posted: Thu Jan 29, 2009 10:09 am Post subject: |
|
|
Quote: | This standard gives native support for thread handling, plus a few other template enhancements that I currently find useful. |
Oh, right! I didn't realise C++0x means this year :) The additions are so big they scare me. Don't they know C++ is a language from 1979? TR1 is nice (but not quite enough improvements to templates).
Quote: | In regards compatibility, I agree that 100% should be strived for. A conversion utility can be provided to "upgrade" the data to a compatible state. |
Games are upgraded when they are loaded in Game and Custom: this is a big improvement to compatibility with very old games, as the upgrade routine used to be only used in Custom. However, it can mean significant loading time.
Quote: | However, I wanted to know what systems this should be compatible across, including Windows, Linux, MacOS, DOS, cell phones, internet, etc. |
I'm confused as to what you want to do? You want to start over again, ignoring OHR++ and create another (a 4th, assuming OHR++ and OHRRPGCE FMF continue as well as they are going to near completion) player for OHR games? I don't think I can answer the question without understanding this.
Now, if you only want to add more graphical capabilities to the engine, I don't think that you need to rewrite the whole thing, just the parts concerned with graphics. You might be overlooking what the most work would be in a rewrite. Not big low level items like loading and drawing graphics, human interface and audio code, but the thousands of small ones, like the 391 currently existing script commands, and all the game logic for battles, with hundreds of enemy, hero, attack, item and formation settings.
I guess I'll send another reply to the mailinglist about your modules. I don't know why you're drawing special attention to Surface, what's special about it?
You said you've built editors. What kind of tools (language, GUI toolkits, GUI builders) did you use? I'm wondering who can lend what to help with upgrading Custom. _________________ "It is so great it is insanely great."
Last edited by TMC on Thu Jan 29, 2009 10:20 am; edited 1 time in total |
|
Back to top |
|
 |
Bob the Hamster OHRRPGCE Developer

Joined: 22 Feb 2003 Posts: 2526 Location: Hamster Republic (Southern California Enclave)
|
Posted: Thu Jan 29, 2009 10:18 am Post subject: |
|
|
Maybe slightly off-topic, but if I wanted to re-write custom from scratch (not saying I do) I would start with David Gower's ohrrpgce.py, and then I would implement something very similar to 'Plan for an Editor Editor' using pygame. |
|
Back to top |
|
 |
TMC On the Verge of Insanity
Joined: 05 Apr 2003 Posts: 3240 Location: Matakana
|
Posted: Thu Jan 29, 2009 10:46 am Post subject: |
|
|
Just pygame? Minimal GUI elements?
How about we meet halfway: write editedit in whichever language you care to (and you could even generate either python or FB code) and create new menus in Python using ohrrpgce.py and an ohrrpgce-custom module, embedded in FB-Custom, which continues to handle all the menus and upgrade routines, etc, noone cares to rewrite.
Hmm, instead of rewriting half and adding a bucket of glue, rewriting all probably wouldn't be more work. _________________ "It is so great it is insanely great." |
|
Back to top |
|
 |
Bob the Hamster OHRRPGCE Developer

Joined: 22 Feb 2003 Posts: 2526 Location: Hamster Republic (Southern California Enclave)
|
Posted: Thu Jan 29, 2009 10:53 am Post subject: |
|
|
The Mad Cacti wrote: | Just pygame? Minimal GUI elements? |
Sure. I have never met a windowing toolkit that was sufficiently keyboard accessible to suit my tastes.
The Mad Cacti wrote: | How about we meet halfway: write editedit in whichever language you care to (and you could even generate either python or FB code) |
Code generation would have just been a way to get around FreeBasic's poor support for polymorphism. If I was doing it in python, there would be little need for code generation.
The Mad Cacti wrote: | ...and create new menus which run in Python using ohrrpgce.py and an ohrrpgce-custom module, embedded in FB-Custom, which continues to handle all the menus and upgrade routines, etc, noone cares to rewrite. |
...but yes, I think what you are getting at is that once we had an Editor Editor (regardless of the language it was implemented in) it could be used to generate menus for any ohrrpgce-custom implementation regardless of language or windowing toolkit, right? |
|
Back to top |
|
 |
Hieran_Del8
Joined: 23 Jan 2009 Posts: 18
|
Posted: Thu Jan 29, 2009 1:34 pm Post subject: |
|
|
I should clarify the design approach. It is drastically different from the previous approaches. Here was the proposed list for the modules for handling the reconstructed system:
File IO
Plotscript
Window
Graphic Renderer
Surfaces (most everything is a surface, and surfaces may be rendered differently in different OS's, etc.)
Audio Renderer
Human Interface Devices
{
Mouse
Keyboard
Other
}
Game Editor
Game Player
Network (in case of multiplayer, or streaming file IO over a network, or streaming other modules?)
The goal of the modular design is for maximum compatibility. It allows for faster deployment and upgrade. It allows a content-driven approach, and a team implementation focus. A brief explanation of the design:
1. File IO
This module is responsible for opening files, reading data (perhaps interpreted to a newer version for compatibility), and writing data. It represents the module interface with the file system. It is not restricted to resident files. Perhaps the files are streamed over the internet, etc. The file system module can be arranged for whatever system the module is ported for. In this way, the calling module retrieves the data it is expecting, no matter what source system.
2. Plotscript
This module represents the plotscript interpreter. This module can be updated and added to the system to allow for easier upgrades to the plotscripting system (no overhead of rewriting the custom.exe or game.exe).
3. Window
Represents the window that the modules request to work with. The window module handles all necessary interfaces and messages, perhaps using callbacks to the proper modules. The calling modules do not need to know what sort of window system they are interfacing with.
4. Graphic renderer
The graphical rendering system. This receives data supplied to it (or calls to certain interfaces) and translates it into a rendered graphic for display on whatever system. The calling modules (ie. Game editor or Game player) do not need to know the specifics of the rendering. They just supply data and issue high-level commands.
5. Surfaces
The surface module encapsulates a surface, including possibly its dimensions, color data, format, pallette, etc. The Surface module is called to allocate and manage surface resources, such as sprites, tilesets, etc. This module works mostly with the File IO and Graphic renderer. The Game editor and Game player modules will issue higher level commands for utilizing surfaces via the Surface module. The only reasons I mentioned a separate surface module is because of compatibility and the fact that most data within the editor and player is a surface.
6. Audio renderer
The audio rendering system. This module is similar in design to the Graphic renderer module. Perhaps a submodule could be built that encapsulates a sound stream?
7. Human Interface Devices, including Mouse, Keyboard, and Other
Manages input from some outside source to the editor and player modules. Purpose is to allow for the case that, say, a bluetooth device (ie. cellphone) can register as a valid input for those said modules. Perhaps a joystick wants to be used? Maybe one of those drawing pads? In any case, it translates the input to valid calls to the other systems.
8. Game editor
A data management system responsible for issuing high level calls and managing high level interfaces (the other modules) for building the game data. This does not include a GUI system. It is strictly the data management. Perhaps a GUI could be another module?
9. Game player
Data management for issuing calls and managing high level interfaces, for playing the game data. A different GUI module (perhaps different from the editor's GUI module) could be proposed.
10. Network
An afterthought. Perhaps multiplayer support could be added to the games. Maybe server data could be streamed to the games (ie. high scores, user messages, mmo?). Another usage includes streaming other modules. Perhaps the File IO module actually interfaces across a network (like playing a game from a website without downloading the game.) Maybe other modules could be streamed (for updating purposes, or allowing a user to select the modules they prefer?) An after-afterthought: perhaps all the modules could be streamed. (Effectively, this is like amd-ati's new fusion concept.)
This is a highly modular design. It takes the rendering, surface management, GUI, file IO, plotscripting, etc. completely out of the hands of the editor and player. Again, this allows for faster deployment and upgrade. It allows a content-driven approach, and a team implementation focus.
TMC: The only editors I've built have been keyboard driven, as the first good one was QBasic, and the second good one was C++ with directX. Btw, I'm using "good" in a relative sense to other editors I've built. This is the first editor I'm working with such an object-oriented approach. I've built modules in this object oriented approach, but never an editor. As long as the design phase works out the high-level kinks, the coding will be a breeze. |
|
Back to top |
|
 |
Inferior Minion Metric Ruler

Joined: 03 Jan 2003 Posts: 741 Location: Santa Barbara, CA
|
Posted: Thu Jan 29, 2009 3:23 pm Post subject: |
|
|
Hieran_Del8 wrote: | I should clarify the design approach. It is drastically different from the previous approaches. Here was the proposed list for the modules for handling the reconstructed system:
File IO
Plotscript
Window
Graphic Renderer
Surfaces (most everything is a surface, and surfaces may be rendered differently in different OS's, etc.)
Audio Renderer
Human Interface Devices
{
Mouse
Keyboard
Other
}
Game Editor
Game Player
Network (in case of multiplayer, or streaming file IO over a network, or streaming other modules?)
The goal of the modular design is for maximum compatibility. It allows for faster deployment and upgrade. It allows a content-driven approach, and a team implementation focus. A brief explanation of the design:
1. File IO
This module is responsible for opening files, reading data (perhaps interpreted to a newer version for compatibility), and writing data. It represents the module interface with the file system. It is not restricted to resident files. Perhaps the files are streamed over the internet, etc. The file system module can be arranged for whatever system the module is ported for. In this way, the calling module retrieves the data it is expecting, no matter what source system.
2. Plotscript
This module represents the plotscript interpreter. This module can be updated and added to the system to allow for easier upgrades to the plotscripting system (no overhead of rewriting the custom.exe or game.exe).
3. Window
Represents the window that the modules request to work with. The window module handles all necessary interfaces and messages, perhaps using callbacks to the proper modules. The calling modules do not need to know what sort of window system they are interfacing with.
4. Graphic renderer
The graphical rendering system. This receives data supplied to it (or calls to certain interfaces) and translates it into a rendered graphic for display on whatever system. The calling modules (ie. Game editor or Game player) do not need to know the specifics of the rendering. They just supply data and issue high-level commands.
5. Surfaces
The surface module encapsulates a surface, including possibly its dimensions, color data, format, pallette, etc. The Surface module is called to allocate and manage surface resources, such as sprites, tilesets, etc. This module works mostly with the File IO and Graphic renderer. The Game editor and Game player modules will issue higher level commands for utilizing surfaces via the Surface module. The only reasons I mentioned a separate surface module is because of compatibility and the fact that most data within the editor and player is a surface.
6. Audio renderer
The audio rendering system. This module is similar in design to the Graphic renderer module. Perhaps a submodule could be built that encapsulates a sound stream?
7. Human Interface Devices, including Mouse, Keyboard, and Other
Manages input from some outside source to the editor and player modules. Purpose is to allow for the case that, say, a bluetooth device (ie. cellphone) can register as a valid input for those said modules. Perhaps a joystick wants to be used? Maybe one of those drawing pads? In any case, it translates the input to valid calls to the other systems.
8. Game editor
A data management system responsible for issuing high level calls and managing high level interfaces (the other modules) for building the game data. This does not include a GUI system. It is strictly the data management. Perhaps a GUI could be another module?
9. Game player
Data management for issuing calls and managing high level interfaces, for playing the game data. A different GUI module (perhaps different from the editor's GUI module) could be proposed.
10. Network
An afterthought. Perhaps multiplayer support could be added to the games. Maybe server data could be streamed to the games (ie. high scores, user messages, mmo?). Another usage includes streaming other modules. Perhaps the File IO module actually interfaces across a network (like playing a game from a website without downloading the game.) Maybe other modules could be streamed (for updating purposes, or allowing a user to select the modules they prefer?) An after-afterthought: perhaps all the modules could be streamed. (Effectively, this is like amd-ati's new fusion concept.)
This is a highly modular design. It takes the rendering, surface management, GUI, file IO, plotscripting, etc. completely out of the hands of the editor and player. Again, this allows for faster deployment and upgrade. It allows a content-driven approach, and a team implementation focus.
TMC: The only editors I've built have been keyboard driven, as the first good one was QBasic, and the second good one was C++ with directX. Btw, I'm using "good" in a relative sense to other editors I've built. This is the first editor I'm working with such an object-oriented approach. I've built modules in this object oriented approach, but never an editor. As long as the design phase works out the high-level kinks, the coding will be a breeze. |
Hieran,
What you have described almost exactly matches my OHR++ implementation framework. Here is the breakdown of the classes, as seen here.
File IO resides in the io folder. In its current implementation, it is purely an interface for extracting data from a Lump (internal RPG data storage).
Window, Graphic Renderer, HID, and the actual main Gameplay loop reside within gui.
Essentially, the main loop resides in each Window and all Windows are maintained by the Window Manager. These are both abstract classes to be implemented by the underlying technology, in this case GLUT. While the main loop remains the same, the underlying technology needs to implement UID handling, window creation, and window management.
The Window has a reference to its underlying Graphics Backend, used to actually render objects. For cross-platform support, I have implemented this using OpenGL.
The Graphics Backend further has a reference to its underlying Texture Manager, which generates and caches the textures for future use. This was created due to the paletted nature of the OHR. Based on your description above, this would be the equivalent of your Surfaces module (although your description may group aspects of the draw method from Graphics Backend into this module as well).
I haven't touched Plotscripting or Audio Rendering yet and have no immediate plan to look into Networking (need to have a usable system first).
The other two modules you have are the Game Editor and the Game Player. In my breakdown, those two items would be 2 separate Subclasses of Window with their own main loops.
The other two modules I have which you did not mention are the rpg module and the internal module (should really be renamed to runtime, poor planning on my part - will restructure that eventually). The rpg directory contains the internal representation of every aspect of the RPG. These are the objects and containers populated by the File module for use within the system.
The internal directory contains runtime specific information, such as the current game state, Hero and Enemy instance information, etc. I would also think this would be the import/export point for the SAV files.
1 year out of development looking at the code, there are some minor restructuring and changes I would make, but overall I am very happy with the design and current codebase.
Cheers,
~IM _________________
|
|
Back to top |
|
 |
Hieran_Del8
Joined: 23 Jan 2009 Posts: 18
|
Posted: Thu Jan 29, 2009 11:06 pm Post subject: |
|
|
Inferior Minion:
I see. The framework is very similar. It may be advantageous to continue work on the OHR++ instead of rebuilding. However, there are certain differences in design.
I broke the Window, Graphic renderer, HID, Game player, and the GUI filter into separate components instead of combining them into a single module. I would sow them together in an application, but it is intentionally separate here for modularity. A diagram illustrates the connections between the modules.
*The component labelled "Editor" and "Player" is exclusively the Game editor or the Game player. Both modules cannot run simultaneously.
The benefit for breaking the items into separate components is easier upgrades and a more diverse set of plugin customization. The downside is there are more modules. What are your thoughts on that?
The design of the Game editor and Game player modules allow them to strictly manage data and make high-level interface calls. They currently are not designed to pair with a window. They can work with windows indirectly (through the chain of modules to the Window module), but it would be unnecessary. The editor and player are designed to interpret data from a user, the files, and a GUI filter. (The GUI filter seems to be in a slightly wrong place, btw. It seems to be missing something.) What are your thoughts on this design?
Regarding the Network module, perhaps it could fit roughly like so:
*where any resident modules would bypass the Network interface. If the Graphic Renderer module is being streamed, the Window module would still need to be resident. However, it would render the graphic in a simple stream blit.
Honestly, I only included the Network module for theory and experimentation. It would be neat to implement, but I think the design needs tweaking. What do you think?
The last two modules you mentioned (rpg and internal) are necessary. Interestingly, through the current design, they are already implemented through the editor/player modules. Those modules specifically handle only data, user input, and a GUI filter. They would manage the states, etc. This is slightly different from the OHR++ modular design because these modules are not Window subclasses.
Another note: these modules are not classes necessarily. Instead, several classes/structs/objects will make up each module. I'm sure this is similar to OHR++ in that regard. (I will analyze it in more detail.) What are your thoughts on this design? |
|
Back to top |
|
 |
TMC On the Verge of Insanity
Joined: 05 Apr 2003 Posts: 3240 Location: Matakana
|
Posted: Wed Feb 04, 2009 9:48 am Post subject: |
|
|
James Paige wrote: | The Mad Cacti wrote: | Just pygame? Minimal GUI elements? |
Sure. I have never met a windowing toolkit that was sufficiently keyboard accessible to suit my tastes. |
Hmm, yes. That's very important. wxwidgets does seem to make it possible, but hard, to grab and process keyboard input. On the other hand, Custom's use of shortcut keys is often very messy.
What I actually wanted to see is using different menu rendering frontends that could produce something similar to Custom but improved (with dynamic menus and informative help), or Fyre's Aileron if you wanted that.... but you guessed at that already.
James Paige wrote: | Code generation would have just been a way to get around FreeBasic's poor support for polymorphism. If I was doing it in python, there would be little need for code generation. |
Oh yeah, of course
James Paige wrote: | ...but yes, I think what you are getting at is that once we had an Editor Editor (regardless of the language it was implemented in) it could be used to generate menus for any ohrrpgce-custom implementation regardless of language or windowing toolkit, right? |
But until you stated it, I hadn't realised that editedit would be the core of the solution (I was concentrating on the menu frontend implementation). _________________ "It is so great it is insanely great." |
|
Back to top |
|
 |
TMC On the Verge of Insanity
Joined: 05 Apr 2003 Posts: 3240 Location: Matakana
|
Posted: Wed Feb 04, 2009 10:37 am Post subject: |
|
|
Sorry for the late reply.
I've already commented on a lot of your modules on the mailing list.
Hieran_Del8 wrote: | 4. Graphic renderer |
This doesn't sound redundant to me any more like at first. In fact, I realise I want to take this route for the OHR as well (except that I have no interest modular code for the purpose of plugins or replacement, just to organise self-contained code). I'd like to combine a lot of code from allmodex and the graphics backends and make use of accelerated blitting from the graphics libraries.
Quote: | 5. Surfaces
The surface module encapsulates a surface, including possibly its dimensions, color data, format, pallette, etc. The Surface module is called to allocate and manage surface resources, such as sprites, tilesets, etc. This module works mostly with the File IO and Graphic renderer. The Game editor and Game player modules will issue higher level commands for utilizing surfaces via the Surface module. The only reasons I mentioned a separate surface module is because of compatibility and the fact that most data within the editor and player is a surface. |
My recommendation: encapsulate spritesets as well as sprites. In fact, work with sets of animations to plan ahead for future flexible frame count animations. A tileset is a set of 160 sprites. A walkabout is a set of 4 animations.
Quote: | 6. Audio renderer
The audio rendering system. This module is similar in design to the Graphic renderer module. Perhaps a submodule could be built that encapsulates a sound stream? |
The OHR has no support individual sound and music volume tweaking, or any builtin fading at all anymore. Would like to add much finer control which I'm sure this'd provide.
Quote: | 7. Human Interface Devices, including Mouse, Keyboard, and Other
Manages input from some outside source to the editor and player modules. Purpose is to allow for the case that, say, a bluetooth device (ie. cellphone) can register as a valid input for those said modules. Perhaps a joystick wants to be used? Maybe one of those drawing pads? In any case, it translates the input to valid calls to the other systems. |
And joysticks. Fyre keeps reminding me that the OHR's joystick support is unusably buggy.
Also, maybe think about how the input from handheld devices can be mapped (by the player or game creator) to scancodes that scripts and (in some cases the engine) expect. Maybe a little onscreen keyboard utility would be required for text input.
Quote: | 8. Game editor
A data management system responsible for issuing high level calls and managing high level interfaces (the other modules) for building the game data. This does not include a GUI system. It is strictly the data management. Perhaps a GUI could be another module? |
Just what I suggested. Custom would have had much friendlier menus if every menu didn't reimplement the UI. The standard UI functions we do have can't really do anything nice you might. Custom can also use the new ingame menu system, however that's just not designed for creating editors.
Quote: | 9. Game player
Data management for issuing calls and managing high level interfaces, for playing the game data. A different GUI module (perhaps different from the editor's GUI module) could be proposed. |
What would the GUI module be used for in the Player? Showing debug screens (and that settings menu I've been proposing)? That would actually be a good use. I don't think ingame menus should be handled by a separate module, so there's not much left.
Quote: | 10. Network
An afterthought. Perhaps multiplayer support could be added to the games. Maybe server data could be streamed to the games (ie. high scores, user messages, mmo?). Another usage includes streaming other modules. Perhaps the File IO module actually interfaces across a network (like playing a game from a website without downloading the game.) Maybe other modules could be streamed (for updating purposes, or allowing a user to select the modules they prefer?) An after-afterthought: perhaps all the modules could be streamed. (Effectively, this is like amd-ati's new fusion concept.) |
Yes, sounds nice. Except I don't really see how this would be implemented: what does the diagram mean? That all interaction between the game/editor module and any other module would pass through a network wrapper? Anyway, I'm not too sure why you'd want any module besides IO to be run on a remote server. If the game player/editor or anything else is on a remote machine, you'd be much better off using X windows servers or VNC instead, right?
Hieran_Del8 wrote: | The benefit for breaking the items into separate components is easier upgrades and a more diverse set of plugin customization. The downside is there are more modules. What are your thoughts on that? |
I'm starting to like this design (and therefore also OHR++'s design more and more). But I'm suspicious of the amount of glue code all those modules would need: OO can led to terrible code size bloat in that way.
Quote: | The design of the Game editor and Game player modules allow them to strictly manage data and make high-level interface calls. They currently are not designed to pair with a window. They can work with windows indirectly (through the chain of modules to the Window module), but it would be unnecessary. The editor and player are designed to interpret data from a user, the files, and a GUI filter. (The GUI filter seems to be in a slightly wrong place, btw. It seems to be missing something.) What are your thoughts on this design? |
I thought OHR++'s subclassing of a Window class a bit weird.
I agree, shouldn't the GUI module get HID input directly? I wouldn't pass anything through the GUI 'filter'. I'd expect it to act like utility code for either menu rendering or full blown modular menus (taking control from the Editor/Player), drawing on top of the game when visible. _________________ "It is so great it is insanely great." |
|
Back to top |
|
 |
Bob the Hamster OHRRPGCE Developer

Joined: 22 Feb 2003 Posts: 2526 Location: Hamster Republic (Southern California Enclave)
|
Posted: Wed Feb 04, 2009 10:52 am Post subject: |
|
|
The Mad Cacti wrote: |
And joysticks. Fyre keeps reminding me that the OHR's joystick support is unusably buggy.
|
Really? A couple of months ago I played Vikings of Midgard from beginning to end using only my gamepad. Did he have any more specific complaints? |
|
Back to top |
|
 |
Newbie_Power

Joined: 04 Sep 2006 Posts: 1762
|
Posted: Wed Feb 04, 2009 12:37 pm Post subject: |
|
|
During playtesting of my own game, I had attempted to use a game pad with dual analog joysticks, and the analog joystick was uber sensitive to where barely moving it would cause menu items to scroll too quickly.
Button pressing was also uber sensitive. During calibration it accidentally set both "OK" and "Cancel" to the same button, and I was prohibited from bringing up the calibration screen to re-assign the buttons. _________________
TheGiz> Am I the only one who likes to imagine that Elijah Wood's character in Back to the Future 2, the kid at the Wild Gunman machine in the Cafe 80's, is some future descendant of the AVGN? |
|
Back to top |
|
 |
TMC On the Verge of Insanity
Joined: 05 Apr 2003 Posts: 3240 Location: Matakana
|
Posted: Wed Feb 04, 2009 7:32 pm Post subject: |
|
|
James Paige wrote: | The Mad Cacti wrote: |
And joysticks. Fyre keeps reminding me that the OHR's joystick support is unusably buggy.
|
Really? A couple of months ago I played Vikings of Midgard from beginning to end using only my gamepad. Did he have any more specific complaints? |
This one, I think: '' . bug_title('209') . ''
The bug NP described is already on the buglist: '' . bug_title('285') . '' _________________ "It is so great it is insanely great." |
|
Back to top |
|
 |
Hieran_Del8
Joined: 23 Jan 2009 Posts: 18
|
Posted: Sun Feb 08, 2009 4:47 am Post subject: |
|
|
TMC:
Excellent ideas! I read through the comments on CP and the mailing list and began compiling a new diagram to represent the connections. Here it is:
The Network module now is an extension of the File IO. Therefore, if the file is on a server, or parts of data are from the server, then they are streamed. Otherwise, the Network module is transparent.
From your suggestion about editing the file while playing the game, the editor is now an extension of the player. Therefore, if a file is editable, a player can modify the game, save changes, and return to the game. (Password protection still applies for whether a file is editable.)
I'm having difficulty connecting the renderers and the HID to the rest of the modules via the GUI system. I know a GUI system should be mediating somehow, but I'm not sure if this is the correct implementation. Mental block. Some of that may be due in part to an incomplete understanding of a GUI system. Please comment on this.
The idea's been tossed around that multiple languages could be used, and that "glue code" would hold it together. Understanding how that is to be used will become important once the design reaches phase 3. How are multiple languages currently "glued" together? (I've only used c++ calling a full module, not the module's functions.) |
|
Back to top |
|
 |
Hieran_Del8
Joined: 23 Jan 2009 Posts: 18
|
Posted: Fri Feb 13, 2009 3:13 pm Post subject: |
|
|
Been researching foreign function interfaces (FFI) for gluing code. Are you guys using SWIG, or do you use an interface definition language (IDL)? Or are you linking by other means? Or are you bribing the little gnomes that press the buttons and switch the levers in the computer case with various grades of cheese?
If there aren't any further thoughts on the design phase 1, phase 2 can begin. Specific class definitions can start taking shape. I'll be compiling all comments related to the design into some uniform layout. Please comment, though, on the design if you have another idea, perspective, or criticism. |
|
Back to top |
|
 |
Bob the Hamster OHRRPGCE Developer

Joined: 22 Feb 2003 Posts: 2526 Location: Hamster Republic (Southern California Enclave)
|
Posted: Fri Feb 13, 2009 4:18 pm Post subject: |
|
|
Definitely the Gnomes & Cheese one. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|