QUOTE(Heimdal @ Nov 1 2004, 02:14 PM)
My one big objection to open sourcing the program is that people would be able to easily alter the code to make it open protected maps...
[right][snapback]92786[/snapback][/right]
Well it doesn't really matter if people alter the code to make it open protected maps. Currently there are several ways to unprotect maps. Hex editing is ALMOST unavoidable.
I say you should make the old open-source and the new should be closed source. Reasons for this is I think it would strengthen the community. People who know how to code and play SC may find interests in either learning from your example or improving from you example. Of course if Programmers wanted to find out themselves they could just decompile the source of SC itself. But most programmers are not that much of a renegade and don't want to break the law. Some may want to edit/improve map editors but not know how short of breaking the law. After all there is an EXTREME shortage of information on how to make your own map editor.
I vote new closed source editor. [edit] But make the old one open source. [/edit] Sure, open source will have it's benefits, but keeping it closed source will work best, IMO.
An open source editor will just be abused by jerks that enjoy stealing other's work.
And, kinda going off topic, StarForge 2.2 does have the undo function, which does work very well. :-) Thanks!
[EDIT: I have just reread the first post...]
Oooh, please, PLEASE, P L E A S E N O C # ! ! !
If someone doesn't know, what C# ("C SHARP") is, I'll tell...
Normally, when you have a C/PASCAL/whatever program source code,
you COMPILE it to P-code or the Machine Language.
It is usually stored in files named something.EXE
As you run one, it is loaded into memory
and your central processor (CPU) starts executing it, command by command.
When you "compile" Java or C# program,
your compiler generates (for C#) MSIL-bytecode (or however else MS calls it)
(or CLASS / JAR file for Java). Those files are only pieces of unknown garbage
for the CPU, because those things are native-codes for 'virtual machines',
not real 8x86 or MACINTOSH, but computers, that never exist, and will not be built.
This hell is actually done for being able to run it on MULTIPLE real architectures ...
To run such a piece of code, you need an EMULATOR-like program ("Runtime environment"). It usually continously does this:
it reads a command from such a file, and then feeds it to CPU. Then process repeats.
No need to say, that it is V-E-R-Y slow, and also you need to download microsoft runtime environment (so-called DOT NET - ".NET") (about 20Mb I think)
By the way, if you use DLLs in C# program, it becomes non-portable to MACs....
DO YOU, USERS, WANT A NEW HUGE SLOW PROGRAM ? ? ? I don't.......
[/EDIT And now - about the Open source....]
---------------------> G N U G P L < ---------------------
Make it so that:
----> It supports plugins (in DLLs);
----> Load map instructions in a separate, non-disclosed DLL;
----> The rest is open-source
--> You may display a note about "SF was originally created by...... and this is a modified version" in that closed DLL
--> That "modified version" check should test the parent process's memory (yes, I know that it's not so easy, but checking disk file is useless)
---------> You will always have the credit
---------> won't be terrorized by people who like unprotection (like SI ;-) )
---------> and people won't argue what's best: 3.8-original or 3.3 with some cool modification
--------------------------------------------------------------------------------
SO THE STRUCTURE COULD BE SOMETHING LIKE THAT:
Main program [open]
|
+-- Map load plugin --> >--MAP_LOAD.DLL [non-open]
|
+-- Main window interface plugin --> >-- SOMENAME.DLL [open]
|
+-- Unit settings plugin --> >-- VICEVERSA.DLL [open]
|
...
|
+-- Custom plugin(s) --> >-- E.G. USERXX.DLL [MUST be open-source (GNU GPL)]
|
+-- {Menu|Toolbar}_enhancements( OUT hMenu ), called by interface (plugin)and can be turned ON/OFF (I mean all those icons on toolbar controled by plugins, but the end user can turn off most annoying ones)
|
...
|
+-- On[De]Initialize ( OUT hCustomMemory)
|
+-- On{Load|Save} ( IN+OUT hCustomMemory,IN+OUT hStarforgeStructures )
|
+-- OnPluginWindowOpen ( ----- " -----)
|
...
------------------------------------------------------------------------------------------
Advertising Signature:
Try download my SCXE-like editor and feel cool with [F2] for saving, [L] for location layer, and other interesting things from planetaiur.narod.ru (380kb)
------------------------------------------------------------------------------------------
You've read so far?? Try zDOOM, rework of classic DOOM with mouselook, 1280x1024, translucency, jumping, bots, InterNet play, a.s.o.