Nuclear missile silo

[quote=“nadia911, post:40, topic:805”]Following Darkling Wolf’s comment on this post http://www.cataclysmdda.com/smf/index.php?topic=159.240;topicseen

“He always has, we merge in any good content that the community creates.”.

If LazyCat incorporated very important features to the game, has solved many bugs and improved overall performance, then, please, merge[/quote]

Yes, [size=12pt]please[/size]. His outward attitude is not especially commendable but this thread reeks of methodological clash rather than the best interests of the project and community.

Except that you’ll note that people are actively trying to do just that. It is not, however, nearly as easy as he claims. (It’s certainly more than 5 minutes to properly set up and review)

If his stuff isn’t getting in, it’s for practical reasons, not for ideological ones. The comparison to him running a race and then halting at the finish line and expected to be carried across it is a good one. We’ve got two people dedicated just to handing medals out to runners who make it across, and they’re still behind (despite dedicating a lot of their time to this project without a whole of reward). Time spent handling even that “5 minute” task is time that could be spent helping the people who’ve actually done their best to expedite the process.

Yes, we want to get him across the finish line and (ending the metaphor) include any code of value he generates. But there are priorities in place, and his attitude and, yes, methodology, both do a pretty good job of making his code a pretty low priority for most people.

Oddzball, the person who that quote was about, went out of his way to make things easy for people and put a lot of work towards making the process of merging his stuff easy. His stuff was also of value to a lot of players. And it still took a while to get in.

With things like LazyCats approach, there’s the additional concern of how easy it is for it to simply… drop off the radar. There is a simple list on git of people who’d made pull requests - who’ve done the heavy lifting and said “my code is ready to be included - push one button, and it’s done!”. This is the goto-list for prioritizing including code changes.

LazyCat has made it clear he is never going to put himself on that list. So while his code might work it’s way in, it would be pretty silly to expect it to be quick or easy - it depends solely on whether or not someone is wiling to carry it over the finish line. And he’s not exactly making a lot of friends he can rely on to do that for him…

Yeah, I just got through typing up a list of problems I had trying to run his most recent MGS mod under Linux. I won’t repeat the details here (not need to spread drama more than necessary), but suffice to say, it was actually a degraded experience compared to the main DDA branch. I won’t try to stop anyone from taking LazyCat’s stuff and merging it in, and in fact would welcome it (maybe we can stop this bickering then?), but I also don’t really care to spend my time figuring out what’s worthwhile, what’s MGS-oriented, and what’s buggy.

If people want to see LazyCat’s improvements incorporated into DDA, maybe pick out the relevant bits and submit them through normal channels? wad67, I’ve seen you try your hand at coding, and I know you run Linux as well as Windows (meaning you’d be able to test on both OSes). Maybe you’d be able to?

Another thing that might work: submit bug reports for things that LazyCat has fixed, but the main version hasn’t. I for one like fixing bugs, and bug reports help me see what’s especially broken. Plus, it sounds like some of his fixes are Windows-related, which are bugs that I personally don’t know about (and I think the same applies to a lot of other devs). I can sometimes fix 'em (or possibly see what his fix is and verify that it doesn’t break anything under Linux); but without a good bug report, I’m not going to know about Windows-specific issues.

I would be more than happy to help out, If I can wrap my skull around version control.

Catch me on IRC when I’m not busy and I will gladly help you figure out Git :).

[quote=“GlyphGryph, post:42, topic:805”]Except that you’ll note that people are actively trying to do just that. It is not, however, nearly as easy as he claims. (It’s certainly more than 5 minutes to properly set up and review)

If his stuff isn’t getting in, it’s for practical reasons, not for ideological ones. The comparison to him running a race and then halting at the finish line and expected to be carried across it is a good one. We’ve got two people dedicated just to handing medals out to runners who make it across, and they’re still behind (despite dedicating a lot of their time to this project without a whole of reward). Time spent handling even that “5 minute” task is time that could be spent helping the people who’ve actually done their best to expedite the process.

Yes, we want to get him across the finish line and (ending the metaphor) include any code of value he generates. But there are priorities in place, and his attitude and, yes, methodology, both do a pretty good job of making his code a pretty low priority for most people.

Oddzball, the person who that quote was about, went out of his way to make things easy for people and put a lot of work towards making the process of merging his stuff easy. His stuff was also of value to a lot of players. And it still took a while to get in.

With things like LazyCats approach, there’s the additional concern of how easy it is for it to simply… drop off the radar. There is a simple list on git of people who’d made pull requests - who’ve done the heavy lifting and said “my code is ready to be included - push one button, and it’s done!”. This is the goto-list for prioritizing including code changes.

LazyCat has made it clear he is never going to put himself on that list. So while his code might work it’s way in, it would be pretty silly to expect it to be quick or easy - it depends solely on whether or not someone is wiling to carry it over the finish line. And he’s not exactly making a lot of friends he can rely on to do that for him…[/quote]

From what I’ve seen so far I agree it could take years before you guys catch up with my build, so if I were you I’d take the whole of my code and just continue from there, merge the differences the other way around. And even better, put me in charge and you’ll have finished and polished game with hundreds more new features within two months.

The only problem is you trying to run it on Linux. Nothing is buggy, just optimised for Windows. First batch of my bug-fixes and improvements/optimisations are compatible with Linux:

What’s there to figure out? Why don’t you ask me?

Wouldn’t it be better if you wrote those instructions here on the forum? Why are you guys even talking there instead of here? People who play the game are here, you should be talking to them here, plus the information will be organised and stored for the future, and the forum would be more lively which would possibly attract more people. Why in the world use IRC? Does it at least save conversations, can I see what was said there a week ago, can I search through it?

Sometimes live communication can be useful, much less wait time if you’re trying to bounce ideas off people.

