Jump to content
XCOMUFO & Xenocide

Apoc'd


Recommended Posts

  • Replies 333
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Hmm not sure if that's possible, also no real idea what to search for... For now you could just remove them from weapon classes A and C I guess, supposing you want to keep rocket launchers for the cultists and gang members at least. While I'm at it I'll post a few notes about the weapon sets:

the AI is unable to use the Power Sword, close combat rushing tactics as used by the hyperworms for example seem to be hardcoded for that specific unit type.

They can use incendiary grenades, though I suspect they actually treat it as a smoke grenade... Very annoying if they do hit your troops though, forcing you to leave your cover.

Mind benders are used too if the unit has any psi attack&energy.

Every weapon type is accepted, EXCEPT for the forceweb, which for some unknown reason doesn't spawn.

edit: currently untested: can it handle High Explosives, I imagine because it's so heavy they would end up killing themselves when they tried to throw it.

Edited by j'ordos
Link to comment
Share on other sites

  • 2 months later...

Unknown 32, Edit Agent: this looks suspiciously like the point value of the agent when killed normally. I haven't checked whether this is a mirror, or live data.

 

In any case, Unknown 33 looks like it is always 0; it may be the high byte for Unknown 32.

Link to comment
Share on other sites

  • 2 weeks later...

Sorry, I missed your post Zaimoni. Progress on apoc'd has currently halted due to loss of interest when the import/export feature turned into a complete code rewrite :) . I imagine my interest will return as exams grow nearer though ;)

I'm considering porting to Freebasic (QBasic's 'sequel') which seems much more suited towards this kind of text interface program without too much language differences. Then again, it'd still be a lot of work...

Link to comment
Share on other sites

  • 1 month later...

Using apoc'd I altered all civilian unit scores to -10 (on second run look like 65326)

 

Soon after successful cleaning mission in hostile Marser (currently plaing the Megapol Mod) I recieved an unusual mission score (it seems civilians die from freandly fire):

post-16902-1213863511_thumb.png

Link to comment
Share on other sites

Apoc'd should've created backups of UFO2P.EXE, TACP.EXE and the citymap files automatically? Anyways reinstalling is not that big of a deal :)

NRN: I think I posted a backup of at least UFO2P.EXE somewhere on this forum, just search for the filename. Problem is it might not work for every version of xcom apocalypse cfr the problems with the Xcom3 Revisited mod.

 

SSV: I'd have to check if the score field is a signed or unsigned variable. Currently it probably won't work properly though.

Link to comment
Share on other sites

Reinstalling might not be too much of a deal, but getting it to work properly is a headache. :P

 

I can only find one version of each file- was the auto-backup a recent feature? The changes were made using 2.03, I believe.

 

EDIT: Never mind, found 'em. And they were right there the whole time- stupid .BAK extension never even occurred to me as a backup.

Edited by Steelion
Link to comment
Share on other sites

  • 1 month later...

I released a new version of apoc'd: http://www.xcomufo.com/forums/index.php?showtopic=242028524. 2.34b adds a view function for the manufacturing screen (produces a table exactly like the one in the roger wong apoc guide. Note that formulas used in apoc'd may not be the same as those used ingame meaning the table will not be 100% accurate) and an import function.

How it works: there is no export function, apoc'd imports data directly from another UFO2P.EXE file. To import data just select 'import' from the main menu and enter the full filenam&path to the new UFO2P.EXE file. Note that if the file is in the same directory as apoc'd the filename alone is enough. So if you place the new UFO2P.EXE in the same folder as apoc'd just typing UFO2P.EXE would work. The same is true for one that is in a subfolder of the dir apoc'd is in. (subdir\(more subdirs\)UFO2P.EXE)

