Re: City Revolt - questions and CTDs
Haven't got any further on the root cause of the CTD but have an idea that seems to work for handling the indestructible building and providing a low stat unit that doesn't keep getting recruited by the AI throughout the game.
Solution does mean that all settlements can always recruit one unit even without barracks etc. and will mean that you do always get an army generated by revolts
(pinching ideas slightly from CI and RTRPE fix, sorry chaps...)
Set indestructible building as settlement_min village so it doesn't appear in browser. Place indestructible building 1st in each settlement in descr_strat so its first in built building display, make small tga for built building either look like part of UI background or mod logo. Give it recruitment lines for factions own units like
Quote:
recruit "militia albion" 0 requires factions { empire_west, } and not building_present_min_level barracks muster_field
and before you all say 'you can't use building conditionals in 1.6'. Proviso is don't give building any other capability other than recruitment and make the 'building_constructed.tga' too tall (I just used 360 x 500 pixels high). That tga displays all over the scroll that opens if nosy user right clicks the 'building', scroll doesn't get scroll bar either - so user cannot click the (now invisible) recruitment line :laugh4:
Does seem to work and I have tested on forced revolt with no other recruit buildings present, but eagerly await everyone telling me why its wrong.....
Re: City Revolt - questions and CTDs
Hey, you pinched...j/k :beam:
I am still toying with the invisible building idea; what we have at present serves but there are some global tweaks (base building capabilities) that I would like to keep hidden simply to balance the game more effectively. Our original base building idea was indeed global and to be a part of the UI; but I found it far better to have regional buildings to address the differing areas of Middle-earth and their affect upon the races/factions. No reason why I can't have a global one too though - especially if it can kill two birds with one stone. The idea that the 'revolt unit' disappears after building a first building / or muster field is appealing.
EDIT: Hmmm..forgot about the bonus incompatabilitywith recruitment lines dependent upon buildings. I shall probably make it a visible building then. Oh dear, I shall have to be creative....
Re: City Revolt - questions and CTDs
I haven't read all of your diskussion but here is my expirience with it in EB:
The current EB version has some Problems with settlements rebelling to a faction = CTD if no recruitment is available but mercs hireable.
For example a carthagian army conquers an Aedui settlement, destroys every destrucable building and moves one leaving a settlment with 0% loyality, after ~two turns the city revolts, bang CTD.
EB 0.8 had many unit graphik Bugs, too, which have been resolved by Aymar.
While repairing the bugged models/textures he found many faction ownership and recruitment errors, especially regarding faction/regional units that use the merc trick to have different skins on the same model (for example: late Hastati/Prinzipes are using the same model, the hastati are using the faction slot and the prinzipes the merc one).
Aymar released an intern 0.81 update, which has been tested and enhanced with much other stuff, unitl now. But the best thing was, in the new version we haven't encountered the reblling City CTD, yet. I have made test's with different factions
No recruitment available (barracks destroyed), mercs available
Rebelling to faction, settlement full of mercs
No recruitment available (barracks destroyed), no mercs available
Rebelling to faction, settlement empty
Recruitment available, mercs available
rebelling to faction settlement full of (high expierieneced)factions units/regionals, mercs
Recruitment available, mercs not
rebelling t faction settlement full of (high expierieineced)factions units/regionals
Re: City Revolt - questions and CTDs
Aargh, just when I thought we were all coming to same conclusion...
thanks anyway Bonny, for info. Can you explain what you mean by the merc trick? We're getting same problem in 'vanilla' BI (with peasants removed) and in that mercs have only merc and slave texture and slave EDU ownership, do you think that DMB set up is part of issue? (I'm stumped as to why DMB would come in to it at settlement revolt stage)
when you were testing did you leave any garrison in settlement about to revolt? Recent finding seems to be that for 'vanilla' without peasants and also my mod leaving one unit (and one unit only) as garrison gives smooth transition through revolt without CTD.
Quote:
Originally Posted by Dol Guldur
EDIT: Hmmm..forgot about the bonus incompatabilitywith recruitment lines dependent upon buildings. I shall probably make it a visible building then. Oh dear, I shall have to be creative....
Other thought I had is if within limited circumstances it is necessary to use building conditional recruitment (in separate building from other bonuses to avoid that CTD) then you could possibly set up building initially without conditional, take screenie then make that screenie into the oversized construction.tga (possibly with adjustment as margins are different between text and pic.) - that obviously wouldn't be clickable but would give info without CTD. Problem is it wouldn't follow changing situation such as building / demolition of barracks so that would need to be explained within temporary initial unit name / or within description text.
Re: City Revolt - questions and CTDs
Makanyane, I like the way you think ;)
But here's what I've done. I have an info building (global prebuilt indestructable) which gives the player universal access to critical mod information (such as known CTDs and how to avoid them), whilst of course behind it all is the building-conditoned peasant unit set for each region by hidden resources according to faction and which disappears on the construction of that faction's first barracks building.
The invisible building was not clean enough for me, and this provide a means to inform the player too. (building title and image may be improved :) )
https://i39.photobucket.com/albums/e.../info_bldg.jpg
Re: City Revolt - questions and CTDs
regarding the fourth age critical information:
it looks like you are using costum sounds, and at least some of them are compiled in 44khz, am i right?
If you play RTW with an EAX sound system (EAX2 or EAX3), 44khz sounds make the game freeze, EAX needs 22khz sound files to work properly.
(NTW2 had the same problem, with game freezes, because of an militiaunit used bullet sound which was compiled in 44khz)
the merc trick (as i understand it, but i haven't asked one of the real modders)
Code:
; Roman infantry - Hastati / Principes (Late)
type roman_infantry_hastati_principes
skeleton fs_pilum, fs_gladius
indiv_range 40
texture seleucid, eb/data/models_unit/textures/ebunit_Prome_new_unit_roman_late_Hastatii_Julii.TGA
texture merc, eb/data/models_unit/textures/ebunit_Prome_new_unit_roman_late_Principes_Julii.TGA
texture slave, eb/data/models_unit/textures/ebunit_Prome_new_unit_roman_late_Hastatii_Julii.TGA
model_flexi_m eb/data/models_unit/ebunit_Prome_new_unit_roman_late_HastatiiPrincipes_high.cas, 15
model_flexi_m eb/data/models_unit/ebunit_Prome_new_unit_roman_late_HastatiiPrincipes_high.cas, 30
model_flexi_m eb/data/models_unit/ebunit_Prome_new_unit_roman_late_HastatiiPrincipes_high.cas, 40
model_flexi eb/data/models_unit/ebunit_Prome_new_unit_roman_late_HastatiiPrincipes_high.cas, max
model_sprite seleucid, 60.0, eb/data/sprites/roman/ebsprite_roman_infantry_hastati_all.spr
model_sprite merc, 60.0, eb/data/sprites/roman/ebsprite_roman_infantry_principes_merc.spr
model_sprite slave, 60.0, eb/data/sprites/roman/ebsprite_roman_infantry_hastati_all.spr
model_tri 400, 0.5f, 0.5f, 0.5f
This is the EB dmb entry for late Hastati/Prinzipes
the seleucid texture path is highlighted red, it's the roman late hastati, which can be recruited after the first reform, by the romans.
The merc texture path is highlighted blue, it's the late Principes, which can also be recruited by the romans.
Now we have two different units for one faction edu, wich are using only one model slot.
The only problem is, that the pricinpes sprite ebsprite_roman_infantry_principes_merc.spr (merc path)
is not working, the game always uses the hastati sprites (seleucid path).
I think, this is the reason for this entry in vanilla RTW1.5 dmb
Code:
;;;;;; MERCENARIES ;;;;;;;;;;;;;;;;;;;
;Special versions of some soldiers, that have both slave and mercenary versions
;This is necessary to get correct sprites for the mercs
type barb_cavalry_merc
skeleton fs_hc_spearman ; combat spear
indiv_range 40
texture merc, data/models_unit/textures/unit_barb_warband_merc.tga
model_flexi data/models_unit/unit_barb_warband_cavalry_high.cas, 8
model_flexi data/models_unit/unit_barb_warband_cavalry_med.cas, 15
model_flexi data/models_unit/unit_barb_warband_cavalry_low.cas, 30
model_flexi data/models_unit/unit_barb_warband_cavalry_lowest.cas, max
model_sprite 60.0, data/sprites/barb_cavalry_merc_sprite.spr
model_tri 400, 0.5f, 0.5f, 0.5f
Re: City Revolt - questions and CTDs
Thx. Bonny - I have passed this information to our audio guy.
Re: City Revolt - questions and CTDs
Question: when the revolt happens to the AI, does it also CTD? Also, does it CTD in the middle of the AI faction's turn (or at their end, aka. before another faction's turn) or is it right at the beginning of that faction's turn?
Re: City Revolt - questions and CTDs
Oh $%^&£^&, *wonders what swear words you're allowed to use on this forum*
have belatedly realised flaw in my earlier proposal, if barracks building exists but is too damaged by rioting to produce troops then the building conditioned recruitment line in the indestructible building won't activate (and we'd just sorted some rather nice graphics for it as well ) :thumbsdown:
wanders despondently back to square one...
Vanilla should theoretically also have had this problem where recruit buildings were damaged or non-existent and core (peasant producing) building was damaged, can't remember at the moment if there were reported problems or not.
___________________________________________________________________
wlesmana, sorry meant to reply earlier, yes we think it can happen in AI turn, though AI doesn't destroy existing recruitment buildings, if they don't exist for loyalist faction, due to lack of development, damage or aor system then it can theoretically occur. I think also RTRPE had found that it happened for them in practice on AI turn but need to go back and re-read their thread to confirm.
What I wanted to do and hadn't got round to is set up a test provincial campaign. Take peasants etc out of EDB, give 'x' faction a very unhappy city, large population with no recruit or happy buildings and big distance / culture penalty, and with other faction as creator in regions and strat, so it revolts to faction not rebels. Make sure lots of very expensive mercenaries are available (so no-one buys them all) and that faction 'x' has no money to build recruit buildings. That should prove out case when it revolts and if it CTD's show you where. I probably will go back and try it for BI now but suggest if you're using Alex. that you test in that too.
Re: City Revolt - questions and CTDs
Update on above I realised; it is salvageable but you need alternative recruit lines so as well as :
recruit "garrison milice de eppee" 0 requires factions { franks, } and not building_present_min_level barracks muster_field
you also have:
recruit "milice de eppee" 0 requires factions { franks, } and building_present_min_level barracks muster_field
Could also possibly condition that so it doesn't apply if next level barracks is present and give new recruit line for that level etc. That doesn't seem to result in duplicate display in recruitable list if barracks is present, but I'm not sure if trying to add all the recruit permutations might break some sort of hc limit.
Re: City Revolt - questions and CTDs
Hmmm....I'm not going to have much time for a few days. I was not sure whether a damaged building would respond as I have not tested it. Do let me know how your vanilla tests go.
Yep, I am sure the CTD occurs on AI - I think it's where we (fatw) first spotted it in fact.
EDIT: Mak, good thinking but won't that mean the darn unit is available for recruiting beyond the bare necessity and thus also for the AI? I want to avoid that.
Re: City Revolt - questions and CTDs
Hmmph, remembered after my suggestion of way to test that you need to get AI to take city rather than give it to them at start or it will only revolt to rebels regardless of faction creators. Tested in my mod in the end, as I've more idea in that, what cities factions will normally take (placing armies near vulnerable city not on their usual expansion path didn't make them take bait).
Have viewed numerous loyalist revolts away from AI faction but have not CTD'd
think this is because the AI keeps taking most of its army out of the about to revolt city, has so far normally left just one unit in, and occasionally a maximum of two. But it hasn't got it self in situation of having loyalist revolt with either empty or large garrison in city, which as we found earlier appeared to be one of the other pre-requisites for the crash. As I can't get it to crash currently I can't answer questions about exactly when in turn it would occur or effect of damaged buildings.
The AI behaviour of pulling the troops out before revolt looks suspiciously as though the programming is designed around the bug!?
When others have experienced CTD's on AI's turn it could be that the AI has got its calculation on revolt likelihood messed up, or additional damage to building or death or birth of leader / forced retreat into city etc, has altered situation.
Quote:
EDIT: Mak, good thinking but won't that mean the darn unit is available for recruiting beyond the bare necessity and thus also for the AI? I want to avoid that.
What I was trying to achieve is the first lower stat unit still only being recruitable if the muster field is not present at all, which is where we started.
You then have recruit lines for one of exactly the same units that would be available for each level of your barracks being conditioned on that specific barracks level existing in the city. So if your muster field produces unit xxxx
your revolt building has
Quote:
recruit "xxxx" 0 requires factions { franks, } and building_present_min_level barracks muster_field and not building_present_min_level barracks militia_barracks
That line will operate if the barracks building is present but damaged but otherwise recruitment system will remain as designed, so effectively making it look as though you can recruit the selected unit out of the damaged barracks. Concerns were whether having two recruit lines for the same unit would give duplicate icon display - but it doesn't seem to. Other problem is level of complexity needed within the revolt building especially if you also have a complex aor system (luckily I haven't) am about to test further to see if I can get everything I need in....
Re: City Revolt - questions and CTDs
I see. Well, we do have a complex aor system :(
But, you may wish to test, I found that having too many recruitment lines with building conditionals in a single level caused a CTD (on opening the building scroll if I remember rightly)...or it may have been similar to the effect caused by having a bonus capability in the same. I could not get over this limit before (it was usually 4)
There's a discussion on this from around post 90 of the EDB discussion thread.
Re: City Revolt - questions and CTDs
Yep, you can still only have 4 ACTIVE building conditioned lines in the building or it CTD's when you click it, even with hidden view thing.
Which is actually plenty for me - we have some units that are additions for specific regions but base units aren't excluded by region so I can just pick one of the base units per barracks level - hence don't actually need more than one active line per building unless I get concerned about lack of variety being produced from unrepaired barracks... , have actually got the minimum amount in now to cover all factions / levels and seems fine so far
Active line changes when next barracks is built but so long as you remember to exclude the other barracks levels you don't get multiple lines. If you've got regional units that don't overlap you could just have one unit, per region, per faction, per barracks level, which would again only give you one active line at a time. I think you're only going to get into trouble if your regional areas (or other conditions) overlap so any one city could get more than 4 of the conditioned units active in the building when its triggered by any particular barracks level.
And I wish you luck figuring that one out :laugh4: