Page 2 of 4
Posted: 08 Jun 2007, 02:37
by zwzsg
Argh wrote:I did not "steal Cavedog's .h". I rebuilt it, added documentation, cut things that don't work in Spring, and generally made it worth referring to for Spring, as opposed to OTA. Whether this qualifies as "original work" is not debatable, frankly.
I can't let you get away with such lies, and since apparently nobody is going to bother looking at the actual files:
Argh's NanoBlobs064.sdz\Scripts\STANDARD_COMMANDS_GPL.h wrote:// Argh's Standard Commands Script
// This script is released under the terms of the GNU license.
// It may be used by anyone, for any purpose, so long as you adhere to the GNU license.
#ifndef STANDARD_COMMANDS_GPL_H_
#define STANDARD_COMMANDS_GPL_H_
//
// Vector-based special effects
//
#define SFXTYPE_VTOL 1
#define SFXTYPE_THRUST 2
#define SFXTYPE_WAKE1 3
#define SFXTYPE_WAKE2 4
#define SFXTYPE_REVERSEWAKE1 5
#define SFXTYPE_REVERSEWAKE2 6
//
// Point-based (piece origin) special effects
//
#define SFXTYPE_POINTBASED 256
#define SFXTYPE_WHITESMOKE (SFXTYPE_POINTBASED | 1)
#define SFXTYPE_BLACKSMOKE (SFXTYPE_POINTBASED | 2)
#define SFXTYPE_SUBBUBBLES 256 | 3
//
#define SHATTER 1 // The piece will shatter instead of remaining whole
#define EXPLODE_ON_HIT 2 // The piece will explode when it hits the ground
#define FALL 4 // The piece will fall due to gravity instead of just flying off
#define SMOKE 8 // A smoke trail will follow the piece through the air
#define FIRE 16 // A fire trail will follow the piece through the air
#define BITMAPONLY 32 // The piece will just show the default explosion bitmap.
//
// Bitmap Explosion Types
//
#define BITMAP_GPL 10000001
//
// Indices for set/get value
#define ACTIVATION 1 // set or get
#define STANDINGMOVEORDERS 2 // set or get
#define STANDINGFIREORDERS 3 // set or get
#define HEALTH 4 // get (0-100%)
#define INBUILDSTANCE 5 // set or get
#define BUSY 6 // set or get (used by misc. special case missions like transport ships)
#define PIECE_XZ 7 // get
#define PIECE_Y 8 // get
#define UNIT_XZ 9 // get
#define UNIT_Y 10 // get
#define UNIT_HEIGHT 11 // get
#define XZ_ATAN 12 // get atan of packed x,z coords
#define XZ_HYPOT 13 // get hypot of packed x,z coords
#define ATAN 14 // get ordinary two-parameter atan
#define HYPOT 15 // get ordinary two-parameter hypot
#define GROUND_HEIGHT 16 // get
#define BUILD_PERCENT_LEFT 17 // get 0 = unit is built and ready, 1-100 = How much is left to build
#define YARD_OPEN 18 // set or get (change which plots we occupy when building opens and closes)
#define BUGGER_OFF 19 // set or get (ask other units to clear the area)
#define ARMORED 20 // SET or GET. Turns on the Armored state.
#define IN_WATER 28 // GET only. If unit position Y less than 0, then the unit must be in water (0 Y is the water level).
#define CURRENT_SPEED 29 // SET only, if I'm reading the code right. Gives us a new speed for the next frame ONLY.
#define VETERAN_LEVEL 32 // SET or GET. Can make units super-accurate, or keep them inaccurate.
#define MAX_ID 70 // GET only. Returns maximum number of units - 1
#define MY_ID 71 // GET only. Returns ID of current unit
#define UNIT_TEAM 72 // GET only. Returns team of unit given with parameter
#define UNIT_BUILD_PERCENT_LEFT 73 // GET only. BUILD_PERCENT_LEFT, but comes with a unit parameter.
#define UNIT_ALLIED 74 // GET only. Is this unit allied to the unit of the current COB script? 1=allied, 0=not allied
#define MAX_SPEED 75 // SET only. Alters MaxVelocity for the given unit.
//
//Special Commands, custom hacks
#define GPL_SPEED_CONSTANT 512
//
#endif // STANDARD_COMMANDS_GPL_H_
Cavedog's totala1.hpi/scripts/SFXTYPE.H wrote:/*
** SFXtype.h -- Special Effects Type information for scripts
**
** Copyright 1997 Cavedog Entertainment
*/
#ifndef __SFXTYPE_H_
#define __SFXTYPE_H_
/*
Special Effect Particles referenced in the scripting language
with the command "emit-sfx". This file is included by any
scripts that use the command, as well as TAObjScr.cpp in the game,
so it can start the proper effect.
*/
// IMPORTANT: If you change these defines, copy the file to
// v:\totala\cdimage\scripts so the scripts have
// access to the proper data, and recompile them.
// Vector-based special effects
#define SFXTYPE_VTOL 0
#define SFXTYPE_THRUST 1
#define SFXTYPE_WAKE1 2
#define SFXTYPE_WAKE2 3
#define SFXTYPE_REVERSEWAKE1 4
#define SFXTYPE_REVERSEWAKE2 5
// Point-based (piece origin) special effects
#define SFXTYPE_POINTBASED 256
#define SFXTYPE_WHITESMOKE (SFXTYPE_POINTBASED | 1)
#define SFXTYPE_BLACKSMOKE (SFXTYPE_POINTBASED | 2)
#define SFXTYPE_SUBBUBBLES (SFXTYPE_POINTBASED | 3)
#endif
Cavedog's totala1.hpi/scripts/EXPTYPE.H wrote:/*
** EXPtype.h -- Explosion Type information for scripts
**
** Copyright 1997 Cavedog Entertainment
*/
#ifndef EXPTYPE_H
#define EXPTYPE_H
/*
Special Effect Particles referenced in the scripting language
with the command emit-sfx. This file is included by any scripts
that use the command, as well as TAObjScr.cpp in the game, so
it can start the proper effect.
*/
/*
Exploding pieces are activated in the scripting language with
the command "explode". This file is included by any scripts
that use the command, as well as TAObjScr.cpp in the game, so
it can create the proper effect.
*/
// IMPORTANT: If you change these defines, copy the file to
// v:\totala\cdimage\scripts so the scripts have
// access to the proper data, and recompile them.
#define SHATTER 1 // The piece will shatter instead of remaining whole
#define EXPLODE_ON_HIT 2 // The piece will explode when it hits the ground
#define FALL 4 // The piece will fall due to gravity instead of just flying off
#define SMOKE 8 // A smoke trail will follow the piece through the air
#define FIRE 16 // A fire trail will follow the piece through the air
#define BITMAPONLY 32 // The piece will not fly off or shatter or anything. Only a bitmap explosion will be rendered.
// Bitmap Explosion Types (these will be changed eventually)
#define BITMAP1 256
#define BITMAP2 512
#define BITMAP3 1024
#define BITMAP4 2048
#define BITMAP5 4096
#define BITMAPNUKE 8192
#define BITMAPMASK 16128 // Mask of the possible bitmap bits
// Indices for set/get value
#define ACTIVATION 1 // set or get
#define STANDINGMOVEORDERS 2 // set or get
#define STANDINGFIREORDERS 3 // set or get
#define HEALTH 4 // get (0-100%)
#define INBUILDSTANCE 5 // set or get
#define BUSY 6 // set or get (used by misc. special case missions like transport ships)
#define PIECE_XZ 7 // get
#define PIECE_Y 8 // get
#define UNIT_XZ 9 // get
#define UNIT_Y 10 // get
#define UNIT_HEIGHT 11 // get
#define XZ_ATAN 12 // get atan of packed x,z coords
#define XZ_HYPOT 13 // get hypot of packed x,z coords
#define ATAN 14 // get ordinary two-parameter atan
#define HYPOT 15 // get ordinary two-parameter hypot
#define GROUND_HEIGHT 16 // get
#define BUILD_PERCENT_LEFT 17 // get 0 = unit is built and ready, 1-100 = How much is left to build
#define YARD_OPEN 18 // set or get (change which plots we occupy when building opens and closes)
#define BUGGER_OFF 19 // set or get (ask other units to clear the area)
#define ARMORED 20 // set or get
#endif // EXPTYPE_H
Zomg, you removed Cavedog's copyright and replaced it by yours, then recopied a couple get/set from Spring's changelogs. And you claim that original copyrightable works? yeah sure, no debate about that! For god's shake, what you call "
added documentation" was verbatim already in CAVEDOG's version.
Argh wrote:even though I give out more secrets on a regular basis than just about anybody
That makes me chokes, honest. I'd tempted to start counting, if I weren't afraid it'd be petty.
I do not care if GPL hysteria impedes the use of my code. It's not my fault that people are ignorant, and I'm not apologizing.
So you said I just dreamed that topic where you lashed at Fang for ignoring your (not even legal) GPL license?
You can insult my skills all you want, but that changes nothing, about what I have achieved here, and what I am going to do.
I respect you for having released the first consequent Spring-only mod. I reckon your were the first to make use of the custom explosion generator. I know that one large scale project you're working on, and thank you for undertaking such a huge task. But this is not going to stop me from raising concerns about your adding "G.P.L." in places it doesn't belong.
I'm sorry for you, and I don't know why you insist on attacking me and my motives whenever possible, [...] But I simply do not have time for you any longer, and will no longer respond to your posts. You are officially a non-person to me, which takes a lot more effort than you'd think. Good day, sir, and goodbye.
Way to completly ignore every points I raised.
Posted: 08 Jun 2007, 02:39
by AF
Argh, theres really no point in GPL with regards to mods because eitherway everythings accessible and open to whoever wants it, there're no locking mechanisms. For scripts I'd have thought LGPL would be more appropriate than GPL anyway.
Really all you want is credit given right?? Just say so. CC given credit when used. Nice and simple. GPL is just overkill.
This is silly now. zwzsg what do you have to gain from this save a dent in your reputation? Argh, fein modesty, nobody likes it when people start talking about how they are this that and how they did these those and them. Innovator, at the cutting edge, revolutionary, things like that should only be used about other people, never yourself, if only to cut down on bias.
Posted: 08 Jun 2007, 02:42
by FLOZi
Someone should just release another set of header files completely free of restrictions (as much as possible, it'll always be arguable that they are derivative of cavedog work as some are so painfully simple)
Posted: 08 Jun 2007, 02:45
by zwzsg
These headers were just the most obviously wrong part, but same also applies to Argh's BOS and custom explosions. Oh well, I'm gonna make myself look bad by saying this, I'd better go to bed.
Posted: 08 Jun 2007, 03:08
by Argh
Look, the STANDARD_COMMANDS_GPL is kind've a work-in-progress, guys. I meant it to be something like a Rosetta Stone for commands and stuff, but I've had too damn much else to do, and this kind of crap does not encourage me to bother, frankly.
Just because I haven't released my latest version, does not mean it quit evolving. You just have zero idea how much work I do, behind the scenes, collecting every possible thing that I can about How Things Work. Really. You just don't know.
Here's the latest version, in case you're curious. Feel free to correct any assumptions that are incorrect. I would appreciate it if someone would start putting all of the (compilable) script commands and stuff into it (commented section, please, we don't want it ever executing).
And AF, I can, and will, be proving my statements to be completely honest.
[RANT MODE]
As for the baseless crap about the particle-generator code, which everybody is happily using... meh! I CC'd that- it's not GPL! Use whatever you want, for whatever you want! Steal the sounds, the artwork- everything in NanoBlobs is free to use for whatever you want, and the only limitations are on COB scripts, and all you've gotta do is either include my sourcecode, or include ONE FUCKING TEXTFILE THAT READS:
This game contains sourcecode that was previously released under the GPL. You may download it from
http://www.wolfegames.com
THAT IS ALL. Apparently, this is too much to ask for! I find the whole thing completely, totally LAUGHABLE. That is
all you need to do and the only restriction it puts on
your work is that people can take your COBs, or whatever of my work you chose to use, and further modify them! Everybody wants to be able to STEAL MY STUFF, but when I say, "hey, if you want that, then I and everybody else deserve the right to STEAL IT BACK", then I get a lot of FUCKING BULLSHIT, GET TREATED LIKE AN ASSHAT, AND AM REVILED EVEN WHEN I AM RELEASING FREE CODE.
People, this is just stupid! If you don't want to use my stuff, because, oooh, somebody might ... oh... just... maybe be a little better than you someday... fucking DEAL. QUIT BITCHING AT ME.
[/RANT MODE]
Ok, now that I've said what I've already said, but with, erm, more warmth than usual... here is the most up-to-date version of my GPL'd header file. Use it, or not, but quit this nonsense or just leave me ALONE, for God's sake. I have a goddamn game to build.
STANDARD_COMMANDS_GPL.h Feel free to send constructive edits or corrections, via PM. I am ignoring this thread until all ass-hattery STOPS and people quit trying to screw with me.
Posted: 08 Jun 2007, 03:30
by jackalope
I make games, ok? I'm very good at it, too.
link to good games plz
Posted: 08 Jun 2007, 03:34
by Argh
I have a website. Use it.
And that's just the stuff that I'm not "just a credit" on, for example. Or that isn't so old that I don't give a damn anymore.
I haven't even bothered updating the site for Spring stuff. NanoBlobs was an experiment, and mainly a failure. And that's ok.
Posted: 08 Jun 2007, 04:22
by Neddie
Argh, zwzsg's attack upon your character is incidental. It is not the focus of this discussion, it is simply the result of compounded frustration, which is something most people understand acutely. He is deeply frustrated with what seems to be a mixture of your pressure for the legal status of GPL and the perceived illegality of licensing certain scripts under GPL.
AF, you're making solid points here. However, zwzsg obviously cares more about the conduct of his chosen hobby, scripting, than he does about his reputation - I can't fault him for that!
If somebody could start a new thread elsewhere on this topic, preferably a moderator or nominally impartial third party, I think we can finish this technical discussion. There is a feature request here which will not be buried underneath this legal issue. They must both be resolved.
Posted: 08 Jun 2007, 04:54
by Snipawolf
Posted: 08 Jun 2007, 05:05
by Argh
It is not incidental. I am not an evil android, people! I am a thinking, feeling PERSON, who is extremely busy, stressed out, and comes here to either ask questions or share information. If I get flamed by asshats every time I do either thing (which, if you go view the person in question's recent posts, you will clearly see) then it just eats up my time and emotional energy. I don't need that.
And I am not discussing jack shit about the GPL, ever, ever again.
It ate up hours of my life last time, and this crap this evening has eaten at least one more. I'm done, people. Do your own homework.
If you're too stupid to read up on how the GPL works, why I might want to use it, and why it's not harmful to any modder who genuinely wants their work to be reused, without legal hassles, even in a commercial title made with this engine, then you are too stupid to make a really great game, and I am not worried about you.
People who want to use NanoBlobs GPL scripts for some minor, twinkie project, or whatever, have zero to fear from me- I don't care and don't have time to chase them down anyhow, frankly.
All I ever worry about, when I look ahead, is where things will be soon, when people start to grasp what Trepan's work actually means, and if Smoth's idea gets traction... you have no idea...
Basically, the future looks very, very exciting. If, that is, Spring is kept a place where people like me can safely share their stuff and help people use the new features and grow, without giving up their copyrights to the stuff that actually matters, like models, skins, and sounds. You know- the content. I really wish that I'd seen this future coming, so that when I made NanoBlobs, I'd deliberately made all the art really "cool" by most people's standards, instead of very deliberately making it funky, retro, and uniquely weird. This debate would seem a lot less ambiguous, if people wanted my models and skins as much as they wanted to play with some of the code I wrote- even the, well, frankly pretty crappy code, now that I know how it works a lot better.
But that social experiment never occurred, and will never happen. So, instead of seeing something visual happen ("hey, that mod has Argh's models in it, but no credit line") we have this vicious cycle of llamas attacking my motives and trying to convince everybody that the GPL is evil. It's sad. Really, really sad.
When you finally get to see the beast I'm building, you will understand a lot more about why I'm concerned, and have not just let this issue slide or whatever. Spring can be used to make commercial-quality games now. They just take awhile, when they're being built by a small crew who is all working for free. But it won't be a lot longer now before we're finally ready to show you what's going on.
Posted: 08 Jun 2007, 05:11
by AF
I am not an evil android, people!
*AFs hopes and dreams are dashed*
Argh, GPL is a strong copyleft license, if you use a GPL component in your project your entire project must be GPL'ed, and all the projects that use yours all the way down. There's a reason some people label it viral licensing. Its why LGPL was put forward.
http://en.wikipedia.org/wiki/Copyleft
wikipedia wrote:Copyleft licenses are sometimes referred to as viral copyright licenses, because any works derived from a copylefted work must themselves be copylefted when distributed. The term GPV or "GNU General Public Virus" has a long and rich history on the Internet, dating back to shortly after the GPL was first conceived
Posted: 08 Jun 2007, 05:12
by Neddie
Take it to the other thread, lads. Now, back to the feature request!
Posted: 08 Jun 2007, 10:54
by zwzsg
Ok,
took it to the other thread, back to feature request:
Since it's about patching where Smoke ExplosionGenerator is read from, while you're at it, could you:
- Seperate geo smoke and units damages smoke
- Make geo smokable definable in the map file
So, for the first, we actually can already have units emit our own mod defined smoke sfx. Instead of just having in the bos:
Code: Select all
emit-sfx SFXTYPE_WHITESMOKE from some_piece;
We have to add in the FBI
Code: Select all
[SFXTypes]
{
explosiongenerator0=custom:my_own_smoke;
}
and then in the bos:
A little less straighforward, but liberty to use whatever mod defined sfx comes at this (very tiny actually) cost.
Hower, for geo smoke, currently, it can only be changed by mod, and not by the map. And we can just change the image files used, not the explosion generator (how fast and how large smoke grow, fade, how many and what kind of particles, etc...).
Also, I saw in resources.tdf the following lines:
Code: Select all
[smoke]
{
smoke00=smoke/smoke00.tga;
smoke01=smoke/smoke01.tga;
smoke02=smoke/smoke02.tga;
smoke03=smoke/smoke03.tga;
smoke04=smoke/smoke04.tga;
smoke05=smoke/smoke05.tga;
smoke06=smoke/smoke06.tga;
smoke07=smoke/smoke07.tga;
smoke08=smoke/smoke08.tga;
smoke09=smoke/smoke09.tga;
smoke10=smoke/smoke10.tga;
smoke11=smoke/smoke11.tga;
}
However, changing the values of those tags to different images doesn't work, Spring still reads bitmaps/smoke/smokeXX.tga and the only way to change the picture I found is to include modified version of those picture using the same filenames. Well, this isn't very limitating, since we can just ship the mod file with our own images, just a tiny bug that misleads modder's trying to change geo smokes.
So, basically; I think:
- Mods can already provide their own unit smoke effect. But maybe, just for conveniency, it would be interesting to be able to redefine the default smoke, instead of having to add the custom explosion generator lines in all units FBI? Well, just maybe, it's not that contraining actually.
- Geo smoke "explosion generator" should be moddable and not hard coded. So for instance one might have geo that look like laser pillar, another have geo looking like yellowstone geyser, another have weird alien bubbles, and 1944 have airport icons.
- Mods should be able to provide their own default geo smoke (explosion generator + images).
- Maps should be able to come with their geo smoke explosion generator and images, which if present would override the mod geo smoke.
Posted: 08 Jun 2007, 14:47
by KDR_11k
BTW, Argh, EXPLODE_ON_HIT will make the flying pieces do 20 damage on impact, that may be worth mentioning.
The documentation for ACTIVATION and INBUILDSTANCE is kinda misleading, INBUILDSTANCE applies to mobile builders as well and ACTIVATION is the on/off state of the unit, it's independent of Activate() and Deactivate().
Posted: 08 Jun 2007, 16:46
by imbaczek
zwzsg wrote:imbaczek wrote:Flaming someone because he's using GPL (or any other license) is pointless, stupid and (in this particular case) proves that you can't tell the difference between legal stuff and technical stuff. Stop doing that, it's a waste of time.
Compare's Cavedog's and Argh's files, and come back when you have a clue, ok?
(I detailed how to in my first post so even non hapi&sd7 savvy people can do it) Basically, it's like someone stole your daddy car, slapped a sticker reading "this belong to me and runs GPL", then the next morning when you try to use it, you're told you can't and you have to also give away your house keys. And when you complain, passerbys says that you! are the troublemaker.
That's just not true. You can do the same and slap a BSD license on it, or even place it in the public domain. Real-world car analogies DO NOT APPLY to software licenses, never have and never will.
Comparing is technical stuff, not legal stuff. You're trying to compare for content when what you should be doing is comparing for authorship. Of course there's some slippery stuff, but that usually doesn't apply to trivial stuff (like headers.)
Posted: 09 Jun 2007, 22:37
by LOrDo
Hmm...is it just me, or did this topic "magicly" get shorter.

Posted: 10 Jun 2007, 03:27
by rattle
Magically!
There is a hardcoded thing which is bothering me. When exploding a piece there's this annoying explosion bitmap spawned around the origin.
Any idea how to remove it other than replacing the image file?
Posted: 10 Jun 2007, 12:19
by SwiftSpear
Argh wrote:1. I did not "steal Cavedog's .h". I rebuilt it, added documentation, cut things that don't work in Spring, and generally made it worth referring to for Spring, as opposed to OTA. Whether this qualifies as "original work" is not debatable, frankly.
What? It's not debatable, no, it's not original work, it's cave dog's. You can't legally relicense it. Rebuilding something doesn't dodge licensing.
Posted: 10 Jun 2007, 15:39
by imbaczek
SwiftSpear wrote:What? It's not debatable, no, it's not original work, it's cave dog's. You can't legally relicense it. Rebuilding something doesn't dodge licensing.
Actually, it does. Sometimes, but still. As usual, it depends. It's called reverse engineering and that's how spring was made - and it's 100% legal. Arguing about a bunch of #defines is pointless, because anyone can #define some numbers and splat any license on them, and it'll be original work (unless blatantly ripped off - but see 'interoperability' wrt reverse engineering.)
Please stop this discussion, it only leads to confusion and FUD from both sides.
Posted: 10 Jun 2007, 16:08
by 1v0ry_k1ng
the forest fires give me crazy framerate drops and im running a 3.5ghz..