TACP.EXE is not required as currently apoc'd doesn't have any battlescape sections that aren't present in UFO2P.EXE (and this will probably be the last apoc'd version before the freebasic port is complete, unless any bugs pop up). Data will be transferred automatically to TACP.EXE during the process. (this means importing doesn't support mods that have different data between the cityscape&tactical part of the game)

Import only transfers data apoc'd can edit, in other words, if you use a hex editor to alter data/text in the exe those will not be imported!

Building, tile & savegame data cannot be imported, but simply replacing those files should work fine anyway.

Importing between german&english versions is supported but untested.

 

It's not very polished but I simply released it as the freebasic port is still miles away from completion. I stalled the release of that import function long enough :) (manufacturing view function was already done for the megapol mod, but didn't really warrant a release on it's own. Still very useful when modding manufacturing costs!)

Enjoy! Oh and here's a pic of the latest apoc port, showing off some new features ([H]ex edit and nderline, active on the Lab Size Needed field)

 

edit: oh and Zaimoni, Unkown 33 in the agents section isn't always 0 over here, are you sure about that one?

5.gif

Edited by j'ordos
Link to comment
Share on other sites

edit: oh and Zaimoni, Unkown 33 in the agents section isn't always 0 over here, are you sure about that one?
I need to recheck with a fresh game (to rule out interactions with Captain Midnight's Editor), but Unknown 33 looks like a mirror of Role. Which raises the question of why Role is so critical it gets redundantly stored. Edited by zaimoni
Link to comment
Share on other sites

edit: oh and Zaimoni, Unkown 33 in the agents section isn't always 0 over here, are you sure about that one?
I need to recheck with a fresh game (to rule out interactions with Captain Midnight's Editor), but Unknown 33 looks like a mirror of Role. Which raises the question of why Role is so critical it gets redundantly stored.

Well agents originally were meant to be able to perform multiple roles. Perhaps one of them was the 'optimal' role and the other one the current role?

edit: noticed a typo in the apoc'd code that would break importing from a german UFO2P file, reuploaded.

edit2: btw, what kind of 'interactions' do you mean?

Edited by j'ordos
Link to comment
Share on other sites

Well agents originally were meant to be able to perform multiple roles. Perhaps one of them was the 'optimal' role and the other one the current role?

edit: noticed a typo in the apoc'd code that would break importing from a german UFO2P file, reuploaded.

edit2: btw, what kind of 'interactions' do you mean?

I haven't carefully diagnosed them yet. Known issues with Captain Midnight's editor:

* automatically unassigns all scientists when editing bases, possibly on other edits (can be worked around by reassigning in game, but still...)

* Considering that side effect of editing, I find the notion of Captain Midnight objecting to Apoc'd gender editing by falsely claiming the savefile is corrupted, obnoxious. [As a side effect, forever after the Midnight editor displays junk names in empty agent/scientist/engineer slots.]

 

As for agent roles: it would be mildly interesting to temporarily convert inept scientists/engineers into soldiers. Or the best scienists/engineers, to protect your best talent from the collapsing base section instadeath by assigning them to a craft. [The other direction doesn't work so well, as native combat agents are generated with absolute zero in all of the technical skills.]

Edited by zaimoni
Link to comment
Share on other sites

Ah the junk names are probably caused by apoc'd. When reading savedgames I assign them them an 'Empty Slot' name, to make it clear there actually is another agent/vehicle slot there. (if I left it blank the cursor would simply disappear, which is quite unintuitive) When saving changes though it actually writes that name to the file. Since it didn't matter to xcom apocalypse I didn't bother to fix it but that might also be what causes the midnight editor to consider the savefile corrupt... I'll try to create a workaround.

 

Yeah getting scientists to behave like soldiers isn't quite possible yet. I did some quick tests, (you probably got that far as well tho :) ), the unknown 33 role seems to be the one that is passed over to the battlescape. An edited scientist looked like a soldier in battle and had an accesible and useable inventory, though in the cityscape screen it could not yet be accessed.

Ofcourse the starting bio/quantum&engineering stats can be edited in the unit stats section :)

 

edit: ah, got it. Unknown 60 is the agent's inventory reference number. Give one to a former scientist and it's inventory becomes accesible in the geoscape. Unknown 61 seems like the high byte. Not sure what'll happen if you assign a number already in use.

edit2: this leaves one unknown between the inventory # and the assigned armour, which is probably the [shield (?)] field from the unit stats section. Possibly xcom apocalypse was to have one extra possible armour part. (a kind of riot shield type perhaps?) Alien unitshave a value assigned to it, so it may still be in use.

edit3: the 'Shield' armour type is still in use!! I edited the armour position field of megapol leg armor in the agent equipment 2 section to a value of '5' (use force 'E'dit). Then drop one somewhere between the agent's head and the backpack. The armour part disappears (doesn't return to the base stores but doesn't show up on the equip screen either). I then saved and checked the agent in the savegame. Unknown 59 (the possible Shield field) showed a value of 60 (= megapol leg armor). I'll have a look at what happens in the battlescape.

edit4: well the unit was unable to carry any items :) It kept those it was already carrying before I added the extra armour part but I couldn't add any additional items and once removed I couldn't place them back. After a while the unit succumbed to a rain of bullets, unarmed and unable to use grenades. :)

Edited by j'ordos
Link to comment
Share on other sites

Nice bit of detective work, j'ordos! It's always interesting to see your mind at work while deciphering Apocalypse. :D

 

- Zombie

Link to comment
Share on other sites

I used to dabble in it as well but not to the extent J'ordos does xD..

Mine was pretty limited to switching files and looking at them in notepad to find the more obvious values.

But of course once I found Apoc'd that made everything that much easier because I didnt need to try and figure things out anymore.

Great work J'ordos, Lets all have a moment and bow down to you and you're great works. :bow:

Link to comment
Share on other sites

Incidentally, has the "timestamp"/"timer" to the next UFO attack been found? I know (from testing) that it reacts to increasing player score (either directly or per-incident) by becoming earlier, but it's not in a logical location in the Apoc'd GUI. (I'm not positive what time resolution it would be.)

 

[Yes, this theoretically implies "too much raiding" can get you Micronoid rain as the fourth alien attack in week one.]

Link to comment
Share on other sites

Incidentally, has the "timestamp"/"timer" to the next UFO attack been found? I know (from testing) that it reacts to increasing player score (either directly or per-incident) by becoming earlier, but it's not in a logical location in the Apoc'd GUI. (I'm not positive what time resolution it would be.)

 

[Yes, this theoretically implies "too much raiding" can get you Micronoid rain as the fourth alien attack in week one.]

 

In the savegame files the time left before the next UFO incursion is located at address 176-178 (decimal), but I don't know what the numbers mean exactly. Only know that editing it changed the time the next incursion took place. :) Haven't found the timer (if there is any) that starts 'Illegal Vehicle' actions, though since I got two at the same time once it's probably done in a different way (or has multiple timers, for each organisation perhaps?)

 

I thought the mission types were dependant on the current week. At around week 5/6 apocalypse missions, micronoid rains and even overspawn missions could be initiated (by editing those mission profiles to use probes&scouts and disabling the normal infiltration missions for faster testing). Selected mission types were extremely random though, so this may not be very accurate. All scores were at 0 during testing IIRC.

Link to comment
Share on other sites

Incidentally, has the "timestamp"/"timer" to the next UFO attack been found? I know (from testing) that it reacts to increasing player score (either directly or per-incident) by becoming earlier, but it's not in a logical location in the Apoc'd GUI. (I'm not positive what time resolution it would be.)

 

[Yes, this theoretically implies "too much raiding" can get you Micronoid rain as the fourth alien attack in week one.]

 

In the savegame files the time left before the next UFO incursion is located at address 176-178 (decimal), but I don't know what the numbers mean exactly.

Ok. I might take a look after my time clock cycles at local midnight. (Going to bet on it being a proper 4-byte integer, however....).

 

I thought the mission types were dependant on the current week.
They're dependent on the current UFOs in the alien dimension. The first mission (in increasing order) that can be attempted is what gets sent in.

 

The first week, the aliens start with 9 Scouts and 9 Probes, so

* #1: Infiltration #19 3 Scouts, 2 Probes. Wipeout: 6 Scouts, 7 Probes remaining

* #2: Infiltration #19 3 Scouts, 2 Probes. Wipeout: 3 Scouts, 5 Probes remaining

* #3, sufficient XCOM activity (think some raiding required to move this attack into Week 1): Infiltration #19 3 Scouts, 2 Probes. Wipeout: 3 probes remaining.

 

So...first mission that uses only 3 probes is Micronoid Rain #10. [incidentally, Micronoid Rain #8 never happens; it is pre-empted by Infiltration #19]

Link to comment
Share on other sites

The game selects the first mission # it can do from top to bottom yes, but I'm quite certain that it'll determine which mission type to perform before that happens. Try setting infiltration mission #19&20 to something it can't do in the first week (add a motherships or so), no UFO incursions will occur the entire first week, even though Micronoid Rain #8&10 theoretically should be possible with the current alien fleet size.

The mission type it'll perform next time doesn't seem to be present in the savegame though: if you keep loading the same savegame over and over again it could perform an infiltration mission one time and an overspawn mission the other time. (as long as the required ships are present and, I think, enough weeks have passed)

 

4 bytes is certainly possible, didn't look into it properly as I didn't understand the numbers (and was too lazy to try figuring them out :) )

Edited by j'ordos
Link to comment
Share on other sites

4 bytes is certainly possible, didn't look into it properly as I didn't understand the numbers (and was too lazy to try figuring them out :) )
It's a countdown timer (like those in XCOM1's MISSIONS.DAT), but I'm not clear on the intended time resolution. (It's somewhere between 33 and 42 ticks per game-time second, so I'd guess it's tied to the EDIT 18.206Hz clock interrupt like the RT combat is. So I'd guess close to 37 or 38 counts per second, before detailed testing). Edited by zaimoni
Link to comment
Share on other sites

Sounds a bit too technical for me ^_^

Only thing I can tell is that the rate is much lower for me (though I simply saved one game, then unpaused until the timer read 12:00:01 instead of 12:00:00 and saved again in a different slot, after which I compared the files. Not really exact science :) ) and it appears there is another timer at offset 200 (the value there dropped at the exact same rate as the UFO timer). ATM no idea what it's for though. Edit: apparently it's the timeout period before random organization vehicles start appearing in the city.

