diff --git a/CnCTDRAMapEditor/Classic/mixcontent_ra1.ini b/CnCTDRAMapEditor/Classic/mixcontent_ra1.ini index df3c00c..0e03c3f 100644 --- a/CnCTDRAMapEditor/Classic/mixcontent_ra1.ini +++ b/CnCTDRAMapEditor/Classic/mixcontent_ra1.ini @@ -106,13 +106,14 @@ sc,MissionRa=Game Map type.fnt=x trans.icn=Building Placement Tiles mouse.shp=Mouse cursor -conquer.eng=Strings table +conquer.eng=Game text +credits.eng=Game credits +credits.txt=Game credits mission.ini=Mission briefings file rules.ini=Game rules (general) -mplayer.ini=Game rules (Aftermath multiplayer) aftrmath.ini=Game rules (Aftermath singleplayer) +mplayer.ini=Game rules (Aftermath multiplayer) tutorial.ini=Text trigger lines -credits.txt=Game credits title.cps=DOS title screen title.pcx=Win95 title screen hole,VortexRa=Chrono vortex distortion table @@ -617,8 +618,8 @@ v37,BuildingRa=The Studio barl,BuildingRa=Barrel brl3,BuildingRa=Three Barrels quee,BuildingRa=Queen Ant -lar1,BuildingRa=Larva -lar2,BuildingRa=Larvae +lar1,BuildingRa=Ant Larva +lar2,BuildingRa=Ant Larvae ; Superweapons atom,IconRa=Nuclear Strike cam,IconRa=Spy Plane @@ -996,7 +997,6 @@ spypln1.aud=EVA: "Spy plane ready." strckil1.aud=EVA: "Structure destroyed." strucap1.aud=EVA: "Structure captured." strusld1.aud=EVA: "Structure sold." -tank01.aud=EVA: "MAD Tank deployed." tanyaf1.aud=EVA: "Tanya freed." tanyar1.aud=EVA: "Tanya rescued." targfre1.aud=EVA: "Target freed." @@ -1011,132 +1011,299 @@ unitrep1.aud=EVA: "Unit repaired." unitsld1.aud=EVA: "Unit sold." unitspd1.aud=EVA: "Unit speed upgraded." xploplc1.aud=EVA: "Explosive charge placed." -; Audio +; Expansion EVA (Aftermath) +tank01.aud=EVA: "MAD Tank deployed." +; Specific unit voices +girlokay.aud=Female civilian: "Okay." +girlyeah.aud=Female civilian: "Yeah?" +guyokay1.aud=Male civilian: "Okay." +guyyeah1.aud=Male civilian: "Yeah?" +eaffirm.aud=Engineer: "Affirmative." +eengin1.aud=Engineer: "Engineering." +emovout1.aud=Engineer: "Movin' out." +eyessir1.aud=Engineer: "Yes sir." +tuffguy1.aud=Tanya: "Chew on this!" +rokroll1.aud=Tanya: "Let's rock!" +laugh1.aud=Tanya: "Ha ha ha!" +cmon1.aud=Tanya: "Shake it baby!" +bombit1.aud=Tanya: "Cha Ching!" +gotit1.aud=Tanya: "That's all you got?" +keepem1.aud=Tanya: "Kiss it bye-bye!" +onit1.aud=Tanya: "I'm there." +lefty1.aud=Tanya: "Give it to me!" +yeah1.aud=Tanya: "Yea?" +yes1.aud=Tanya: "Yes sir?" +yo1.aud=Tanya: "What's up." +tandeth1.aud=Tanya dies +einah1.aud=Einstein: "Ah?" +einok1.aud=Einstein: "Ok." +einyes1.aud=Einstein: "Yes." +scomnd1.aud=Spy: "Commander?" +syessir1.aud=Spy: "Yes sir?" +sindeed1.aud=Spy: "Indeed." +sonway1.aud=Spy: "On my way." +sking1.aud=Spy: "For king and country." +mrespon1.aud=Medic: "Reporting." +myessir1.aud=Medic: "Yes sir?" +maffirm1.aud=Medic: "Affirmative." +mmovout1.aud=Medic: "Movin' out." +syeah1.aud=Thief: "Yea?" +smout1.aud=Thief: "Movin' out." +sokay1.aud=Thief: "Ok." +swhat1.aud=Thief: "What?" +saffirm1.aud=Thief: "Affirmative." +dogg5p.aud=Strong dog growl +dogw3px.aud=Dog reporting +dogw5.aud=Dog whine +dogw6.aud=Dog growl +dogw7.aud=Dog dying +dogy1.aud=Dog response bark +; Expansion voices (Counterstrike) antbite.aud=Ant bite antdie.aud=Ant dying -appear1.aud=x -beepy6.aud=x -briefing.aud=x -buzzy1.aud=Alarm beep -clock1.aud=x -country1.aud=x -country4.aud=x -keystrok.aud=x -mapwipe2.aud=x -mapwipe5.aud=x -scold1.aud=x -sfx4.aud=x stavcmdr.aud=Stavros: "Commander?" stavcrse.aud=Stavros: "Of course." stavmov.aud=Stavros: "Move out." stavyes.aud=Stavros: "Yes." -toney4.aud=x -toney7.aud=x -toney10.aud=x +rambo1.aud=Commando: "I've got a present for ya!" +rambo2.aud=Commando: "Hahaha!" +rambo3.aud=Commando: "Real tough guy!" +; Expansion voices (Aftermath) +myes1.aud=Mechanic: "Yes sir!" +mhowdy1.aud=Mechanic: "Howdy!" +mrise1.aud=Mechanic: "Rise 'n shine!" +mhuh1.aud=Mechanic: "Huh?" +mhear1.aud=Mechanic: "I Hear Ya!" +mlaff1.aud=Mechanic: guffaw +mboss1.aud=Mechanic: "Sure Thing, Boss!" +myeehaw1.aud=Mechanic: "Yee Haw!" +mhotdig1.aud=Mechanic: "Hot Diggity Dog!" +mwrench1.aud=Mechanic: "I'll get my wrench." +jburn1.aud=Shock Trooper: "Burn baby burn!" +jchrge1.aud=Shock Trooper: "Fully charged!" +jcrisp1.aud=Shock Trooper: "Extra Crispy!" +jdance1.aud=Shock Trooper: "Let's Dance!" +jjuice1.aud=Shock Trooper: "Got juice?" +jjump1.aud=Shock Trooper: "Need a jump?" +jlight1.aud=Shock Trooper: "Lights out!" +jpower1.aud=Shock Trooper: "Power on!" +jshock1.aud=Shock Trooper: "Shocking!" +jyes1.aud=Shock Trooper: "Yesssss!" +; Generic infantry/vehicle responses +ackno,AudioVarRa="Acknowledged." +affirm1,AudioVarRa="Affirmative." +await1,AudioVarRa="Awaiting orders" +noprob,AudioVarRa="Of course." +overout,AudioVarRa="As you wish." (unused) +ready,AudioVarRa="Ready and waiting." +report1,AudioVarRa="Reporting." +ritaway,AudioVarRa="At once." +roger,AudioVarRa="Agreed." +ugotit,AudioVarRa="Very well." +vehic1,AudioVarRa="Vehicle reporting." +yessir1,AudioVarRa="Yes sir?" +; Infantry death screams +dedman1.aud=Short infantry scream +dedman2.aud=Short infantry scream +dedman3.aud=Short infantry scream +dedman4.aud=Short infantry scream +dedman5.aud=Short infantry scream +dedman6.aud=Short infantry scream +dedman7.aud=Short infantry scream +dedman8.aud=Short infantry scream +dedman10.aud=Short infantry scream +; Generic sound effects +aacanon3.aud=AA cannon +beacon.aud=Beacon sound +beepslct.aud=Map selection beep +bleep11.aud=Reverse chirp sequence +bleep12.aud=Chirp sequence +bleep13.aud=Long warble +bleep17.aud=Mid range soft warble +bleep5.aud=Sharp soft warble +bleep6.aud=Message alert +bleep9.aud=Radar activating +build5.aud=Building construction sound +cannon1.aud=Cannon sound (medium) +cannon2.aud=Cannon sound (short) +cashdn1.aud=Falling money tick +cashturn.aud=Selling +cashup1.aud=Rising money tick +chrono2.aud=Chronosphere sound +chute1.aud=Parachute opening +crmble2.aud=Wall crumble +firebl3.aud=Fireball launch sound +firetrt1.aud=Fireball explode sound +fixit1.aud=Mechanic fixes something +grenade1.aud=Grenade toss +gun11.aud=5-round gun burst (slow) +gun13.aud=7-round gun burst (fast) +gun27.aud=Rifle shot +gun5.aud=Three quick shots in succession +h2obomb2.aud=Water explosion +heal2.aud=Healing effect +hydrod1.aud=Hydraulic door +invul2.aud=Invulnerability effect +ironcur9.aud=Iron Curtain sound +kaboom1.aud=Building half-collapsing +kaboom12.aud=Explosion +kaboom15.aud=Explosion +kaboom22.aud=Long explosion +kaboom25.aud=Short explosion +kaboom30.aud=Short explosion (HE) +mguninf1.aud=5 round gun burst (fast) +mine1.aud=Mine explosion sound +mineblo1.aud=Weird mine explosion +minelay1.aud=Mine placed +missile1.aud=Missile with high tech effect +missile6.aud=Long missile launch +missile7.aud=Short missile launch +pillbox1.aud=5-round gun burst (rattles) +placbldg.aud=Building slam down sound +rabeep1.aud=Generic beep sound +radardn1.aud=B-movie power down effect +radaron2.aud=Powering up electronics +ramenu1.aud=Generic click sound +sandbag2.aud=Sandbag crunch +scoldy1.aud=Scold bleep +silencer.aud=Silencer +sonpulse.aud=Sonar pulse +splash9.aud=Water splash +squishy2.aud=Squish effect +subshow1.aud=Submarine surface sound +tank5.aud=Long muffled cannon shot +tank6.aud=Sharp mechanical cannon fire +tesla1.aud=Tesla zap effect +torpedo1.aud=Torpedo launch +tslachg2.aud=Hum charge up +turret1.aud=Sharp cannon fire +wallkil2.aud=Crushing wall sound +; Expansion sound effects +buzzy1.aud=Buzzer +chrotnk1.aud=Chrono tank teleport +madchrg2.aud=MAD tank charges up +madexplo.aud=MAD tank explodes +shktrop1.aud=Shock Trooper fires +; Map / score sound effects +appear1.aud=Map appear swoosh +beepy6.aud=Score screen beep sound +briefing.aud=Briefing beep sound +clock1.aud=score screen tick sound +country1.aud=Map country sound +country4.aud=Map country sound +keystrok.aud=Score screen key stroke +mapwipe2.aud=Map scan swoosh +mapwipe5.aud=Map scan swoosh +scold1.aud=Map screen error beep +sfx4.aud=Map screen sound +toney4.aud=Map screen sound +toney7.aud=Map screen sound +toney10.aud=Map screen sound ; PCX images alibackh.pcx=Allied score screen background sovbackh.pcx=Soviet score screen background ; shp animations -120mm.shp=x -50cal.shp=x -antdie.shp -armor.shp=x -art-exp1.shp=x -atomicdn.shp=x -atomicup.shp=x -atomsfx.shp=x -bar3bhr.shp=x -bar3blu.shp=x -bar3red.shp=x -bar3rhr.shp=x -bomb.shp=x -bomblet.shp=x -burn-l.shp=x -burn-m.shp=x -burn-s.shp=x -chronbox.shp=x -credsa.shp=x -credsahr.shp=x -credsu.shp=x -credsuhr.shp=x -deviator.shp=x -dogbullt.shp=x -dollar.shp=x -dragon.shp=x -earth.shp=x -ebtn-dn.shp=x -ebtn-up.shp=x -electdog.shp=x -empulse.shp=x -fb1.shp=x -fb2.shp=x -fball1.shp=x -fire1.shp=x -fire2.shp=x -fire3.shp=x -fire4.shp=x -flagfly.shp=x -flak.shp=x -flmspt.shp=x -fpls.shp=x -fpower.shp=x -frag1.shp=x -gpsbox.shp=x -gunfire.shp=x -h2o_exp1.shp=x -h2o_exp2.shp=x -h2o_exp3.shp=x -hisc1-hr.shp=x -hisc2-hr.shp=x -hiscore1.shp=x -hiscore2.shp=x -invulbox.shp=x -invun.shp=x -litning.shp=x -lrotor.shp=Left Rotor -mgun.shp=x -mine.shp=x -minigun.shp=x -missile.shp=x -missile2.shp=x -napalm1.shp=x -napalm2.shp=x -napalm3.shp=x -parabomb.shp=x -parabox.shp=x -parach.shp=x -patriot.shp=x -piff.shp=x -piffpiff.shp=x +120mm.shp=120mm shot +50cal.shp=Bullet +antdie.shp=Ant dying +armor.shp=Crate: Armor upgrade +art-exp1.shp=Artillery explosion +atomicup.shp=Atomic missile, travelling up +atomicdn.shp=Atomic missile, travelling down +atomsfx.shp=Atomic bomb explosing +bar3bhr.shp=Allies score bar (W95) +bar3blu.shp=Allies score bar (DOS) +bar3red.shp=Soviet score bar (W95) +bar3rhr.shp=Soviet score bar (DOS) +bomb.shp=Grenade +bomblet.shp=Bomb dropped from plane +; Flammable object burning animations. Primarily used on trees and buildings. +burn-l.shp=Burning animation (large) +burn-m.shp=Burning animation (medium) +burn-s.shp=Burning animation (small) +chronbox.shp=Crate: Chronosphere +credsa.shp=Allied Score credits (DOS) +credsahr.shp=Allied Score credits (W95) +credsu.shp=Soviet Score credits (DOS) +credsuhr.shp=Soviet Score credits (W95) +deviator.shp=Crate: Missile +dogbullt.shp=Dog as projectile +dollar.shp=Crate: Money +dragon.shp=Dragon/TOW missile +earth.shp=Crate: Earth breaking +ebtn-dn.shp=Button up +ebtn-up.shp=Button down +electdog.shp=Dog electrocuted +empulse.shp=Crate: EMP +fb1.shp=Fireball projectile +fb2.shp=Fireball fading tail +fball1.shp=Large explosion +fire1.shp=Medium fire +fire2.shp=Medium fire (dark) +fire3.shp=Small fire +fire4.shp=Very small fire +flagfly.shp=Flag animation +flak.shp=Flak explosions +flmspt.shp=Flame spitting from oil derrick +fpls.shp=Flag pedestal sign +fpower.shp=Crate: Firepower upgrade +frag1.shp=Medium explosion +gpsbox.shp=Crate: GPS +gunfire.shp=Cannon muzzle flashes +h2o_exp1.shp=Water explosion (large) +h2o_exp2.shp=Water explosion (medium) +h2o_exp3.shp=Water explosion (small) +hisc1-hr.shp=Score screen decoration (W95) +hisc2-hr.shp=Score screen decoration (W95) +hiscore1.shp=Score screen decoration (DOS) +hiscore2.shp=Score screen decoration (DOS) +invulbox.shp=Crate: Iron Curtain +invun.shp=Crate: Healing +litning.shp=Tesla effect +mgun.shp=Gunboat turret +mine.shp=Crate: Mine +minigun.shp=Mini-gun fire effect +missile.shp=Missile / Torpedo +missile2.shp=Crate: Green missile +napalm1.shp=Napalm explosion (small) +napalm2.shp=Napalm explosion (medium) +napalm3.shp=Napalm explosion (large) +parabomb.shp=Parabomb +parabox.shp=Crate: Parabombs +parach.shp=Parachute +patriot.shp=Patriot missile +piff.shp=bullet impact +piffpiff.shp=Machine gun impact radarfrm.shp=Radar frame -rapid.shp=x -rrotor.shp=x -scrate.shp=x -select.shp=x -shadow.shp=x -smokey.shp=x -smoke_m.shp=x -smokland.shp=x +rapid.shp=Crate: Rapid fire +rrotor.shp=Helicopter rotor (right) +lrotor.shp=Helicopter rotor (left) +scrate.shp=Steel crate +wcrate.shp=Wooden Crate +wwcrate.shp=Water crate +select.shp=Select and repair sprites +shadow.shp=shroud edges +smokey.shp=smoke trail behind missile +smoke_m.shp=vehicle smoke +smokland.shp=Drop Zone Flare sonarbox.shp=Crate: Sonar speed.shp=Crate: Speed sputdoor.shp=Allied Tech Center opening animation sputnik.shp=GPS Rocket ssam.shp=Destroyer Turret -stealth2.shp=x -time.shp=x -timehr.shp=x -tquake.shp=x +stealth2.shp=Crate: Stealth +time.shp=Score screen animation (DOS) +timehr.shp=Score screen animation (W95) +tquake.shp=Crate: Time quake turr.shp=Cruiser Turret -twinkle1.shp=x -twinkle2.shp=x -twinkle3.shp=x -v2.shp=x -veh-hit1.shp=x -veh-hit2.shp=x -veh-hit3.shp=x -wcrate.shp=Wooden Crate +twinkle1.shp=Twinkle 1 +twinkle2.shp=Twinkle 2 +twinkle3.shp=Twinkle 3 +v2.shp=V2 rocket +veh-hit1.shp=Vehicle explosion 1 +veh-hit2.shp=Vehicle explosion 2 +veh-hit3.shp=Vehicle explosion 3 weap2.shp=War Factory Door -wwcrate.shp=Water crate ; Obsolete C&C1 leftovers countrya.shp=African Countries countrye.shp=European Countries @@ -1151,3 +1318,22 @@ wake.shp=Gunboat Wake ali-tran.wsa=Allied score screen mltiplyr.wsa=Multiplayer score screen sov-tran.wsa=Soviet score screen +; Editor shp files +edbtn_c.shp=Editor button: Temperate default terrain +edbtn_cg.shp=Editor button: Temperate gems +edbtn_cm.shp=Editor button: Temperate ore +edbtn_cw.shp=Editor button: Temperate water +edbtn_ff.shp=Editor button: end +edbtn_lt.shp=Editor button: left +edbtn_mx.shp=Editor button: view listing +edbtn_rr.shp=Editor button: start +edbtn_rt.shp=Editor button: right +edbtn_s.shp=Editor button: Snow default terrain +edbtn_sg.shp=Editor button: Snow gems +edbtn_sm.shp=Editor button: Snow ore +edbtn_sp.shp=Editor button: Flags +edbtn_sw.shp=Editor button: Snow water +ed_sizes.shp=Editor: Map sizes +etabs.shp=Editor: Tabs +metalplt.shp=Editor: Metal plate +passable.shp=Editor button: passable terrain diff --git a/CnCTDRAMapEditor/Classic/mixcontent_td.ini b/CnCTDRAMapEditor/Classic/mixcontent_td.ini index 594dabb..2864815 100644 --- a/CnCTDRAMapEditor/Classic/mixcontent_td.ini +++ b/CnCTDRAMapEditor/Classic/mixcontent_td.ini @@ -542,42 +542,41 @@ chem-s.shp=Chem spray weapon (S) chem-se.shp=Chem spray weapon (SE) chem-e.shp=Chem spray weapon (E) chem-ne.shp=Chem spray weapon (NE) -veh-hit2.shp=x -fball1.shp=x -frag1.shp=x -frag3.shp=x -veh-hit1.shp=x -veh-hit3.shp=x -art-exp1.shp=x -napalm1.shp=x -napalm2.shp=x -napalm3.shp=x -smokey.shp=x -piff.shp=x -piffpiff.shp=x -fire3.shp=x -fire1.shp=x -fire4.shp=x -fire2.shp=x -flmspt.shp=x -gunfire.shp=x -smoke_m.shp=x -; Mini-gun fire effect -- used by guard towers. -minigun.shp=x +fball1.shp=Large explosion +frag1.shp=Medium explosion +frag3.shp=Medium explosion +veh-hit1.shp=Vehicle explosion 1 +veh-hit2.shp=Vehicle explosion 2 +veh-hit3.shp=Vehicle explosion 3 +art-exp1.shp=Artillery explosion +napalm1.shp=Napalm explosion (small) +napalm2.shp=Napalm explosion (medium) +napalm3.shp=Napalm explosion (large) +smokey.shp=smoke trail behind missile +piff.shp=bullet impact +piffpiff.shp=Machine gun impact +fire1.shp=Medium fire +fire2.shp=Medium fire (dark) +fire3.shp=Small fire +fire4.shp=Very small fire +flmspt.shp=Flame spitting from oil derrick +gunfire.shp=Cannon muzzle flashes +smoke_m.shp=vehicle smoke +minigun.shp=Mini-gun fire effect ; Superweapons -ionsfx.shp=x -atomsfx.shp=x -atomdoor.shp=x +ionsfx.shp=Ion cannon beam +atomsfx.shp=Atomic bomb explosing +atomdoor.shp=Temple of Nod launching missile ; Crates -deviator.shp=x -dollar.shp=x -earth.shp=x -empulse.shp=x -invun.shp=x -mine.shp=x -rapid.shp=x -stealth2.shp=x -missile2.shp=x +deviator.shp=Crate: Red missile +dollar.shp=Crate: Money +earth.shp=Crate: Earth breaking +empulse.shp=Crate: EMP +invun.shp=Crate: Healing +mine.shp=Crate: Mine +rapid.shp=Crate: Rapid fire +stealth2.shp=Crate: Stealth +missile2.shp=Crate: Green missile moveflsh.shp=Movement flash chemball.shp=x flagfly.shp=Flag animation @@ -597,8 +596,8 @@ gore.shp=Dino gore attack ; Doesn't actually exist as graphics chew.shp=Dino eating attack ; Doesn't actually exist as graphics ; additional unit/building anims select.shp=Blinking "repairing structure" animation -rrotor.shp=Helicopter rotor -lrotor.shp=Helicopter rotor +rrotor.shp=Helicopter rotor (right) +lrotor.shp=Helicopter rotor (left) wake.shp=Gunboat wake shadow.shp=shroud edges ; UI shapes @@ -683,27 +682,25 @@ mltiplyr.wsa=Multiplayer score screen ; Sound files struggle.aud=Intro static loopie6m.aud=Nod end background loop -; Special voices (typically associated with the commando). -bombit1.aud= Commando: "I've got a present for ya" -cmon1.aud= Commando: "c'mon" -gotit1.aud= Commando: "you got it" -keepem1.aud= Commando: "keep 'em commin'" -laugh1.aud= Commando: "hahaha" -lefty1.aud= Commando: "that was left handed" -noprblm1.aud= Commando: "no problem" -ohsh1.aud= Commando: "oh shiiiiii...." -onit1.aud= Commando: "I'm on it" -ramyell1.aud= Commando: "ahhhhhhh" -rokroll1.aud= Commando: "time to rock and roll" -tuffguy1.aud= Commando: "real tuff guy" -yeah1.aud= Commando: "yea" -yes1.aud= Commando: "yes" -yo1.aud= Commando: "yo" -; Civilian voices (technicians too). -girlokay.aud=Female civilian: "Okay" -girlyeah.aud=Female civilian: "Yeah?" -guyokay1.aud=Male civilian: "Okay" -guyyeah1.aud=Male civilian: "Yeah?" +keystrok.aud=score screen key typed +appear1.aud=Map swoosh +target1.aud=Map targeting beep +target2.aud=Map targeting beeps +target3.aud=Map targeting beeps pitch up +clock1.aud=score screen tick sound +sfx4.aud=Map screen sound +scold1.aud=Map screen error beep +world2.aud=World appearing beep +beepy2.aud=Map beep +beepy3.aud=Map beep +beepy6.aud=Map beep +tone15.aud=Map beep +counter1.aud=Counter beep +country1.aud=Map country sound +country2.aud=Map country sound +country4.aud=Map country sound +newtarg1.aud=Map targeting beeps +text2.aud=Text appearing beep ; Sound effects that have a juvenile counterpart. heliup1,AudioJuv=Helicopter taking off helidown,AudioJuv=Helicopter landing @@ -759,17 +756,26 @@ xplobig7,AudioJuv=Very long muffled explosion xplode,AudioJuv=Long soft muffled explosion xplos,AudioJuv=Short crunchy explosion xplosml2,AudioJuv=Muffled mechanical explosion -; Generic sound effects (no variations). -nuyell1.aud=Short infantry scream -nuyell3.aud=Short infantry scream -nuyell4.aud=Short infantry scream -nuyell5.aud=Short infantry scream -nuyell6.aud=Short infantry scream -nuyell7.aud=Short infantry scream -nuyell10.aud=Short infantry scream -nuyell11.aud=Short infantry scream -nuyell12.aud=Short infantry scream -yell1.aud=long infantry scream +; Special voices +bombit1.aud=Commando: "I've got a present for ya!" +cmon1.aud=Commando: "C'mon!" +gotit1.aud=Commando: "You got it." +keepem1.aud=Commando: "Keep 'em comin'!" +laugh1.aud=Commando: "Hahaha!" +lefty1.aud=Commando: "That was left handed!" +noprblm1.aud=Commando: "No problem!" +ohsh1.aud=Commando: "Oh shiiiiii....!" +onit1.aud=Commando: "I'm on it." +ramyell1.aud=Commando: "Ahhhhhhh!" +rokroll1.aud=Commando: "Time to rock and roll!" +tuffguy1.aud=Commando: "Real tough guy!" +yeah1.aud= Commando: "Yea?" +yes1.aud= Commando: "Yes?" +yo1.aud= Commando: "Yo." +girlokay.aud=Female civilian: "Okay." +girlyeah.aud=Female civilian: "Yeah?" +guyokay1.aud=Male civilian: "Okay." +guyyeah1.aud=Male civilian: "Yeah?" myes1.aud=Moebius: "Yes?" mcomnd1.aud=Moebius: "Commander?" mhello1.aud=Moebius: "Hello?" @@ -792,27 +798,38 @@ dinomout.aud="Movin' out" in dino-speak. dinoyes.aud="Yes Sir" in dino-speak. dinoatk1.aud=Dino attack sound. dinodie1.aud=Dino die sound. +; Infantry death screams +nuyell1.aud=Short infantry scream +nuyell3.aud=Short infantry scream +nuyell4.aud=Short infantry scream +nuyell5.aud=Short infantry scream +nuyell6.aud=Short infantry scream +nuyell7.aud=Short infantry scream +nuyell10.aud=Short infantry scream +nuyell11.aud=Short infantry scream +nuyell12.aud=Short infantry scream +yell1.aud=long infantry scream ; Generic infantry/vehicle responses -2dangr1,AudioVarTd="Negative, too dangerous" -ackno,AudioVarTd="Acknowledged" -affirm1,AudioVarTd="Affirmative" -await1,AudioVarTd="Awaiting orders" -backup,AudioVarTd="Send backup" -help,AudioVarTd="Send help" -movout1,AudioVarTd="Movin' out" -negatv1,AudioVarTd="Negative" -noprob,AudioVarTd="Not a problem" -ready,AudioVarTd="Ready and waiting" -report1,AudioVarTd="Reporting" -ritaway,AudioVarTd="Right away sir" -roger,AudioVarTd="Roger" +2dangr1,AudioVarTd="Negative, too dangerous." +ackno,AudioVarTd="Acknowledged." +affirm1,AudioVarTd="Affirmative." +await1,AudioVarTd="Awaiting orders." +backup,AudioVarTd="Send backup." +help,AudioVarTd="Send help!" +movout1,AudioVarTd="Movin' out." +negatv1,AudioVarTd="Negative." +noprob,AudioVarTd="Not a problem." +ready,AudioVarTd="Ready and waiting." +report1,AudioVarTd="Reporting." +ritaway,AudioVarTd="Right away sir." +roger,AudioVarTd="Roger." sir1,AudioVarTd="Sir?" -squad1,AudioVarTd="Squad reporting" -target1,AudioVarTd="Target practice" -ugotit,AudioVarTd="You got it" -unit1,AudioVarTd="Unit reporting" -vehic1,AudioVarTd="Vehicle reporting" -yessir1,AudioVarTd="Yes sir" +squad1,AudioVarTd="Squad reporting." +target1,AudioVarTd="Target practice." +ugotit,AudioVarTd="You got it." +unit1,AudioVarTd="Unit reporting." +vehic1,AudioVarTd="Vehicle reporting." +yessir1,AudioVarTd="Yes sir." ; EVA voices accom1.aud=EVA: "Mission accomplished" fail1.aud=EVA: "Your mission has failed" @@ -869,19 +886,19 @@ gstruc1.aud=EVA: "GDI structure destroyed" nstruc1.aud=EVA: "NOD structure destroyed" enmyunit.aud=EVA: "Enemy unit destroyed" ; fonts -3point.fnt=x -6point.fnt=x +3point.fnt=3-point font +6point.fnt=6-point font 8fat.fnt=x 8point.fnt=x -12green.fnt=x -12grngrd.fnt=x +12green.fnt=12 point green font +12grngrd.fnt=12 point gradient font font6.fnt=x grad6fnt.fnt=x grad12fn.fnt=x hfnt-d.fnt=x led.fnt=x scorefnt.fnt=x -vcr.fnt=x +vcr.fnt=Large "mission accomplished/failed" font ; additional misc files record.bin=x title.cps=x @@ -1053,10 +1070,10 @@ cclogo,Video320=Unknown newlogo,Video320=Unknown ; badly identified as "naylook.vqp" by XCC. wwlogo,Video320=Westwood logo animation (Sega Saturn) ; badly identified as "sylook.vqp" by XCC. ; Sega Saturn files (normally not inside mix, but whatever) -siege,Video320=Siege on base ; Sega Saturn doesn't have this misspelled. +siege,Video320=Siege on base ; Sega Saturn doesn't have this misspelled. ; music airstrik,ThemeVar=Theme: Air Strike -80mx226m,ThemeVar=Theme: C&C 80's Mix ; added ' to fix derped ini highlighting. +80mx226m,ThemeVar=Theme: C&C 80's Mix ; added ' to fix derped ini highlighting. chrg226m,ThemeVar=Theme: Depth Charge crep226m,ThemeVar=Theme: Creeping Upon dril226m,ThemeVar=Theme: Drill @@ -1066,7 +1083,7 @@ recn226m,ThemeVar=Theme: Recon voic226m,ThemeVar=Theme: Voice Rhythm heavyg,ThemeVar=Theme: Demolition j1,ThemeVar=Theme: Untamed Land -jdi_v2,ThemeVar=Theme: Take 'em Out ; added ' to fix derped ini highlighting. +jdi_v2,ThemeVar=Theme: Take 'em Out ; added ' to fix derped ini highlighting. radio,ThemeVar=Theme: Radio rain,ThemeVar=Theme: Rain In The Night aoi,ThemeVar=Theme: Act On Instinct @@ -1099,19 +1116,19 @@ outtakes,ThemeVar=Theme: Outtakes ; Added by the v1.06 patch mltsceng.wsa=Multiplayer score screen (eng) ; Added by the v1.06 patch mltscfre.wsa=Multiplayer score screen (fre) ; Added by the v1.06 patch mltscger.wsa=Multiplayer score screen (ger) ; Added by the v1.06 patch -map_prob.pal=x ; Missing stretch table for africa.wsa, added by v1.06 -map_loc4.pal=Stretch table for dark_sa.pal ; Added by v1.06 +map_prob.pal=Stretch table for africa.wsa, ; Added by v1.06 +map_loc4.pal=Stretch table for dark_sa.pal ; Added by v1.06 attrceng.cps=Coming Attraction screen (eng) ; Added by C&C95 v1.06 attrcger.cps=Coming Attraction screen (ger) ; Added by C&C95 v1.06 attrcfre.cps=Coming Attraction screen (fre) ; Added by C&C95 v1.06 -mtitle.pcx=x ; Added by C&C95 v1.06 -xtitle.pcx=x ; Added by C&C95 v1.06 -ccmenu.pal=x ; Added by C&C95 v1.06 to allow temperat.pal to be moddable. -x.vqp=Dummy vqp file ; Added by C&C95 v1.06 to avoid freeze on unset video on first mission. -conquer.fre=Strings file (fre) ; Added by C&C95 v1.06 -conquer.ger=Strings file (ger) ; Added by C&C95 v1.06 -hradar.ww=Westwood radar (W95) ; Added by C&C95 v1.06 -hradar.ea=Electronic Arts radar (W95) ; Added by C&C95 v1.06 +mtitle.pcx=Title screen (800x500) ; Added by C&C95 v1.06 +xtitle.pcx=Title screen (1024x640); Added by C&C95 v1.06 +ccmenu.pal=Menu palette ; Added by C&C95 v1.06 to allow temperat.pal to be moddable. +x.vqp=Dummy vqp file ; Added by C&C95 v1.06 to avoid freeze on unset video on first mission. +conquer.fre=Strings file (fre) ; Added by C&C95 v1.06 +conquer.ger=Strings file (ger) ; Added by C&C95 v1.06 +hradar.ww=Westwood radar (W95) ; Added by C&C95 v1.06 +hradar.ea=Electronic Arts radar (W95) ; Added by C&C95 v1.06 ; C&C95 v1.06 inis lang_eng.ini=C&C95 v1.06 language definition file (eng) lang_fre.ini=C&C95 v1.06 language definition file (fre) diff --git a/CnCTDRAMapEditor/Dialogs/ImageExportDialog.cs b/CnCTDRAMapEditor/Dialogs/ImageExportDialog.cs index b929488..93f5c02 100644 --- a/CnCTDRAMapEditor/Dialogs/ImageExportDialog.cs +++ b/CnCTDRAMapEditor/Dialogs/ImageExportDialog.cs @@ -245,7 +245,7 @@ namespace MobiusEditor.Dialogs { if (String.IsNullOrEmpty(txtPath.Text)) { - //MessageBox.Show("Please select a filename to export to.", "Error"); + //MessageBox.Show(this, "Please select a filename to export to.", "Error"); if (!SelectPath()) { return; @@ -253,7 +253,7 @@ namespace MobiusEditor.Dialogs } if (!Double.TryParse(txtScale.Text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out double scale)) { - MessageBox.Show("Could not parse scale factor!", "Error"); + MessageBox.Show(this, "Could not parse scale factor!", "Error"); return; } MapLayerFlag layers = GetLayers(); @@ -319,7 +319,7 @@ namespace MobiusEditor.Dialogs { if (path == null) { - MessageBox.Show("Image saving failed!", "Image Export", MessageBoxButtons.OK, MessageBoxIcon.Warning); + MessageBox.Show(this, "Image saving failed!", "Image Export", MessageBoxButtons.OK, MessageBoxIcon.Warning); } using (ImageExportedDialog imexd = new ImageExportedDialog(path)) { diff --git a/CnCTDRAMapEditor/Dialogs/MapSettingsDialog.cs b/CnCTDRAMapEditor/Dialogs/MapSettingsDialog.cs index 05a56b5..bd81731 100644 --- a/CnCTDRAMapEditor/Dialogs/MapSettingsDialog.cs +++ b/CnCTDRAMapEditor/Dialogs/MapSettingsDialog.cs @@ -262,7 +262,7 @@ namespace MobiusEditor.Dialogs if (!String.IsNullOrEmpty(message)) { message += "\n\nPress Cancel to go back and edit the briefing, or OK to ignore the issue and continue."; - DialogResult dres = MessageBox.Show(message, "Warning", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); + DialogResult dres = MessageBox.Show(this, message, "Warning", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); if (dres != DialogResult.OK) { e.Cancel = true; diff --git a/CnCTDRAMapEditor/Dialogs/OpenFromMixDialog.Designer.cs b/CnCTDRAMapEditor/Dialogs/OpenFromMixDialog.Designer.cs index dee49dc..96dcbaf 100644 --- a/CnCTDRAMapEditor/Dialogs/OpenFromMixDialog.Designer.cs +++ b/CnCTDRAMapEditor/Dialogs/OpenFromMixDialog.Designer.cs @@ -32,8 +32,8 @@ this.nameColumnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.typeColumnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.SizeColumnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.infoColumnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.DescColumnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.infoColumnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.btnCancel = new System.Windows.Forms.Button(); this.btnOpen = new System.Windows.Forms.Button(); this.btnCloseFile = new System.Windows.Forms.Button(); @@ -86,18 +86,18 @@ this.SizeColumnHeader.Text = "Size"; this.SizeColumnHeader.Width = 80; // - // infoColumnHeader - // - this.infoColumnHeader.Tag = "1"; - this.infoColumnHeader.Text = "Info"; - this.infoColumnHeader.Width = 100; - // // DescColumnHeader // this.DescColumnHeader.Tag = "1"; this.DescColumnHeader.Text = "Description"; this.DescColumnHeader.Width = 100; // + // infoColumnHeader + // + this.infoColumnHeader.Tag = "1"; + this.infoColumnHeader.Text = "Info"; + this.infoColumnHeader.Width = 100; + // // btnCancel // this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); @@ -105,7 +105,7 @@ this.btnCancel.Location = new System.Drawing.Point(897, 426); this.btnCancel.Name = "btnCancel"; this.btnCancel.Size = new System.Drawing.Size(75, 23); - this.btnCancel.TabIndex = 2; + this.btnCancel.TabIndex = 3; this.btnCancel.Text = "Cancel"; this.btnCancel.UseVisualStyleBackColor = true; this.btnCancel.Click += new System.EventHandler(this.BtnCancel_Click); @@ -116,7 +116,7 @@ this.btnOpen.Location = new System.Drawing.Point(816, 426); this.btnOpen.Name = "btnOpen"; this.btnOpen.Size = new System.Drawing.Size(75, 23); - this.btnOpen.TabIndex = 3; + this.btnOpen.TabIndex = 2; this.btnOpen.Text = "Open"; this.btnOpen.UseVisualStyleBackColor = true; this.btnOpen.Click += new System.EventHandler(this.BtnOpen_Click); @@ -128,7 +128,7 @@ this.btnCloseFile.Location = new System.Drawing.Point(12, 426); this.btnCloseFile.Name = "btnCloseFile"; this.btnCloseFile.Size = new System.Drawing.Size(88, 23); - this.btnCloseFile.TabIndex = 3; + this.btnCloseFile.TabIndex = 4; this.btnCloseFile.Text = "Back to parent"; this.btnCloseFile.UseVisualStyleBackColor = true; this.btnCloseFile.Click += new System.EventHandler(this.BtnCloseFile_Click); diff --git a/CnCTDRAMapEditor/Dialogs/OpenFromMixDialog.cs b/CnCTDRAMapEditor/Dialogs/OpenFromMixDialog.cs index c8c27ab..350ac04 100644 --- a/CnCTDRAMapEditor/Dialogs/OpenFromMixDialog.cs +++ b/CnCTDRAMapEditor/Dialogs/OpenFromMixDialog.cs @@ -100,6 +100,7 @@ namespace MobiusEditor.Dialogs mixContentsListView.Select(); mixContentsListView.Items[0].Selected = true; } + mixContentsListView.Focus(); } } @@ -318,6 +319,10 @@ namespace MobiusEditor.Dialogs SelectedFile = MixPath.BuildMixPath(openedMixFiles, iniEntry, binEntry); this.DialogResult = DialogResult.OK; } + else + { + MessageBox.Show("This file type cannot be handled by the map editor. Only map files (indicated as green) and mix files (indicated as yellow) can be opened.", titleMain); + } } private void CloseCurrentMixFile() diff --git a/CnCTDRAMapEditor/Dialogs/SteamDialog.cs b/CnCTDRAMapEditor/Dialogs/SteamDialog.cs index d779c09..30ed457 100644 --- a/CnCTDRAMapEditor/Dialogs/SteamDialog.cs +++ b/CnCTDRAMapEditor/Dialogs/SteamDialog.cs @@ -186,17 +186,17 @@ namespace MobiusEditor.Dialogs { if (string.IsNullOrEmpty(txtTitle.Text)) { - MessageBox.Show(this, "Steam Title is required."); + MessageBox.Show(this, "Steam Title is required.", "Error"); return; } if (string.IsNullOrEmpty(txtDescription.Text)) { - MessageBox.Show("Description is required."); + MessageBox.Show(this, "Description is required.", "Error"); return; } if (txtPreview.Tag == null) { - MessageBox.Show("Preview image is required."); + MessageBox.Show(this, "Preview image is required.", "Error"); return; } if (string.IsNullOrEmpty(plugin.Map.BasicSection.Name)) @@ -367,7 +367,7 @@ namespace MobiusEditor.Dialogs { if (defaultPreview == null) { - MessageBox.Show("There was an error generating the default previews!"); + MessageBox.Show(this, "There was an error generating the default previews!", "Error"); return; } lblStatus.Text = "Ready."; @@ -419,7 +419,7 @@ namespace MobiusEditor.Dialogs return; } String operation = lblStatus.Text; - DialogResult dr = MessageBox.Show("The following operation is currently in progress:\n\n" + operation + "\n\nAre you sure you want to abort?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); + DialogResult dr = MessageBox.Show(this, "The following operation is currently in progress:\n\n" + operation + "\n\nAre you sure you want to abort?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); if (dr == DialogResult.No) { this.DialogResult = DialogResult.None; diff --git a/CnCTDRAMapEditor/Dialogs/TriggersDialog.cs b/CnCTDRAMapEditor/Dialogs/TriggersDialog.cs index f06280c..dfb9887 100644 --- a/CnCTDRAMapEditor/Dialogs/TriggersDialog.cs +++ b/CnCTDRAMapEditor/Dialogs/TriggersDialog.cs @@ -471,7 +471,7 @@ namespace MobiusEditor.Dialogs { if (this.triggerFilter != null && !this.triggerFilter.IsEmpty) { - MessageBox.Show("New triggers cannot be added while a filter is active. Reset the filter first."); + MessageBox.Show(this, "New triggers cannot be added while a filter is active. Reset the filter first.", "Error"); return; } if (triggersListView.Items.Count >= maxTriggers) diff --git a/CnCTDRAMapEditor/GameInstallationPathForm.cs b/CnCTDRAMapEditor/GameInstallationPathForm.cs index 0adcff1..3fdda17 100644 --- a/CnCTDRAMapEditor/GameInstallationPathForm.cs +++ b/CnCTDRAMapEditor/GameInstallationPathForm.cs @@ -54,7 +54,7 @@ namespace MobiusEditor catch (NotSupportedException) { /* Check not passed */} if (!checkPassed) { - MessageBox.Show("Required data is missing, please enter the valid " + + MessageBox.Show(this, "Required data is missing, please enter the valid " + "installation path for the C&C Remastered Collection. The " + "installation directory is where the main executables of the " + "collection (ClientG.exe and ClientLauncherG.exe) reside.", "Invalid directory"); diff --git a/CnCTDRAMapEditor/MainForm.cs b/CnCTDRAMapEditor/MainForm.cs index 51fc0fb..a395ddd 100644 --- a/CnCTDRAMapEditor/MainForm.cs +++ b/CnCTDRAMapEditor/MainForm.cs @@ -1128,7 +1128,7 @@ namespace MobiusEditor private void EditClearUndoRedoMenuItem_Click(object sender, EventArgs e) { ClearActiveTool(); - if (DialogResult.Yes == MessageBox.Show("This will remove all undo/redo information. Are you sure?", Program.ProgramVersionTitle, MessageBoxButtons.YesNo)) + if (DialogResult.Yes == MessageBox.Show(this, "This will remove all undo/redo information. Are you sure?", Program.ProgramVersionTitle, MessageBoxButtons.YesNo)) { url.Clear(); } @@ -1527,7 +1527,7 @@ namespace MobiusEditor { ClearActiveTool(); string feedback = TemplateTool.RandomizeTiles(plugin, mapPanel, url); - MessageBox.Show(feedback, Program.ProgramVersionTitle); + MessageBox.Show(this, feedback, Program.ProgramVersionTitle); RefreshActiveTool(false); } } @@ -1581,7 +1581,7 @@ namespace MobiusEditor else { ClearActiveTool(); - MessageBox.Show(String.Format("Error loading {0}: the file was not found.", name), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(this, String.Format("Error loading {0}: the file was not found.", name), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); mru.Remove(name); RefreshActiveTool(true); } @@ -1717,7 +1717,7 @@ namespace MobiusEditor // Ignore and just fall through. } } - MessageBox.Show(String.Format("Error loading {0}: Could not identify map type.", feedbackName), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(this, String.Format("Error loading {0}: Could not identify map type.", feedbackName), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); RefreshActiveTool(true); return; } @@ -1726,7 +1726,7 @@ namespace MobiusEditor TheaterType theaterObj = theaters == null ? null : theaters.Where(th => th.Name.Equals(theater, StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); if (theaterObj == null) { - MessageBox.Show(String.Format("Unknown {0} theater \"{1}\"", gType.Name, theater), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(this, String.Format("Unknown {0} theater \"{1}\"", gType.Name, theater), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); RefreshActiveTool(true); return; } @@ -1744,7 +1744,7 @@ namespace MobiusEditor { message += "\n\nYou may need to switch to Classic graphics mode by enabling the \"UseClassicFiles\" setting to use this theater."; } - MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(this, message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); RefreshActiveTool(true); return; } @@ -2238,7 +2238,7 @@ namespace MobiusEditor } // In case of actual error, remove label. SimpleMultiThreading.RemoveBusyLabel(this); - MessageBox.Show(String.Format("Error loading {0}: {1}", feedbackPath ?? "new map", String.Join("\n", errors)), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(this, String.Format("Error loading {0}: {1}", feedbackPath ?? "new map", String.Join("\n", errors)), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); RefreshActiveTool(false); } else @@ -2316,7 +2316,7 @@ namespace MobiusEditor { if (fileInfo.Exists && fileInfo.Length > Globals.MaxMapSize) { - MessageBox.Show(String.Format("Map file exceeds the maximum size of {0} bytes.", Globals.MaxMapSize), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(this, String.Format("Map file exceeds the maximum size of {0} bytes.", Globals.MaxMapSize), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } plugin.Dirty = false; filename = fileInfo.FullName; @@ -2333,7 +2333,7 @@ namespace MobiusEditor } else { - MessageBox.Show(String.Format("Error saving {0}: {1}", saveInfo.FileName, saveInfo.Error, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)); + MessageBox.Show(this, String.Format("Error saving {0}: {1}", saveInfo.FileName, saveInfo.Error, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)); //mru.Remove(fileInfo); RefreshActiveTool(true); } @@ -2983,18 +2983,18 @@ namespace MobiusEditor } if (!SteamworksUGC.IsInit) { - MessageBox.Show("Steam interface is not initialized. To enable Workshop publishing, log into Steam and restart the editor.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(this, "Steam interface is not initialized. To enable Workshop publishing, log into Steam and restart the editor.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (plugin.GameInfo.WorkshopTypeId == null) { - MessageBox.Show(plugin.GameInfo.Name + " maps cannot be published to the Steam Workshop; they are not usable by the C&C Remastered Collection.", "Error", + MessageBox.Show(this, plugin.GameInfo.Name + " maps cannot be published to the Steam Workshop; they are not usable by the C&C Remastered Collection.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (MixPath.IsMixPath(filename)) { - MessageBox.Show("Maps opened from .mix archives need to be resaved to disk before they can be published to the Steam Workshop.", "Error", + MessageBox.Show(this, "Maps opened from .mix archives need to be resaved to disk before they can be published to the Steam Workshop.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } @@ -3002,7 +3002,7 @@ namespace MobiusEditor { if (!plugin.Map.BasicSection.SoloMission) { - MessageBox.Show("Multiplayer maps with nonstandard theaters cannot be published to the Steam Workshop;" + + MessageBox.Show(this, "Multiplayer maps with nonstandard theaters cannot be published to the Steam Workshop;" + " they are not usable by the C&C Remastered Collection without modding, and may cause issues on the official servers.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; @@ -3020,7 +3020,7 @@ namespace MobiusEditor { if (!plugin.Map.BasicSection.SoloMission) { - MessageBox.Show(plugin.GameInfo.Name + " multiplayer megamaps cannot be published to the Steam Workshop;" + + MessageBox.Show(this, plugin.GameInfo.Name + " multiplayer megamaps cannot be published to the Steam Workshop;" + " they are not usable by the C&C Remastered Collection without modding, and may cause issues on the official servers.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; @@ -3041,7 +3041,7 @@ namespace MobiusEditor { if (plugin.Dirty) { - MessageBox.Show("Map must be saved before publishing.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(this, "Map must be saved before publishing.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (new FileInfo(filename).Length > Globals.MaxMapSize) @@ -3338,7 +3338,7 @@ namespace MobiusEditor { ClearActiveTool(); var message = String.IsNullOrEmpty(filename) ? "Save new map?" : String.Format("Save map '{0}'?", filename); - var result = MessageBox.Show(message, "Save", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); + var result = MessageBox.Show(this, message, "Save", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); switch (result) { case DialogResult.Yes: diff --git a/CnCTDRAMapEditor/Utility/Hashing/HashObscure.cs b/CnCTDRAMapEditor/Utility/Hashing/HashObscure.cs index eddfea8..7167a96 100644 --- a/CnCTDRAMapEditor/Utility/Hashing/HashObscure.cs +++ b/CnCTDRAMapEditor/Utility/Hashing/HashObscure.cs @@ -16,6 +16,9 @@ using System.Text; namespace MobiusEditor.Utility.Hashing { + /// + /// Found inside some WW setup programs. Probably from Lands of Lore. + /// public class HashObscure : HashMethod { public override String DisplayName { get { return "Poor Man's (SETUP.MIX)"; } } diff --git a/CnCTDRAMapEditor/Utility/MixContentAnalysis.cs b/CnCTDRAMapEditor/Utility/MixContentAnalysis.cs index ec6c598..5c6d40c 100644 --- a/CnCTDRAMapEditor/Utility/MixContentAnalysis.cs +++ b/CnCTDRAMapEditor/Utility/MixContentAnalysis.cs @@ -369,7 +369,7 @@ namespace MobiusEditor.Utility if (shpData != null) { mixInfo.Type = MixContentType.Font; - mixInfo.Info = string.Format("Font; {0} symbols, {1}x{2}", shpData.Length, widths.Max(), height); + mixInfo.Info = string.Format("Font; {0} symbol{1}, {2}x{3}", shpData.Length, shpData.Length != 1 ? "s" : String.Empty, widths.Max(), height); return true; } } @@ -477,7 +477,7 @@ namespace MobiusEditor.Utility if (indices.Count > 0 && !hasBadChars && (indices[0] - indices.Count * 2) == 0 && strings.Any(s => s.Length > 0)) { mixInfo.Type = MixContentType.Strings; - mixInfo.Info = string.Format("Strings File; {0} entries", strings.Count); + mixInfo.Info = string.Format("Strings File; {0} entr{1}", strings.Count, strings.Count == 1 ? "y" : "ies"); return true; } }