Jump to content

Strange things in X-COM


Zombie

Recommended Posts

You know, I really should start programming again. It has been so long. The last thing I remember I tried to do was to teach myself windows programming (Win API).

 

Anyway: It might work with the CE and XComutil, as through some trickery with the executables, Xcomutil ends up running the game via a batch file again. Worth a look.

 

- NKF

Link to comment
Share on other sites

So alien weapons are loaded at the start of a game, right? Makes sense because they can shoot in the first round, and when I MC'd an alien his weapon was loaded. Its interesting that the game considers X-COM clips as belonging to nobody when you modify the guns contents. Where would the clip go if it wouldn't be in the gun? Probably on the ground with the soldier standing on top of it. I doubt it would go in the extra-equipment-tile on a landing craft (unless the soldier is standing on this tile of course).

 

I would be interested to use that logging program if it would run under CE. I'd hate to go out and buy another copy of X-COM just to use it. As it is, I already have two versions! Like NKF said though: you might be able to make it work with CE. I'll keep my fingers crossed! :P

Link to comment
Share on other sites

If XComutil can do it, I suppose I just might be able to as well! I'll have to check it out! :P

 

Speaking of which, I tried the email address on that site. It didn't work.

 

At the moment, my language of choice is Java. The only problem with that is folks need to install the VM to run my software, but it's worth while having that installed anyways, so it's no problem really.

 

Alien clips are located in alien inventories, and are loaded into their weapons.

 

X-Com clips (which are loaded into your guns, as opposed to unloaded clips) are located on the ground, in the pile where all the unused equipment ends up when you start the map.

 

Unloading the clip puts it in your inventory, so it doesn't really affect gameplay.

Link to comment
Share on other sites

Bomb Bloke, speaking of object coordinaets:

 

The odd thing about the equipment that you bring with you is that it all virtually exists on the equipment pile at the start.

 

Well, no, that's not quite the way to put it. The object coordinates default to the equipment pile. That sounds better. Even when the objects are on your soldiers. (However, once you drop them and then pick them up again, I'm sure they'll remember the last coordinates they were at).

 

I guess, since the item is on the soldier, the game ignores the object coordinates until the item is dropped onto the ground or thrown, as until that point, it needn't bother with the x, y, z coordinates (it should, but thinking about it, updating each and every object coordinate per game frame would've probably slowed down the game a lot back on ye olde 80386 processors - hence why they're cutting a few corners).

 

Oddly enough, this explains why loading a grenade into a gun causes an explosion on the equipment pile. That's because the game's using the coordinates as the origin of the explosion. As the game needs a coordinate to place the explosion, that's where it occurs. I suppose if the object were to be dropped and then reloaded into the gun, once the number of turns have met the detonator's condition, it'll go poof where it was last dropped. But that's just me randomly making a guess.

 

- NKF

Link to comment
Share on other sites

I noticed those observations in your notes, NKF.

 

I don't really see any reason for them to update the position of an item as a unit moves. I mean, sure it makes grenades go off in odd locations, but you can only cause that to happen by editing the game.

 

Or is there a more legit way to get grenades inside your weapons...?

Link to comment
Share on other sites

I'm wondering if that can be used to your advantage. I mean, create a dummy file with nothing but a certain value up to the same amount of bytes as the file you want to check, and let the game fill in the blanks, if you will.

 

This might help eliminate entries that aren't used. (Will have to check between the AI and player controlled units, as, for example, AI controlled units don't use the experience stats and in craft.dat, a number of fields used by your ships are used in different ways by UFOs).

 

That's just wishful thinking at work.

 

- NKF

Link to comment
Share on other sites

One idea I came across for hunting through the unitref file was to take one soldier in soldier.dat and duplicate it so my entire garrison was the same. Haven't tried that yet.

 

Concerning XcomUtil:

 

When you install it, and run the setup, it takes the one executable used in CE, and generates two new ones out of it. Tactical.exe, and geoscape.exe. After that, it seem to ignores the original executable, and uses these two new files to play the game much in the same way the DOS version worked.

 

Which means I can log the CE version, so long as XcomUtil is installed.

 

Much to my annoyance, despite my chosing 'no' to every option it presented, it's gone and redrawn my avenger craft map (and maybe others, for all I know).

Link to comment
Share on other sites

The Sun Java Virtual Machine. (Sun is the company that made Java).

 

Java is an interpreted language of sorts, that means it is translated into the code for the system you run it on, when you run it. A VM (Virtual Machine) performs this translation of code. So, Sun writes VMs for different operating systems (Linux, Windows, Macontosh and so on); this means Java code will run on any of these systems with no modification whatsoever.

 

I think that's all correct.

 

So, all ya gotta do is go to Sun's site and follow the Java VM link on the right.

Link to comment
Share on other sites

Thanks heaps Bomb Bloke! I'm downloading the application as we speak. I know a little about Java but never really used it as a programming tool. Still used to the archaic languages like Pascal to do any programming these days. You know of any good books for learning Java?
Link to comment
Share on other sites

Not really. I've never used any Java books. All my coding is just made up as I go along.

 