Edited by j'ordos
Link to comment
Share on other sites

Sounds a bit too technical for me ^_^

Only thing I can tell is that the rate is much lower for me (though I simply saved one game, then unpaused until the timer read 12:00:01 instead of 12:00:00 and saved again in a different slot, after which I compared the files. Not really exact science :) ) and it appears there is another timer at offset 200 (the value there dropped at the exact same rate as the UFO timer). ATM no idea what it's for though.

I'm quoting bounds to allow for overprecision error. E.g., one of my shorter samples was from 12:00:02 to 12:00:05; that could be testing the countdown span for anywhere between 2 and 4 seconds.

 

Fast-time is particularly ugly for this exercise it "accumulates" all events in the past five minutes of game time before showing them. If I didn't have to account for that, the refined average countdown rate I calculated would have been 36.07 to 36.08 .

Link to comment
Share on other sites

Hmm...what's simplest, really, is to say it counts down by 1 per rendering frame on slow-time. That would make the countdown rate per game-time second twice the clock interrupt frequency (~36.412 /second)

 

EDIT There's a fairly clean rational approximation here. 11 game-time seconds to render 400 half-speed frames is off by less than 0.14%. I wonder if this is behind the conversion between TB and RT stats....

Edited by zaimoni
Link to comment
Share on other sites