And yes, my offer to explain how Git works also applies to the forums. Except without someone asking specific questions, my answer is probably going to be “go read the Github instructions, because they’re pretty good”.

Speaking of which…

Setting up Git: https://help.github.com/articles/set-up-git
Forking a repository: https://help.github.com/articles/fork-a-repo

It’s also a good idea to make each commit a modular chunk of code. Having 3 commits that are “fix for foo”, “rebalance bar”, and “implement baz so that you no longer have to quz” is often more useful than “bunch of unrelated things”. Pull requests (aka code submission, patch) can consist of multiple commits, of course, so you can do a bunch of commits related to one feature and then submit them all at once.

Tested the nuke code. It is bugged.

It allows multiple nuke launches if you do not close the menu, and it releases nuke gas in the launch chamber (which is silly, as the nuke is a conventional missile, the warhead is nuclear).

[quote=“Soyweiser, post:50, topic:805”]Tested the nuke code. It is bugged.

It allows multiple nuke launches if you do not close the menu, and it releases nuke gas in the launch chamber (which is silly, as the nuke is a conventional missile, the warhead is nuclear).[/quote]

Surely you jest.

LazyCat’s code cannot possibly have bugs, after all, it’s much better than the mainline in every possible respect!

I think in the main nukes just crash the game. And in them you can also launch multiple nukes in one go. I fixed it locally.

We’re not talking about local fixes.

We’re talking about LazyCat level fixes.

And, as we all know, LazyCat is a coding god; so to question his divine will is tantamount to blasphemy!

No no, surely You jest!

Added my fixes to lazycats fixes.

You can now, disable missiles, fire them once, fire them (lol :wink: ). Kill npcs, they spawn fire/explosions and smoke on launch (not nuke gas).

Stuff that needs to be done. Some reward for disabling it (was thinking of a morale boost), removal of spawned gasses when you disable it. And I was thinking about giving a morale penalty for launching a missile (which could turn into a boost if you where a sadist (a trait which does not exist)).

[quote=“Soyweiser, post:50, topic:805”]Tested the nuke code. It is bugged.

It allows multiple nuke launches if you do not close the menu, and it releases nuke gas in the launch chamber (which is silly, as the nuke is a conventional missile, the warhead is nuclear).[/quote]

Those are no my bugs, if bugs at all, just extra things from the main build I simply didn’t not address here.

Originally the code was supposed to release the nuke gas, I just made it work, it’s wrong to call my code buggy when it only made the game do what it was supposed to. Nuke gas or smoke is cosmetic, not functional difference, not really a “bug”, but I do I agree there is no reason rocket gas would be radioactive, although it’s just a game, so why not, there is already nuke gas on levels above launch room anyway.

The same for multiple launches, it was like that before, and it’s not quite clear whether someone maybe intended it like that. I added the call at the end of that function to shut down the console for my build, since to me it makes more sense there is only one missile per silo, but to make the console log off after right after launch I modified another part of the code which I didn’t mention as I only wanted to address these two more important bugs here:

  1. proper formation of nuke gas
  2. after launch graphical missile deletion

[quote=“Soyweiser, post:55, topic:805”]Added my fixes to lazycats fixes.

You can now, disable missiles, fire them once, fire them (lol :wink: ). Kill npcs, they spawn fire/explosions and smoke on launch (not nuke gas).[/quote]

What do you mean “kill npcs”? I got NPCs there in the launch chamber and they wouldn’t die in spite all the explosions, fire and nuke gas.

How did you go about disabling console after launch? I changed main loop for every console to log you off after you go once through any of the menus, but one some other consoles that makes some screens to not erase/reset properly. What did you do?

If you want to spawn some zombie solders below the nuke you can do it like this:

case ot_silo_finale: {
  for (int i = 0; i < SEEX * 2; i++) {
   for (int j = 0; j < SEEY * 2; j++) {

    if (i == 5) {
     if (j > 4 && j < SEEY)
      ter(i, j) = t_reinforced_glass_v;
     else if (j == SEEY * 2 - 4)
      ter(i, j) = t_door_metal_c;
     else
      ter(i, j) = t_rock;
    }
    else
    {
	ter(i, j) = t_rock_floor;

//CAT-mgs: some zombies, ready to be cooked
	if(i > 12 && j > 7 && one_in(15))
		add_spawn(mon_zombie_soldier, 1, i, j);
    }
   }
  }
.
.
.

But to kill them you have to launch the nuke before they see you, otherwise they will move closer to the glass and away from the missile blast off fire.

Stuff that needs to be done. Some reward for disabling it (was thinking of a morale boost), removal of spawned gasses when you disable it. And I was thinking about giving a morale penalty for launching a missile (which could turn into a boost if you where a sadist (a trait which does not exist)).

I made some reactor, hydrogen engine and fuel spawn when missile is disarmed.

Double negative, so you did address the bugs see, isn’t LazyCat so great fixing bugs he claims to not have done.

Lazycat, get your head out of your ass for a second.

Your code is pretty good, okay?

You’re not perfect, though. Linux doesn’t work (which holds a lot of our playerbase) and there are a lot of bugs you “didn’t not” address. Bitch, what? If you think you’re so good at coding and hold your head so high, fix the damn bugs.

[quote=“kilozombie, post:59, topic:805”]Lazycat, get your head out of your ass for a second.

Your code is pretty good, okay?[/quote]

But of course, thank you for noticing.

You're not perfect, though. Linux doesn't work (which holds a lot of our playerbase) and there are a lot of bugs you "didn't not" address. Bitch, what? If you think you're so good at coding and hold your head so high, fix the damn bugs.

What bugs? Haven’t I fixed them all already? If you find any just let me know and I’ll squash it like a bug.