[One (M8) Android Development] Sneakyghost:
Yes you can replace any image in the zip. Please stick to the rules I described for manipulating fastboot zips. See my posts on first page.

Regarding the differences: I generally do not look at other people's Firmware packs. However, the firmwares provided by Mike used to often be packages pulled from OTA's and then just published like that.

By now, we have learned over and over (XDA is full of examples if you really dig through it) that it can have disastrous side-effects, if you flash a certain OTA firmware over a certain software generation with leaving updates in between out. At the same time, it can go all well and no adverse side effects turn up. However, the matter has some complexity which I assume the overwhelming majority of users does not understand / does not want to deal with.

Technically, a HTC OTA always assumes a stock and unmanipulated device. Hence, a phone that gets offered an OTA, will always have the correct previous software version. It will always receive the correct OTA file. This works 100%. Because that is so, HTC can put the absolute minimum of required files inside an OTA to keep it as small as possible. HTC does not need to take into consideration that users might have set their device S-OFF and played with ROM's and Firmware.

Now, because we do that frequently, we can flash a brand new OTA firmware onto a very old device which has one or several generations older firmware. Here the problems start. Either we learn that we have to stick to HTC's OTA scheme if we want maximum security or we use RUU packages.

Assuming that users will know how to deal with OTA firmware manually is no viable option. Most users don't.

So, the key difference between my packages and many others is, that I try to re-assemble RUU firmwares, which always include all images of the same software generation, to make sure users update their device fully and do not miss out some image that was maybe only updated in the previous OTA.

Sometimes, it suffices if I just repack the rom.zip from a RUU (take out the system.img and leave the rest). Sometimes we do not have a RUU. Then I will use my knowledge of available firmware packs to assemble a similar zip manually from a series of OTA's. Sometimes, it cannot be done because I am missing pieces. In that case, I either do not publish anything to keep it safe, or I substitute an image with an equivalent from a different SKU. Say its about the dzdata files, like if I cannot get latest dzdata files for 401, I might consider taking dzdata from the developer edition, which is very similar as in: no bloatware in dzdata.

BUT this has to be weighed against the possible risks and I would rather never substitute files from other SKU's. Exceptions are only made when I am nearly 100% sure it will be safe under all conditions. Which I hardly ever am. So I am not really doing that anymore.

So, what makes my packs different then?

1.) I publish only what I am really really sure is safe.

2.) I always make full packs to minimize the risk of bricks caused by incompatible images.

My favorite example for why I am doing this is a series of bricks which happened on the M7 a while ago, when HTC did something that caused a brick when certain partition image updates were skipped. In that case (my apologies if I remember the numbers wrong) an update from a 3.xx base firmware to a 5.xx base firmware (skipping updates made in version 4.xx) by means of simple OTA packages (which, like i said, contains only the most recently updated images) lead to a near 100% chance of bricking your M7. This could simply be avoided by either flashing updates 3.xx, 4.xx, 5.xx in succession like it would have been on a stock phone, or by providing a FULL 5.xx firmware pack that would include all images at their last update stage - like a RUU would have had.

That is what I do. Create full firmware packs and use the knowledge i collected during the past 4 years to ensure everything is assembled correctly and you be safe.

There is zero magic in what I do.

Now you can click my thanks button.