Small question: Is this to control the next ufo attack or is this to control a series of attacks?

 

If its to control the very next attack and nothing else, why bother trying to decipher it? *shrug* Wouldnt be too useful to those of us who want to mod the game into something else.

 

but if this is for a series of attacks, like an average time between attacks, then that could indeed be Very VERY useful

 

 

If it is the next attack, perhaps it means how many milliseconds until the next ufo's arrive?

Link to comment
Share on other sites

Small question: Is this to control the next ufo attack or is this to control a series of attacks?
The next attack. XCOM1 was the same way. It seems likely the attack series control is somewhere in the executables.

 

There should be more countdown timers in the general area.

If its to control the very next attack and nothing else, why bother trying to decipher it?
It's moderately useful for "excessive military intelligence" purposes. Also, it's relatively easy to verify that successful ground missions can adjust the ETA of the UFOs; I'd like to get that described properly.
Link to comment
Share on other sites

wait if its done by render frames, would putting it on normal speed or fast speed not make ufo's more frequent than if put on extreme speed?

 

Well I suppose in REAL TIME you'd have more attacks if you zoomed through the days, but in GAME time would it be more frequent?

Link to comment
Share on other sites

wait if its done by render frames, would putting it on normal speed or fast speed not make ufo's more frequent than if put on extreme speed?
I don't know. The RT engine simply skips rendering frames at speeds higher than slow-motion, so I'd guess not.

 

I do know that extreme speed means the events are forced to happen on 5-minute boundaries, even if they would happen off them (earlier) on a slower setting.

Link to comment
Share on other sites

Yeah getting scientists to behave like soldiers isn't quite possible yet. I did some quick tests, (you probably got that far as well tho :) ), the unknown 33 role seems to be the one that is passed over to the battlescape. An edited scientist looked like a soldier in battle and had an accesible and useable inventory, though in the cityscape screen it could not yet be accessed.

 