Keep in mind that you will need the Java SDK to do actual programing, and this includes the JAVA VM. The VM on it's own will only allow you to run programs.

 

The Java SDK documentation is about the only thing I use for my refference. It takes a bit of wading through to find what you're after, but I know how programming in general goes, so I've got a fairly good idea what the commands I want look like.

Link to comment
Share on other sites

Saw two strange things last night.

 

First probably isn't that strange. I shot a lamp. The light went out. I was quite surprised at that! :P Probably shouldn't have been, I think I may have seen the effect many years ago... :(

 

And, Floaters are drawn oddly. For example, if one is carrying a plasma pistol, and facing down the screen, his arm will cover the weapon.

Link to comment
Share on other sites

Bomb Bloke: You shot a light and it went out? Could you answer me a couple of questions first?

1) What kind of lamp was it? A street light, table lamp?

2) What did you shoot the light with?

3) When you shot the light, did the light just turn off, or was the light obliterated?

Link to comment
Share on other sites

It was a lamp, on the second floor of a building. I believe I might have the save game archived. Why? Don't lights normally go out? :P

 

I was shooting at a sectoid up there, missed an got the light. The lamp went bye-bye, as did the light source it created. It was quite dark at the time, so I couldn't see a thing up there after that.

 

The lamp would have been hit by either a normal pistol or rifle, probably rifle.

 

By the way...

 

As it turns out, unit tables are only generated when the tactical game ends. This means it is impossible for me to log unit tables without running the tactical game, which slows thing down. :(

 

The logging project is still in the planning stages, you see. I have very little spare time at the moment. Gah...

 

I did produce a small program, which is over in the modder's section, if you're interested in that. *shrugs*

 

It does seem that I should write up a unit status logger. That would really help your current tests, and seems possible.

Link to comment
Share on other sites

Don't lights normally go out? Well, I've never really made it a point to shoot out a lamp before! But whenever I am in a nighttime Terror Mission with street lamps, if I shoot one out it's still dark. I'll have to get a Terror Site with the street lamps and shoot them all out to see what happens.

 

Whatever you can whip up for logging units will be much appreciated Bomb Bloke! Just take your time; I'm not in a rush or anything!

Link to comment
Share on other sites

Lamp as in singular, not plural. When I shoot A street lamp, the battlescape remains dark. From what I remember, if your soldiers "reveal" part of the battlescape containing street lights, that area is "lit". However, when your soldiers back-off from that spot, the area falls into darkness. What I have to do is "reveal" the area, then back-off, shoot out the lights, move the soldiers to the destroyed light poles, and compare the light levels before and after! :P
Link to comment
Share on other sites

Cool! I just visited a nighttime Sectoid Terror site today to test out lamps on the battlescape. After killing all but 1 Sectoid Soldier (I made him drop his weapons the round before), I went to work looking for a lamp to shoot out. Found a floor lamp in the lower right corner of a 1-story house. Sent my best soldier in there with a Heavy Plasma, then destroyed the light with one auto-shot. I carefully watched the light level as my soldier shot. Sure enough, the light level went down after the shooting subsided. I guess I never noticed this before because there are other, more pressing issues to deal with on a night Terror Mission! :P
Link to comment
Share on other sites

For what it's worth, I've seen light levels subside in X-Com bases after you've blown up a room with explosives. The natural lighting in the are just seems to wink out.

 

Also, in alien bases, the alien entertainment pods seem to cast light. After destroying some in room a few screens away from a soldier, I noticed the light go out too.

 

- NKF

Link to comment
Share on other sites

Sure, I've noticed that light levels drop in an X-COM base module if you shell it out with Blaster Bombs. Frequently though, it's deceiving. See, all the smoke created from the heavy shelling almost looks like a lower light setting. Only those modules that can be destroyed have "true" lighting that "winks out".

 

As for destroying alien entertainment to lower light levels in an Alien Base, well, I've never tried that before.

*rushes off, slips, knocks head on ground, and passes out for a few seconds*

I better try this tomorrow after the cobwebs have cleared! :P

Link to comment
Share on other sites

Zombie... You sent your best soldier in to destroy... a lamp?  :P

*embarrassed laugh* :(

 

Probably overkill to send your best and brightest just to shoot out a harmless lamp, right? I didn't do that because the lamp might shoot back, you know!

 

The reason I sent my best guy to get the job done was mainly because he had the highest firing accuracy of anyone on that mission (121). Sure, a point-blank shot from even a rookie can easily destroy a lamp, but I didn't want any errant shots to destroy something else which might affect the results. Like you even mentioned "any given tile in the game generates a level of light". So, to err on the side of caution, I wanted each shot to connect.

 

You might also ask why I used an Auto-Shot instead of a Snap-Shot or Aimed-Shot which are single shots. I wanted the game to have enough time to "refresh" the screen between shots to discern any change in light levels. A snap or auto shot might "refresh" too fast to see a difference. When I test something, I usually try to think of everything that could affect the results, no matter how trivial they might seem. And in this case, I thought that using the best couldn't hurt either! :(

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...