Ofcourse the starting bio/quantum&engineering stats can be edited in the unit stats section :)

 

edit: ah, got it. Unknown 60 is the agent's inventory reference number. Give one to a former scientist and it's inventory becomes accesible in the geoscape. Unknown 61 seems like the high byte. Not sure what'll happen if you assign a number already in use.

The first agent with that inventory number gets the inventory; later ones are inaccessible.

 

In Megapol armor, the scientists tend to move slower than hybrid Agents.

Link to comment
Share on other sites

Im guessing that you would need a whole differant set of graphics for the scientists to behave like real soldiers if you didnt want their entire bodies to dissapear, as I know there are parts of the normal soldiers but the scientists behave as a single chunk.
Not at all. I had perfectly normal graphics when playtesting scientists in raiding.

 

It is sufficient (if perhaps overkill) to change both of the scientists' role bytes to Agent, and give them an inventory slot. [Note that there is some internal count for which inventory slot is "next", and it doesn't pay attention to what you do here....]

 

Also note that you can't just transpose the agents' data in a hex editor to reorder the agents. The agent inventory array records (origin 2B0F0h, length 158 i.e. 9Eh, 150 records) start with signed short (2-byte) record offsets into the agent array. I haven't checked whether counter-adjusting these bytes is sufficient to make agent-swapping safe.

Edited by zaimoni
Link to comment
Share on other sites

so the scientists were able to use weapons without having a firing animation?.. interesting..
I finally put your question into context (sigh). What I did was completely convert the scientists into agents without changing their stats. What's needed is a lesser technique.

 

It does seem that the problem with scientists and base defense missions is that they don't have inventory slots assigned to them.

Link to comment
Share on other sites

I currently do not have apoc or apoc'd on this computer (as I am on a vista widescreen laptop and that'd be near impossible to configure to run a dos game) so I cannot check to make sure, but Im pretty sure that you are able to select the inventory layouts for agents just like you can for ships.
Link to comment
Share on other sites

I currently do not have apoc or apoc'd on this computer (as I am on a vista widescreen laptop and that'd be near impossible to configure to run a dos game) so I cannot check to make sure, but Im pretty sure that you are able to select the inventory layouts for agents just like you can for ships.
I know. What I mean, is that scientist inventories are not selectable under the same conditions that bungled hacking makes agents' inventories unselectable in the equipping screen: they must be the first, in listing order, with a proper inventory slot entry in Offset 60.

 

I'm planning to check later tonight what effect giving scientists inventory slots (savefile editing) has on equipping them normally. I plan to immediately settle whether this makes them equippable normally, and will check on the base defense setup when one of those comes up.

Link to comment
Share on other sites

  • 3 weeks later...

Completely unrelated but thought I'd mention a few new fields I should've found a long time ago:

Agent Equipment 1: Unknown 9 is the storage space the item takes up

Agent Equipment 2 (0/X): Unknown 5 is the armor's damage modifier type

Vehicle Equipment 1: Buy Limit (?) is the storage space the item takes up (a value of 0 for some reason crashes the game)

Link to comment
Share on other sites

  • 3 months later...

For those of us keen on stun raiding, I discovered that the .SOB (fitting :) ) files in the MAPS\##whatever\ folder hold the item spawn points. Each SOB file is 160 bytes long while each spawn point takes up 8 bytes, so there is a maximum of 20 spawn points per map section.

 

Here's an example spawn point from 01SEC01.SOB

X-POS Y-POS LEVEL ?????
05 00 22 00 00 00 01 00

 

X-POS (05 00): the x position of the item, 00 is the leftmost tile of the map, 01 the tile to the right of it, etc...

Y-POS (22 00): the y position of the item, 00 is the uppermost tile of the map, 01 the tile beneath, etc...

LEVEL (00 00): the level the item is on, starting at 0. note that it will simply float in the air if there's no floor present. No physics are applied to it.

so, an item at position 0,0,0 would be found at the upper-leftmost corner of the map, on the first floor.

????? (01 00): beats me. Possibly generic item type? (weapon, armor, psiclone/elerium, ...)

 

Exactly which items can appear is probably to be found in the exe somewhere.

Edited by j'ordos
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...