You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(147) |
Oct
(219) |
Nov
(189) |
Dec
(380) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(301) |
Feb
(369) |
Mar
(155) |
Apr
(61) |
May
(77) |
Jun
(101) |
Jul
(191) |
Aug
(107) |
Sep
(180) |
Oct
(37) |
Nov
(7) |
Dec
(28) |
2004 |
Jan
(34) |
Feb
(45) |
Mar
(7) |
Apr
(17) |
May
(6) |
Jun
(59) |
Jul
(4) |
Aug
(8) |
Sep
(6) |
Oct
(18) |
Nov
(11) |
Dec
(15) |
2005 |
Jan
(148) |
Feb
(146) |
Mar
(73) |
Apr
(154) |
May
(192) |
Jun
(11) |
Jul
(23) |
Aug
(23) |
Sep
(26) |
Oct
(68) |
Nov
(109) |
Dec
(294) |
2006 |
Jan
(172) |
Feb
(22) |
Mar
(81) |
Apr
(79) |
May
(83) |
Jun
(23) |
Jul
(35) |
Aug
(66) |
Sep
(39) |
Oct
(133) |
Nov
(125) |
Dec
(90) |
2007 |
Jan
(49) |
Feb
(21) |
Mar
(3) |
Apr
(33) |
May
(19) |
Jun
(26) |
Jul
(32) |
Aug
(18) |
Sep
(14) |
Oct
(2) |
Nov
(8) |
Dec
(22) |
2008 |
Jan
(23) |
Feb
(14) |
Mar
(28) |
Apr
(11) |
May
(55) |
Jun
(8) |
Jul
(1) |
Aug
(36) |
Sep
(8) |
Oct
(20) |
Nov
(6) |
Dec
|
2009 |
Jan
(2) |
Feb
(7) |
Mar
|
Apr
(1) |
May
(2) |
Jun
(46) |
Jul
(15) |
Aug
(1) |
Sep
(3) |
Oct
(88) |
Nov
(108) |
Dec
(119) |
2010 |
Jan
(31) |
Feb
(3) |
Mar
(5) |
Apr
(1) |
May
(5) |
Jun
(5) |
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
(23) |
Mar
(1) |
Apr
(20) |
May
(27) |
Jun
(2) |
Jul
(40) |
Aug
(14) |
Sep
(17) |
Oct
(5) |
Nov
|
Dec
(28) |
2012 |
Jan
(31) |
Feb
(19) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
(1) |
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: <av...@us...> - 2011-05-13 19:21:34
|
Revision: 3607 http://sc2.svn.sourceforge.net/sc2/?rev=3607&view=rev Author: avolkov Date: 2011-05-13 19:21:24 +0000 (Fri, 13 May 2011) Log Message: ----------- Add the missing bits to the no-voice version of Mycon, Syreen and Utwig dialogue; correct the misspoken word 'psychically' in the no-voice Arilou version Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/content/addons/3dovoice/3dovoice.rmp trunk/sc2/content/base/comm/arilou/arilou.txt trunk/sc2/content/base/comm/mycon/mycon.txt trunk/sc2/content/base/comm/syreen/syreen.txt trunk/sc2/content/base/comm/utwig/utwig.txt Added Paths: ----------- trunk/sc2/content/addons/3dovoice/arilou/arilou.txt trunk/sc2/content/addons/3dovoice/mycon/mycon.txt trunk/sc2/content/addons/3dovoice/syreen/syreen.txt trunk/sc2/content/addons/3dovoice/utwig/utwig.txt Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-05-13 16:50:50 UTC (rev 3606) +++ trunk/sc2/ChangeLog 2011-05-13 19:21:24 UTC (rev 3607) @@ -1,4 +1,6 @@ Changes towards version 0.7: +- Added the missing bits to the no-voice versions of Mycon, Syreen and + Utwig dialogue (bug #327) - Alex - Syreen dialog tree no longer resets after visiting the Syreen Vault for the very first time (bug #891) - Alex - Fixed lander report at the Syreen Vault inconsistency (bug #1121) - Alex Modified: trunk/sc2/content/addons/3dovoice/3dovoice.rmp =================================================================== --- trunk/sc2/content/addons/3dovoice/3dovoice.rmp 2011-05-13 16:50:50 UTC (rev 3606) +++ trunk/sc2/content/addons/3dovoice/3dovoice.rmp 2011-05-13 19:21:24 UTC (rev 3607) @@ -1,11 +1,11 @@ -comm.arilou.dialogue = CONVERSATION:base/comm/arilou/arilou.txt:addons/3dovoice/arilou/:addons/3dovoice/arilou/arilou.ts +comm.arilou.dialogue = CONVERSATION:addons/3dovoice/arilou/arilou.txt:addons/3dovoice/arilou/:addons/3dovoice/arilou/arilou.ts comm.chmmr.dialogue = CONVERSATION:base/comm/chmmr/chmmr.txt:addons/3dovoice/chmmr/:addons/3dovoice/chmmr/chmmr.ts comm.commander.dialogue = CONVERSATION:base/comm/commander/commander.txt:addons/3dovoice/commander/:addons/3dovoice/commander/commander.ts comm.druuge.dialogue = CONVERSATION:base/comm/druuge/druuge.txt:addons/3dovoice/druuge/:addons/3dovoice/druuge/druuge.ts comm.ilwrath.dialogue = CONVERSATION:base/comm/ilwrath/ilwrath.txt:addons/3dovoice/ilwrath/:addons/3dovoice/ilwrath/ilwrath.ts comm.kohrah.dialogue = CONVERSATION:base/comm/kohrah/kohrah.txt:addons/3dovoice/kohrah/:addons/3dovoice/kohrah/kohrah.ts comm.melnorme.dialogue = CONVERSATION:base/comm/melnorme/melnorme.txt:addons/3dovoice/melnorme/:addons/3dovoice/melnorme/melnorme.ts -comm.mycon.dialogue = CONVERSATION:base/comm/mycon/mycon.txt:addons/3dovoice/mycon/:addons/3dovoice/mycon/mycon.ts +comm.mycon.dialogue = CONVERSATION:addons/3dovoice/mycon/mycon.txt:addons/3dovoice/mycon/:addons/3dovoice/mycon/mycon.ts comm.orz.dialogue = CONVERSATION:base/comm/orz/orz.txt:addons/3dovoice/orz/:addons/3dovoice/orz/orz.ts comm.pkunk.dialogue = CONVERSATION:base/comm/pkunk/pkunk.txt:addons/3dovoice/pkunk/:addons/3dovoice/pkunk/pkunk.ts comm.probe.dialogue = CONVERSATION:base/comm/probe/probe.txt:addons/3dovoice/probe/:addons/3dovoice/probe/probe.ts @@ -15,12 +15,12 @@ comm.spathi.dialogue = CONVERSATION:base/comm/spathi/spathi.txt:addons/3dovoice/spathi/:addons/3dovoice/spathi/spathi.ts comm.starbase.dialogue = CONVERSATION:addons/3dovoice/starbase/starbase.txt:addons/3dovoice/starbase/:addons/3dovoice/starbase/starbase.ts comm.supox.dialogue = CONVERSATION:base/comm/supox/supox.txt:addons/3dovoice/supox/:addons/3dovoice/supox/supox.ts -comm.syreen.dialogue = CONVERSATION:base/comm/syreen/syreen.txt:addons/3dovoice/syreen/:addons/3dovoice/syreen/syreen.ts +comm.syreen.dialogue = CONVERSATION:addons/3dovoice/syreen/syreen.txt:addons/3dovoice/syreen/:addons/3dovoice/syreen/syreen.ts comm.talkingpet.dialogue = CONVERSATION:base/comm/talkingpet/talkingpet.txt:addons/3dovoice/talkingpet/:addons/3dovoice/talkingpet/talkingpet.ts comm.thraddash.dialogue = CONVERSATION:base/comm/thraddash/thraddash.txt:addons/3dovoice/thraddash/:addons/3dovoice/thraddash/thraddash.ts comm.umgah.dialogue = CONVERSATION:base/comm/umgah/umgah.txt:addons/3dovoice/umgah/:addons/3dovoice/umgah/umgah.ts comm.urquan.dialogue = CONVERSATION:base/comm/urquan/urquan.txt:addons/3dovoice/urquan/:addons/3dovoice/urquan/urquan.ts -comm.utwig.dialogue = CONVERSATION:base/comm/utwig/utwig.txt:addons/3dovoice/utwig/:addons/3dovoice/utwig/utwig.ts +comm.utwig.dialogue = CONVERSATION:addons/3dovoice/utwig/utwig.txt:addons/3dovoice/utwig/:addons/3dovoice/utwig/utwig.ts comm.vux.dialogue = CONVERSATION:base/comm/vux/vux.txt:addons/3dovoice/vux/:addons/3dovoice/vux/vux.ts comm.yehat.dialogue = CONVERSATION:base/comm/yehat/yehat.txt:addons/3dovoice/yehat/:addons/3dovoice/yehat/yehat.ts comm.yehat.rebel.dialogue = CONVERSATION:base/comm/yehatrebels/yehatrebels.txt:addons/3dovoice/yehatrebels/:addons/3dovoice/yehatrebels/yehatrebels.ts Copied: trunk/sc2/content/addons/3dovoice/arilou/arilou.txt (from rev 3605, trunk/sc2/content/base/comm/arilou/arilou.txt) =================================================================== --- trunk/sc2/content/addons/3dovoice/arilou/arilou.txt (rev 0) +++ trunk/sc2/content/addons/3dovoice/arilou/arilou.txt 2011-05-13 19:21:24 UTC (rev 3607) @@ -0,0 +1,512 @@ +#(INIT_HELLO) arilou-000.ogg +Hello my little one. I am so pleased to see you! +You have done well for yourself. +It is gratifying. + +#(confused_by_hello) +You sound as if you know me. Have we met? + +#(CONFUSED_RESPONSE) arilou-001.ogg +I forget myself. Of course you don't know me. You are from Unzervalt, not Earth. +We are, however, how shall I say, related. +It has been many of your years since I have been to our planet Earth. +We are known among your kind by many names... some of them flattering, some of them not. +The one we use most often was given to us by the children of the Celts. A wonderful culture! +They called us the Arilou... the Arilou Lalee'lay. +More recently we were part of the Alliance of Free Stars, along with your kind +until we decided to return to our own....oh, how would you say... reality +when it became clear that your people would be safe enough under the Ur-Quan slave shield. + +#(happy_by_hello) +I know who you are! You're Arilou!! We've wondered what happened to your people for a long time. + +#(HAPPY_RESPONSE) arilou-002.ogg +You are very clever! +Yes, I am Arilou Lalee'lay and I suppose it has been a very long time since you've met one of my kind. +I imagine you humans are still very short lived. How sad. +Ah well. To answer your question, we chose to cease our efforts with the Alliance of Free Stars +when it seemed that there was no longer any threat to our Earthlings. +I am pleased to see that you, from outside the slave shield, survived. You seem healthy. + +#(miffed_by_hello) +I'll be. It's the Arilou. Why the hell did you run out on the Alliance of Free Stars? What happened? + +#(MIFFED_RESPONSE) arilou-003.ogg +You're annoyed. How interesting. +It has been so long since I dealt with Humans. I had forgotten what it was like. +Now let's see, how shall I best appease you? Yes, if I remember, an honest answer would help. +We didn't exactly 'run out' on the Alliance. +We chose to leave when there was no longer a reason to stay. +You humans seemed safe enough under the Ur-Quan slave shield. +In fact, we rather liked the idea and wished we had thought of it ourselves. +For your safety of course. + +#(FRIENDLY_SPACE_HELLO_1) arilou-004.ogg +Ah... our human friend. Please, let us chat a while. +It has been so many years since I last visited your Earth +so long since I glided across your open fields under the light of a full moon. +Tell me of Earth. Tell me what I have... oh, I forget myself... how silly. +You were born on the distant world Unzervalt. +I have visited there much more recently. + +#(FRIENDLY_SPACE_HELLO_2) arilou-005.ogg +Hello my clever child. We have met again and I am pleased. +Your people are so beautiful... so unspoiled. +Your instincts are like perfume... your motives a shimmering crystal. + +#(FRIENDLY_SPACE_HELLO_3) arilou-006.ogg +Last night as you slept, I touched your face and you smiled!... +but now you frown. A pity. Smiling is healthier. + +#(FRIENDLY_SPACE_HELLO_4) arilou-007.ogg +Did you desire this meeting, Captain, or did we? + +#(FRDLY_HOMEWORLD_HELLO_1) arilou-008.ogg +Ha-ha! Our clever ward has found our nook in *time*! +You are the first, brave human! No others have made the trip. +This is our homeworld, Falayalaralfali, nestled safe in this TrueSpace eddy. +The portal you passed through is a rarity, a natural point of interdimensional fatigue. +We use these phenomena to speed our transit through the realities. +We are wondering, have you met with the Umgah recently? +We entrusted an injured Talking Pet into their care +and we were curious about its progress. + +#(FRDLY_HOMEWORLD_HELLO_2) arilou-009.ogg +Welcome back to Falayalaralfali, Captain. +Perhaps, in the fullness of time we will let you visit the surface of our world. +There are many beauties here unmatched anywhere... the Mountain Clouds of Thought +the Tangible Wish... the Dark. Unfortunately, you are not yet... acclimated. +Premature exposure to these would render you... numb. + +#(FRDLY_HOMEWORLD_HELLO_3) arilou-010.ogg +Hello. We are pleased to see you again. Have you any numbness yet? +Good. It should be too soon for that. Too soon by far. + +#(FRDLY_HOMEWORLD_HELLO_4) arilou-011.ogg +Yes, Captain? What can the Arilou Lalee'lay of Falayalaralfali do for you this day? + +#(whats_up_1) +What exactly IS your connection with Earth and Humans, anyway? + +#(whats_up_2) +I'm still confused about our relationship. Please elaborate. + +#(GENERAL_INFO_1) arilou-012.ogg +You are curious. That is a promising quality. +How can I describe our relation to Humans?... +Never doubt our motives, Captain. Your well-being is of paramount concern to every Arilou. +Surely you know, that it was the day after Humanity joined the Alliance Of Free Stars +that we appeared in the open for the first time. This was no coincidence. +We wanted to protect you. Once we saw that you were...well, safe +we decided to tend to other business for a short while. +Believe me, Captain, we have known each other for a very long time. +You might even say that we knew the first human. + +#(GENERAL_INFO_2) arilou-013.ogg +You have painted our pictures on cave walls, erected standing stones and pyramids for us. +You have wondered at our signs to each other in your wheat fields +and written books about our more personal endeavors +when we allowed you to recall our examinations. +We have a history together, Captain, and you have come a long way. +But I must tread carefully. You are not ready for everything +and I fear that you would not understand what was best for you. + +#(GENERAL_INFO_3) arilou-014.ogg +As you know, we never revealed where in the galaxy one could find our homeworld. +There was a good reason. We are not from your space, or your... *time*. +Some of your more broad thinkers refer to such realms as other dimensions. +Though trivialized, this is a suitable metaphor for your intellect. +Perhaps you know of the Orz. Like us, they are dimensional travellers +but that is where our similarity ends. +Do not trust the Orz, my Human Captain. They are dangerous. +But as to your question... our relationship +To call our interaction with your kind an experiment would be much too simple and impersonal. +Let us just say that we have a vested interest in your... development. +You are one of our... extended family, just as other sentients in other dimensions +have their extended families. +We are proud of you as you would be of your children, and some day +well, I have said too much already. + +#(GENERAL_INFO_4) arilou-015.ogg +You already know more than is appropriate. In fact, you may represent an unfortunate complication. +You have been in the stars for much time. Do you seek the doorway, or are you just passing through? +Remember, you can only go over naturally for the three days it is open. +How to find it? Look on your starmap from 17 through 20. The variable star shall be your guide. + +#(why_you_here) +What are you doing here, in this region of space? + +#(LEARN_THINGS) arilou-016.ogg +We are many places, at many *times*. This place is an easy place... one of the ten easy places. +At different times, we explore different easy places. That is our way. +Oh! I can see from the look in your eyes that I have confused you. I am silly. +Please disregard my words. + +#(what_things) +What are you exploring for in these `easy places'? + +#(THESE_THINGS) arilou-017.ogg +We seek to trap *Nnngn*, but they dart and leap. +YOU cannot trap *Nnngn*... do not even try. +I do not think you can even touch them; you are not quite solid enough. + +#(why_do_it) +Okay, you trap these nungy things. Then what? + +#(DO_IT_BECAUSE) arilou-018.ogg +Why we let them go, of course! *Nnngn* do not like to be confined! +Captain, these things we talk about... they are unimportant to you... they are as dreams. +Our words should address your universe... not ours. + +#(give_me_info_1) +We still struggle against the Ur-Quan. Can you help us? + +#(ARILOU_HINTS_1) arilou-019.ogg +With ships and weapons... blood and bones... no. +Too many shipmates were forcibly... discorporated.. in the last conflict. +Our cooperation is not necessary. You are the focus. +However, knowledge transcends reality perimeters, and this we can share with you. +An example: to discover the nature of the red probes +seek creatures who inhabit a world with no surface. + +#(give_me_info_2) +Can you give us any more information? + +#(ARILOU_HINTS_2) arilou-020.ogg +The Mycon change and reform worlds with their Deep Children. +These changes affect others unfortunately. +The fate of your world and your heart relate to these matters. + +#(ARILOU_HINTS_3) arilou-021.ogg +The carnate forces of Ur-Quan and Kohr-Ah are twined about the memory of pain. +They respond to these words: +`Hold! What you are doing to us is wrong! Why do you do this thing?' + +#(ARILOU_HINTS_4) arilou-022.ogg +The enemy of your enemy is your friend... at least for a time. + +#(bye_friendly_space) +Goodbye Arilou. + +#(GOODBYE_FRIENDLY_SPACE) arilou-023.ogg +Farewell child. + +#(GOT_PART_YET_1) arilou-024.ogg +The prospect of sharing the easy way with you excites us. +If you have found the Ur-Quan Warp Pod, this prospect can be made a reality. + +#(GOT_PART_YET_2) arilou-025.ogg +We are so eager to give you our means to traverse reality. +Have you obtained the Warp Pod yet? + +#(INIT_ANGRY_HWLD_HELLO) arilou-026.ogg +You have found our world. We did not see this +and now it is too late to adjust without damage +but perhaps the situation can be resolved in another way. +The answer lies within your next statement. + +#(invaders_from_mars) +You guys are like... invaders from Mars! Weird evil monsters! + +#(HAD_OUR_REASONS) arilou-027.ogg +No. We seek not to invade, but to pervade. There is a difference. +Your stories of evil creatures... these are just... side effects. +Pay them no heed. + +#(bug_eyed_fruitcakes) +No-no-no-no-no! I'll stop you! You bug-eyed fruitcakes have mutilated your last cow! + +#(WE_NEVER_FRIENDS) arilou-028.ogg +We have sought amiable companionship with you, Captain +when we just as easily could have performed such experiments on you. +We shall not fight with our children. Goodbye. + +#(ok_lets_be_friends) +Look, I'm sorry. I made some mistakes. We need you as allies, not as enemies. + +#(NO_ALLY_BUT_MUCH_GIVE) arilou-029.ogg +We have never been your enemy, though your people may once have thought so. +But we are also not your ally. That would require a degree of involvement in this *time* +which is not presently permissible. +For now, we are simply your friends... who have much to give. + +#(why_should_i_trust) +Why should I trust you? You did funny things to that horror writer a while ago, right? + +#(TRUST_BECAUSE) arilou-030.ogg +We do many things, few of them funny... at least by our standards. +You do not, CANNOT understand some of what we do, or why. +Therefore, it may be best if you simply consider us... quirky. + +#(what_about_interference) +What gives your people the right to interfere with mine? + +#(INTERFERENCE_NECESSARY) arilou-031.ogg +What gives you the right to move, the right to fall? +Some acts are motivated, others are automatic. +Do not presume that you can decide which is which for anyone but yourself +or you will be... disappointed. + +#(i_just_like_to_leave) +Ok, fine, whatever. Just let me leave now, okay? + +#(SORRY_NO_LEAVE) arilou-032.ogg +This matter must be resolved, or many event strands will grow... more complicated. +Your presence is required. + +#(what_about_war) +So what DID happen at the end of the War? + +#(ABOUT_WAR) arilou-033.ogg +Forgive us if we forget the importance you attach to such events as this. +Our... context, is infinitely broader than yours in scope, both in space and *time*. +Nevertheless, to please you I shall try to recall. +Yes, now I remember. Here is the sequence: +The Ur-Quan fleets have moved through your solar system and you are defeated. +Your people make the choice not to fight with and for the Ur-Quan. +A shield is cast about your world. Your people are now safe. This makes us happy. +The Armada departs your star system and moves toward the remaining Alliance members +ourselves, the Syreen, the Yehat and their adopted Shofixti. +The Yehat and Shofixti withdraw to Delta Gorno, but they do not permit the Syreen to follow. +We are content with the flow of events and leave the area to return here. +From our perspective, this sequence of events ends here. + +#(what_about_urquan) +Well what about the Ur-Quan? What are they up to? + +#(ABOUT_URQUAN) arilou-034.ogg +Soon after the Ur-Quan defeated the Yehat and imprisoned the Syreen in Betelgeuse +their siblings arrived to initiate the Doctrinal Conflict. +This battle continues as we speak. + +#(best_if_i_killed_you) +I think it would be best if I killed you now. + +#(WICKED_HUMAN) arilou-035.ogg +Instinct. Instinct. Instinct. Always the instinct. + +#(what_did_on_earth) +What, exactly, have you been doing on Earth? + +#(DID_THIS) arilou-036.ogg +You desire honesty. It is given. +We have visited your world for many thousands of years into your species' past. +We have changed things... made modifications. + +#(why_did_this) +What did you change and modify on Earth, AND WHY?! + +#(IDF_PARASITES) arilou-037.ogg +Our motives are multiple, our desires complex. +Part of what we do on Earth is for your own protection. +There are parasites. Creatures who dwell Beyond. +They have names, but you do not know them. They would like to find you +but they are blind to your presence... unless you show yourselves. +The Androsynth showed themselves, and something noticed them. +There are no more Androsynth now. Only Orz. + +#(tell_more) +This sounds creepy. Please go on. + +#(NOT_NOW) arilou-038.ogg +No. In a way, ignorance is your armor, your best protection. +They cannot see you now. They cannot smell you. +Much of our work with your people involved making you invisible... changing your smell. +If I tell you more, you will look where you could never look before +and while you are looking you can and will be seen. +You do not want to be seen. + +#(umgah_acting_weird) +We have met the Umgah, and they are acting extremely weird, like zombie-blobbies! + +#(learned_about_umgah) +Have you learned anything about the Umgah yet? + +#(WELL_GO_CHECK) arilou-039.ogg +Hmmm... this is disturbing news. They are normally rambunctious to an extreme. +We will send ships to Umgah space to investigate. +We should have some answers in a few days time. + +#(NO_NEWS_YET) arilou-040.ogg +Our exploration skiffs have not returned. We are concerned. +Perhaps if you ask later, we will know then. + +#(UMGAH_UNDER_COMPULSION) arilou-041.ogg +We have discovered something strange and frightening about the Umgah +When we approached their vessels, we were instantly attacked +and the Umgah made no attempts to contact our ships or respond to our hails. +Using our own psionic sensitivities, we determined that they are under some form of psychic compulsion. +The source of psionic control commands appears to be Beta Orionis, the Umgah's home star. +We sent vessels to investigate this location, but none have returned... we fear they are destroyed. + +#(what_do_now) +So what can we do about the psychically zombified blobbies? + +#(GO_FIND_OUT) arilou-042.ogg +We have had no success with our own investigations. +Whatever controls the Umgah is a threat, but we seem unprepared to deal with it. +Perhaps you and your crew are better suited to this mission. +If you choose to go to Beta Orionis, take care, child. +Whatever controls the Umgah now knows of our presence +and it may take measures against us. + +#(tell_arilou_about_tpet) +The source of the Umgah's compulsion is the Talking Pet you gave the Umgah, +but now it is intelligent and exhibits strange powers. + +#(BAD_NEWS_ABOUT_TPET) arilou-043.ogg +That is very bad news. This creature, a super-intelligent, physically coercive creature +is very similar to a race of beings which was thought to have vanished over 20,000 years ago. +They were called the Dnyarri, and history tells that they ruled a wide region of this galaxy +for many thousands of years. The Dnyarri were cruel and devious +and when they were finally overthrown by one of their slave-races +they were supposedly exterminated. +Perhaps this Talking Pet is the degenerate product of the Dnyarri. + +#(what_do_about_tpet) +So what should we do about this Dnyarri creature? + +#(DANGEROUS_BUT_USEFUL) arilou-044.ogg +The Dnyarri were the most inimical race this galaxy has known. +In other dimensions, other *times*, there are far, far worse beings +but they do not threaten you at the present time. +During their reign, the Dnyarri possessed absolute power over all intelligent species in this region. +They used their slaves for all menial tasks and many forms of depraved entertainment. +If the Talking Pet we gave to the Umgah has attained the coercive abilities of its ancestors +we must assume that other Talking Pets can do likewise. +Therefore the creature must be considered the most dangerous being in the galaxy. +Its destruction is necessary... unless +you can find some way to gain control over the creature! +If you could do this you would have a powerful weapon against the Ur-Quan. +Of course, if you made one mistake, you would be the Dnyarri's slave forever. + +#(what_give_me) +You said you had much to give my people. Can you be more specific? + +#(ABOUT_PORTAL) arilou-045.ogg +As you know, we live in a dimension adjacent to HyperSpace which we call QuasiSpace. +Our ships move between these dimensions through weaknesses in the inter-dimensional fabric. +Although many such weaknesses, or Portals, exist which lead from our dimension, QuasiSpace +to various locations in HyperSpace, there is only one naturally occurring Portal +which will transport a ship from HyperSpace to QuasiSpace. +We therefore find it convenient to generate our own Portals artificially +with focused dimensional fatigue rays. +As a sign of our long-standing relationship with your species +we would happily fit your vessel with a Portal Spawner of its own +but your ship is so massive, our units would be ineffective. However +we suspect you may find a sufficiently powerful warp pod, the key element in a Portal Spawner +in the wreck of the Ur-Quan Dreadnought on the seventh world at Alpha Pavonis. +Bring that warp pod back here, and we will prepare a Portal Spawner for your vessel. + +#(what_about_tpet) +You mentioned a Talking Pet. How did you find one? + +#(ABOUT_TPET) arilou-046.ogg +We are an endlessly curious species, and we spend much of our time on +how should I say, reconnaissance missions. +During one such trip, we witnessed the crash landing of an Ur-Quan Dreadnought +on the surface of Alpha Pavonis VII. +Normally, when an Ur-Quan vessel is disabled, it automatically engages self-annihilation circuits +to prevent other species from learning the Ur-Quan's technological secrets. +In this case, however, these circuits must have failed. The Dreadnought did not disintegrate on impact. +We landed to explore the wreckage, and were amazed to find a survivor... a Talking Pet! +As you may know, the Ur-Quan use these non-sentient creatures for the task of inter-species translation +a task the Ur-Quan find ultimately demeaning. +The Talking Pet was severely injured, and we did what we could for the poor creature +but it grew clear that without superior measures, the Talking Pet would die. +We turned to the Umgah, whom we have known for many centuries. +Their bioscience skills are far superior to our own. +The Umgah promised to do what they could, and let us know how the Pet fared. +We have not heard from the Umgah since. +Perhaps, if you are travelling through their stars, you can ask them for us. + +#(about_portal_again) +Can you tell me about that Portal Spawner thing again? + +#(PORTAL_AGAIN) arilou-047.ogg +Certainly. As a sign of our long-standing friendship with your species +we would be happy to fit your vessel with a Portal Spawner +allowing you to jump from place to place in HyperSpace, without travelling the intervening distance. +However, your ship is so massive, our normal warp pod units are insufficient +but you will find a sufficiently powerful warp pod in the wreck of the Ur-Quan Dreadnought +on Alpha Pavonis VII. Bring that warp pod back here, and we will prepare a Portal Spawner for your vessel. + +#(got_it) +I have obtained the Warp Pod unit from the Ur-Quan wreck. + +#(CLEVER_HUMAN) arilou-048.ogg +What a surprise! +As we have always said, Humans are a MOST resourceful and clever species. +We are so proud of you! But don't worry that you shall have to wait. + +#(GIVE_PORTAL) arilou-049.ogg +We are prepared. Even now our technical personnel are equipping your ship +with a custom version of our Portal Spawner device. +The device is useable only in HyperSpace. Whenever it is activated +the Spawner will focus several inter-dimensional fatigue beams adjacent to your vessel +opening a temporary hole into QuasiSpace. Move quickly through the Portal! +After your ship has passed into QuasiSpace, you can choose any of the nearby Portals +which lead back to HyperSpace, thus saving you needless transit time. +Be keenly aware of this fact! The Spawner requires a great deal of energy to function. +We estimate that each time you use the device, it will consume ten of your fuel units. + +#(bye_friendly_homeworld) +Goodbye my Arilou friends. + +#(GOODBYE_FRDLY_HOMEWORLD) arilou-050.ogg +Goodbye clever child. + +#(HOSTILE_GOODBYE_1) arilou-051.ogg +We have said all there is to be said. +We would prefer your immediate departure, but are prepared for your attack. + +#(HOSTILE_GOODBYE_2) arilou-052.ogg +Your behavior is clearly inimical. We resist discorporation. +Further contact between ourselves is pointless. + +#(HOSTILE_GOODBYE_3) arilou-053.ogg +Seek death in other corners. Leave us. + +#(HOSTILE_GOODBYE_4) arilou-054.ogg +Seek death in other corners. Leave us. + +#(ANGRY_SPACE_HELLO_1) arilou-055.ogg +We cannot fathom your reason, therefore you must be acting upon simple instinct. +Perhaps this is our fault. We have always loved instinct +even though we possess none ourselves. +Do you have too much instinct, human? Does your species? We shall see. + +#(ANGRY_SPACE_HELLO_2) arilou-056.ogg +Human. You flail at the wind. Cease your violence. +Would you hurt your pet? Your child? Your beast? +Please... rethink your posture. + +#(lets_fight) +C'mon, let's fight... Freak Face! + +#(NO_FIGHT) arilou-057.ogg +We will never choose to fight you, child. + +#(im_sorry) +Aughhh! I am sorry! WHAT WAS I THINKING?!! + +#(APOLOGIZE_AT_HOMEWORLD) arilou-058.ogg +If you wish to make atonement... seek a strangely shaped rock or plant. +However, should you wish to change the nature of our relationship +seek the Arilou in QuasiSpace. You can make the transit at 43.8 : 637.2 +but only when the door is open. + +#(bye_angry_space) +G'bye. + +#(GOODBYE_ANGRY_SPACE) arilou-059.ogg +When you have resolved your conflict, we shall speak again. + +#(OUT_TAKES) arilou-060.ogg +Do you really believe Project Bluebook revealed EVERYTHING the Army Air Corps knew? +Do you know what REALLY happened at Roswell, New Mexico in the late 1940's? +Have you even heard about the Men in Black? +Do you have any friends who have `missing days'? +Do you sleep with your window unlocked? +Be seeing you... + Copied: trunk/sc2/content/addons/3dovoice/mycon/mycon.txt (from rev 3605, trunk/sc2/content/base/comm/mycon/mycon.txt) =================================================================== --- trunk/sc2/content/addons/3dovoice/mycon/mycon.txt (rev 0) +++ trunk/sc2/content/addons/3dovoice/mycon/mycon.txt 2011-05-13 19:21:24 UTC (rev 3607) @@ -0,0 +1,418 @@ +#(TELL_US_ABOUT_WORLD) mycon-000.ogg +Your suggestion is appropriate. +Acceptable new worlds are a priority for the rapid and complete spread of Juffo-Wup. +We wish to know more for our suitability assessment. +Tell us of this world. + +#(BYE_AND_DIE_HOMEWORLD) mycon-001.ogg +You impede the flow of Juffo-Wup through the Universe. +We will now remove this clog. +We will now aid Juffo-Wup by eliminating you! + +#(RAMBLE_1) mycon-002.ogg +A single spore lands, finds nourishment in decay and soon attains maturity.. +In turn it exhales a cloud of new life, a thousand spores, each lands, finds nourishment in decay +so progresses Juffo-Wup. + +#(RAMBLE_2) mycon-003.ogg +Our bodies seethe with the passion of our genes. +A thousand of your species do not possess the richness in one of my cells. + +#(RAMBLE_3) mycon-004.ogg +I fill with my parents' parents' parents' parents' parents +I am they -- and they are us. Then, and now. + +#(RAMBLE_4) mycon-005.ogg +The Deep Children are part of Juffo-Wup -- home builders. +The dwellers in the Mohorovichic. + +#(RAMBLE_5) mycon-006.ogg +I am Dugee +I am the purity monitor +I choose what buds are permitted to mature +and which must be eradicated. +I died of general misfunction 57,283 years ago. + +#(RAMBLE_6) mycon-007.ogg +A cold rock, spinning silently in the Void, a womb for the Children. + +#(RAMBLE_7) mycon-008.ogg +Pulsing hot liquid flows through my outstretched tendrils, sending thrills into my interior. +The moment has come. I swell and burst. +Above me a cloud of whispering life whirls through the air. +I am content. + +#(RAMBLE_8) mycon-009.ogg +The Juffo-Wup is strong in this place. + +#(RAMBLE_9) mycon-010.ogg +Your simple sexual process produces random mosaics of genetic instructions +yet with the simplicity of breath, I modify my own patterns. +You humans improve a tool and double your capabilities. +We Mycon improve ourselves and increase a thousand-fold. + +#(RAMBLE_10) mycon-011.ogg +The Deep Children! +Spears of light in the darkness! +Their discarded husks speak of joy to come. + +#(RAMBLE_11) mycon-012.ogg +I have chosen my offsprings' memories carefully from my set of remembrances +the sweet and warm times of my existence and those of my parents' parents' parents +the bits of a million lifetimes coalesced into a birth gift of complete awareness. + +#(RAMBLE_12) mycon-013.ogg +In the dark they grow, the deep fire feeds the Children. +Their birth breathes warmth across a cold world. + +#(RAMBLE_13) mycon-014.ogg +`...the system requires more energy. A convenient source lies beneath the crust...' + +#(RAMBLE_14) mycon-015.ogg +We look to Juffo-Wup for direction, and it provides the pattern +endless expansion with purity of achievement and intolerance of error. + +#(RAMBLE_15) mycon-016.ogg +I am Shloosh +I was incinerated fourteen thousand Earth years ago +I live now, for but a moment +and then, I am gone. + +#(RAMBLE_16) mycon-017.ogg +`...incorporation of dense amphibole fibers ensure survival in environmental extremes...' + +#(RAMBLE_17) mycon-018.ogg +I yearn for magma +the flowing warm basalts +the red glow of the lava pools. + +#(RAMBLE_18) mycon-019.ogg +When we encounter the Non, we must absorb the Non or reject the Non so that it is no longer Non. + +#(RAMBLE_19) mycon-020.ogg +`...entry of noise into the signal is unavoidable. We must include a filtering mechanism...' + +#(RAMBLE_20) mycon-021.ogg +Cessation of an individual is unavoidable +a consequence of existence +yet with the birth of life, individuality is transferred in part +and may occasionally gain dominance for an interval +achieving a kind of shared immortality. + +#(RAMBLE_21) mycon-022.ogg +`...Survival is a priority. Expansion is a priority. Processing is a priority...' + +#(RAMBLE_22) mycon-023.ogg +Juffo-Wup acknowledges the existence of un-Voidable Non +when we are faced with such, we join, absorb and wait for our opportunity +to learn the weakness that will allow us to Void the Non. + +#(RAMBLE_23) mycon-024.ogg +At times, I meet another, who shares with me the life of a parent inside the mind +and if we speak this fragment becomes predominant in the both of us +and self meets self with occasionally enlightening results. + +#(RAMBLE_24) mycon-025.ogg +The Podships thrum with the plasma containment field +whose offspring seek to transform the Non to Void +the fields grow tighter, and tighter +the bass rumble of the generators rises gradually to a high burning scream +sudden silence and a flash of light announce release +the hot pulsing subsides slowly. + +#(RAMBLE_25) mycon-026.ogg +The Deep Children fall from the Void, gathering speed for the penetration +The tough casing warms as it passes through the atmosphere, glowing white as it hits the surface +solid rock flows like liquid, and the child slips into the warm, safe depths beneath the crust. + +#(RAMBLE_26) mycon-027.ogg +`...look... think... act... look... learn... remember... teach... repeat...' + +#(RAMBLE_27) mycon-028.ogg +The implantation fleet has assembled in orbit above the green world +the patterns of weakness reveal the point of introduction. +The Child is prepared for its birthing trip. +Release! + +#(RAMBLE_28) mycon-029.ogg +I am Gussh +I attend the birthing nodes +I died 343 Earth years ago +I do not know how. + +#(RAMBLE_29) mycon-030.ogg +When Juffo-Wup is complete +when at last there is no Void, no Non +when the Creators return +then we can finally rest. + +#(RAMBLE_30) mycon-031.ogg +Darkness is Void +Juffo-Wup is light. + +#(RAMBLE_31) mycon-032.ogg +`... planetary transformer biot 94-18: take your place at the transporter dais...' + +#(RAMBLE_32) mycon-033.ogg +You are the Non. You must go now, and never return. + +#(question_1) +What can you tell me about your species? + +#(question_2) +Well then, what can you tell us of your history? + +#(question_3) +Why are you unwilling to address my questions? + +#(question_4) +You're not paying any attention to me, are you? + +#(question_5) +You're not paying any attention to me, are you? + +#(question_6) +You're not paying any attention to me, are you? + +#(question_7) +You're not paying any attention to me, are you? + +#(question_8) +You're not paying any attention to me, are you? + +#(question_9) +You're not paying any attention to me, are you? + +#(question_10) +You're not paying any attention to me, are you? + +#(question_11) +You're not paying any attention to me, are you? + +#(question_12) +You're not paying any attention to me, are you? + +#(question_13) +You're not paying any attention to me, are you? + +#(question_14) +You're not paying any attention to me, are you? + +#(question_15) +You're not paying any attention to me, are you? + +#(question_16) +You're not paying any attention to me, are you? + +#(bye_space) +Don't trouble yourself. I'll see myself out. + +#(BYE_AND_DIE_SPACE) mycon-034.ogg +Juffo-Wup fills in my fibers and I grow turgid. Violent action ensues. + +#(gonna_die) +Time to die. + +#(insult_1) +I wonder how you would taste, fried in butter? + +#(insult_2) +You know, I probably have some of your relatives between my toes! + +#(insult_3) +Is that a rock you're sitting on, or do you just have a big butt? + +#(insult_4) +I don't suppose there's a chance that you'll actually respond to what I am saying, is there? + +#(insult_5) +I can't believe I'm trying to have a conversation with a hot fungus. + +#(insult_6) +Stop wiggling those... those... whatever they are! + +#(insult_7) +Where's the Absorbine Junior when you need it? + +#(insult_8) +Helloo? Ugly! Can you hear me? + +#(come_in_peace) +Mycon. Please try to understand. We wish peace between our peoples. + +#(HELLO_HOMEWORLD_1) mycon-035.ogg +Juffo-Wup is All... omni-existent, spreading and changing the Non into Juffo-Wup. +You are Non, who must become Juffo-Wup or Void. +We are the agents of Juffo-Wup. +We are the Mycon. + +#(HELLO_HOMEWORLD_2) mycon-036.ogg +We are the Mycon. + +#(HELLO_HOMEWORLD_3) mycon-037.ogg +We are the Mycon. + +#(HELLO_HOMEWORLD_4) mycon-038.ogg +We are the Mycon. + +#(HELLO_HOMEWORLD_5) mycon-039.ogg +We are the Mycon. + +#(HELLO_HOMEWORLD_6) mycon-040.ogg +We are the Mycon. + +#(HELLO_HOMEWORLD_7) mycon-041.ogg +We are the Mycon. + +#(HELLO_HOMEWORLD_8) mycon-042.ogg +We are the Mycon. + +#(HELLO_SPACE_1) mycon-043.ogg +We are part of Juffo-Wup. +Juffo-Wup is the hot light in the darkness. +All else is unfulfilled Void. +We are the Mycon. + +#(HELLO_SPACE_2) mycon-044.ogg +We are the Mycon. + +#(HELLO_SPACE_3) mycon-045.ogg +We are the Mycon. + +#(HELLO_SPACE_4) mycon-046.ogg +We are the Mycon. + +#(HELLO_SPACE_5) mycon-047.ogg +We are the Mycon. + +#(HELLO_SPACE_6) mycon-048.ogg +We are the Mycon. + +#(HELLO_SPACE_7) mycon-049.ogg +We are the Mycon. + +#(HELLO_SPACE_8) mycon-050.ogg +We are the Mycon. + +#(lets_be_friends) +Let's be friends. + +#(came_to_homeworld) +We have come to your homeworld to seek a truce. + +#(submit_to_us) +Heinous fungus! Submit to our will! + +#(bye_sun_device) +We'll just be going now. + +#(GOODBYE_SUN_DEVICE) mycon-051.ogg +You are the Non. You must go now, and never return. + +#(RESPONSE_1) mycon-052.ogg +This is good. + +#(RESPONSE_2) mycon-053.ogg +This is good. + +#(RESPONSE_3) mycon-054.ogg +This is good. + +#(clue_1) +Its air is pure and sweet. + +#(clue_2) +Abundant life covers its surface. + +#(clue_3) +The sun gently warms the surface. + +#(what_about_shattered) +Why are the Shattered Worlds found only in your region of space? + +#(ABOUT_SHATTERED) mycon-055.ogg +These are the homes of the Deep Children. + +#(HELLO_SUN_DEVICE_WORLD_1) mycon-056.ogg +This is a special place +filled with Juffo-Wup. +We must not allow it to be soiled by the Non. +You must go. Now. + +#(HELLO_SUN_DEVICE_WORLD_2) mycon-057.ogg +You have returned to our special place. +This is not permissible. +Leave. + +#(whats_up_sun_device) +What makes this world so special to you? + +#(GENERAL_INFO_SUN_DEVICE) mycon-058.ogg +Juffo-Wup is the power of life... hot warmth in the cold Void. +It flows through all things, binding them together, making them one. +You are Non-Juffo-Wup, you cannot understand. +Below is the pod of Juffo-Wup -- there for a thousand centuries. +When we are cold, the pod opens and warms us. +When it is dark, the pod clenches and lo, there is light. +You are the Non. The pod is not for you. You must leave. + +#(like_to_land) +I have business on this world. Move aside. + +#(NEVER_LET_LAND) mycon-059.ogg +Juffo-Wup flows through Time and Space. It cannot be stopped by mere energy blasts. +However, you are Non -- not part of Juffo-Wup. +You CAN be destroyed by energy blasts. +Let us demonstrate. + +#(bye_homeworld) +Goodbye fungus-boys! + +#(i_have_a_cunning_plan) +There is a world at the star Organon. I believe it is perfect for your Deep Children. + +#(DIE_LIAR) mycon-060.ogg +You are an obstruction to Juffo-Wup. +You must be removed. + +#(how_goes_implanting) +Have you visited the planet I told you about? + +#(UNFORSEEN_DELAYS) mycon-061.ogg +We have experienced unforeseen delays implanting Deep Children beneath the crust of Organon 1. +However, Juffo-Wup is inevitable. The Deep Children WILL be born. + +#(DIE_THIEF) mycon-062.ogg +You have taken something from us which we value... which is important to Juffo-Wup. +Return the Solar Manipulator immediately. + +#(DIE_THIEF_AGAIN) mycon-063.ogg +You have taken something from us which we value... which is important to Juffo-Wup. +Return the Solar Manipulator immediately. + +#(GOODBYE_AND_DIE) mycon-064.ogg +Juffo-Wup is All +but you are not a part of Juffo-Wup +therefore you must cease existence. +We shall make you cease to exist, for Juffo-Wup. + +#(AMBUSH_TAIL) + + +#(RAMBLE_TAIL) + + +#(WE_GO_TO_IMPLANT) mycon-065.ogg +If your words are true, we will gladly spread Juffo-Wup to a new world! +We will assemble the Birthing Fleet and send them to this planet. +We will send many ships to protect the Children as they grow. +You have been of service to us. +Your insight into the ineffable Juffo-Wup is encouraging. +Perhaps, if we were to plant spore sacs in your brain organ +and let its tendrils spread through your flesh +then you would truly understand Juffo-Wup... become part of Juffo-Wup. +You WOULD be happier and more fulfilled. Consider our offer. + +#(WONT_FALL_FOR_TRICK) mycon-066.ogg +This is a special place. +You must go. Now. Copied: trunk/sc2/content/addons/3dovoice/syreen/syreen.txt (from rev 3605, trunk/sc2/content/base/comm/syreen/syreen.txt) =================================================================== --- trunk/sc2/content/addons/3dovoice/syreen/syreen.txt (rev 0) +++ trunk/sc2/content/addons/3dovoice/syreen/syreen.txt 2011-05-13 19:21:24 UTC (rev 3607) @@ -0,0 +1,679 @@ +#(HELLO_BEFORE_AMBUSH_1) syreen-000.ogg +Attention unidentified space vessel! +Be warned! This slave world and its inhabitants belong to the Ur-Quan. +I am Starbase Commander Talana of the slave planet Gaia. +Your ship is not responding to standard Hierarchy identification sequences. +You are therefore classed as Independent and... WHAT?! +Is my monitor display correct?! +Is that a human commanding that vessel? +Who are you? + +#(HELLO_BEFORE_AMBUSH_2) syreen-001.ogg +Hello again, pleasant Human. +It warms me to greet you again. + +#(HELLO_BEFORE_AMBUSH_3) syreen-002.ogg +Welcome back, Earthling. +What do you wish of us? + +#(HELLO_BEFORE_AMBUSH_4) syreen-003.ogg +Yes, Captain? + +#(we_are_vice_squad) +We're the Ethics Police. Justify that costume... Immediately! + +#(OK_VICE) syreen-004.ogg +Huh? What ARE you talking about? +This is the uniform of a Syreen Commander. +The climate aboard this starbase is maintained at a constant 22 degrees C. +What are we supposed to wear in here... parkas? + +#(we_are_the_one_for_you_baby) +I am the right one for you, baby! + +#(MAYBE_CAPTAIN) syreen-005.ogg +Ah, yes... I had almost forgotten the sophistication of human social graces. +Manners were never the Earthlings' strong point, were they? +Your species' undeniable appeal can be found... elsewhere. + +#(we_are_vindicator0) +I am Captain + +#(we_are_vindicator1) + of the flagship + +#(we_are_vindicator2) +. + +#(WELCOME_VINDICATOR0) syreen-006.ogg +Hello, Captain + +#(WELCOME_VINDICATOR1) + from the Starship + +#(WELCOME_VINDICATOR2) +. + +#(we_are_impressed) +We're... we're.. we're greatly impressed! + +#(SO_AM_I_CAPTAIN) syreen-007.ogg +So am I, Captain. So am I. +Earthlings are so... so... earthy! + +#(HOW_CAN_YOU_BE_HERE) syreen-008.ogg +But you haven't answered my question fully. +Why are you here? Where are you from? +Has the slave shield been lifted from Earth? +Are the Ur-Quan finally defeated? +Simply put, Captain...what do you want from us? + +#(we_here_to_help) +We have come here to free you from slavery to the Ur-Quan! + +#(NO_NEED_HELP) syreen-009.ogg +Look friend, I appreciate your offer, but we don't want your help. +Why? I'll tell you why +because we're not going to do anything to antagonize the Ur-Quan. That's why. +We may not like slavery, but it's a damn sight better than our alternatives. +Below us we have a beautiful world... maybe it's not Syra, but at least it's a home. +That's a lot more than we ever had before the War... before the Ur-Quan became our masters. + +#(we_need_help) +To be honest, we need your help to destroy the Ur-Quan. + +#(CANT_GIVE_HELP) syreen-010.ogg +Look Captain... I like you... even though you're an obnoxious human... I like you. +In another time, we might have become good friends... perhaps more +but that's a fantasy, and my job is dealing with reality. +We're not going to do anything to jeopardize what we've got here. +We've come too far... lost too much, to ever risk losing Gaia, our new home. +Don't get all judgmental on me, Captain... you don't know what we've been through. + +#(i_need_you) +Hey, baby... what I need is you! + +#(OK_NEED) syreen-011.ogg +Look. Human. Get this through your head. +Under other circumstances, I might be interested in your antics, you're kind of cute +but we've got a serious situation here and we don't have time to fool around. +Our lives are at stake, and so are yours. If the Ur-Quan discover that you have been here +I don't know what they will do to us... much less you! +Now get serious... please. + +#(i_need_touch_o_vision) +What I need right now, is a Touch-o-Vision. + +#(TOUCH_O_VISION) syreen-012.ogg +Look. Human. Get this through your head. +Under other circumstances, I might be interested in your antics, you're kind of cute +but we've got a serious situation here and we don't have time to fool around. +Our lives are at stake, and so are yours. If the Ur-Quan discover that you have been here +I don't know what they will do to us... much less to you! +Now get serious... please. + +#(know_about_deep_children) +Talana, have you ever heard of the `Deep Children?' + +#(WHAT_ABOUT_DEEP_CHILDREN) syreen-013.ogg +Yes, I think so. Aren't they part of the Mycon religion somehow? +We have recordings of Mycon HyperWave transmissions from the War... pretty weird stuff. +The Mycons just kind of.. rambled, never making much sense. +They talked a lot about `Deep Children', and `Spears of Light', +but we couldn't ever understand what they were talking about. + +#(mycons_involved) +What if I told you that Mycon Deep Children shatter planet crusts... like your Syra? + +#(WHAT_PROOF) syreen-014.ogg +What?! What did you say?! +Human, you had better not be joking. Syra is not a subject for Earth humor. +Now what do you mean, shatter planet crusts? How? +That IS what happened to Syra, yes, but we presumed it was a natural cataclysm... a meteor. +Do you have proof that it was something else... these Deep Children? + +#(have_no_proof) +I don't have proof YET, but I am certain the Mycons destroyed your world. + +#(NEED_PROOF) syreen-015.ogg +Captain, if what you say is true, it would turn my world upside down. +You have no sorrow to match what each of us Syreen feels every day of our lives +when we remember what we have lost... Syra... our Eden. +The very idea that the Mycons, or any alien race, may have been responsible for Syra's destruction +fills me with BURNING RAGE! +If it were true, none of us here would rest until we had avenged ourselves on the perpetrators. +We would find some way to leave this starbase, locate our starships, and hunt down the evil monsters! +Captain, if you ever gather proof of what you say, you MUST inform us immediately. +But until then... do not mention the subject again. It is too painful. + +#(have_proof) +Talana. I have brought proof that the Mycon Deep Children destroyed your world Syra. + +#(SEE_PROOF) syreen-016.ogg +Let me see this proof, Captain! + +#(look_at_egg_sacks) +Look at these fungal egg sacks. We found them near a crustal puncture on a shattered world. + +#(HORRIBLE_TRUTH) syreen-017.ogg +Great gods! These fragments... they are IDENTICAL to the debris we found near the punctures on Syra! +We never guessed that the fragments might be organic! +To have survived re-entry!... nothing organic would remain!... unless +UNLESS, it was genetically constructed for this purpose! +AND ONLY THE MYCONS POSSESS THIS CAPABILITY!! +THE MYCONS WILL PAY DEARLY FOR THEIR CRIMES!!! +We will not sit here and do nothing while the Mycon fiends are free to roam the galaxy, perpetrating their evil. +You wanted our cooperation in fighting the Ur-Quan. You've got it... +provided you first help us seek our revenge against the Mycon race... help us to destroy them! + +#(what_doing_here) +So, Commander Talana, what are you doing here? + +#(OUR_NEW_WORLD) syreen-018.ogg +When the Ur-Quan conquered us, over twenty years ago +I was only a young girl living in Habitat Thirty-One. +My older sister, Diani, was a starship officer in the Space Patrol +she was part of the final defense at Raynet... she didn't make it back. +When the Ur-Quan caught us in open space, we all thought we were going to die +but then, instead of killing us, the Ur-Quan offered us a choice: +we could join the ranks of their combat thralls, or we could be slave-shielded in our homeworld. +Like the people of Earth, we chose peace. We became fallow slaves. +When the Ur-Quan told us to return to our homeworld, we explained that we had none. +Ur-Quan Master Nine explained that they had encountered this situation before +and if we would provide them with a list of our requirements +they would use their extensive astronomical datastores to find a planet for us! +So we told them about Syra... about the color of its sky... about the abundant lifeforms, +about the fertility of the soil and seas. +Less than an hour later, we received a terse message from Master Nine +we were to proceed to these coordinates and disembark. This was to be our new home. +But our new world, Gaia, was everything we described. +We'd been searching for a home planet for seventy-five years +and in the end, it was our enemies who gave one to us. +I grew up on a small island off the main continent, and like all of my people +we lived each day under the sick, red glow of the slave shield. +When the Ur-Quan arrived seven years ago to refurbish and recrew this starbase +I was selected as the new commander. + +#(what_about_war) +So what happened to you at the end of the war? + +#(ABOUT_WAR) syreen-019.ogg +When we first met your people, we'd been wandering through the stars for almost seventy-five years, +ever since the death of Syra... our home planet. +We joined your Alliance, and I use the word `joined' loosely, because we had no other choice. +The VUX were raiding our slow Habitat columns, and we had nowhere else to go. +We fought for survival, Captain. Nothing more. +When your people on Earth were defeated, the Alliance just plain fell apart. +The Yehat and Shofixti retreated to their native stars and didn't want us to follow. +The Arilou, those creepy little weasels, just plain bugged out -- vanished +leaving us alone, with nowhere to go, smack in the path of the oncoming Ur-Quan Armada. +What were we supposed to do? Fight? Two-thirds of our Habitat fleet was unarmed! +Many aren't even super-luminal. +We were going to be annihilated if we resisted, and we knew it. +When the Ur-Quan surrounded us and started giving orders that all ended with, `Or Die!' +we took them at face value. We obeyed. +In exchange they gave us Gaia, the planet below. +It's a beautiful world, Captain. I wish I could show it to you. +So don't misunderstand me. We love our freedom as much as anybody else +but we've got a good life here, and we don't want to lose it. + +#(help_us) +If you love freedom and hate the Ur-Quan, why won't you help us? + +#(WONT_HELP) syreen-020.ogg +Like I said before, Captain, we would like to help +but we are unwilling to risk losing Gaia. +Unless you can find a much more compelling reason for us to get involved +you are on your own. + +#(what_about_history) +Would you tell me a bit about your people and your culture? + +#(BEFORE_WAR) syreen-021.ogg +Our species are almost identical, almost too close a match to be just a coincidence. +Our bodies are very similar, Captain. +Ha! ha! Except for... certain parts... +Our cultural development is also mostly parallel. +Like you Earthlings, we evolved a society from primitive tribes +whose main function were to protect themselves from the large reptiles native to our old world. +The main difference between our two sets of cultures... the split in the paths of our development +occurred in what would have been your prehistory, say 5000 BCE. +In your world, the agricultural communities were conquered by the more primitive but also more aggressive, migratory herding peoples. +This led to a particular kind of sexual and political dominance structure +which pervaded almost all of your Earth Cultures until the early Twenty First century. +On Syra, our only primitive migratory tribes were confined to our mountainous regions. +Their herd beasts, the Yma, did not do well in the agricultural basins and plains. +The two cultures were isolated until much later +when the technological superiority of the farmers curtailed any major conflict. + +#(what_about_homeworld) +What was Syra like? + +#(ABOUT_HOMEWORLD) syreen-022.ogg +It was our paradise, Captain, our Eden. +Earth is the only world we know of whose variety and richness of life even comes close to Syra. +Again, like so many other things about our two species, our worlds were very much the same +at least before you began encasing yours in concrete and plastic. +Syra's gravity was a bit lighter than Earth's, and its day was fifty percent longer. +Our diurnal cycle is therefore different from yours. +We spend twenty hours awake, followed by ten hours... horizontal. + +#(what_happened) +What happened to Syra? + +#(DONT_KNOW_HOW) syreen-023.ogg +This subject is very difficult for us, Captain, +but I will try to recount those sad days. +Like your solar system, ours had a large population of comets and asteroids. +Large meteor impacts, though rare, were not unheard of on our planet. +So it was not a total shock when an asteroid penetrated our atmosphere and hit the surface. +What was odd was that unlike most other meteors, this one was not pulverized on impact. +It penetrated the crust, and indeed went all the way through to the mantle +causing a `super volcano'. +The earthquakes caused by the impact were severe. +The magma pumped out of the caldera wreaked significant damage on the nearby terrain +but within a few weeks, it had cooled, forming a solid rock bandage over the wound. +Within a few months we had cleaned up the mess, the caldera was calming down nicely +and things were pretty much back to normal. +Then, just over a year after the impact, all hell broke loose on the surface of Syra. +Huge calderas were opening all over... not just around the meteor impact, but everywhere! +The scope of the disaster is impossible to imagine +Entire cities sliding into oceans of molten lava +kilometer-wide sections of land pulverized by a cataclysmic explosion +and clouds of poison gas and superheated steam created a death shroud around Syra. + +#(what_about_outfit) +Come on now, isn't that outfit, knife included, a bit absurd? + +#(HOPE_YOU_LIKE_IT) syreen-024.ogg +Maybe some other time, Captain, I can show you the hidden functionality of my uniform +knife included! + +#(where_mates) +What happened to the males of your species? + +#(MATES_KILLED) syreen-025.ogg +When Syra was destroyed, the only people who survived were in orbit +and most of them were members of our newly established, mostly female, Space Patrol. +From their ships, their orbital platforms and their lunar outposts they watched Syra die. +Within three days after the cataclysm began, the surface temperature of Syra had risen by almost 75 degrees +to above the boiling point of water. +It became clear that Syra, our paradise, our Eden, was gone. +The survivors spent years in orbit. They made a few missions to the surface +and actually found a handful of survivors, but their main activity was to make preparations for departure. +The Space Patrol fitted makeshift drive units to anything that could hold air: +orbital factories, research pods, even hotels. When the fleet was ready, they left orbit and never looked back. +The final population of our species was less than ten thousand, with only five hundred males +but they were the best and the brightest. +For the next seventy-five years, our people wandered at sub-light speed through the stars +looking for a new home. + +#(get_lonely) +Don't you ever get... lonely? Hmmm? + +#(MAKE_OUT_ALL_RIGHT) syreen-026.ogg +Ha! ha! ha! Don't worry about us, Captain! +We make out all right. + +#(bye) +Goodbye, Commander Talana. I will be back. + +#(GOODBYE) syreen-027.ogg +Until then, Earthling. + +#(MUST_ACT) +Captain. The secret of the Mycon's monstrous murder of our planet has changed the attitudes of many of my people. +We will not sit here and do nothing while the Mycon fiends are free to roam the galaxy, perpetrating their evil. +You wanted our cooperation in fighting the Ur-Quan. You've got it... provided +you first help us seek our revenge against the Mycon race... help us to destroy them! + +#(whats_next_step) +Okay. So what do you want us to do? + +#(OPEN_VAULT) syreen-028.ogg +Our first step is to get some mobility. +We have some fine starship officers on board, and they are all eager to go after the Mycons, +but without our Penetrator starships, we're totally ineffectual. +So our first step HAS to be recovering our Space Patrol combat fleet. +We know that the Ur-Quan didn't destroy them... they never waste anything +but we believe they have sealed them in some kind of deep vault in the surface of an alien planet. + +#(where_is_it) +Do you know where your ships are? + +#(DONT_KNOW_WHERE) syreen-029.ogg +No, that's your job. +But maybe we have some clues to help you find them. +The starship officers who flew the Penetrators to the vault did so with total sensor black-out. +The only thing they could use for navigation was the presence of the Dreadnought fleet surrounding them. +When they arrived at their destination and lowered their ships into the immense vault +they were transported to the Dreadnoughts and only caught a split-second glimpse of the outside world. +As far as they could tell, the sun was either red or orange. Based on their trip-time calculations +the farthest they could have travelled is about 200 HyperSpace distance units. + +#(been_there) +I've already been there. The vault is on the moon of Epsilon Camelopardalis I, but I couldn't open it. + +#(GREAT) syreen-030.ogg +Wonderful! Then the job is already almost complete! + +#(GIVE_SHUTTLE) syreen-031.ogg +Captain! We have assembled a small team of our most skilled officers. +we will send them to your ship on board their own small shuttle. +We feel that in the interests of efficiency, we keep our officers away from your crew +at least until the mission is over. +As soon as you arrive at the vault, our people will take over, figure out a way to open the vault +and bring our Penetrators back here. + +#(im_on_my_way) +Very well then, Commander Talana. I'm on my way. + +#(doing_this_for_you) +Just remember, I'm doing this for you Sweet Cakes! + +#(if_i_die) +If I die... just remember that I... I... really like you! + +#(GOOD_LUCK) syreen-032.ogg +Good luck, brave Earthling. When your mission is successful +maybe then we can... get to know each other better. + +#(OK_FOUND_VAULT) syreen-033.ogg +Good, now we can proceed with our plan for REVENGE against the Mycon! +From our analysis of the Deep Child fragments you showed to us +and a review of the recorded Mycon transmissions from the War +we have established the kind of world the Mycons desire for their hideous Deep Children. +They need a planet like your Earth... or our Syra... one rich in water and oxygen +and possessing a molten, active mantle. +Our plan is to lure the Mycons to such a planet, and then attack them when they least expect it. +We know of just such a world. +When the Ur-Quan were analyzing their mass of planetary data to find a new home for my people +one of the close candidates, ranked just below Gaia, was a blue world orbiting close to the star, Organon. +Captain, we need your services again. Here is what you must do. +You must go to the M... [truncated message content] |
From: <av...@us...> - 2011-05-13 16:50:56
|
Revision: 3606 http://sc2.svn.sourceforge.net/sc2/?rev=3606&view=rev Author: avolkov Date: 2011-05-13 16:50:50 +0000 (Fri, 13 May 2011) Log Message: ----------- Syreen comm: disable both player phrases which produce identical responses when uttering one of them Modified Paths: -------------- trunk/sc2/src/uqm/comm/syreen/syreenc.c Modified: trunk/sc2/src/uqm/comm/syreen/syreenc.c =================================================================== --- trunk/sc2/src/uqm/comm/syreen/syreenc.c 2011-05-11 02:13:45 UTC (rev 3605) +++ trunk/sc2/src/uqm/comm/syreen/syreenc.c 2011-05-13 16:50:50 UTC (rev 3606) @@ -671,11 +671,13 @@ NPCPhrase (OK_NEED); DISABLE_PHRASE (i_need_you); + DISABLE_PHRASE (i_need_touch_o_vision); } else if (PLAYER_SAID (R, i_need_touch_o_vision)) { NPCPhrase (TOUCH_O_VISION); + DISABLE_PHRASE (i_need_you); DISABLE_PHRASE (i_need_touch_o_vision); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-11 02:13:51
|
Revision: 3605 http://sc2.svn.sourceforge.net/sc2/?rev=3605&view=rev Author: avolkov Date: 2011-05-11 02:13:45 +0000 (Wed, 11 May 2011) Log Message: ----------- Utwig subtitles spelling, punctuation and capitalization fixes Modified Paths: -------------- trunk/sc2/content/base/comm/utwig/utwig.txt Modified: trunk/sc2/content/base/comm/utwig/utwig.txt =================================================================== --- trunk/sc2/content/base/comm/utwig/utwig.txt 2011-05-11 00:56:14 UTC (rev 3604) +++ trunk/sc2/content/base/comm/utwig/utwig.txt 2011-05-11 02:13:45 UTC (rev 3605) @@ -29,7 +29,7 @@ and offer this greeting which, we hope, will suffice. #(HOSTILE_BOMB_HELLO_1) utwig-006.ogg -Oh woe. We find your presence here disconcerting. +Oh, woe! We find your presence here disconcerting. In order to deal with the situation in such a way that we maintain some semblance of authority we are forced to deploy our forces against your armada. Prepare yourselves for battle. @@ -45,7 +45,7 @@ instead of our normal cycle of self-destructive tendencies. #(NEUTRAL_HOMEWORLD_HELLO_2) utwig-009.ogg -Alien vessel. Grieve for the loss of both the Utwig and the Universe at large. +Alien vessel, grieve for the loss of both the Utwig and the Universe at large. #(NEUTRAL_HOMEWORLD_HELLO_3) utwig-010.ogg You disturb our routine of eternal grieving @@ -61,7 +61,7 @@ Indeed, we will find satisfaction in your demise or in our release from our mortal burden. #(HOSTILE_HOMEWORLD_HELLO_2) utwig-013.ogg -Attention Offending vessel! Your presence here is deeply appreciated! +Attention offending vessel! Your presence here is deeply appreciated! You have stirred us from our depression-induced apathy to the point where our desire actually registers as a sensation! We look forward to either finding personal release in the netherworld @@ -224,7 +224,7 @@ Hop hop hop! Okay, that's it! Put up your dukes! Nobody makes fun of the Ultron! #(real_sorry_about_ultron) -Sniff. That reminds me when my pet dog Splib, ran in front of a... rock chipper! +Sniff. That reminds me when my pet dog Splib ran in front of a... rock chipper! #(APPRECIATE_SYMPATHY) utwig-030.ogg You are kind. If we could wield the Ultron to resurrect your Splib, we would. @@ -277,7 +277,7 @@ Years later, you would herald our participation in your development as the turning point for your species. The Druuge were only one of the few to benefit in this way. Even now, they are puzzled by the way we rewarded them for the delivery of the Ultron to its correct place. -In twenty four years, two months and three days they will all dance the dance of Jubilation. +In twenty-four years, two months and three days they will all dance the dance of Jubilation. Indeed, the Ultron has allowed us to fundamentally change the Druuge forever! The Supox too received many benefits from our use of the Ultron. They can testify to its power! @@ -447,7 +447,7 @@ As you know, we were forced to withdraw from the Kohr-Ah offensive. Although we were able to make good account of ourselves, our casualties were high. In our attempt to balance the Doctrinal Conflict between the Kohr-Ah and the Ur-Quan -we avoided the Ur-Quan; however they continued to engage us whenever possible. +we avoided the Ur-Quan; however, they continued to engage us whenever possible. We had no choice but to take whatever losses were handed to us. I can think of no mask that properly expresses how I feel concerning this situation. @@ -539,7 +539,7 @@ We have discovered that the Kohr-Ah, in addition to their formidable battle vessels will soon possess an immense ship capable of inflicting destruction on a vast scale. I do not need to examine the pulsations of the Ultron to know that they will use this instrument -to implement their stated objective, the elimination of all intelligent life besides their own. +to implement their stated objective: the elimination of all intelligent life besides their own. #(FLEET_ON_WAY) utwig-054.ogg Even as I utter these words, the combined military resource of both the Utwig and Supox @@ -639,7 +639,7 @@ Eegh! I am compelled by the forceful Emanations of the Ultron to describe the appearance of the mask. Its foundation is composed entirely of a matrix of beetle secretions and Trooba Fern in an intricate and complex texture. -The proccess is extremely time-consuming since even the best-trained beetle colonies +The process is extremely time-consuming since even the best-trained beetle colonies will build a thousand rejects for every successful foundation. Alas, it will be many years before any of the Utwig will be able to wear such a mask. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-11 00:56:21
|
Revision: 3604 http://sc2.svn.sourceforge.net/sc2/?rev=3604&view=rev Author: avolkov Date: 2011-05-11 00:56:14 +0000 (Wed, 11 May 2011) Log Message: ----------- Syreen subtitles spelling, punctuation and capitalization fixes; minor skips also corrected Modified Paths: -------------- trunk/sc2/content/base/comm/syreen/syreen.txt Modified: trunk/sc2/content/base/comm/syreen/syreen.txt =================================================================== --- trunk/sc2/content/base/comm/syreen/syreen.txt 2011-05-11 00:11:35 UTC (rev 3603) +++ trunk/sc2/content/base/comm/syreen/syreen.txt 2011-05-11 00:56:14 UTC (rev 3604) @@ -1,6 +1,6 @@ #(HELLO_BEFORE_AMBUSH_1) syreen-000.ogg Attention unidentified space vessel! -Be Warned! This slave world and its inhabitants belong to the Ur-Quan. +Be warned! This slave world and its inhabitants belong to the Ur-Quan. I am Starbase Commander Talana of the slave planet Gaia. Your ship is not responding to standard Hierarchy identification sequences. You are therefore classed as Independent and... WHAT?! @@ -46,7 +46,7 @@ . #(WELCOME_VINDICATOR0) syreen-006.ogg -Hello Captain +Hello, Captain #(WELCOME_VINDICATOR1) from the Starship @@ -142,7 +142,7 @@ The very idea that the Mycons, or any alien race, may have been responsible for Syra's destruction fills me with BURNING RAGE! If it were true, none of us here would rest until we had avenged ourselves on the perpetrators. -We would find some way leave this starbase, locate our starships, and hunt down the evil monsters! +We would find some way to leave this starbase, locate our starships, and hunt down the evil monsters! Captain, if you ever gather proof of what you say, you MUST inform us immediately. But until then... do not mention the subject again. It is too painful. @@ -175,9 +175,9 @@ My older sister, Diani, was a starship officer in the Space Patrol she was part of the final defense at Raynet... she didn't make it back. When the Ur-Quan caught us in open space, we all thought we were going to die -but then, instead of killing us, the Ur-Quan offered us a choice +but then, instead of killing us, the Ur-Quan offered us a choice: we could join the ranks of their combat thralls, or we could be slave-shielded in our homeworld. -Like the people of Earth, we choose peace. We became fallow slaves. +Like the people of Earth, we chose peace. We became fallow slaves. When the Ur-Quan told us to return to our homeworld, we explained that we had none. Ur-Quan Master Nine explained that they had encountered this situation before and if we would provide them with a list of our requirements @@ -242,7 +242,7 @@ This led to a particular kind of sexual and political dominance structure which pervaded almost all of your Earth Cultures until the early Twenty First century. On Syra, our only primitive migratory tribes were confined to our mountainous regions. -Their herd beasts, the Yma, did not do well in the agricultural basins and plains +Their herd beasts, the Yma, did not do well in the agricultural basins and plains. The two cultures were isolated until much later when the technological superiority of the farmers curtailed any major conflict. @@ -300,8 +300,8 @@ to above the boiling point of water. It became clear that Syra, our paradise, our Eden, was gone. The survivors spent years in orbit. They made a few missions to the surface -and actually found a handful of survivors, but their main activity was preparations for departure. -The Space Patrol fitted makeshift drive units to anything that could hold air +and actually found a handful of survivors, but their main activity was to make preparations for departure. +The Space Patrol fitted makeshift drive units to anything that could hold air: orbital factories, research pods, even hotels. When the fleet was ready, they left orbit and never looked back. The final population of our species was less than ten thousand, with only five hundred males but they were the best and the brightest. @@ -362,7 +362,7 @@ we will send them to your ship on board their own small shuttle. We feel that in the interests of efficiency, we keep our officers away from your crew at least until the mission is over. -As soon as you arrive at the Vault, our people will take over, figure out a way to open the Vault +As soon as you arrive at the vault, our people will take over, figure out a way to open the vault and bring our Penetrators back here. #(im_on_my_way) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-11 00:11:42
|
Revision: 3603 http://sc2.svn.sourceforge.net/sc2/?rev=3603&view=rev Author: avolkov Date: 2011-05-11 00:11:35 +0000 (Wed, 11 May 2011) Log Message: ----------- Arilou subtitles punctuation fixes; capitalization of Portal Spawner Modified Paths: -------------- trunk/sc2/content/base/comm/arilou/arilou.txt Modified: trunk/sc2/content/base/comm/arilou/arilou.txt =================================================================== --- trunk/sc2/content/base/comm/arilou/arilou.txt 2011-05-10 23:48:08 UTC (rev 3602) +++ trunk/sc2/content/base/comm/arilou/arilou.txt 2011-05-11 00:11:35 UTC (rev 3603) @@ -83,7 +83,7 @@ Good. It should be too soon for that. Too soon by far. #(FRDLY_HOMEWORLD_HELLO_4) arilou-011.ogg -Yes, Captain. What can the Arilou Lalee'lay of Falayalaralfali do for you this day? +Yes, Captain? What can the Arilou Lalee'lay of Falayalaralfali do for you this day? #(whats_up_1) What exactly IS your connection with Earth and Humans, anyway? @@ -179,8 +179,8 @@ #(ARILOU_HINTS_3) arilou-021.ogg The carnate forces of Ur-Quan and Kohr-Ah are twined about the memory of pain. -They respond to these words. -Hold! What you are doing to us is wrong! Why do you do this thing? +They respond to these words: +'Hold! What you are doing to us is wrong! Why do you do this thing?' #(ARILOU_HINTS_4) arilou-022.ogg The enemy of your enemy is your friend... at least for a time. @@ -236,7 +236,7 @@ #(TRUST_BECAUSE) arilou-030.ogg We do many things, few of them funny... at least by our standards. You do not, CANNOT understand some of what we do, or why. -Therefore it may be best if you simply consider us... quirky. +Therefore, it may be best if you simply consider us... quirky. #(what_about_interference) What gives your people the right to interfere with mine? @@ -260,10 +260,10 @@ #(ABOUT_WAR) arilou-033.ogg Forgive us if we forget the importance you attach to such events as this. Our... context, is infinitely broader than yours in scope, both in space and *time*. -Nevertheless, to please you I shall try to recall -yes, now I remember. Here is the sequence -the Ur-Quan fleets have moved through your solar system and you are defeated -your people make the choice not to fight with and for the Ur-Quan +Nevertheless, to please you I shall try to recall. +Yes, now I remember. Here is the sequence: +The Ur-Quan fleets have moved through your solar system and you are defeated. +Your people make the choice not to fight with and for the Ur-Quan. A shield is cast about your world. Your people are now safe. This makes us happy. The Armada departs your star system and moves toward the remaining Alliance members ourselves, the Syreen, the Yehat and their adopted Shofixti. @@ -346,8 +346,8 @@ We have had no success with our own investigations. Whatever controls the Umgah is a threat, but we seem unprepared to deal with it. Perhaps you and your crew are better suited to this mission. -If you choose to go to Beta Orionis, take care, child -whatever controls the Umgah now knows of our presence +If you choose to go to Beta Orionis, take care, child. +Whatever controls the Umgah now knows of our presence and it may take measures against us. #(tell_arilou_about_tpet) @@ -368,7 +368,7 @@ #(DANGEROUS_BUT_USEFUL) arilou-044.ogg The Dnyarri were the most inimical race this galaxy has known. -In other dimensions, other *times* there are far, far worse beings +In other dimensions, other *times*, there are far, far worse beings but they do not threaten you at the present time. During their reign, the Dnyarri possessed absolute power over all intelligent species in this region. They used their slaves for all menial tasks and many forms of depraved entertainment. @@ -392,11 +392,11 @@ We therefore find it convenient to generate our own Portals artificially with focused dimensional fatigue rays. As a sign of our long-standing relationship with your species -we would happily fit your vessel with a Portal spawner of its own +we would happily fit your vessel with a Portal Spawner of its own but your ship is so massive, our units would be ineffective. However -we suspect you may find a sufficiently powerful warp pod, the key element in a Portal spawner +we suspect you may find a sufficiently powerful warp pod, the key element in a Portal Spawner in the wreck of the Ur-Quan Dreadnought on the seventh world at Alpha Pavonis. -Bring that warp pod back here, and we will prepare a Portal spawner for your vessel. +Bring that warp pod back here, and we will prepare a Portal Spawner for your vessel. #(what_about_tpet) You mentioned a Talking Pet. How did you find one? @@ -418,18 +418,18 @@ Their bioscience skills are far superior to our own. The Umgah promised to do what they could, and let us know how the Pet fared. We have not heard from the Umgah since. -Perhaps if you are travelling through their stars, you can ask them for us. +Perhaps, if you are travelling through their stars, you can ask them for us. #(about_portal_again) Can you tell me about that Portal Spawner thing again? #(PORTAL_AGAIN) arilou-047.ogg Certainly. As a sign of our long-standing friendship with your species -we would be happy to fit your vessel with a Portal spawner +we would be happy to fit your vessel with a Portal Spawner allowing you to jump from place to place in HyperSpace, without travelling the intervening distance. However, your ship is so massive, our normal warp pod units are insufficient but you will find a sufficiently powerful warp pod in the wreck of the Ur-Quan Dreadnought -on Alpha Pavonis VII. Bring that warp pod back here, and we will prepare a Portal spawner for your vessel. +on Alpha Pavonis VII. Bring that warp pod back here, and we will prepare a Portal Spawner for your vessel. #(got_it) I have obtained the Warp Pod unit from the Ur-Quan wreck. @@ -441,9 +441,9 @@ #(GIVE_PORTAL) arilou-049.ogg We are prepared. Even now our technical personnel are equipping your ship -with a custom version of our Portal spawner device. +with a custom version of our Portal Spawner device. The device is useable only in HyperSpace. Whenever it is activated -the spawner will focus several inter-dimensional fatigue beams adjacent to your vessel +the Spawner will focus several inter-dimensional fatigue beams adjacent to your vessel opening a temporary hole into QuasiSpace. Move quickly through the Portal! After your ship has passed into QuasiSpace, you can choose any of the nearby Portals which lead back to HyperSpace, thus saving you needless transit time. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-10 23:48:14
|
Revision: 3602 http://sc2.svn.sourceforge.net/sc2/?rev=3602&view=rev Author: avolkov Date: 2011-05-10 23:48:08 +0000 (Tue, 10 May 2011) Log Message: ----------- Mycon subtitles punctuation fixes. Reverted to the DOS original on 'Absorbine Junior' Modified Paths: -------------- trunk/sc2/content/base/comm/mycon/mycon.txt Modified: trunk/sc2/content/base/comm/mycon/mycon.txt =================================================================== --- trunk/sc2/content/base/comm/mycon/mycon.txt 2011-05-08 19:52:58 UTC (rev 3601) +++ trunk/sc2/content/base/comm/mycon/mycon.txt 2011-05-10 23:48:08 UTC (rev 3602) @@ -19,7 +19,7 @@ A thousand of your species do not possess the richness in one of my cells. #(RAMBLE_3) mycon-004.ogg -I fill with my parents parents parents parents parents +I fill with my parents' parents' parents' parents' parents I am they -- and they are us. Then, and now. #(RAMBLE_4) mycon-005.ogg @@ -29,7 +29,7 @@ #(RAMBLE_5) mycon-006.ogg I am Dugee I am the purity monitor -I choose what buds are permitted to mature. +I choose what buds are permitted to mature and which must be eradicated. I died of general misfunction 57,283 years ago. @@ -58,7 +58,7 @@ #(RAMBLE_11) mycon-012.ogg I have chosen my offsprings' memories carefully from my set of remembrances -the sweet and warm times of my existence and those of my parents parents parents +the sweet and warm times of my existence and those of my parents' parents' parents the bits of a million lifetimes coalesced into a birth gift of complete awareness. #(RAMBLE_12) mycon-013.ogg @@ -232,7 +232,7 @@ Stop wiggling those... those... whatever they are! #(insult_7) -Where's the Absorbing Junior when you need it? +Where's the Absorbine Junior when you need it? #(insult_8) Helloo? Ugly! Can you hear me? This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-08 19:53:04
|
Revision: 3601 http://sc2.svn.sourceforge.net/sc2/?rev=3601&view=rev Author: avolkov Date: 2011-05-08 19:52:58 +0000 (Sun, 08 May 2011) Log Message: ----------- Fix the reachable Hyperspace coordinates regression introduced by rounding error correction in r3162; also remove the ?: operator from the affected constants to keep it clean, since we will never invert the axes Modified Paths: -------------- trunk/sc2/src/uqm/units.h Modified: trunk/sc2/src/uqm/units.h =================================================================== --- trunk/sc2/src/uqm/units.h 2011-05-08 00:49:48 UTC (rev 3600) +++ trunk/sc2/src/uqm/units.h 2011-05-08 19:52:58 UTC (rev 3601) @@ -92,14 +92,17 @@ #define MAX_X_UNIVERSE 9999 #define MAX_Y_UNIVERSE 9999 +// Due to the added rounding error correction, the maximum logical X and Y +// in Hyperspace cannot go past 999.94999, otherwise the values will be +// rounded up to 1000.0. We do not want that so we subtract half a unit. #define MAX_X_LOGICAL \ - ((UNIVERSE_TO_LOGX (MAX_X_UNIVERSE + 1) > UNIVERSE_TO_LOGX (-1) ? \ - UNIVERSE_TO_LOGX (MAX_X_UNIVERSE + 1) : UNIVERSE_TO_LOGX (-1)) \ - - 1L) + (UNIVERSE_TO_LOGX (MAX_X_UNIVERSE + 1) - (UNIVERSE_TO_LOGX (1) >> 1) \ + - 1L) +// The Y axis is inverted with respect to the screen Y axis. +// (MAX_Y_UNIVERSE - 1) is really 1 for our purposes. #define MAX_Y_LOGICAL \ - ((UNIVERSE_TO_LOGY (MAX_Y_UNIVERSE + 1) > UNIVERSE_TO_LOGY (-1) ? \ - UNIVERSE_TO_LOGY (MAX_Y_UNIVERSE + 1) : UNIVERSE_TO_LOGY (-1)) \ - - 1L) + (UNIVERSE_TO_LOGY (-1) - (UNIVERSE_TO_LOGY (MAX_Y_UNIVERSE - 1) >> 1) \ + - 1L) #define SPHERE_RADIUS_INCREMENT 11 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-08 00:49:55
|
Revision: 3600 http://sc2.svn.sourceforge.net/sc2/?rev=3600&view=rev Author: avolkov Date: 2011-05-08 00:49:48 +0000 (Sun, 08 May 2011) Log Message: ----------- Do not reset Syreen HELLO stack when discovering the vault; fixes bug #891 Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/src/uqm/comm/syreen/syreenc.c trunk/sc2/src/uqm/planets/generate/genvault.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-05-07 18:07:00 UTC (rev 3599) +++ trunk/sc2/ChangeLog 2011-05-08 00:49:48 UTC (rev 3600) @@ -1,4 +1,6 @@ Changes towards version 0.7: +- Syreen dialog tree no longer resets after visiting the Syreen Vault + for the very first time (bug #891) - Alex - Fixed lander report at the Syreen Vault inconsistency (bug #1121) - Alex - Added lander reports for Supox ruins and Ultron. The reports text is new content from TFB. (bug #1120) - Alex Modified: trunk/sc2/src/uqm/comm/syreen/syreenc.c =================================================================== --- trunk/sc2/src/uqm/comm/syreen/syreenc.c 2011-05-07 18:07:00 UTC (rev 3599) +++ trunk/sc2/src/uqm/comm/syreen/syreenc.c 2011-05-08 00:49:48 UTC (rev 3600) @@ -694,6 +694,7 @@ NPCPhrase (OK_FOUND_VAULT); SET_GAME_STATE (MYCON_AMBUSH, 1); + // This is redundant but left here for clarity SET_GAME_STATE (SYREEN_HOME_VISITS, 0); Response (whats_my_reward, Foreplay); @@ -818,6 +819,12 @@ else if (GET_GAME_STATE (SHIP_VAULT_UNLOCKED)) { PlanAmbush ((RESPONSE_REF)0); + // XXX: PlanAmbush() sets SYREEN_HOME_VISITS=0, but then this value + // is immediately reset to NumVisits just below. The intent was to + // reset the HELLO stack so that is what we will do here as well. + // Note that it is completely redundant because genvault.c resets + // SYREEN_HOME_VISITS when it sets SHIP_VAULT_UNLOCKED=1. + NumVisits = 0; } else { Modified: trunk/sc2/src/uqm/planets/generate/genvault.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genvault.c 2011-05-07 18:07:00 UTC (rev 3599) +++ trunk/sc2/src/uqm/planets/generate/genvault.c 2011-05-08 00:49:48 UTC (rev 3600) @@ -118,7 +118,6 @@ if (!GET_GAME_STATE (KNOW_SYREEN_VAULT)) { SET_GAME_STATE (KNOW_SYREEN_VAULT, 1); - SET_GAME_STATE (SYREEN_HOME_VISITS, 0); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-07 18:07:08
|
Revision: 3599 http://sc2.svn.sourceforge.net/sc2/?rev=3599&view=rev Author: avolkov Date: 2011-05-07 18:07:00 +0000 (Sat, 07 May 2011) Log Message: ----------- The lander does not lift off upon discovery of Syreen Vault, so RETURNING TO THE FLAGSHIP makes no sense. Changed to LANDER Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/content/base/lander/energy/syreenvault.txt Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-05-07 17:40:45 UTC (rev 3598) +++ trunk/sc2/ChangeLog 2011-05-07 18:07:00 UTC (rev 3599) @@ -1,4 +1,5 @@ Changes towards version 0.7: +- Fixed lander report at the Syreen Vault inconsistency (bug #1121) - Alex - Added lander reports for Supox ruins and Ultron. The reports text is new content from TFB. (bug #1120) - Alex - Fixed 'caster comm with Ilwrath after they die off (bug #850) - Alex Modified: trunk/sc2/content/base/lander/energy/syreenvault.txt =================================================================== --- trunk/sc2/content/base/lander/energy/syreenvault.txt 2011-05-07 17:40:45 UTC (rev 3598) +++ trunk/sc2/content/base/lander/energy/syreenvault.txt 2011-05-07 18:07:00 UTC (rev 3599) @@ -5,7 +5,7 @@ THE VAULT'S METAL ALLOY IS IMPERVIOUS TO OUR WEAPONS, AND APPEARS TO BE SIMILAR TO THE UR-QUAN'S `ETERNA-TECH' METAL THEY USE TO REINFORCE THEIR DREADNOUGHT SUPER-STRUCTURES. -THERE IS SOME KIND OF COMPUTER ENTRY SYSTEM, BUT WE CANNOT FATHOM ITS DESIGN. FRUSTRATED AND DISAPPOINTED, WE ARE RETURNING TO THE FLAGSHIP. +THERE IS SOME KIND OF COMPUTER ENTRY SYSTEM, BUT WE CANNOT FATHOM ITS DESIGN. FRUSTRATED AND DISAPPOINTED, WE ARE RETURNING TO THE LANDER. ---- END OF REPORT ---- #(SYRVAULT 2) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-07 17:40:52
|
Revision: 3598 http://sc2.svn.sourceforge.net/sc2/?rev=3598&view=rev Author: avolkov Date: 2011-05-07 17:40:45 +0000 (Sat, 07 May 2011) Log Message: ----------- Added an alternate Umgah Caster lander report for when Spathi do not slave-shield selves; bug #1122 Modified Paths: -------------- trunk/sc2/content/base/lander/energy/umgahcaster.txt trunk/sc2/src/uqm/planets/generate/genspa.c Modified: trunk/sc2/content/base/lander/energy/umgahcaster.txt =================================================================== --- trunk/sc2/content/base/lander/energy/umgahcaster.txt 2011-05-07 00:29:39 UTC (rev 3597) +++ trunk/sc2/content/base/lander/energy/umgahcaster.txt 2011-05-07 17:40:45 UTC (rev 3598) @@ -45,3 +45,18 @@ MAYBE YOU'D LIKE TO HAVE IT. ---- END OF TRANSMISSION ---- +#(UMGTRANS 2) + ---- REPORT FROM SURFACE ---- + +CAPTAIN. THIS IS LIEUTENANT ROBINSON, SIR. WE HAVE LOCATED AN ALIEN ARTIFACT DOWN HERE. WE WERE INVESTIGATING THIS LARGE BLUE MACHINE WHEN OFFICER TALBOT DISCOVERED A NOTE GLUED TO THE SIDE OF THE DEVICE. I'LL READ IT TO YOU... + + THIS MACHINE IS THE SUPER- + POWERFUL HYPERWAVE CASTER THAT + THE UMGAH USED TO TRICK US INTO + BELIEVING THAT THE `GRAND MASTER + PLANET EATERS' WERE COMING TO + DESTROY SPATHIWA. WE THOUGHT + MAYBE SOMEONE WOULD LIKE TO HAVE + IT. + + ---- END OF TRANSMISSION ---- Modified: trunk/sc2/src/uqm/planets/generate/genspa.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genspa.c 2011-05-07 00:29:39 UTC (rev 3597) +++ trunk/sc2/src/uqm/planets/generate/genspa.c 2011-05-07 17:40:45 UTC (rev 3598) @@ -166,6 +166,14 @@ CaptureDrawable (LoadGraphic (UMGAH_BCS_MASK_PMAP_ANIM)); solarSys->SysInfo.PlanetInfo.DiscoveryString = CaptureStringTable (LoadStringTable (UMGAH_BCS_STRTAB)); + if (!GET_GAME_STATE (SPATHI_SHIELDED_SELVES)) + { // The first report talks extensively about Spathi + // slave-shielding selves. If they never did so, the report + // makes no sense, so use an alternate. + solarSys->SysInfo.PlanetInfo.DiscoveryString = + SetAbsStringTableIndex ( + solarSys->SysInfo.PlanetInfo.DiscoveryString, 1); + } } LoadPlanet (NULL); return true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-07 00:29:45
|
Revision: 3597 http://sc2.svn.sourceforge.net/sc2/?rev=3597&view=rev Author: avolkov Date: 2011-05-07 00:29:39 +0000 (Sat, 07 May 2011) Log Message: ----------- Added Supox ruins/Ultron reports text from TFB; bug #1120 Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/content/base/lander/energy/ultron.txt Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-05-04 20:19:27 UTC (rev 3596) +++ trunk/sc2/ChangeLog 2011-05-07 00:29:39 UTC (rev 3597) @@ -1,4 +1,6 @@ Changes towards version 0.7: +- Added lander reports for Supox ruins and Ultron. The reports text + is new content from TFB. (bug #1120) - Alex - Fixed 'caster comm with Ilwrath after they die off (bug #850) - Alex - Fixed Syreen Vault lander report infinite loop (bug #1118) - Alex - Same captain names are used on both net sides (bug #989) - Alex Modified: trunk/sc2/content/base/lander/energy/ultron.txt =================================================================== --- trunk/sc2/content/base/lander/energy/ultron.txt 2011-05-04 20:19:27 UTC (rev 3596) +++ trunk/sc2/content/base/lander/energy/ultron.txt 2011-05-07 00:29:39 UTC (rev 3597) @@ -1,16 +1,24 @@ #(ULTRON 1) ---- REPORT FROM SURFACE ---- -THE ORBITAL BOMBARDMENT WAS RATHER COMPLETE HERE, CAPTAIN. NOT MUCH HAS SURVIVED OF THE SUPOX CIVILIZATION. +IT'S PRETTY GRIM DOWN HERE, CAPTAIN -- THERE IS NOTHING LEFT OF THE SUPOX CIVILIZATION BUT SMOKING PILES OF STEMS AND SEEDS. -LUCKILY, WHILE DIGGING IN A RANDOM PILE OF FERTILIZER, ENSIGN MARTIN FOUND A CRATE CONTAINING A STRANGE DEVICE. THE SHIPPING MANIFEST STATES THIS 'ULTRON' WAS RECEIVED FROM A NEARBY RACE IN THE AQUARII CLUSTER. THE DEVICE APPEARS TO BE BROKEN AND MISSING SOME PARTS, BUT MAYBE THE TECHS BACK AT THE BASE CAN TAKE A WHACK AT IT. +HOWEVER, BURIED DEEP BENEATH A SOLID GRANITE MASSIF, WE FOUND AN INTACT VAULT OF PURE IMPREGNIUM. THE SUPOX WANTED TO PROTECT SOMETHING, CAPTAIN, THAT'S FOR SURE. -WE ARE RETURNING TO THE SHIP WITH THE DEVICE. +INSIDE THE VAULT WE FOUND TWO THINGS: A STRANGE GOLDEN DEVICE -- APPARENTLY BROKEN -- AND A NOTE WHICH READS... + WE THE SUPOX SEE THAT OUR ETERNAL + WINTER IS AT HAND, BUT WE'VE MADE + A PROMISE TO OUR UTWIG FRIENDS TO + PROTECT THEIR BELOVED ULTRON... + AND WE SHALL KEEP THAT PROMISE. + +RETURNING TO THE SHIP WITH THE DEVICE. + ---- END OF REPORT ---- #(ULTRON 2) ---- REPORT FROM SURFACE ---- -CAPTAIN, WE HAVE DUG THROUGH THE MANURE-ENCRUSTED SUPOX RUINS ONCE AGAIN, BROKEN THREE SHOVELS, AND FOUND NOTHING MORE OF VALUE. +WE THOUGHT WE FOUND A SIGNAL, CAPTAIN, BUT IT WAS NOTHING -- JUST THE WIND KNOCKING SOME WINDOW SHADES AGAINST A TRANSCEIVER. ---- END OF REPORT ---- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-04 20:19:34
|
Revision: 3596 http://sc2.svn.sourceforge.net/sc2/?rev=3596&view=rev Author: avolkov Date: 2011-05-04 20:19:27 +0000 (Wed, 04 May 2011) Log Message: ----------- ABX<->WAV converter; ABX code modularized, ABX encoder added, direct WAV file io Modified Paths: -------------- trunk/tools/abx/Makefile trunk/tools/abx/abx2wav.sh Added Paths: ----------- trunk/tools/abx/abx.c trunk/tools/abx/abx.h trunk/tools/abx/abx2wav.c trunk/tools/abx/abx2wav.dsp trunk/tools/abx/port.h trunk/tools/abx/wav.c trunk/tools/abx/wav.h trunk/tools/abx/wav2abx.c trunk/tools/abx/wav2abx.dsp Removed Paths: ------------- trunk/tools/abx/abx2raw.c trunk/tools/abx/abx2raw.h Modified: trunk/tools/abx/Makefile =================================================================== --- trunk/tools/abx/Makefile 2011-04-27 08:44:39 UTC (rev 3595) +++ trunk/tools/abx/Makefile 2011-05-04 20:19:27 UTC (rev 3596) @@ -1,6 +1,11 @@ -abx2raw: abx2raw.c abx2raw.h - gcc -W -Wall -g -O0 abx2raw.c -o abx2raw +all: abx2wav wav2abx +abx2wav: abx2wav.c abx.h abx.c wav.h wav.c port.h + gcc -W -Wall -g -O0 abx2wav.c abx.c wav.c -o abx2wav + +wav2abx: wav2abx.c abx.h abx.c wav.h wav.c port.h + gcc -W -Wall -g -O0 wav2abx.c abx.c wav.c -o wav2abx + clean: - rm abx2raw + rm abx2wav abx2wav.exe wav2abx wav2abx.exe Copied: trunk/tools/abx/abx.c (from rev 3588, trunk/tools/abx/abx2raw.c) =================================================================== --- trunk/tools/abx/abx.c (rev 0) +++ trunk/tools/abx/abx.c 2011-05-04 20:19:27 UTC (rev 3596) @@ -0,0 +1,874 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/* + * ABX encoder/decoder + * By Serge van den Boom (sv...@st...) and Alex Volkov (co...@us...) + * Based on ABX decoding code from Toys for Bob. + * + * TODO: + * - so far, it ignores sample rates, so it will work ok as long as all + * the frames have the same frequency. This is probably enough for + * our purposes. + * + * - add abx_setMaxError(), abx_setMinSquelch() and abx_setBlockSize() for + * the encoder parameters, if anyone cares that is. The 3DO abx files all + * used the same params, as far as I know. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <math.h> +#include <memory.h> +#include <errno.h> + +#include "abx.h" + +// This number can be increased to almost anything, as long +// as you have enough memory to store the data. It's kept +// on the low end to improve the sanity checks. +#define MAX_REASONABLE_FRAMES 100000 + +#define abx_FrameInfo_size 8 +#define abx_FrameHeader_size 8 + +static uint32_t abx_decodeFrame(abx_File *abx, const abx_FrameHeader *hdr, + int inlen, uint8_t *out); +static uint32_t abx_encodeFrame(abx_File *abx, abx_FrameHeader *hdr, + uint8_t *in, int inlen); + +// The deltas table came from TFB +static const int deltas[16 * 16] = +{ + -8,-7,-6,-5,-4,-3,-2,-1,1,2,3,4,5,6,7,8, // Multiplier of 1 + -16,-14,-12,-10,-8,-6,-4,-2,2,4,6,8,10,12,14,16, // Multiplier of 2 + -24,-21,-18,-15,-12,-9,-6,-3,3,6,9,12,15,18,21,24, // Multiplier of 3 + -32,-28,-24,-20,-16,-12,-8,-4,4,8,12,16,20,24,28,32, // Multiplier of 4 + -40,-35,-30,-25,-20,-15,-10,-5,5,10,15,20,25,30,35,40, // Multiplier of 5 + -48,-42,-36,-30,-24,-18,-12,-6,6,12,18,24,30,36,42,48, // Multiplier of 6 + -56,-49,-42,-35,-28,-21,-14,-7,7,14,21,28,35,42,49,56, // Multiplier of 7 + -64,-56,-48,-40,-32,-24,-16,-8,8,16,24,32,40,48,56,64, // Multiplier of 8 + -72,-63,-54,-45,-36,-27,-18,-9,9,18,27,36,45,54,63,72, // Multiplier of 9 + -80,-70,-60,-50,-40,-30,-20,-10,10,20,30,40,50,60,70,80, // Multiplier of 10 + -88,-77,-66,-55,-44,-33,-22,-11,11,22,33,44,55,66,77,88, // Multiplier of 11 + -96,-84,-72,-60,-48,-36,-24,-12,12,24,36,48,60,72,84,96, // Multiplier of 12 + -104,-91,-78,-65,-52,-39,-26,-13,13,26,39,52,65,78,91,104, // Multiplier of 13 + -112,-98,-84,-70,-56,-42,-28,-14,14,28,42,56,70,84,98,112, // Multiplier of 14 + -120,-105,-90,-75,-60,-45,-30,-15,15,30,45,60,75,90,105,120,// Multiplier of 15 + -128,-112,-96,-80,-64,-48,-32,-16,16,32,48,64,80,96,112,127,// Multiplier of 16 +}; + +static bool read_8 (FILE *fp, uint8_t *v) +{ + return fread(v, sizeof(*v), 1, fp) == 1; +} + +static bool read_le_16 (FILE *fp, uint16_t *v) +{ + uint8_t buf[2]; + if (fread(buf, sizeof(buf), 1, fp) != 1) + return false; + *v = (buf[1] << 8) | buf[0]; + return true; +} + +static bool read_le_32 (FILE *fp, uint32_t *v) +{ + uint8_t buf[4]; + if (fread(buf, sizeof(buf), 1, fp) != 1) + return false; + *v = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0]; + return true; +} + +static bool write_8 (FILE *fp, uint8_t v) +{ + return fwrite(&v, sizeof(v), 1, fp) == 1; +} + +static bool write_le_16 (FILE *fp, uint16_t v) +{ + uint8_t buf[2]; + buf[0] = v; + buf[1] = v >> 8; + return fwrite(buf, sizeof(buf), 1, fp) == 1; +} + +static bool write_le_32 (FILE *fp, uint32_t v) +{ + uint8_t buf[4]; + buf[0] = v; + buf[1] = v >> 8; + buf[2] = v >> 16; + buf[3] = v >> 24; + return fwrite(buf, sizeof(buf), 1, fp) == 1; +} + +static bool abx_readFileHeader(abx_File *abx, abx_FileHeader *hdr) +{ + if (!read_le_16(abx->fp, &hdr->numFrames) || + !read_le_32(abx->fp, &hdr->totalSize) || + !read_le_16(abx->fp, &hdr->maxBufSize) || + !read_le_16(abx->fp, &hdr->freq)) + { + abx->last_error = errno; + return false; + } + return true; +} + +static bool abx_writeFileHeader(abx_File *abx, const abx_FileHeader *hdr) +{ + if (!write_le_16(abx->fp, hdr->numFrames) || + !write_le_32(abx->fp, hdr->totalSize) || + !write_le_16(abx->fp, hdr->maxBufSize) || + !write_le_16(abx->fp, hdr->freq)) + { + abx->last_error = errno; + return false; + } + return true; +} + +static bool abx_readFrameInfo(abx_File *abx, abx_FrameInfo *info) +{ + if (!read_le_32(abx->fp, &info->ofs) || + !read_le_16(abx->fp, &info->fsize) || + !read_le_16(abx->fp, &info->usize)) + { + abx->last_error = errno; + return false; + } + return true; +} + +static bool abx_writeFrameInfo(abx_File *abx, const abx_FrameInfo *info) +{ + if (!write_le_32(abx->fp, info->ofs) || + !write_le_16(abx->fp, info->fsize) || + !write_le_16(abx->fp, info->usize)) + { + abx->last_error = errno; + return false; + } + return true; +} + +static bool abx_readFrameHeader(abx_File *abx, abx_FrameHeader *hdr) +{ + if (!read_le_16(abx->fp, &hdr->usize) || + !read_le_16(abx->fp, &hdr->freq) || + !read_8(abx->fp, &hdr->blockSize) || + !read_8(abx->fp, &hdr->minSquelch) || + !read_le_16(abx->fp, &hdr->maxError)) + { + abx->last_error = errno; + return false; + } + return true; +} + +static bool abx_writeFrameHeader(abx_File *abx, const abx_FrameHeader *hdr) +{ + if (!write_le_16(abx->fp, hdr->usize) || + !write_le_16(abx->fp, hdr->freq) || + !write_8(abx->fp, hdr->blockSize) || + !write_8(abx->fp, hdr->minSquelch) || + !write_le_16(abx->fp, hdr->maxError)) + { + abx->last_error = errno; + return false; + } + return true; +} + +bool abx_open(abx_File *abx, const char *filename) +{ + abx_FileHeader fileHdr; + unsigned i; + unsigned maxCalcBuf; + + memset(abx, 0, sizeof(*abx)); + + abx->fp = fopen(filename, "rb"); + if (!abx->fp) + { + abx->last_error = errno; + return false; + } + + // read abx header + if (!abx_readFileHeader(abx, &fileHdr)) + { + abx->last_error = errno; + abx_close(abx); + return false; + } + abx->numFrames = fileHdr.numFrames; + abx->maxBufSize = fileHdr.maxBufSize; + abx->freq = fileHdr.freq; + if (abx->freq == 0) + abx->freq = ABX_DEFAULT_FREQ; + + // Some sanity checks. ABX format does not have a magic number + // or anything like that, but we can do some math. + if (abx->numFrames > MAX_REASONABLE_FRAMES) + { + abx->last_error = -1; + fprintf(stderr, "abx_open(): number of frames (%u) is not reasonable\n", + abx->numFrames); + abx_close(abx); + return false; + } + if (abx->freq != 11025 && abx->freq != 22050 && abx->freq != 44100 + && abx->freq != 48000) + { + fprintf(stderr, "abx_open() Warning: sampling frequency (%u) is suspect\n", + (unsigned)abx->freq); + } + + abx->frames = calloc(sizeof(abx->frames[0]), abx->numFrames); + if (!abx->frames) + { + abx->last_error = errno; + fprintf(stderr, "abx_open(): could not allocate frames array\n"); + abx_close(abx); + return false; + } + + maxCalcBuf = 0; + for (i = 0; i < abx->numFrames; ++i) + { + abx_FrameInfo *info = abx->frames + i; + + if (!abx_readFrameInfo(abx, info)) + { + abx_close(abx); + return false; + } + abx->totalSize += info->usize; + if (info->usize > maxCalcBuf) + maxCalcBuf = info->usize; + if (info->fsize > abx->maxEncSize) + abx->maxEncSize = info->fsize; + } + if (abx->totalSize != fileHdr.totalSize) + { + fprintf(stderr, "abx_open() Warning: " + "total size in header (%u) does not match sum of frames (%u)\n", + (unsigned)fileHdr.totalSize, (unsigned)abx->totalSize); + } + if (abx->maxBufSize < maxCalcBuf) + { + fprintf(stderr, "abx_open() Warning: " + "max buffer size in header (%u) is less than calculated max (%u)\n", + abx->maxBufSize, maxCalcBuf); + abx->maxBufSize = maxCalcBuf; + } + abx->data_ofs = ftell(abx->fp); + abx->maxFrames = abx->numFrames; + + // Our buffer stores encoded data during decoding. The maximum buffer + // size needed was computed just above. + abx->buf = malloc(abx->maxEncSize); + if (!abx->buf) + { + abx->last_error = errno; + abx_close(abx); + return false; + } + + return true; +} + +static bool abx_writeHeaders(abx_File *abx) +{ + abx_FileHeader fileHdr; + unsigned i; + + fileHdr.numFrames = abx->numFrames; + fileHdr.maxBufSize = abx->maxBufSize; + fileHdr.freq = abx->freq; + fileHdr.totalSize = abx->totalSize; + if (!abx_writeFileHeader(abx, &fileHdr)) + return false; + + for (i = 0; i < abx->numFrames; ++i) + { + abx_FrameInfo *info = abx->frames + i; + + if (!abx_writeFrameInfo(abx, info)) + return false; + } + + return true; +} + +bool abx_create(abx_File *abx, const char *filename) +{ + memset(abx, 0, sizeof(*abx)); + + abx->fp = fopen(filename, "wb"); + if (!abx->fp) + { + abx->last_error = errno; + return false; + } + abx->freq = ABX_DEFAULT_FREQ; + abx->maxError = ABX_DEFAULT_ERROR; + + if (!abx_writeHeaders(abx)) + { + abx_close(abx); + return false; + } + abx->frames_ofs = ftell(abx->fp); + + abx->maxFrames = 10; + abx->frames = calloc(sizeof(abx->frames[0]), abx->maxFrames); + if (!abx->frames) + { + abx->last_error = errno; + fprintf(stderr, "abx_create(): could not allocate frames array\n"); + abx_close(abx); + return false; + } + + fseek(abx->fp, abx->maxFrames * abx_FrameInfo_size, SEEK_CUR); + abx->data_ofs = ftell(abx->fp); + + abx->writing = true; + return true; +} + +static bool abx_flushHeaders(abx_File *abx) +{ + fseek(abx->fp, 0, SEEK_SET); + if (!abx_writeHeaders(abx)) + { + return false; + } + return true; +} + +void abx_close(abx_File *abx) +{ + if (abx->fp) + { + if (abx->writing) + abx_flushHeaders(abx); + + fclose(abx->fp); + } + if (abx->frames) + free(abx->frames); + if (abx->buf) + free(abx->buf); + + memset(abx, 0, sizeof(*abx)); +} + +bool abx_setSamplingRate(abx_File *abx, uint32_t freq) +{ + if (!abx->writing) + return false; + abx->freq = freq; + return true; +} + +uint32_t abx_getMaxBuffer(abx_File *abx) +{ + return abx->maxBufSize; +} + +bool abx_setMaxFrames(abx_File *abx, unsigned maxFrames) +{ + abx_FrameInfo *newf; + + if (!abx->writing) + return false; + + if (maxFrames < abx->numFrames) + return false; + + if (abx->numFrames > 0 && maxFrames <= abx->maxFrames) + { // We've already written some audio data to the file. + // Decreasing the allocated frame info space at this point involves + // way too much work, so we'll silently ignore this. + return true; + } + else if (abx->numFrames > 0 && maxFrames > abx->maxFrames) + { // We've already written some audio data to the file. + // Increasing the allocated frame info space at this point involves + // way too much work, so it is an error to attempt it. + abx->last_error = ENOSPC; + return false; + } + + if (abx->frames && maxFrames > abx->maxFrames) + { // grow the array + newf = realloc(abx->frames, maxFrames * sizeof(abx->frames[0])); + if (!newf) + { + abx->last_error = errno; + return false; + } + abx->frames = newf; + } + abx->maxFrames = maxFrames; + + if (abx->numFrames == 0) + { // We have not written any audio data yet. + // Adjust the data offset + fseek(abx->fp, abx->frames_ofs + abx->maxFrames * abx_FrameInfo_size, SEEK_SET); + abx->data_ofs = ftell(abx->fp); + } + + return true; +} + +uint32_t abx_readFrame(abx_File *abx, void *buf, uint32_t bufsize) +{ + abx_FrameInfo *info; + abx_FrameHeader hdr; + uint32_t decSize; + uint32_t inlen; + + if (abx->writing) + { + abx->last_error = EPERM; + return 0; + } + + if (abx->nextFrame == abx->numFrames) + { // EOF + abx->last_error = 0; + return 0; + } + + info = abx->frames + abx->nextFrame; + // Go get the next frame + if (fseek(abx->fp, info->ofs, SEEK_SET) != 0) + { + abx->last_error = errno; + return 0; + } + if (!abx_readFrameHeader(abx, &hdr)) + return 0; + if (hdr.usize != info->usize) + { + fprintf(stderr, "abx_readFrame() Warning: " + "decoded size in header (%u) does not match reported in info (%u) for frame %u\n", + (unsigned)hdr.usize, (unsigned)info->usize, abx->nextFrame); + } + if (hdr.freq != 0 && hdr.freq != abx->freq) + { + fprintf(stderr, "abx_readFrame() Warning: " + "frame frequency (%u) is different from file freq (%u) for frame %u\n", + (unsigned)hdr.freq, (unsigned)abx->freq, abx->nextFrame); + fprintf(stderr, "This is not supported. Output will be corrupted.\n"); + } + if (bufsize < hdr.usize) + { // Buffer is too small to accept the entire frame + // The caller should call abx_getMaxBuffer() to find out the size + abx->last_error = 0; + return 0; + } + + inlen = info->fsize - abx_FrameHeader_size; + if (fread(abx->buf, inlen, 1, abx->fp) != 1) + { + abx->last_error = errno; + return 0; + } + + decSize = abx_decodeFrame(abx, &hdr, inlen, buf); + if (decSize != hdr.usize) + { + fprintf(stderr, "abx_readFrame() Warning: " + "actual decoded data size (%u) does not match reported (%u) for frame %u\n", + (unsigned)decSize, (unsigned)hdr.usize, abx->nextFrame); + } + + ++abx->nextFrame; + + return decSize; +} + +uint32_t abx_writeFrame(abx_File *abx, void *buf, uint32_t bufsize) +{ + abx_FrameInfo *info; + abx_FrameHeader hdr; + uint32_t encSize; + + if (!abx->writing) + { + abx->last_error = EPERM; + return 0; + } + + if (abx->nextFrame >= abx->maxFrames) + { // No more room + abx->last_error = EFBIG; + return 0; + } + + info = abx->frames + abx->nextFrame; + + // Our buffer stores encoded data during encoding, but the encoded data + // can never be larger than the decoded one by algorithm definition. + if (bufsize > abx->maxBufSize) + { // grow the buffer + if (abx->buf) + free(abx->buf); + abx->buf = malloc(bufsize); + if (!abx->buf) + { + abx->last_error = errno; + return 0; + } + abx->maxBufSize = bufsize; + } + + if (fseek(abx->fp, abx->data_ofs, SEEK_SET) != 0) + { + abx->last_error = errno; + return 0; + } + hdr.blockSize = ABX_DEFAULT_BLOCKSIZE; + hdr.minSquelch = ABX_DEFAULT_SQUELCH; + hdr.maxError = abx->maxError; + encSize = abx_encodeFrame(abx, &hdr, buf, bufsize); + if (!abx_writeFrameHeader(abx, &hdr) || + fwrite(abx->buf, encSize, 1, abx->fp) != 1) + { + abx->last_error = errno; + return 0; + } + encSize += abx_FrameHeader_size; + + info->usize = bufsize; + info->ofs = abx->data_ofs; + info->fsize = encSize; + abx->data_ofs = ftell(abx->fp); + + if (encSize > abx->maxEncSize) + abx->maxEncSize = encSize; + abx->totalSize += bufsize; + + ++abx->nextFrame; + ++abx->numFrames; + + return encSize; +} + +static inline void clip_u8(int *val) +{ + if (*val < 0) + *val= 0; + else if (*val > 255) + *val = 255; +} + +static uint32_t abx_decodeFrame(abx_File *abx, const abx_FrameHeader *hdr, + int inlen, uint8_t *out) +{ + uint8_t *in = abx->buf; + int outlen = hdr->usize; + int prev; + + // Get initial data point + prev = *in; + ++in; + --inlen; // one byte consumed + *out = prev; + ++out; + --outlen; // one sample stored + + while (outlen > 0 && inlen > 0) + { + unsigned bytes; + unsigned sample; + + // Get next encoded byte + sample = *in; + ++in; + --inlen; + + if (sample & RESYNC) // Is it a resync byte? + { + prev = (sample & 0x7F) << 1; // Store resync byte. + *out = prev; + ++out; + --outlen; // one sample stored + } + else if (sample & SQLCH) // Is it a squelch byte? + { + bytes = sample & SQUELCHCNT; // And off the number of squelch bytes + memset(out, prev, bytes); + out += bytes; + outlen -= bytes; // bytes samples stored + } + else if (sample & DELTAMOD) // Is it delta modulate byte? + { + // base address to multiplier table + const int *base = deltas + (sample & MULTIPLIER) * 16; + unsigned sampleBits; // bits per sample + unsigned mask; + int samplesPerByte; + + // This is not optimized for efficiency, but rather deoptimized + // for readability + sampleBits = (sample & DELTAMOD) >> DELTASHIFT; + if (sampleBits == 3) // no 3-bit delta coding + sampleBits = 4; + + // Base address of deltas: middle of the table minus half the + // range of the delta + base += 8 - (1 << (sampleBits - 1)); + samplesPerByte = 8 / sampleBits; + mask = (1 << sampleBits) - 1; + + for (bytes = hdr->blockSize / samplesPerByte; bytes > 0; --bytes) + { + unsigned val; + int i; + + val = *in; + ++in; + --inlen; + + for (i = samplesPerByte; i > 0; --i) + { + val <<= sampleBits; + prev += base[(val >> 8) & mask]; + clip_u8(&prev); + *out = prev; + ++out; + } + } + + outlen -= hdr->blockSize; // one block of samples stored + } + else + { // None of the known bit combinations. Weird. + fprintf(stderr, "abx_decodeFrame() Warning: " + "unknown sample 0x%02x in frame %u\n", + (unsigned)sample, abx->nextFrame); + // We'll just suppress the sample + } + } + + if (outlen != 0 || inlen != 0) + { + fprintf(stderr, "abx_decodeFrame() Warning: " + "byte counts do not match at end of frame (%i, %i)\n", + inlen, outlen); + } + + return hdr->usize - outlen; +} + +static int lookupDelta(const int *base, int cnt, int prev, int sample) +{ + int i; + int imin = 0; + int mindiff = 65536; + + for (i = 0; i < cnt; ++i) + { + int diff; + // We want the delta that gives us a resulting sample that is + // the closest to the original *after* any clipping occurs. + // This is important in cases where both the previous sample + // and the current sample are at min or max points, since there + // is no 0 deltas in the tables. + int cur = prev + base[i]; + clip_u8(&cur); + diff = abs(cur - sample); + if (diff < mindiff) + { + mindiff = diff; + imin = i; + } + } + return imin; +} + +static uint32_t abx_encodeBlock(const abx_FrameHeader *hdr, uint8_t *in, + uint8_t *out, int *last, unsigned sampleBits, unsigned mult, + int *blockError) +{ + const int *base = deltas + mult * 16; + const int samplesPerByte = 8 / sampleBits; + const int deltaCnt = 1 << sampleBits; + unsigned bytes; + int prev = *last; + int error = 0; + + // Base address of deltas: middle of the table minus half the + // range of the delta + base += 8 - deltaCnt / 2; + + for (bytes = hdr->blockSize / samplesPerByte; bytes > 0; --bytes) + { + unsigned val = 0; + int i; + + for (i = samplesPerByte; i > 0; --i) + { + int sample = *in; + unsigned index; + + ++in; + // Computing the closest delta index directly involves a ridiculous + // amount of logic because the delta tables have no 0 deltas. It is + // simpler to just iterate over all of them. + index = lookupDelta(base, deltaCnt, prev, sample); + prev += base[index]; + clip_u8(&prev); + error += (prev - sample) * (prev - sample); + if (error > hdr->maxError) + return 0; // exceeded the maximum error, bail out + + val <<= sampleBits; + val |= index; + } + + if (out) + { + *out = val; + ++out; + } + } + + *last = prev; + if (blockError) + *blockError = error; + return hdr->blockSize / samplesPerByte; +} + +static uint32_t abx_encodeFrame(abx_File *abx, abx_FrameHeader *hdr, + uint8_t *in, int inlen) +{ + uint8_t *out = abx->buf; + int prev; + + hdr->usize = inlen; + hdr->freq = abx->freq; + + // Store initial data point + prev = *in; + ++in; + --inlen; // one sample consumed + *out = prev; + ++out; + + // Speed and efficiency is not an issue for us. The strategy here is + // simply to achieve maximum compression by brute force. We try all of + // the 48 delta coding variants and pick the one with the smallest + // total error within the allowed limit. + while (inlen > 0) + { + int cnt; + + // Try squelching first + for (cnt = 0; cnt < inlen && cnt < SQUELCHCNT; ++cnt) + { + if (in[cnt] != prev) + break; + } + if (cnt >= hdr->minSquelch) + { // Squelch sample repeats + *out = SQLCH | cnt; + ++out; + in += cnt; + inlen -= cnt; + continue; + } + + // Now try resync + squelch + for (cnt = 0; cnt < inlen - 1 && cnt < SQUELCHCNT; ++cnt) + { + if (in[cnt + 1] != in[0]) + break; + } + if (cnt >= hdr->minSquelch + 1) + { // Resync and squelch sample repeats + prev = *in; + out[0] = RESYNC | (prev >> 1); + out[1] = SQLCH | cnt; + out += 2; + in += 1 + cnt; + inlen -= 1 + cnt; + continue; + } + + // Try a delta-coding block + if (inlen >= hdr->blockSize) + { + int bits, bestBits = 0; + int mult, bestMult = 0; + int error, bestError = hdr->maxError * 4; + + error = bestError; // for shortcutting + for (bits = 1; bits < 4 && error != 0; ++bits) + { + if (bits == 3) // no 3-bit coding + bits = 4; + + for (mult = 0; mult < 16; ++mult) + { + uint32_t blk; + int last = prev; + blk = abx_encodeBlock(hdr, in, NULL, &last, + bits, mult, &error); + if (blk > 0 && error < bestError) + { // remember the best one so far + bestError = error; + bestBits = bits; + bestMult = mult; + + if (error == 0) + break; // shortcut + } + } + } + if (bestBits > 0) + { // success! + // out+1 because we need space for the DELTAMOD byte + uint32_t blk = abx_encodeBlock(hdr, in, out + 1, &prev, + bestBits, bestMult, NULL); + if (bestBits == 4) + bestBits = 3; + *out = (bestBits << DELTASHIFT) | bestMult; + out += 1 + blk; + in += hdr->blockSize; + inlen -= hdr->blockSize; + continue; + } + } + + // And when everything else fails, emit a RESYNC + prev = *in; + ++in; + --inlen; + *out = RESYNC | (prev >> 1); + ++out; + } + + return out - abx->buf; +} Copied: trunk/tools/abx/abx.h (from rev 3588, trunk/tools/abx/abx2raw.h) =================================================================== --- trunk/tools/abx/abx.h (rev 0) +++ trunk/tools/abx/abx.h 2011-05-04 20:19:27 UTC (rev 3596) @@ -0,0 +1,99 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/* ABX format encoder/decoder */ + +#ifndef ABX_H_INCL +#define ABX_H_INCL + +#include <stdint.h> +#include "port.h" + +typedef struct +{ + uint16_t numFrames; // Number of frames in this file + uint32_t totalSize; // Total size of uncompressed data + uint16_t maxBufSize; // Maximum buffer needed for decoded samples + uint16_t freq; // Base sampling frequency +} abx_FileHeader; + +typedef struct +{ + uint32_t ofs; // File offset of frame data + uint16_t fsize; // Compressed frame size (in file) + uint16_t usize; // Uncompressed data size +} abx_FrameInfo; + +typedef struct +{ + uint16_t usize; // Uncompressed data size + uint16_t freq; // Sampling frequency + uint8_t blockSize; // Block size picked by encoder; power of 2 and minimum 8 + uint8_t minSquelch; // INFO: Minimum repeat count for squelching + uint16_t maxError; // INFO: Maximum total error squared per block +} abx_FrameHeader; + +#define SQLCH 0x40 // Squelch byte flag +#define RESYNC 0x80 // Resync byte flag. + +#define DELTAMOD 0x30 // Delta modulation bits. +#define DELTASHIFT 4 // Delta modulation bits. + +#define ONEBIT 0x10 // One bit delta modulate +#define TWOBIT 0x20 // Two bit delta modulate +#define FOURBIT 0x30 // four bit delta modulate + +#define MULTIPLIER 0x0F // Bottom nibble contains multiplier value. +#define SQUELCHCNT 0x3F // Bits for squelching. + +#define ABX_DEFAULT_FREQ 11025 +#define ABX_DEFAULT_ERROR 32 +#define ABX_DEFAULT_SQUELCH 2 +#define ABX_DEFAULT_BLOCKSIZE 32 + +typedef struct +{ + // read-only + int last_error; + unsigned numFrames; + uint16_t freq; + + // internal + bool writing; + FILE *fp; + abx_FrameInfo *frames; + unsigned nextFrame; + unsigned maxFrames; + uint32_t frames_ofs; + uint32_t data_ofs; + uint32_t totalSize; + int maxError; + unsigned maxBufSize; + unsigned maxEncSize; + uint8_t *buf; +} abx_File; + +bool abx_open(abx_File *abx, const char *filename); +bool abx_create(abx_File *abx, const char *filename); +void abx_close(abx_File *abx); +bool abx_setSamplingRate(abx_File *abx, uint32_t freq); +bool abx_setMaxFrames(abx_File *abx, unsigned maxFrames); +uint32_t abx_getMaxBuffer(abx_File *abx); + +uint32_t abx_readFrame(abx_File *abx, void *buf, uint32_t bufsize); +uint32_t abx_writeFrame(abx_File *abx, void *buf, uint32_t bufsize); + +#endif /* ABX_H_INCL */ Deleted: trunk/tools/abx/abx2raw.c =================================================================== --- trunk/tools/abx/abx2raw.c 2011-04-27 08:44:39 UTC (rev 3595) +++ trunk/tools/abx/abx2raw.c 2011-05-04 20:19:27 UTC (rev 3596) @@ -1,272 +0,0 @@ -/* - * abx to raw converter. By Serge van den Boom (sv...@st...), - * The actual conversion code is from Toys for Bob. - * So far, it ignores sample rates, so it will work ok as long as all - * the frames have the same frequency. This is probably - * enough for our purposes. - * - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "abx2raw.h" - -void convert_abx(FILE *in, FILE *out); -uint8_t *UnCompressAudio(struct abx_header *abx, uint8_t *source); - -int -main(int argc, char *argv[]) { - FILE *in, *out; - - if (argc != 3) { - fprintf(stderr, "abx2wav <infile> <outfile>\n"); - return EXIT_FAILURE; - } - - in = fopen(argv[1], "rb"); - if (!in) { - perror("Could not open input file"); - return EXIT_FAILURE; - } - - out = fopen(argv[2], "wb"); - if (!out) { - perror("Could not open output file"); - return EXIT_FAILURE; - } - - convert_abx(in, out); - - fclose(in); - fclose(out); - return EXIT_SUCCESS; -} - -static signed char trans[16*16] = -{ - -8,-7,-6,-5,-4,-3,-2,-1,1,2,3,4,5,6,7,8, // Multiplier of 1 - -16,-14,-12,-10,-8,-6,-4,-2,2,4,6,8,10,12,14,16, // Multiplier of 2 - -24,-21,-18,-15,-12,-9,-6,-3,3,6,9,12,15,18,21,24, // Multiplier of 3 - -32,-28,-24,-20,-16,-12,-8,-4,4,8,12,16,20,24,28,32, // Multiplier of 4 - -40,-35,-30,-25,-20,-15,-10,-5,5,10,15,20,25,30,35,40, // Multiplier of 5 - -48,-42,-36,-30,-24,-18,-12,-6,6,12,18,24,30,36,42,48, // Multiplier of 6 - -56,-49,-42,-35,-28,-21,-14,-7,7,14,21,28,35,42,49,56, // Multiplier of 7 - -64,-56,-48,-40,-32,-24,-16,-8,8,16,24,32,40,48,56,64, // Multiplier of 8 - -72,-63,-54,-45,-36,-27,-18,-9,9,18,27,36,45,54,63,72, // Multiplier of 9 - -80,-70,-60,-50,-40,-30,-20,-10,10,20,30,40,50,60,70,80, // Multiplier of 10 - -88,-77,-66,-55,-44,-33,-22,-11,11,22,33,44,55,66,77,88, // Multiplier of 11 - -96,-84,-72,-60,-48,-36,-24,-12,12,24,36,48,60,72,84,96, // Multiplier of 12 - -104,-91,-78,-65,-52,-39,-26,-13,13,26,39,52,65,78,91,104, // Multiplier of 13 - -112,-98,-84,-70,-56,-42,-28,-14,14,28,42,56,70,84,98,112, // Multiplier of 14 - -120,-105,-90,-75,-60,-45,-30,-15,15,30,45,60,75,90,105,120,// Multiplier of 15 - -128,-112,-96,-80,-64,-48,-32,-16,16,32,48,64,80,96,112,127,// Multiplier of 16 -}; - -void -read_data(char *buf, size_t size, FILE *file) { - ssize_t numread; - - numread = fread(buf, size, 1, file); - if (numread == 0 && ferror(file)) { - perror("read header"); - exit(EXIT_FAILURE); - } - if ((size_t) numread != 1) { - fprintf(stderr, "Input file too small.\n"); - exit(EXIT_FAILURE); - } -} - -void -convert_abx(FILE *in, FILE *out) { - struct abx_header abx; - struct frame_info *frame_info; - uint8_t **frames; - uint8_t **uncoded; - int i; - - read_data((uint8_t *) &abx, sizeof (struct abx_header), in); - fprintf(stderr, "Base sample rate: %dHz\n", abx.freq); - frame_info = malloc(sizeof (struct frame_info) * abx.num_frames); - read_data((uint8_t *) frame_info, - sizeof (struct frame_info) * abx.num_frames, in); - frames = malloc(sizeof (uint8_t *) * abx.num_frames); - uncoded = malloc(sizeof (uint8_t *) * abx.num_frames); - for (i = 0; i < abx.num_frames; i++) { - frames[i] = malloc(frame_info[i].fsize); - fseek(in, frame_info[i].addr, SEEK_SET); - read_data(frames[i], frame_info[i].fsize, in); - -#if 0 - // debug output to locate the first bad frame - fprintf(stderr, "Now going to process frame %d.\n", i); -#endif - -#if 0 - // skip some corrupt frames - if (i >= 270 && i <= 271) { - // fill the bad part with zeros - uncoded[i] = malloc(frame_info[i].usize); - memset(uncoded[i], '\0', frame_info[i].usize); - continue; - } -#endif - - uncoded[i] = UnCompressAudio(&abx, frames[i]); - } - - for (i = 0; i < abx.num_frames; i++) { - fwrite(uncoded[i], frame_info[i].usize, 1, out); - } - - for (i = 0; i < abx.num_frames; i++) { - free(frames[i]); - free(uncoded[i]); - } - free(uncoded); - free(frames); - free(frame_info); -} - -#define MAKE_WORD(byte1, byte2) ((byte2 << 8) | (byte1)) - -// This is used to make certain this C code is compatible when compiled on -// a 68000 based machine. (Which it has been done and tested on.) -#define Get8086word(t) MAKE_WORD ((t)[0], (t)[1]) - -// GetFreq will report the playback frequency of a particular ACOMP data -// file. -uint16_t -GetFreq(uint8_t *sound) { - return(Get8086word(sound + 2)); -} - -uint8_t * -UnCompressAudio(struct abx_header *abx, - uint8_t *source) { - uint16_t slen, frame, freq; - int16_t prev; - uint8_t *result, *dest; - - slen = Get8086word(source); - dest = result = malloc(slen * sizeof (uint8_t)); - freq = GetFreq(source); - if (freq == 0) { - freq = abx->freq; - } else if (freq != abx->freq) { - fprintf(stderr, "Frame frequency (%d) != global frequency (%d).\n", - freq, abx->freq); - fprintf(stderr, "This is not supported. Output will be corrupted.\n"); - abx->freq = freq; - } - source += 4; // Skip length, and then frequency word. - frame = *source++; // Frame size. - source += 3; // Skip sqelch value, and maximum error allowed. - prev = *source++; // Get initial previous data point. - *dest++ = prev ^ 0x80; - slen--; // Decrement total sound length. - while (slen > 0) - { - uint16_t bytes; - uint8_t sample; - - sample = *source++; // Get sample. - if (sample & RESYNC) // Is it a resync byte? - { - --slen; // Decrement output sample length. - - prev = (sample & 0x7F) << 1; // Store resync byte. - *dest++ = prev ^ 0x80; - } - else if (sample & SQLCH) // Is it a squelch byte? - { - bytes = sample & SQUELCHCNT; // And off the number of squelch bytes - slen -= bytes; // Decrement total samples remaining count. - - memset(dest, prev ^ 0x80, bytes); - dest += bytes; - } - else // Must be a delta modulate byte!! - { - int8_t *base; - - slen -= frame; // Pulling one frame out. - // Compute base address to multiplier table. - base = trans + (sample & MULTIPLIER) * 16; - switch (sample & DELTAMOD) // Delta mod resolution. - { - case ONEBIT: - { - int16_t up; - - up = base[8]; // Go up 1 bit. - for (bytes = frame / 8; bytes; bytes--) - { - uint8_t mask; - - sample = *source++; - for(mask = 0x80; mask; mask >>= 1) - { - if ( sample & mask ) - prev += up; - else - prev -= up; - if ( prev < 0 ) prev = 0; - else if ( prev > 255 ) prev = 255; - *dest++ = prev ^ 0x80; - } - } - break; - } - case TWOBIT: - base+=6; // Base address of two bit delta's. - for (bytes = frame / 4; bytes; bytes--) - { - sample = *source++; - - prev += base[sample>>6]; - if ( prev < 0 ) prev = 0; - else if ( prev > 255 ) prev = 255; - *dest++ = prev ^ 0x80; - - prev += base[(sample>>4)&0x3]; - if ( prev < 0 ) prev = 0; - else if ( prev > 255 ) prev = 255; - *dest++ = prev ^ 0x80; - - prev += base[(sample>>2)&0x3]; - if ( prev < 0 ) prev = 0; - else if ( prev > 255 ) prev = 255; - *dest++ = prev ^ 0x80; - - prev += base[sample&0x3]; - if ( prev < 0 ) prev = 0; - else if ( prev > 255 ) prev = 255; - *dest++ = prev ^ 0x80; - } - break; - case FOURBIT: - for (bytes = frame / 2; bytes; bytes--) - { - sample = *source++; - - prev += base[sample>>4]; - if ( prev < 0 ) prev = 0; - else if ( prev > 255 ) prev = 255; - *dest++ = prev ^ 0x80; - - prev += base[sample&0x0F]; - if ( prev < 0 ) prev = 0; - else if ( prev > 255 ) prev = 255; - *dest++ = prev ^ 0x80; - } - break; - } - } - // While still audio data to decompress.... - } - return result; -} - Deleted: trunk/tools/abx/abx2raw.h =================================================================== --- trunk/tools/abx/abx2raw.h 2011-04-27 08:44:39 UTC (rev 3595) +++ trunk/tools/abx/abx2raw.h 2011-05-04 20:19:27 UTC (rev 3596) @@ -1,27 +0,0 @@ -#include <stdint.h> - -struct abx_header { - uint16_t num_frames __attribute__ ((packed)); - uint32_t tot_size __attribute__ ((packed)); - uint16_t bufsize __attribute__ ((packed)); - uint16_t freq __attribute__ ((packed)); -}; - -struct frame_info { - uint32_t addr __attribute__ ((packed)); - uint16_t fsize __attribute__ ((packed)); // compressed file size - uint16_t usize __attribute__ ((packed)); // uncompressed file size -}; - -#define SQLCH 0x40 // Squelch byte flag -#define RESYNC 0x80 // Resync byte flag. - -#define DELTAMOD 0x30 // Delta modulation bits. - -#define ONEBIT 0x10 // One bit delta modulate -#define TWOBIT 0x20 // Two bit delta modulate -#define FOURBIT 0x30 // four bit delta modulate - -#define MULTIPLIER 0x0F // Bottom nibble contains multiplier value. -#define SQUELCHCNT 0x3F // Bits for squelching. - Copied: trunk/tools/abx/abx2wav.c (from rev 3588, trunk/tools/abx/abx2raw.c) =================================================================== --- trunk/tools/abx/abx2wav.c (rev 0) +++ trunk/tools/abx/abx2wav.c 2011-05-04 20:19:27 UTC (rev 3596) @@ -0,0 +1,90 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/* + * ABX to WAVE converter: By Serge van den Boom (sv...@st...) + * Modularized and wave output by Alex Volkov (co...@us...) + * + * So far, it ignores sample rates, so it will work ok as long as all + * the frames have the same frequency. This is probably + * enough for our purposes. + * + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "abx.h" +#include "wav.h" + +void convert_abx_to_wave(abx_File *abx, wave_File *wave); + +int +main(int argc, char *argv[]) { + wave_File wave; + abx_File abx; + + if (argc != 3) { + fprintf(stderr, "abx2wav <infile> <outfile>\n"); + return EXIT_FAILURE; + } + + if (!abx_open(&abx, argv[1])) { + perror("Could not open input file"); + return EXIT_FAILURE; + } + + if (!wave_create(&wave, argv[2])) { + perror("Could not open output file"); + return EXIT_FAILURE; + } + + convert_abx_to_wave(&abx, &wave); + + wave_close(&wave); + abx_close(&abx); + return EXIT_SUCCESS; +} + +void +convert_abx_to_wave(abx_File *abx, wave_File *wave) { + + uint32_t bufsize; + uint8_t *buf; + uint32_t bytes; + + wave_setFormat(wave, 1, 8, abx->freq); + + bufsize = abx_getMaxBuffer(abx); + buf = malloc(bufsize); + if (!buf) { + perror("alloc buffer"); + exit(EXIT_FAILURE); + } + + for (bytes = abx_readFrame(abx, buf, bufsize); bytes > 0; ) { + if (wave_writeData(wave, buf, bytes) != bytes) { + fprintf(stderr, "Cannot write wave: %s\n", strerror(wave->last_error)); + break; + } + bytes = abx_readFrame(abx, buf, bufsize); + } + if (bytes == 0 && abx->last_error != 0) + fprintf(stderr, "Cannot read abx: %s\n", strerror(abx->last_error)); + + free(buf); +} Added: trunk/tools/abx/abx2wav.dsp =================================================================== --- trunk/tools/abx/abx2wav.dsp (rev 0) +++ trunk/tools/abx/abx2wav.dsp 2011-05-04 20:19:27 UTC (rev 3596) @@ -0,0 +1,116 @@ +# Microsoft Developer Studio Project File - Name="abx2wav" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=abx2wav - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "abx2wav.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "abx2wav.mak" CFG="abx2wav - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "abx2wav - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "abx2wav - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "abx2wav - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 + +!ELSEIF "$(CFG)" == "abx2wav - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "abx2wav - Win32 Release" +# Name "abx2wav - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\abx.c +# End Source File +# Begin Source File + +SOURCE=.\abx.h +# End Source File +# Begin Source File + +SOURCE=.\abx2wav.c +# End Source File +# Begin Source File + +SOURCE=.\port.h +# End Source File +# Begin Source File + +SOURCE=.\wav.c +# End Source File +# Begin Source File + +SOURCE=.\wav.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project Property changes on: trunk/tools/abx/abx2wav.dsp ___________________________________________________________________ Added: svn:eol-style + CRLF Modified: trunk/tools/abx/abx2wav.sh =================================================================== --- trunk/tools/abx/abx2wav.sh 2011-04-27 08:44:39 UTC (rev 3595) +++ trunk/tools/abx/abx2wav.sh 2011-05-04 20:19:27 UTC (rev 3596) @@ -1,26 +1,23 @@ #!/bin/sh -ABX2RAW="./abx2raw" -SOX="sox" +ABX2WAV="./abx2wav" echo "Converting all abx files in the current directory to wav files." -echo "This script looks for abx2raw in the current dir. If it's somewhere" -echo "else, edit it to point the variable ABX2RAW to the correct location." -echo "The same goes for sox, which is expected somewhere in the path." +echo "This script looks for abx2wav in the current dir. If it's somewhere" +echo "else, edit it to point the variable ABX2WAV to the correct location." echo "It's just supposed to work once on a specific set of files, and hence" echo "is pretty fragile." -echo "It is assumed that all abx files have a sample rate of 11025." -echo "If this is not the case, files won't be converted correctly." -echo "The sample rate is reported, so you can see if it goes wrong." -echo "It's also possible that the sample rate changes within one .abx file." - +echo "It's possible that the sample rate changes within one .abx file, and" +echo "if so a warning will be printed" echo "Press ENTER when ready." read -for FILE in *.abx; do +for FILE in `find . -type f -name "*.[aA][bB][xX]"`; do echo "File $FILE" + # This is lame and does not handle "Abx", but I + # do not want to mess with it too much BASE="${FILE%%.abx}" - "$ABX2RAW" "$FILE" "${BASE}.raw" - "$SOX" -c 1 -r 11025 -b -s "${BASE}.raw" "${BASE}.wav" + BASE="${BASE%%.ABX}" + "$ABX2WAV" "$FILE" "${BASE}.wav" echo done Added: trunk/tools/abx/port.h =================================================================== --- trunk/tools/abx/port.h (rev 0) +++ trunk/tools/abx/port.h 2011-05-04 20:19:27 UTC (rev 3596) @@ -0,0 +1,40 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef PORT_H_INCL +#define PORT_H_INCL + +#ifdef _MSC_VER +// MSVC +# define inline __inline + +#else +// GCC, etc. +# define inline __inline__ + +#endif + +#ifndef __bool_true_false_are_defined +# undef bool +# undef false +# undef true +typedef unsigned char bool; +#define true 1 +#define false 0 +#define __bool_true_false_are_defined +#endif /* __bool_true_false_are_defined */ + +#endif /* PORT_H_INCL */ Property changes on: trunk/tools/abx/port.h ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/tools/abx/wav.c =================================================================== --- trunk/tools/abx/wav.c (rev 0) +++ trunk/tools/abx/wav.c 2011-05-04 20:19:27 UTC (rev 3596) @@ -0,0 +1,368 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/* Wave format encoder/decoder */ + +#include <stdio.h> +#include <memory.h> +#include <errno.h> + +#include "wav.h" + + +#define wave_FormatHeader_size 16 +#define wave_ChunkHeader_size 8 + + +static bool read_le_16 (FILE *fp, uint16_t *v) +{ + uint8_t buf[2]; + if (fread(buf, sizeof(buf), 1, fp) != 1) + return false; + *v = (buf[1] << 8) | buf[0]; + return true; +} + +static bool read_le_32 (FILE *fp, uint32_t *v) +{ + uint8_t buf[4]; + if (fread(buf, sizeof(buf), 1, fp) != 1) + return false; + *v = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0]; + return true; +} + +static bool write_le_16 (FILE *fp, uint16_t v) +{ + uint8_t buf[2]; + buf[0] = v; + buf[1] = v >> 8; + return fwrite(buf, sizeof(buf), 1, fp) == 1; +} + +static bool write_le_32 (FILE *fp, uint32_t v) +{ + uint8_t buf[4]; + buf[0] = v; + buf[1] = v >> 8; + buf[2] = v >> 16; + buf[3] = v >> 24; + return fwrite(buf, sizeof(buf), 1, fp) == 1; +} + +static bool wave_readFileHeader(wave_File *wave, wave_FileHeader *hdr) +{ + if (!read_le_32(wave->fp, &hdr->id) || + !read_le_32(wave->fp, &hdr->size) || + !read_le_32(wave->fp, &hdr->type)) + { + wave->last_error = errno; + return false; + } + return true; +} + +static bool wave_writeFileHeader(wave_File *wave, const wave_FileHeader *hdr) +{ + if (!write_le_32(wave->fp, hdr->id) || + !write_le_32(wave->fp, hdr->size) || + !write_le_32(wave->fp, hdr->type)) + { + wave->last_error = errno; + return false; + } + return true; +} + +static bool wave_readChunkHeader(wave_File *wave, wave_ChunkHeader *chunk) +{ + if (!read_le_32(wave->fp, &chunk->id) || + !read_le_32(wave->fp, &chunk->size)) + { + wave->last_error = errno; + return false; + } + return true; +} + +static bool wave_writeChunkHeader(wave_File *wave, const wave_ChunkHeader *chunk) +{ + if (!write_le_32(wave->fp, chunk->id) || + !write_le_32(wave->fp, chunk->size)) + { + wave->last_error = errno; + return false; + } + return true; +} + +static bool wave_readFormatHeader(wave_File *wave, wave_FormatHeader *fmt) +{ + if (!read_le_16(wave->fp, &fmt->format) || + !read_le_16(wave->fp, &fmt->channels) || + !read_le_32(wave->fp, &fmt->samplesPerSec) || + !read_le_32(wave->fp, &fmt->bytesPerSec) || + !read_le_16(wave->fp, &fmt->blockAlign) || + !read_le_16(wave->fp, &fmt->bitsPerSample)) + { + wave->last_error = errno; + return false; + } + return true; +} + +static bool wave_writeFormatHeader(wave_File *wave, const wave_FormatHeader *fmt) +{ + if (!write_le_16(wave->fp, fmt->format) || + !write_le_16(wave->fp, fmt->channels) || + !write_le_32(wave->fp, fmt->samplesPerSec) || + !write_le_32(wave->fp, fmt->bytesPerSec) || + !write_le_16(wave->fp, fmt->blockAlign) || + !write_le_16(wave->fp, fmt->bitsPerSample)) + { + wave->last_error = errno; + return false; + } + return true; +} + +bool wave_open(wave_File *wave, const char *filename) +{ + wave_FileHeader fileHdr; + wave_ChunkHeader chunkHdr; + long dataLeft; + + memset(wave, 0, sizeof(*wave)); + + wave->fp = fopen(filename, "rb"); + if (!wave->fp) + { + wave->last_error = errno; + return false; + } + + // read wave header + if (!wave_readFileHeader(wave, &fileHdr)) + { + wave->last_error = errno; + wave_close(wave); + return false; + } + if (fileHdr.id != wave_RiffID || fileHdr.type != wave_WaveID) + { + fprintf(stderr, "wave_open(): " + "not a wave file, ID 0x%08x, Type 0x%08x", + (unsigned)fileHdr.id, (unsigned)fileHdr.type); + wave_close(wave); + return false; + } + + for (dataLeft = ((fileHdr.size + 1) & ~1) - 4; dataLeft > 0; + dataLeft -= (((chunkHdr.size + 1) & ~1) + 8)) + { + if (!wave_readChunkHeader(wave, &chunkHdr)) + { + wave_close(wave); + return false; + } + + if (chunkHdr.id == wave_FmtID) + { + if (!wave_readFormatHeader(wave, &wave->fmtHdr)) + { + wave_close(wave); + return false; + } + fseek(wave->fp, chunkHdr.size - 16, SEEK_CUR); + } + else + { + if (chunkHdr.id == wave_DataID) + { + wave->data_size = chunkHdr.size; + wave->data_ofs = ftell(wave->fp); + } + fseek(wave->fp, chunkHdr.size, SEEK_CUR); + } + + // 2-align the file ptr + // XXX: I do not think this is necessary in WAVE files; + // possibly a remnant of ported AIFF reader + fseek(wave->fp, chunkHdr.size & 1, SEEK_CUR); + } + + if (!wave->data_size || !wave->data_ofs) + { + fprintf(stderr, "wave_open(): bad wave file," + " no DATA chunk found"); + wave_close(wave); + return false; + } + + if (wave->fmtHdr.format != WAVE_FORMAT_PCM) + { // not a PCM format + fprintf(stderr, "wave_open(): unsupported format %x", + wave->fmtHdr.format); + wave_close(wave); + return false; + } + if (wave->fmtHdr.channels != 1 && wave->fmtHdr.channels != 2) + { + fprintf(stderr, "wave_open(): unsupported number of channels %u", + (unsigned)wave->fmtHdr.channels); + wave_close(wave); + return false; + } + + if (dataLeft != 0) + { + fprintf(stderr, "wave_open(): bad or unsupported wave file, " + "size in header does not match read chunks"); + } +#if 0 + wave->format = (wave->fmtHdr.channels == 1 ? + (wave->fmtHdr.bitsPerSample == 8 ? + wava_formats->mono8 : wava_formats->mono16) + : + (wave->fmtHdr.bitsPerSample == 8 ? + wava_formats->stereo8 : wava_formats->stereo16) + ); + wave->frequency = wave->fmtHdr.samplesPerSec; +#endif + + fseek(wave->fp, wave->data_ofs, SEEK_SET); + wave->max_pcm = wave->data_size / wave->fmtHdr.blockAlign; + wave->cur_pcm = 0; +#if 0 + wave->length = (float) wave->max_pcm / wave->fmtHdr.samplesPerSec; +#endif + wave->last_error = 0; + + return true; +} + +static bool wave_writeHeaders(wave_File *wave) +{ + wave_FileHeader fileHdr; + wave_ChunkHeader chunkHdr; + + fileHdr.id = wave_RiffID; + fileHdr.size = 4 + wave_ChunkHeader_size + wave_FormatHeader_size + + wave_ChunkHeader_size + wave->data_size; + fileHdr.type = wave_WaveID; + if (!wave_writeFileHeader(wave, &fileHdr)) + return false; + + chunkHdr.id = wave_FmtID; + chunkHdr.size = wave_FormatHeader_size; + if (!wave_writeChunkHeader(wave, &chunkHdr) || + !wave_writeFormatHeader(wave, &wave->fmtHdr)) + return false; + + chunkHdr.id = wave_DataID; + chunkHdr.size = wave->data_size; + if (!wave_writeChunkHeader(wave, &chunkHdr)) + return false; + + return true; +} + +bool wave_create(wave_File *wave, const char *filename) +{ + memset(wave, 0, sizeof(*wave)); + + wave->fp = fopen(filename, "wb"); + if (!wave->fp) + { + wave->last_error = errno; + return false; + } + + wave->fmtHdr.format = WAVE_FORMAT_PCM; + if (!wave_writeHeaders(wave)) + { + wave->last_error = errno; + return false; + } + + wave->data_ofs = ftell(wave->fp); + wave->writing = true; + return true; +} + +static bool wave_flushHeaders(wave_File *wave) +{ + wave->data_size = wave->max_pcm * wave->fmtHdr.blockAlign; + fseek(wave->fp, 0, SEEK_SET); + if (!wave_writeHeaders(wave)) + { + wave->last_error = errno; + return false; + } + return true; +} + +void wave_close(wave_File *wave) +{ + if (wave->fp) + { + if (wave->writing) + wave_flushHeaders(wave); + + fclose(wave->fp); + } + memset(wave, 0, sizeof(*wave)); +} + +bool wave_setFormat(wave_File *wave, uint16_t chans, uint16_t bitsPerSample, + uint32_t freq) +{ + wave->fmtHdr.format = WAVE_FORMAT_PCM; + wave->fmtHdr.channels = chans; + wave->fmtHdr.bitsPerSample = bitsPerSample; + wave->fmtHdr.samplesPerSec = freq; + wave->fmtHdr.blockAlign = (bitsPerSample / 8) * chans; + wave->fmtHdr.bytesPerSec = wave->fmtHdr.blockAlign * freq; + return true; +} + +uint32_t wave_readData(wave_File *wave, void *buf, uint32_t bufsize) +{ + uint32_t pcm; + + pcm = bufsize / wave->fmtHdr.blockAlign; + if (pcm > wave->max_pcm - wave->cur_pcm) + pcm = wave->max_pcm - wave->cur_pcm; + + pcm = fread(buf, wave->fmtHdr.blockAlign, pcm, wave->fp); + wave->cur_pcm += pcm; + + return pcm * wave->fmtHdr.blockAlign; +} + +uint32_t wave_writeData(wave_File *wave, void *buf, uint32_t bufsize) +{ + uint32_t pcm; + + pcm = bufsize / wave->fmtHdr.blockAlign; + + pcm = fwrite(buf, wave->fmtHdr.blockAlign, pcm, wave->fp); + wave->cur_pcm += pcm; + wave->max_pcm = wave->cur_pcm; + wave->data_size += pcm * wave->fmtHdr.blockAlign; + + return pcm * wave->fmtHdr.blockAlign; +} Property changes on: trunk/tools/abx/wav.c ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/tools/abx/wav.h =================================================================== --- trunk/tools/abx/wav.h (rev 0) +++ trunk/tools/abx/wav.h 2011-05-04 20:19:27 UTC (rev 3596) @@ -0,0 +1,81 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/* Wave format encoder/decoder */ + +#ifndef WAV_H_INCL +#define WAV_H_INCL + +#include <stdint.h> +#include "port.h" + +#define wave_MAKE_ID(x1, x2, x3, x4) \ + (((x4) << 24) | ((x3) << 16) | ((x2) << 8) | (x1)) + +#define wave_RiffID wave_MAKE_ID('R', 'I', 'F', 'F') +#define wave_WaveID wave_MAKE_ID('W', 'A', 'V', 'E') +#define wave_FmtID wave_MAKE_ID('f', 'm', 't', ' ') +#define wave_DataID wave_MAKE_ID('d', 'a', 't', 'a') + +typedef struct +{ + uint32_t id; + uint32_t size; + uint32_t type; +} wave_FileHeader; + +typedef struct +{ + uint16_t format; + uint16_t channels; + uint32_t samplesPerSec; + uint32_t bytesPerSec; + uint16_t blockAlign; + uint16_t bitsPerSample; +} wave_FormatHeader; + +#define WAVE_FORMAT_PCM 1 + +typedef struct +{ + uint32_t id; + uint32_t size; +} wave_ChunkHeader; + +typedef struct +{ + // read-only + wave_FormatHeader fmtHdr; + int last_error; + + // internal + bool writing; + FILE *fp; + uint32_t data_ofs; + uint32_t data_size; + uint32_t max_pcm; + uint32_t cur_pcm; +} wave_File; + +bool wave_open(wave_File *wave, const char *filename); +bool wave_create(wave_File *wave, const char *filename); +void wave_close(wave_File *wave); +bool wave_setFormat(wave_File *wave, uint16_t chans, uint16_t bitsPerSample, + uint32_t freq); +uint32_t wave_readData(wave_File *wave, void *buf, uint32_t bufsize); +uint32_t wave_writeData(wave_File *wave, void *buf, uint32_t bufsize); + +#endif /* WAV_H_INCL */ Property changes on: trunk/tools/abx/wav.h ___________________________________________________________________ Added: svn:eol-style + native Copied: trunk/tools/abx/wav2abx.c (from rev 3588, trunk/tools/abx/abx2raw.c) =================================================================== --- trunk/tools/abx/wav2abx.c (rev 0) +++ trunk/tools/abx/wav2abx.c 2011-05-04 20:19:27 UTC (rev 3596) @@ -0,0 +1,123 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/* + * WAVE to ABX: By Serge van den Boom (sv...@st...) and + * Alex Volkov (co...@us...) + * + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "abx.h" +#include "wav.h" + +#define BUFFER_SIZE 0x1000 + +void convert_wave_to_abx(wave_File *wave, abx_File *abx); + +int +main(int argc, char *argv[]) { + wave_File wave; + abx_File abx; + + if (argc != 3) { + fprintf(stderr, "wav2abx <infile> <outfile>\n"); + return EXIT_FAILURE; + } + + if (!wave_open(&wave, argv[1])) { + perror("Could not open input file"); + return EXIT_FAILURE; + } + if (wave.fmtHdr.channels != 1) { + fprintf(stderr, "Unsupported number of channels %u\n", + (unsigned)wave.fmtHdr.channels); + return EXIT_FAILURE; + } + if (wave.fmtHdr.bitsPerSample != 8 && wave.fmtHdr.bitsPerSample != 16) { + fprintf(stderr, "Unsuppor... [truncated message content] |
From: <av...@us...> - 2011-04-27 08:44:45
|
Revision: 3595 http://sc2.svn.sourceforge.net/sc2/?rev=3595&view=rev Author: avolkov Date: 2011-04-27 08:44:39 +0000 (Wed, 27 Apr 2011) Log Message: ----------- Prevent unnecessary 'Trying to get null resource' console warnings while loading ship data; bug #1123 Modified Paths: -------------- trunk/sc2/src/uqm/loadship.c Modified: trunk/sc2/src/uqm/loadship.c =================================================================== --- trunk/sc2/src/uqm/loadship.c 2011-04-27 08:12:49 UTC (rev 3594) +++ trunk/sc2/src/uqm/loadship.c 2011-04-27 08:44:39 UTC (rev 3595) @@ -71,25 +71,34 @@ goto BadLoad; RDPtr->CodeRef = CodeRef; - RDPtr->ship_info.icons = CaptureDrawable (LoadGraphic ( - RDPtr->ship_info.icons_rsc)); - if (!RDPtr->ship_info.icons) + if (RDPtr->ship_info.icons_rsc != NULL_RESOURCE) { - /* goto BadLoad */ + RDPtr->ship_info.icons = CaptureDrawable (LoadGraphic ( + RDPtr->ship_info.icons_rsc)); + if (!RDPtr->ship_info.icons) + { + /* goto BadLoad */ + } } - - RDPtr->ship_info.melee_icon = CaptureDrawable (LoadGraphic ( - RDPtr->ship_info.melee_icon_rsc)); - if (!RDPtr->ship_info.melee_icon) + + if (RDPtr->ship_info.melee_icon_rsc != NULL_RESOURCE) { - /* goto BadLoad */ + RDPtr->ship_info.melee_icon = CaptureDrawable (LoadGraphic ( + RDPtr->ship_info.melee_icon_rsc)); + if (!RDPtr->ship_info.melee_icon) + { + /* goto BadLoad */ + } } - RDPtr->ship_info.race_strings = CaptureStringTable (LoadStringTable ( - RDPtr->ship_info.race_strings_rsc)); - if (!RDPtr->ship_info.race_strings) + if (RDPtr->ship_info.race_strings_rsc != NULL_RESOURCE) { - /* goto BadLoad */ + RDPtr->ship_info.race_strings = CaptureStringTable (LoadStringTable ( + RDPtr->ship_info.race_strings_rsc)); + if (!RDPtr->ship_info.race_strings) + { + /* goto BadLoad */ + } } if (LoadBattleData) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-04-27 08:12:55
|
Revision: 3594 http://sc2.svn.sourceforge.net/sc2/?rev=3594&view=rev Author: avolkov Date: 2011-04-27 08:12:49 +0000 (Wed, 27 Apr 2011) Log Message: ----------- Unused function Logo() removed. We've never had a pre-splash logo and probably never will Modified Paths: -------------- trunk/sc2/src/uqm/fmv.c trunk/sc2/src/uqm/fmv.h trunk/sc2/src/uqm/starcon.c Modified: trunk/sc2/src/uqm/fmv.c =================================================================== --- trunk/sc2/src/uqm/fmv.c 2011-04-27 08:01:47 UTC (rev 3593) +++ trunk/sc2/src/uqm/fmv.c 2011-04-27 08:12:49 UTC (rev 3594) @@ -132,12 +132,5 @@ FadeScreen (FadeAllToBlack, 0); } -void -Logo (void) -{ - ShowPresentation ("slides.logo"); -} - - Modified: trunk/sc2/src/uqm/fmv.h =================================================================== --- trunk/sc2/src/uqm/fmv.h 2011-04-27 08:01:47 UTC (rev 3593) +++ trunk/sc2/src/uqm/fmv.h 2011-04-27 08:12:49 UTC (rev 3594) @@ -22,7 +22,6 @@ #include "libs/gfxlib.h" #define WANT_SHIP_SPINS -extern void Logo (void); extern void SplashScreen (void (* DoProcessing)(DWORD TimeOut)); extern void Introduction (void); extern void Victory (void); Modified: trunk/sc2/src/uqm/starcon.c =================================================================== --- trunk/sc2/src/uqm/starcon.c 2011-04-27 08:01:47 UTC (rev 3593) +++ trunk/sc2/src/uqm/starcon.c 2011-04-27 08:12:49 UTC (rev 3594) @@ -187,8 +187,6 @@ } log_add (log_Info, "We've loaded the Kernel"); - Logo (); - GLOBAL (CurrentActivity) = 0; // show splash and init the kernel in the meantime SplashScreen (BackgroundInitKernel); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-04-27 08:01:53
|
Revision: 3593 http://sc2.svn.sourceforge.net/sc2/?rev=3593&view=rev Author: avolkov Date: 2011-04-27 08:01:47 +0000 (Wed, 27 Apr 2011) Log Message: ----------- Disable the Talking Pet exchanges regarding the Taalo shield which make no sense when the player has none; bug #822 Modified Paths: -------------- trunk/sc2/src/uqm/comm/talkpet/talkpet.c Modified: trunk/sc2/src/uqm/comm/talkpet/talkpet.c =================================================================== --- trunk/sc2/src/uqm/comm/talkpet/talkpet.c 2011-04-26 06:06:25 UTC (rev 3592) +++ trunk/sc2/src/uqm/comm/talkpet/talkpet.c 2011-04-27 08:01:47 UTC (rev 3593) @@ -697,6 +697,14 @@ else if (GET_GAME_STATE (TALKING_PET_ON_SHIP)) { NumVisits = GET_GAME_STATE (TALKING_PET_VISITS); + + // You can acquire the Talking Pet without having Taalo Shield after + // the Kohr-Ah wipe out the Umgah. In that case, the Pet will join + // you willingly, but his complaints about the Taalo shield as in + // HELLO_AS_DEVICE_1 do not make any sense. + if (!GET_GAME_STATE (TAALO_PROTECTOR_ON_SHIP) && NumVisits == 0) + ++NumVisits; // skip HELLO_AS_DEVICE_1 + switch (NumVisits++) { case 0: @@ -773,10 +781,22 @@ else { if (ActivateStarShip (UMGAH_SHIP, SPHERE_TRACKING)) + { NPCPhrase (LETS_MAKE_A_DEAL); + } else + { NPCPhrase (UMGAH_ALL_GONE); + if (GET_GAME_STATE (TALKING_PET_HOME_VISITS) == 0 + || !GET_GAME_STATE (TAALO_PROTECTOR_ON_SHIP)) + { // The how_trust-TRUST exchange only makes sense when the + // player visited the Talking Pet before so he tried to + // kill the player *and* the player has the Taalo shield. + DISABLE_PHRASE (how_trust); + } + } + PetDeal ((RESPONSE_REF)0); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-04-26 06:06:31
|
Revision: 3592 http://sc2.svn.sourceforge.net/sc2/?rev=3592&view=rev Author: avolkov Date: 2011-04-26 06:06:25 +0000 (Tue, 26 Apr 2011) Log Message: ----------- Added text stub for the missing discovery report of Ultron in Supox ruins Modified Paths: -------------- trunk/sc2/content/uqm.rmp trunk/sc2/src/uqm/istrtab.h trunk/sc2/src/uqm/planets/generate/gensup.c trunk/tools/resmap/resources.csv Added Paths: ----------- trunk/sc2/content/base/lander/energy/ultron.txt Added: trunk/sc2/content/base/lander/energy/ultron.txt =================================================================== --- trunk/sc2/content/base/lander/energy/ultron.txt (rev 0) +++ trunk/sc2/content/base/lander/energy/ultron.txt 2011-04-26 06:06:25 UTC (rev 3592) @@ -0,0 +1,16 @@ +#(ULTRON 1) + ---- REPORT FROM SURFACE ---- + +THE ORBITAL BOMBARDMENT WAS RATHER COMPLETE HERE, CAPTAIN. NOT MUCH HAS SURVIVED OF THE SUPOX CIVILIZATION. + +LUCKILY, WHILE DIGGING IN A RANDOM PILE OF FERTILIZER, ENSIGN MARTIN FOUND A CRATE CONTAINING A STRANGE DEVICE. THE SHIPPING MANIFEST STATES THIS 'ULTRON' WAS RECEIVED FROM A NEARBY RACE IN THE AQUARII CLUSTER. THE DEVICE APPEARS TO BE BROKEN AND MISSING SOME PARTS, BUT MAYBE THE TECHS BACK AT THE BASE CAN TAKE A WHACK AT IT. + +WE ARE RETURNING TO THE SHIP WITH THE DEVICE. + + ---- END OF REPORT ---- +#(ULTRON 2) + ---- REPORT FROM SURFACE ---- + +CAPTAIN, WE HAVE DUG THROUGH THE MANURE-ENCRUSTED SUPOX RUINS ONCE AGAIN, BROKEN THREE SHOVELS, AND FOUND NOTHING MORE OF VALUE. + + ---- END OF REPORT ---- Property changes on: trunk/sc2/content/base/lander/energy/ultron.txt ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/sc2/content/uqm.rmp =================================================================== --- trunk/sc2/content/uqm.rmp 2011-04-26 05:09:51 UTC (rev 3591) +++ trunk/sc2/content/uqm.rmp 2011-04-26 06:06:25 UTC (rev 3592) @@ -956,6 +956,7 @@ text.sundevice = STRTAB:base/lander/energy/sundevice.txt text.syreenvault = STRTAB:base/lander/energy/syreenvault.txt text.taalodevice = STRTAB:base/lander/energy/taalodevice.txt +text.ultron = STRTAB:base/lander/energy/ultron.txt text.umgahcaster = STRTAB:base/lander/energy/umgahcaster.txt text.urquanwreck = STRTAB:base/lander/energy/urquanwreck.txt text.utwigbomb = STRTAB:base/lander/energy/utwigbomb.txt Modified: trunk/sc2/src/uqm/istrtab.h =================================================================== --- trunk/sc2/src/uqm/istrtab.h 2011-04-26 05:09:51 UTC (rev 3591) +++ trunk/sc2/src/uqm/istrtab.h 2011-04-26 06:06:25 UTC (rev 3592) @@ -125,6 +125,7 @@ #define SUN_DEVICE_STRTAB "text.sundevice" #define SUPER_DENSE_COLOR_TAB "planet.superdense.colortable" #define SUPER_DENSE_XLAT_TAB "planet.superdense.translatetable" +#define SUPOX_RUINS_STRTAB "text.ultron" #define TAALO_DEVICE_STRTAB "text.taalodevice" #define TELLURIC_COLOR_TAB "planet.telluric.colortable" #define TELLURIC_XLAT_TAB "planet.telluric.translatetable" Modified: trunk/sc2/src/uqm/planets/generate/gensup.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/gensup.c 2011-04-26 05:09:51 UTC (rev 3591) +++ trunk/sc2/src/uqm/planets/generate/gensup.c 2011-04-26 06:06:25 UTC (rev 3592) @@ -107,7 +107,7 @@ solarSys->PlanetSideFrame[1] = CaptureDrawable (LoadGraphic (RUINS_MASK_PMAP_ANIM)); solarSys->SysInfo.PlanetInfo.DiscoveryString = - CaptureStringTable (LoadStringTable (RUINS_STRTAB)); + CaptureStringTable (LoadStringTable (SUPOX_RUINS_STRTAB)); if (GET_GAME_STATE (ULTRON_CONDITION)) { // Already picked up the Ultron, skip the report solarSys->SysInfo.PlanetInfo.DiscoveryString = Modified: trunk/tools/resmap/resources.csv =================================================================== --- trunk/tools/resmap/resources.csv 2011-04-26 05:09:51 UTC (rev 3591) +++ trunk/tools/resmap/resources.csv 2011-04-26 06:06:25 UTC (rev 3592) @@ -162,6 +162,7 @@ ANDROSYNTH_RUINS_STRTAB,text.androsynthruins,uqm/istrtab.h,STRTAB,base/lander/energy/androsynth_ruins.txt DRUUGE_RUINS_STRTAB,text.sphere,uqm/istrtab.h,STRTAB,base/lander/energy/sphere.txt PKUNK_RUINS_STRTAB,text.spindle,uqm/istrtab.h,STRTAB,base/lander/energy/spindle.txt +SUPOX_RUINS_STRTAB,text.ultron,uqm/istrtab.h,STRTAB,base/lander/energy/ultron.txt RUINS_STRTAB,text.ruins,uqm/istrtab.h,STRTAB,base/lander/energy/ruins.txt UMGAH_BCS_STRTAB,text.umgahcaster,uqm/istrtab.h,STRTAB,base/lander/energy/umgahcaster.txt IPSUN_COLOR_MAP,colortable.truespace,uqm/istrtab.h,BINTAB,base/nav/truespace.ct This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-04-26 05:09:59
|
Revision: 3591 http://sc2.svn.sourceforge.net/sc2/?rev=3591&view=rev Author: avolkov Date: 2011-04-26 05:09:51 +0000 (Tue, 26 Apr 2011) Log Message: ----------- Updated master resource index to reflect the current state of affairs. People should really go through this index instead of editing resource includes manually Modified Paths: -------------- trunk/tools/resmap/resources.csv Modified: trunk/tools/resmap/resources.csv =================================================================== --- trunk/tools/resmap/resources.csv 2011-04-26 04:26:05 UTC (rev 3590) +++ trunk/tools/resmap/resources.csv 2011-04-26 05:09:51 UTC (rev 3591) @@ -1,971 +1,971 @@ -HYPERSPACE_MUSIC,music.hyperspace,sc2code/imusicre.h,MUSICRES,base/nav/hyper.mod -QUASISPACE_MUSIC,music.quasispace,sc2code/imusicre.h,MUSICRES,base/nav/quasispace.mod -IP_MUSIC,music.space,sc2code/imusicre.h,MUSICRES,base/nav/space.mod -ORBIT1_MUSIC,music.orbit1,sc2code/imusicre.h,MUSICRES,base/nav/orbit.mod -ORBIT2_MUSIC,music.orbit2,sc2code/imusicre.h,MUSICRES,base/nav/orbit.mod -ORBIT3_MUSIC,music.orbit3,sc2code/imusicre.h,MUSICRES,base/nav/orbit.mod -ORBIT4_MUSIC,music.orbit4,sc2code/imusicre.h,MUSICRES,base/nav/orbit.mod -ORBIT5_MUSIC,music.orbit5,sc2code/imusicre.h,MUSICRES,base/nav/orbit.mod -REDALERT_MUSIC,music.redalert,sc2code/imusicre.h,MUSICRES,base/ui/redalert.mod -OUTFIT_MUSIC,music.outfit,sc2code/imusicre.h,MUSICRES,base/ui/outfit.mod -SHIPYARD_MUSIC,music.shipyard,sc2code/imusicre.h,MUSICRES,base/ui/shipyard.mod -STARBASE_MUSIC,music.starbase,sc2code/imusicre.h,MUSICRES,base/ui/starbase.mod -BATTLE_MUSIC,music.battle,sc2code/imusicre.h,MUSICRES,base/battle/battle.mod -CREDITS_MUSIC,music.credits,sc2code/imusicre.h,--,-- -MELEE_MUSIC,music.meleemenu,sc2code/imusicre.h,--,-- -MAINMENU_MUSIC,music.mainmenu,sc2code/imusicre.h,--,-- -STARCON_FONT,font.starcon,sc2code/ifontres.h,FONTRES,base/fonts/starcon.fon -TINY_FONT,font.tiny,sc2code/ifontres.h,FONTRES,base/fonts/tiny.fon -MICRO_FONT,font.micro,sc2code/ifontres.h,FONTRES,base/fonts/micro.fon -LANDER_FONT,font.lander,sc2code/ifontres.h,FONTRES,base/fonts/lander.fon -PLAYER_FONT,font.player,sc2code/ifontres.h,FONTRES,base/fonts/player.fon -PT13AA_FONT,credits.font.pt13,sc2code/ifontres.h,FONTRES,base/fonts/pt13.fon -PT17AA_FONT,credits.font.pt17,sc2code/ifontres.h,FONTRES,base/fonts/pt17.fon -PT45AA_FONT,credits.font.pt45,sc2code/ifontres.h,FONTRES,base/fonts/pt45.fon -STARCON_COLOR_MAP,colortable.main,sc2code/istrtab.h,BINTAB,base/uqm.ct -STARCON_GAME_STRINGS,text.starcon,sc2code/istrtab.h,STRTAB,base/gamestrings.txt -HYPER_COLOR_TAB,colortable.hyperspace,sc2code/istrtab.h,BINTAB,base/nav/hyperspace.ct -ARISPACE_COLOR_TAB,colortable.quasispace,sc2code/istrtab.h,BINTAB,base/nav/quasispace.ct -ORBPLAN_COLOR_MAP,colortable.orbplan,sc2code/istrtab.h,BINTAB,base/lander/orbit.ct -OOLITE_COLOR_TAB,planet.oolite.colortable,sc2code/istrtab.h,BINTAB,base/planets/oolite.ct -OOLITE_XLAT_TAB,planet.oolite.translatetable,sc2code/istrtab.h,BINTAB,base/planets/oolite.xlt -YTTRIC_COLOR_TAB,planet.yttric.colortable,sc2code/istrtab.h,BINTAB,base/planets/vinyl.ct -YTTRIC_XLAT_TAB,planet.yttric.translatetable,sc2code/istrtab.h,BINTAB,base/planets/rusted.xlt -QUASI_DEGENERATE_COLOR_TAB,planet.quasidegenerate.colortable,sc2code/istrtab.h,BINTAB,base/planets/primordial.ct -QUASI_DEGENERATE_XLAT_TAB,planet.quasidegenerate.translatetable,sc2code/istrtab.h,BINTAB,base/planets/banded.xlt -LANTHANIDE_COLOR_TAB,planet.lanthanide.colortable,sc2code/istrtab.h,BINTAB,base/planets/yellow.ct -LANTHANIDE_XLAT_TAB,planet.lanthanide.translatetable,sc2code/istrtab.h,BINTAB,base/planets/rusted.xlt -TREASURE_COLOR_TAB,planet.treasure.colortable,sc2code/istrtab.h,BINTAB,base/planets/treasure.ct -TREASURE_XLAT_TAB,planet.treasure.translatetable,sc2code/istrtab.h,BINTAB,base/planets/banded.xlt -UREA_COLOR_TAB,planet.urea.colortable,sc2code/istrtab.h,BINTAB,base/planets/yellow.ct -UREA_XLAT_TAB,planet.urea.translatetable,sc2code/istrtab.h,BINTAB,base/planets/dented.xlt -METAL_COLOR_TAB,planet.metal.colortable,sc2code/istrtab.h,BINTAB,base/planets/metal.ct -METAL_XLAT_TAB,planet.metal.translatetable,sc2code/istrtab.h,BINTAB,base/planets/metal.xlt -RADIOACTIVE_COLOR_TAB,planet.radioactive.colortable,sc2code/istrtab.h,BINTAB,base/planets/orange.ct -RADIOACTIVE_XLAT_TAB,planet.radioactive.translatetable,sc2code/istrtab.h,BINTAB,base/planets/rusted.xlt -OPALESCENT_COLOR_TAB,planet.opalescent.colortable,sc2code/istrtab.h,BINTAB,base/planets/opalescent.ct -OPALESCENT_XLAT_TAB,planet.opalescent.translatetable,sc2code/istrtab.h,BINTAB,base/planets/ice.xlt -CYANIC_COLOR_TAB,planet.cyanic.colortable,sc2code/istrtab.h,BINTAB,base/planets/copper.ct -CYANIC_XLAT_TAB,planet.cyanic.translatetable,sc2code/istrtab.h,BINTAB,base/planets/banded.xlt -ACID_COLOR_TAB,planet.acid.colortable,sc2code/istrtab.h,BINTAB,base/planets/rusted.ct -ACID_XLAT_TAB,planet.acid.translatetable,sc2code/istrtab.h,BINTAB,base/planets/rusted.xlt -ALKALI_COLOR_TAB,planet.alkali.colortable,sc2code/istrtab.h,BINTAB,base/planets/banded.ct -ALKALI_XLAT_TAB,planet.alkali.translatetable,sc2code/istrtab.h,BINTAB,base/planets/rusted.xlt -HALIDE_COLOR_TAB,planet.halide.colortable,sc2code/istrtab.h,BINTAB,base/planets/redux.ct -HALIDE_XLAT_TAB,planet.halide.translatetable,sc2code/istrtab.h,BINTAB,base/planets/rusted.xlt -GREEN_COLOR_TAB,planet.green.colortable,sc2code/istrtab.h,BINTAB,base/planets/green.ct -GREEN_XLAT_TAB,planet.green.translatetable,sc2code/istrtab.h,BINTAB,base/planets/dented.xlt -COPPER_COLOR_TAB,planet.copper.colortable,sc2code/istrtab.h,BINTAB,base/planets/copper.ct -COPPER_XLAT_TAB,planet.copper.translatetable,sc2code/istrtab.h,BINTAB,base/planets/banded.xlt -CARBIDE_COLOR_TAB,planet.carbide.colortable,sc2code/istrtab.h,BINTAB,base/planets/orange.ct -CARBIDE_XLAT_TAB,planet.carbide.translatetable,sc2code/istrtab.h,BINTAB,base/planets/ice.xlt -ULTRAMARINE_COLOR_TAB,planet.ultramarine.colortable,sc2code/istrtab.h,BINTAB,base/planets/ultramarine.ct -ULTRAMARINE_XLAT_TAB,planet.ultramarine.translatetable,sc2code/istrtab.h,BINTAB,base/planets/dented.xlt -NOBLE_COLOR_TAB,planet.noble.colortable,sc2code/istrtab.h,BINTAB,base/planets/noble.ct -NOBLE_XLAT_TAB,planet.noble.translatetable,sc2code/istrtab.h,BINTAB,base/planets/rusted.xlt -AZURE_COLOR_TAB,planet.azure.colortable,sc2code/istrtab.h,BINTAB,base/planets/azure.ct -AZURE_XLAT_TAB,planet.azure.translatetable,sc2code/istrtab.h,BINTAB,base/planets/dented.xlt -CHONDRITE_COLOR_TAB,planet.chondrite.colortable,sc2code/istrtab.h,BINTAB,base/planets/chrondrite.ct -CHONDRITE_XLAT_TAB,planet.chondrite.translatetable,sc2code/istrtab.h,BINTAB,base/planets/chondrite.xlt -PURPLE_COLOR_TAB,planet.purple.colortable,sc2code/istrtab.h,BINTAB,base/planets/purple.ct -PURPLE_XLAT_TAB,planet.purple.translatetable,sc2code/istrtab.h,BINTAB,base/planets/dented.xlt -SUPER_DENSE_COLOR_TAB,planet.superdense.colortable,sc2code/istrtab.h,BINTAB,base/planets/superdense.ct -SUPER_DENSE_XLAT_TAB,planet.superdense.translatetable,sc2code/istrtab.h,BINTAB,base/planets/banded.xlt -PELLUCID_COLOR_TAB,planet.pellucid.colortable,sc2code/istrtab.h,BINTAB,base/planets/pellucid.ct -PELLUCID_XLAT_TAB,planet.pellucid.translatetable,sc2code/istrtab.h,BINTAB,base/planets/ice.xlt -DUST_COLOR_TAB,planet.dust.colortable,sc2code/istrtab.h,BINTAB,base/planets/dust.ct -DUST_XLAT_TAB,planet.dust.translatetable,sc2code/istrtab.h,BINTAB,base/planets/rusted.xlt -CRIMSON_COLOR_TAB,planet.crimson.colortable,sc2code/istrtab.h,BINTAB,base/planets/dust.ct -CRIMSON_XLAT_TAB,planet.crimson.translatetable,sc2code/istrtab.h,BINTAB,base/planets/dented.xlt -CIMMERIAN_COLOR_TAB,planet.cimmerian.colortable,sc2code/istrtab.h,BINTAB,base/planets/cimmerian.ct -CIMMERIAN_XLAT_TAB,planet.cimmerian.translatetable,sc2code/istrtab.h,BINTAB,base/planets/banded.xlt -INFRARED_COLOR_TAB,planet.infrared.colortable,sc2code/istrtab.h,BINTAB,base/planets/dust.ct -INFRARED_XLAT_TAB,planet.infrared.translatetable,sc2code/istrtab.h,BINTAB,base/planets/ice.xlt -SELENIC_COLOR_TAB,planet.selenic.colortable,sc2code/istrtab.h,BINTAB,base/planets/selenic.ct -SELENIC_XLAT_TAB,planet.selenic.translatetable,sc2code/istrtab.h,BINTAB,base/planets/dented.xlt -AURIC_COLOR_TAB,planet.auric.colortable,sc2code/istrtab.h,BINTAB,base/planets/yellow.ct -AURIC_XLAT_TAB,planet.auric.translatetable,sc2code/istrtab.h,BINTAB,base/planets/banded.xlt -FLUORESCENT_COLOR_TAB,planet.fluorescent.colortable,sc2code/istrtab.h,BINTAB,base/planets/purple.ct -FLUORESCENT_XLAT_TAB,planet.fluorescent.translatetable,sc2code/istrtab.h,BINTAB,base/planets/ice.xlt -ULTRAVIOLET_COLOR_TAB,planet.ultraviolet.colortable,sc2code/istrtab.h,BINTAB,base/planets/purple.ct -ULTRAVIOLET_XLAT_TAB,planet.ultraviolet.translatetable,sc2code/istrtab.h,BINTAB,base/planets/rusted.xlt -PLUTONIC_COLOR_TAB,planet.plutonic.colortable,sc2code/istrtab.h,BINTAB,base/planets/plutonic.ct -PLUTONIC_XLAT_TAB,planet.plutonic.translatetable,sc2code/istrtab.h,BINTAB,base/planets/rusted.xlt -RAINBOW_COLOR_TAB,planet.rainbow.colortable,sc2code/istrtab.h,BINTAB,base/planets/rainbow.ct -RAINBOW_XLAT_TAB,planet.rainbow.translatetable,sc2code/istrtab.h,BINTAB,base/planets/rainbow.xlt -SHATTERED_COLOR_TAB,planet.shattered.colortable,sc2code/istrtab.h,BINTAB,base/planets/shattered.ct -SHATTERED_XLAT_TAB,planet.shattered.translatetable,sc2code/istrtab.h,BINTAB,base/planets/shattered.xlt -SAPPHIRE_COLOR_TAB,planet.sapphire.colortable,sc2code/istrtab.h,BINTAB,base/planets/sapphire.ct -SAPPHIRE_XLAT_TAB,planet.sapphire.translatetable,sc2code/istrtab.h,BINTAB,base/planets/crystal.xlt -ORGANIC_COLOR_TAB,planet.organic.colortable,sc2code/istrtab.h,BINTAB,base/planets/banded.ct -ORGANIC_XLAT_TAB,planet.organic.translatetable,sc2code/istrtab.h,BINTAB,base/planets/banded.xlt -XENOLITHIC_COLOR_TAB,planet.xenolithic.colortable,sc2code/istrtab.h,BINTAB,base/planets/xenolithic.ct -XENOLITHIC_XLAT_TAB,planet.xenolithic.translatetable,sc2code/istrtab.h,BINTAB,base/planets/ice.xlt -REDUX_COLOR_TAB,planet.redux.colortable,sc2code/istrtab.h,BINTAB,base/planets/redux.ct -REDUX_XLAT_TAB,planet.redux.translatetable,sc2code/istrtab.h,BINTAB,base/planets/redux.xlt -PRIMORDIAL_COLOR_TAB,planet.primordial.colortable,sc2code/istrtab.h,BINTAB,base/planets/primordial.ct -PRIMORDIAL_XLAT_TAB,planet.primordial.translatetable,sc2code/istrtab.h,BINTAB,base/planets/rusted.xlt -EMERALD_COLOR_TAB,planet.emerald.colortable,sc2code/istrtab.h,BINTAB,base/planets/emerald.ct -EMERALD_XLAT_TAB,planet.emerald.translatetable,sc2code/istrtab.h,BINTAB,base/planets/crystal.xlt -CHLORINE_COLOR_TAB,planet.chlorine.colortable,sc2code/istrtab.h,BINTAB,base/planets/rusted.ct -CHLORINE_XLAT_TAB,planet.chlorine.translatetable,sc2code/istrtab.h,BINTAB,base/planets/continents.xlt -MAGNETIC_COLOR_TAB,planet.magnetic.colortable,sc2code/istrtab.h,BINTAB,base/planets/redux.ct -MAGNETIC_XLAT_TAB,planet.magnetic.translatetable,sc2code/istrtab.h,BINTAB,base/planets/ice.xlt -WATER_COLOR_TAB,planet.water.colortable,sc2code/istrtab.h,BINTAB,base/planets/water.ct -WATER_XLAT_TAB,planet.water.translatetable,sc2code/istrtab.h,BINTAB,base/planets/continents.xlt -TELLURIC_COLOR_TAB,planet.telluric.colortable,sc2code/istrtab.h,BINTAB,base/planets/water.ct -TELLURIC_XLAT_TAB,planet.telluric.translatetable,sc2code/istrtab.h,BINTAB,base/planets/rusted.xlt -HYDROCARBON_COLOR_TAB,planet.hydrocarbon.colortable,sc2code/istrtab.h,BINTAB,base/planets/azure.ct -HYDROCARBON_XLAT_TAB,planet.hydrocarbon.translatetable,sc2code/istrtab.h,BINTAB,base/planets/banded.xlt -IODINE_COLOR_TAB,planet.iodine.colortable,sc2code/istrtab.h,BINTAB,base/planets/primordial.ct -IODINE_XLAT_TAB,planet.iodine.translatetable,sc2code/istrtab.h,BINTAB,base/planets/dented.xlt -VINYLOGOUS_COLOR_TAB,planet.vinylogous.colortable,sc2code/istrtab.h,BINTAB,base/planets/vinyl.ct -VINYLOGOUS_XLAT_TAB,planet.vinylogous.translatetable,sc2code/istrtab.h,BINTAB,base/planets/ice.xlt -RUBY_COLOR_TAB,planet.ruby.colortable,sc2code/istrtab.h,BINTAB,base/planets/ruby.ct -RUBY_XLAT_TAB,planet.ruby.translatetable,sc2code/istrtab.h,BINTAB,base/planets/crystal.xlt -MAGMA_COLOR_TAB,planet.magma.colortable,sc2code/istrtab.h,BINTAB,base/planets/orange.ct -MAGMA_XLAT_TAB,planet.magma.translatetable,sc2code/istrtab.h,BINTAB,base/planets/banded.xlt -MAROON_COLOR_TAB,planet.maroon.colortable,sc2code/istrtab.h,BINTAB,base/planets/maroon.ct -MAROON_XLAT_TAB,planet.maroon.translatetable,sc2code/istrtab.h,BINTAB,base/planets/dented.xlt -BLU_GAS_COLOR_TAB,planet.bluegas.colortable,sc2code/istrtab.h,BINTAB,base/planets/bluegasgiant.ct -BLU_GAS_XLAT_TAB,planet.bluegas.translatetable,sc2code/istrtab.h,BINTAB,base/planets/gasgiant.xlt -CYA_GAS_COLOR_TAB,planet.cyangas.colortable,sc2code/istrtab.h,BINTAB,base/planets/cyangasgiant.ct -CYA_GAS_XLAT_TAB,planet.cyangas.translatetable,sc2code/istrtab.h,BINTAB,base/planets/gasgiant.xlt -GRN_GAS_COLOR_TAB,planet.greengas.colortable,sc2code/istrtab.h,BINTAB,base/planets/greengasgiant.ct -GRN_GAS_XLAT_TAB,planet.greengas.translatetable,sc2code/istrtab.h,BINTAB,base/planets/gasgiant.xlt -GRY_GAS_COLOR_TAB,planet.greygas.colortable,sc2code/istrtab.h,BINTAB,base/planets/greygasgiant.ct -GRY_GAS_XLAT_TAB,planet.greygas.translatetable,sc2code/istrtab.h,BINTAB,base/planets/gasgiant.xlt -ORA_GAS_COLOR_TAB,planet.orangegas.colortable,sc2code/istrtab.h,BINTAB,base/planets/orangegasgiant.ct -ORA_GAS_XLAT_TAB,planet.orangegas.translatetable,sc2code/istrtab.h,BINTAB,base/planets/gasgiant.xlt -PUR_GAS_COLOR_TAB,planet.purplegas.colortable,sc2code/istrtab.h,BINTAB,base/planets/purplegasgiant.ct -PUR_GAS_XLAT_TAB,planet.purplegas.translatetable,sc2code/istrtab.h,BINTAB,base/planets/gasgiant.xlt -RED_GAS_COLOR_TAB,planet.redgas.colortable,sc2code/istrtab.h,BINTAB,base/planets/redgasgiant.ct -RED_GAS_XLAT_TAB,planet.redgas.translatetable,sc2code/istrtab.h,BINTAB,base/planets/gasgiant.xlt -VIO_GAS_COLOR_TAB,planet.violetgas.colortable,sc2code/istrtab.h,BINTAB,base/planets/violetgasgiant.ct -VIO_GAS_XLAT_TAB,planet.violetgas.translatetable,sc2code/istrtab.h,BINTAB,base/planets/gasgiant.xlt -YEL_GAS_COLOR_TAB,planet.yellowgas.colortable,sc2code/istrtab.h,BINTAB,base/planets/yellowgasgiant.ct -YEL_GAS_XLAT_TAB,planet.yellowgas.translatetable,sc2code/istrtab.h,BINTAB,base/planets/gasgiant.xlt -MOONBASE_STRTAB,text.moonbase,sc2code/istrtab.h,STRTAB,base/lander/energy/moonbase.txt -MAIDENS_STRTAB,text.maidens,sc2code/istrtab.h,STRTAB,base/lander/energy/maidens.txt -CHMMR_BASE_STRTAB,text.chmmrbase,sc2code/istrtab.h,STRTAB,base/lander/energy/chmmrbase.txt -AQUA_STRTAB,text.aquahelix,sc2code/istrtab.h,STRTAB,base/lander/energy/aquahelix.txt -BURV_BCS_STRTAB,text.burvixcaster,sc2code/istrtab.h,STRTAB,base/lander/energy/burvixcaster.txt -TAALO_DEVICE_STRTAB,text.taalodevice,sc2code/istrtab.h,STRTAB,base/lander/energy/taalodevice.txt -SUN_DEVICE_STRTAB,text.sundevice,sc2code/istrtab.h,STRTAB,base/lander/energy/sundevice.txt -VAULT_STRTAB,text.syreenvault,sc2code/istrtab.h,STRTAB,base/lander/energy/syreenvault.txt -WRECK_STRTAB,text.urquanwreck,sc2code/istrtab.h,STRTAB,base/lander/energy/urquanwreck.txt -BOMB_STRTAB,text.utwigbomb,sc2code/istrtab.h,STRTAB,base/lander/energy/utwigbomb.txt -BEAST_STRTAB,text.vuxbeast,sc2code/istrtab.h,STRTAB,base/lander/bio/vuxbeast.txt -EGG_CASE_STRTAB,text.eggcase,sc2code/istrtab.h,STRTAB,base/lander/energy/eggcase.txt -SPAPLUTO_STRTAB,text.fwiffo,sc2code/istrtab.h,STRTAB,base/lander/energy/fwiffo.txt -BURV_RUINS_STRTAB,text.burvixeseruins,sc2code/istrtab.h,STRTAB,base/lander/energy/burvixeseruins.txt -ANDROSYNTH_RUINS_STRTAB,text.androsynthruins,sc2code/istrtab.h,STRTAB,base/lander/energy/androsynth_ruins.txt -DRUUGE_RUINS_STRTAB,text.sphere,sc2code/istrtab.h,STRTAB,base/lander/energy/sphere.txt -PKUNK_RUINS_STRTAB,text.spindle,sc2code/istrtab.h,STRTAB,base/lander/energy/spindle.txt -RUINS_STRTAB,text.ruins,sc2code/istrtab.h,STRTAB,base/lander/energy/ruins.txt -UMGAH_BCS_STRTAB,text.umgahcaster,sc2code/istrtab.h,STRTAB,base/lander/energy/umgahcaster.txt -IPSUN_COLOR_MAP,colortable.truespace,sc2code/istrtab.h,BINTAB,base/nav/truespace.ct -HANGAR_COLOR_TAB,colortable.hangar,sc2code/istrtab.h,BINTAB,base/ui/hangar.ct -INTROPRES_STRTAB,slides.intro,sc2code/istrtab.h,STRTAB,base/cutscene/intro/intro.txt -FINALPRES_STRTAB,slides.ending,sc2code/istrtab.h,STRTAB,base/cutscene/ending/ending.txt -CREDITS_STRTAB,credits.credits,sc2code/istrtab.h,STRTAB,base/cutscene/credits/credits.txt -JOYSTICK_ALPHA_STRTAB,text.joyalpha,sc2code/istrtab.h,STRTAB,base/ui/joyalpha.txt -SETUP_MENU_STRTAB,text.setupmenu,sc2code/istrtab.h,STRTAB,base/ui/setupmenu.txt -MENU_SOUNDS,sounds.menu,sc2code/isndres.h,SNDRES,base/ui/menu.snd -GAME_SOUNDS,sounds.battle,sc2code/isndres.h,SNDRES,base/battle/battle.snd -LANDER_SOUNDS,sounds.lander,sc2code/isndres.h,SNDRES,base/lander/lander.snd -TITLE_ANIM,graphics.title,sc2code/igfxres.h,GFXRES,base/ui/title.ani -STATUS_MASK_PMAP_ANIM,graphics.status,sc2code/igfxres.h,GFXRES,base/ui/status.ani -ACTIVITY_ANIM,graphics.activity,sc2code/igfxres.h,GFXRES,base/ui/activity.ani -PLAYMENU_ANIM,graphics.playmenu,sc2code/igfxres.h,GFXRES,base/ui/playmenu.ani -FLAGSTAT_MASK_PMAP_ANIM,graphics.flagshipstatus,sc2code/igfxres.h,GFXRES,base/ui/flagshipstatus.ani -MISCDATA_MASK_PMAP_ANIM,graphics.miscdata,sc2code/igfxres.h,GFXRES,base/ui/miscdata.ani -STAR_MASK_PMAP_ANIM,graphics.stars,sc2code/igfxres.h,GFXRES,base/battle/stars.ani -ASTEROID_BIG_MASK_PMAP_ANIM,graphics.asteroid.large,sc2code/igfxres.h,GFXRES,base/battle/asteroid-big.ani -ASTEROID_MED_MASK_PMAP_ANIM,graphics.asteroid.medium,sc2code/igfxres.h,GFXRES,base/battle/asteroid-med.ani -ASTEROID_SML_MASK_PMAP_ANIM,graphics.asteroid.small,sc2code/igfxres.h,GFXRES,base/battle/asteroid-sml.ani -BLAST_BIG_MASK_PMAP_ANIM,graphics.blast.large,sc2code/igfxres.h,GFXRES,base/battle/blast-big.ani -BLAST_MED_MASK_PMAP_ANIM,graphics.blast.medium,sc2code/igfxres.h,GFXRES,base/battle/blast-med.ani -BLAST_SML_MASK_PMAP_ANIM,graphics.blast.small,sc2code/igfxres.h,GFXRES,base/battle/blast-sml.ani -BOOM_BIG_MASK_PMAP_ANIM,graphics.boom.large,sc2code/igfxres.h,GFXRES,base/battle/boom-big.ani -BOOM_MED_MASK_PMAP_ANIM,graphics.boom.medium,sc2code/igfxres.h,GFXRES,base/battle/boom-med.ani -BOOM_SML_MASK_PMAP_ANIM,graphics.boom.small,sc2code/igfxres.h,GFXRES,base/battle/boom-sml.ani -AMBIENT_MASK_PMAP_ANIM,graphics.ambient,sc2code/igfxres.h,GFXRES,base/nav/ambient.ani -HYPERSTARS_MASK_PMAP_ANIM,graphics.hyperstars,sc2code/igfxres.h,GFXRES,base/nav/hyperstars.ani -ARISPACE_MASK_PMAP_ANIM,graphics.quasispace,sc2code/igfxres.h,GFXRES,base/nav/quasispace.ani -IPBKGND_MASK_PMAP_ANIM,graphics.orbitbackground,sc2code/igfxres.h,GFXRES,base/nav/orbitbackground.ani -SISIP_MASK_PMAP_ANIM,graphics.flagship,sc2code/igfxres.h,GFXRES,base/nav/flagship.ani -ORBPLAN_MASK_PMAP_ANIM,graphics.planets,sc2code/igfxres.h,GFXRES,base/nav/planets.ani -SUN_MASK_PMAP_ANIM,graphics.truespacesun,sc2code/igfxres.h,GFXRES,base/nav/truespacesun.ani -LANDER_MASK_PMAP_ANIM,graphics.lander,sc2code/igfxres.h,GFXRES,base/lander/lander.ani -QUAKE_MASK_PMAP_ANIM,graphics.quake,sc2code/igfxres.h,GFXRES,base/lander/hazard/quake.ani -LIGHTNING_MASK_ANIM,graphics.lightning,sc2code/igfxres.h,GFXRES,base/lander/hazard/lightning.ani -LAVA_MASK_PMAP_ANIM,graphics.lavaspot,sc2code/igfxres.h,GFXRES,base/lander/hazard/lavaspot.ani -LANDER_SHIELD_MASK_ANIM,graphics.landershield,sc2code/igfxres.h,GFXRES,base/lander/shield.ani -LANDER_LAUNCH_MASK_PMAP_ANIM,graphics.landerlaunch,sc2code/igfxres.h,GFXRES,base/lander/launch.ani -LANDER_RETURN_MASK_PMAP_ANIM,graphics.landerreturn,sc2code/igfxres.h,GFXRES,base/lander/return.ani -ORBIT_VIEW_ANIM,graphics.orbview,sc2code/igfxres.h,GFXRES,base/nav/orbview.ani -EARTH_MASK_ANIM,graphics.earthmask,sc2code/igfxres.h,GFXRES,base/planets/earthmask.ani -CANNISTER_MASK_PMAP_ANIM,graphics.lifecan,sc2code/igfxres.h,GFXRES,base/lander/bio/lifecan.ani -LIFE00_MASK_PMAP_ANIM,graphics.life.0,sc2code/igfxres.h,GFXRES,base/lander/bio/lifea.ani -LIFE01_MASK_PMAP_ANIM,graphics.life.1,sc2code/igfxres.h,GFXRES,base/lander/bio/lifeb.ani -LIFE02_MASK_PMAP_ANIM,graphics.life.2,sc2code/igfxres.h,GFXRES,base/lander/bio/lifec.ani -LIFE03_MASK_PMAP_ANIM,graphics.life.3,sc2code/igfxres.h,GFXRES,base/lander/bio/lifed.ani -LIFE04_MASK_PMAP_ANIM,graphics.life.4,sc2code/igfxres.h,GFXRES,base/lander/bio/lifee.ani -LIFE05_MASK_PMAP_ANIM,graphics.life.5,sc2code/igfxres.h,GFXRES,base/lander/bio/lifef.ani -LIFE06_MASK_PMAP_ANIM,graphics.life.6,sc2code/igfxres.h,GFXRES,base/lander/bio/lifeg.ani -LIFE07_MASK_PMAP_ANIM,graphics.life.7,sc2code/igfxres.h,GFXRES,base/lander/bio/lifeh.ani -LIFE08_MASK_PMAP_ANIM,graphics.life.8,sc2code/igfxres.h,GFXRES,base/lander/bio/lifei.ani -LIFE09_MASK_PMAP_ANIM,graphics.life.9,sc2code/igfxres.h,GFXRES,base/lander/bio/lifej.ani -LIFE10_MASK_PMAP_ANIM,graphics.life.10,sc2code/igfxres.h,GFXRES,base/lander/bio/lifek.ani -LIFE11_MASK_PMAP_ANIM,graphics.life.11,sc2code/igfxres.h,GFXRES,base/lander/bio/lifel.ani -LIFE12_MASK_PMAP_ANIM,graphics.life.12,sc2code/igfxres.h,GFXRES,base/lander/bio/lifem.ani -LIFE13_MASK_PMAP_ANIM,graphics.life.13,sc2code/igfxres.h,GFXRES,base/lander/bio/lifen.ani -LIFE14_MASK_PMAP_ANIM,graphics.life.14,sc2code/igfxres.h,GFXRES,base/lander/bio/lifeo.ani -LIFE15_MASK_PMAP_ANIM,graphics.life.15,sc2code/igfxres.h,GFXRES,base/lander/bio/lifep.ani -LIFE16_MASK_PMAP_ANIM,graphics.life.16,sc2code/igfxres.h,GFXRES,base/lander/bio/lifeq.ani -LIFE17_MASK_PMAP_ANIM,graphics.life.17,sc2code/igfxres.h,GFXRES,base/lander/bio/lifer.ani -LIFE18_MASK_PMAP_ANIM,graphics.life.18,sc2code/igfxres.h,GFXRES,base/lander/bio/lifes.ani -LIFE19_MASK_PMAP_ANIM,graphics.life.19,sc2code/igfxres.h,GFXRES,base/lander/bio/lifet.ani -LIFE20_MASK_PMAP_ANIM,graphics.life.20,sc2code/igfxres.h,GFXRES,base/lander/bio/lifew.ani -LIFE21_MASK_PMAP_ANIM,graphics.life.21,sc2code/igfxres.h,GFXRES,base/lander/bio/lifex.ani -LIFE22_MASK_PMAP_ANIM,graphics.life.22,sc2code/igfxres.h,GFXRES,base/lander/bio/lifey.ani -LIFE23_MASK_PMAP_ANIM,graphics.life.23,sc2code/igfxres.h,GFXRES,base/lander/bio/lifeu.ani -LIFE24_MASK_PMAP_ANIM,graphics.life.24,sc2code/igfxres.h,GFXRES,base/lander/bio/lifev.ani -LIFE25_MASK_PMAP_ANIM,graphics.life.25,sc2code/igfxres.h,GFXRES,base/lander/bio/lifez.ani -MOONBASE_MASK_PMAP_ANIM,graphics.moonbase,sc2code/igfxres.h,GFXRES,base/lander/energy/moonbase.ani -MAIDENS_MASK_PMAP_ANIM,graphics.maidens,sc2code/igfxres.h,GFXRES,base/lander/energy/maidens.ani -AQUA_MASK_PMAP_ANIM,graphics.aquahelix,sc2code/igfxres.h,GFXRES,base/lander/energy/aquahelix.ani -BURV_BCS_MASK_PMAP_ANIM,graphics.burvixcaster,sc2code/igfxres.h,GFXRES,base/lander/energy/burvixcaster.ani -TAALO_DEVICE_MASK_PMAP_ANIM,graphics.taalodevice,sc2code/igfxres.h,GFXRES,base/lander/energy/taalodevice.ani -SUN_DEVICE_MASK_PMAP_ANIM,graphics.sundevice,sc2code/igfxres.h,GFXRES,base/lander/energy/sundevice.ani -VAULT_MASK_PMAP_ANIM,graphics.syreenvault,sc2code/igfxres.h,GFXRES,base/lander/energy/syreenvault.ani -WRECK_MASK_PMAP_ANIM,graphics.urquanwreck,sc2code/igfxres.h,GFXRES,base/lander/energy/urquanwreck.ani -BOMB_MASK_PMAP_ANIM,graphics.utwigbomb,sc2code/igfxres.h,GFXRES,base/lander/energy/utwigbomb.ani -EGG_CASE_MASK_PMAP_ANIM,graphics.eggcase,sc2code/igfxres.h,GFXRES,base/lander/energy/eggcase.ani -SPAPLUTO_MASK_PMAP_ANIM,graphics.fwiffo,sc2code/igfxres.h,GFXRES,base/lander/energy/fwiffo.ani -RUINS_MASK_PMAP_ANIM,graphics.ruins,sc2code/igfxres.h,GFXRES,base/lander/energy/ruins.ani -UMGAH_BCS_MASK_PMAP_ANIM,graphics.umgahcaster,sc2code/igfxres.h,GFXRES,base/lander/energy/umgahcaster.ani -MELEE_SCREEN_PMAP_ANIM,graphics.meleemenu,sc2code/igfxres.h,GFXRES,base/ui/meleemenu.ani -MELEE_PICK_MASK_PMAP_ANIM,graphics.meleepickship,sc2code/igfxres.h,GFXRES,base/ui/meleepickship.ani -SEGUE_PMAP_ANIM,graphics.segue,sc2code/igfxres.h,GFXRES,base/ui/segue.ani -SC2_PICK_PMAP_ANIM,graphics.pickship,sc2code/igfxres.h,GFXRES,base/ui/pickship.ani -RESTART_PMAP_ANIM,graphics.newgame,sc2code/igfxres.h,GFXRES,base/ui/newgame.ani -MODULES_PMAP_ANIM,graphics.modulesmenu,sc2code/igfxres.h,GFXRES,base/ui/modulesmenu.ani -SISMODS_MASK_PMAP_ANIM,graphics.outfitmodules,sc2code/igfxres.h,GFXRES,base/ui/outfitmodules.ani -OUTFIT_PMAP_ANIM,graphics.outfit,sc2code/igfxres.h,GFXRES,base/ui/outfit.ani -SISBLU_MASK_ANIM,graphics.blueprints,sc2code/igfxres.h,GFXRES,base/ui/blueprints.ani -SHIPYARD_PMAP_ANIM,graphics.shipyard,sc2code/igfxres.h,GFXRES,base/ui/shipyard.ani -STARBASE_ANIM,graphics.starbase,sc2code/igfxres.h,GFXRES,base/ui/starbase.ani -SAMATRA_BIG_MASK_PMAP_ANIM,planet.samatra.large,sc2code/igfxres.h,GFXRES,base/planets/samatra-big.ani -SHIELDED_BIG_MASK_PMAP_ANIM,planet.slaveshield.large,sc2code/igfxres.h,GFXRES,base/planets/slaveshield-big.ani -SHIELDED_MED_MASK_PMAP_ANIM,planet.slaveshield.medium,sc2code/igfxres.h,GFXRES,base/planets/slaveshield-med.ani -SHIELDED_SML_MASK_PMAP_ANIM,planet.slaveshield.small,sc2code/igfxres.h,GFXRES,base/planets/slaveshield-sml.ani -PLANET00_BIG_MASK_PMAP_ANIM,planet.oolite.large,sc2code/igfxres.h,GFXRES,base/planets/oolite-big.ani -PLANET00_MED_MASK_PMAP_ANIM,planet.oolite.medium,sc2code/igfxres.h,GFXRES,base/planets/oolite-med.ani -PLANET00_SML_MASK_PMAP_ANIM,planet.oolite.small,sc2code/igfxres.h,GFXRES,base/planets/oolite-sml.ani -PLANET01_BIG_MASK_PMAP_ANIM,planet.yttric.large,sc2code/igfxres.h,GFXRES,base/planets/yttric-big.ani -PLANET01_MED_MASK_PMAP_ANIM,planet.yttric.medium,sc2code/igfxres.h,GFXRES,base/planets/yttric-med.ani -PLANET01_SML_MASK_PMAP_ANIM,planet.yttric.small,sc2code/igfxres.h,GFXRES,base/planets/yttric-sml.ani -PLANET02_BIG_MASK_PMAP_ANIM,planet.quasidegenerate.large,sc2code/igfxres.h,GFXRES,base/planets/quasidegenerate-big.ani -PLANET02_MED_MASK_PMAP_ANIM,planet.quasidegenerate.medium,sc2code/igfxres.h,GFXRES,base/planets/quasidegenerate-med.ani -PLANET02_SML_MASK_PMAP_ANIM,planet.quasidegenerate.small,sc2code/igfxres.h,GFXRES,base/planets/quasidegenerate-sml.ani -PLANET03_BIG_MASK_PMAP_ANIM,planet.lanthanide.large,sc2code/igfxres.h,GFXRES,base/planets/lanthanide-big.ani -PLANET03_MED_MASK_PMAP_ANIM,planet.lanthanide.medium,sc2code/igfxres.h,GFXRES,base/planets/lanthanide-med.ani -PLANET03_SML_MASK_PMAP_ANIM,planet.lanthanide.small,sc2code/igfxres.h,GFXRES,base/planets/lanthanide-sml.ani -PLANET04_BIG_MASK_PMAP_ANIM,planet.treasure.large,sc2code/igfxres.h,GFXRES,base/planets/treasure-big.ani -PLANET04_MED_MASK_PMAP_ANIM,planet.treasure.medium,sc2code/igfxres.h,GFXRES,base/planets/treasure-med.ani -PLANET04_SML_MASK_PMAP_ANIM,planet.treasure.small,sc2code/igfxres.h,GFXRES,base/planets/treasure-sml.ani -PLANET05_BIG_MASK_PMAP_ANIM,planet.urea.large,sc2code/igfxres.h,GFXRES,base/planets/urea-big.ani -PLANET05_MED_MASK_PMAP_ANIM,planet.urea.medium,sc2code/igfxres.h,GFXRES,base/planets/urea-med.ani -PLANET05_SML_MASK_PMAP_ANIM,planet.urea.small,sc2code/igfxres.h,GFXRES,base/planets/urea-sml.ani -PLANET06_BIG_MASK_PMAP_ANIM,planet.metal.large,sc2code/igfxres.h,GFXRES,base/planets/metal-big.ani -PLANET06_MED_MASK_PMAP_ANIM,planet.metal.medium,sc2code/igfxres.h,GFXRES,base/planets/metal-med.ani -PLANET06_SML_MASK_PMAP_ANIM,planet.metal.small,sc2code/igfxres.h,GFXRES,base/planets/metal-sml.ani -PLANET07_BIG_MASK_PMAP_ANIM,planet.radioactive.large,sc2code/igfxres.h,GFXRES,base/planets/radioactive-big.ani -PLANET07_MED_MASK_PMAP_ANIM,planet.radioactive.medium,sc2code/igfxres.h,GFXRES,base/planets/radioactive-med.ani -PLANET07_SML_MASK_PMAP_ANIM,planet.radioactive.small,sc2code/igfxres.h,GFXRES,base/planets/radioactive-sml.ani -PLANET08_BIG_MASK_PMAP_ANIM,planet.opalescent.large,sc2code/igfxres.h,GFXRES,base/planets/opalescent-big.ani -PLANET08_MED_MASK_PMAP_ANIM,planet.opalescent.medium,sc2code/igfxres.h,GFXRES,base/planets/opalescent-med.ani -PLANET08_SML_MASK_PMAP_ANIM,planet.opalescent.small,sc2code/igfxres.h,GFXRES,base/planets/opalescent-sml.ani -PLANET09_BIG_MASK_PMAP_ANIM,planet.cyanic.large,sc2code/igfxres.h,GFXRES,base/planets/cyanic-big.ani -PLANET09_MED_MASK_PMAP_ANIM,planet.cyanic.medium,sc2code/igfxres.h,GFXRES,base/planets/cyanic-med.ani -PLANET09_SML_MASK_PMAP_ANIM,planet.cyanic.small,sc2code/igfxres.h,GFXRES,base/planets/cyanic-sml.ani -PLANET10_BIG_MASK_PMAP_ANIM,planet.acid.large,sc2code/igfxres.h,GFXRES,base/planets/acid-big.ani -PLANET10_MED_MASK_PMAP_ANIM,planet.acid.medium,sc2code/igfxres.h,GFXRES,base/planets/acid-med.ani -PLANET10_SML_MASK_PMAP_ANIM,planet.acid.small,sc2code/igfxres.h,GFXRES,base/planets/acid-sml.ani -PLANET11_BIG_MASK_PMAP_ANIM,planet.alkali.large,sc2code/igfxres.h,GFXRES,base/planets/alkali-big.ani -PLANET11_MED_MASK_PMAP_ANIM,planet.alkali.medium,sc2code/igfxres.h,GFXRES,base/planets/alkali-med.ani -PLANET11_SML_MASK_PMAP_ANIM,planet.alkali.small,sc2code/igfxres.h,GFXRES,base/planets/alkali-sml.ani -PLANET12_BIG_MASK_PMAP_ANIM,planet.halide.large,sc2code/igfxres.h,GFXRES,base/planets/halide-big.ani -PLANET12_MED_MASK_PMAP_ANIM,planet.halide.medium,sc2code/igfxres.h,GFXRES,base/planets/halide-med.ani -PLANET12_SML_MASK_PMAP_ANIM,planet.halide.small,sc2code/igfxres.h,GFXRES,base/planets/halide-sml.ani -PLANET13_BIG_MASK_PMAP_ANIM,planet.green.large,sc2code/igfxres.h,GFXRES,base/planets/green-big.ani -PLANET13_MED_MASK_PMAP_ANIM,planet.green.medium,sc2code/igfxres.h,GFXRES,base/planets/green-med.ani -PLANET13_SML_MASK_PMAP_ANIM,planet.green.small,sc2code/igfxres.h,GFXRES,base/planets/green-sml.ani -PLANET14_BIG_MASK_PMAP_ANIM,planet.copper.large,sc2code/igfxres.h,GFXRES,base/planets/copper-big.ani -PLANET14_MED_MASK_PMAP_ANIM,planet.copper.medium,sc2code/igfxres.h,GFXRES,base/planets/copper-med.ani -PLANET14_SML_MASK_PMAP_ANIM,planet.copper.small,sc2code/igfxres.h,GFXRES,base/planets/copper-sml.ani -PLANET15_BIG_MASK_PMAP_ANIM,planet.carbide.large,sc2code/igfxres.h,GFXRES,base/planets/carbide-big.ani -PLANET15_MED_MASK_PMAP_ANIM,planet.carbide.medium,sc2code/igfxres.h,GFXRES,base/planets/carbide-med.ani -PLANET15_SML_MASK_PMAP_ANIM,planet.carbide.small,sc2code/igfxres.h,GFXRES,base/planets/carbide-sml.ani -PLANET16_BIG_MASK_PMAP_ANIM,planet.ultramarine.large,sc2code/igfxres.h,GFXRES,base/planets/ultramarine-big.ani -PLANET16_MED_MASK_PMAP_ANIM,planet.ultramarine.medium,sc2code/igfxres.h,GFXRES,base/planets/ultramarine-med.ani -PLANET16_SML_MASK_PMAP_ANIM,planet.ultramarine.small,sc2code/igfxres.h,GFXRES,base/planets/ultramarine-sml.ani -PLANET17_BIG_MASK_PMAP_ANIM,planet.noble.large,sc2code/igfxres.h,GFXRES,base/planets/noble-big.ani -PLANET17_MED_MASK_PMAP_ANIM,planet.noble.medium,sc2code/igfxres.h,GFXRES,base/planets/noble-med.ani -PLANET17_SML_MASK_PMAP_ANIM,planet.noble.small,sc2code/igfxres.h,GFXRES,base/planets/noble-sml.ani -PLANET18_BIG_MASK_PMAP_ANIM,planet.azure.large,sc2code/igfxres.h,GFXRES,base/planets/azure-big.ani -PLANET18_MED_MASK_PMAP_ANIM,planet.azure.medium,sc2code/igfxres.h,GFXRES,base/planets/azure-med.ani -PLANET18_SML_MASK_PMAP_ANIM,planet.azure.small,sc2code/igfxres.h,GFXRES,base/planets/azure-sml.ani -PLANET19_BIG_MASK_PMAP_ANIM,planet.chondrite.large,sc2code/igfxres.h,GFXRES,base/planets/chondrite-big.ani -PLANET19_MED_MASK_PMAP_ANIM,planet.chondrite.medium,sc2code/igfxres.h,GFXRES,base/planets/chondrite-med.ani -PLANET19_SML_MASK_PMAP_ANIM,planet.chondrite.small,sc2code/igfxres.h,GFXRES,base/planets/chondrite-sml.ani -PLANET20_BIG_MASK_PMAP_ANIM,planet.purple.large,sc2code/igfxres.h,GFXRES,base/planets/purple-big.ani -PLANET20_MED_MASK_PMAP_ANIM,planet.purple.medium,sc2code/igfxres.h,GFXRES,base/planets/purple-med.ani -PLANET20_SML_MASK_PMAP_ANIM,planet.purple.small,sc2code/igfxres.h,GFXRES,base/planets/purple-sml.ani -PLANET21_BIG_MASK_PMAP_ANIM,planet.superdense.large,sc2code/igfxres.h,GFXRES,base/planets/superdense-big.ani -PLANET21_MED_MASK_PMAP_ANIM,planet.superdense.medium,sc2code/igfxres.h,GFXRES,base/planets/superdense-med.ani -PLANET21_SML_MASK_PMAP_ANIM,planet.superdense.small,sc2code/igfxres.h,GFXRES,base/planets/superdense-sml.ani -PLANET22_BIG_MASK_PMAP_ANIM,planet.pellucid.large,sc2code/igfxres.h,GFXRES,base/planets/pellucid-big.ani -PLANET22_MED_MASK_PMAP_ANIM,planet.pellucid.medium,sc2code/igfxres.h,GFXRES,base/planets/pellucid-med.ani -PLANET22_SML_MASK_PMAP_ANIM,planet.pellucid.small,sc2code/igfxres.h,GFXRES,base/planets/pellucid-sml.ani -PLANET23_BIG_MASK_PMAP_ANIM,planet.dust.large,sc2code/igfxres.h,GFXRES,base/planets/dust-big.ani -PLANET23_MED_MASK_PMAP_ANIM,planet.dust.medium,sc2code/igfxres.h,GFXRES,base/planets/dust-med.ani -PLANET23_SML_MASK_PMAP_ANIM,planet.dust.small,sc2code/igfxres.h,GFXRES,base/planets/dust-sml.ani -PLANET24_BIG_MASK_PMAP_ANIM,planet.crimson.large,sc2code/igfxres.h,GFXRES,base/planets/crimson-big.ani -PLANET24_MED_MASK_PMAP_ANIM,planet.crimson.medium,sc2code/igfxres.h,GFXRES,base/planets/crimson-med.ani -PLANET24_SML_MASK_PMAP_ANIM,planet.crimson.small,sc2code/igfxres.h,GFXRES,base/planets/crimson-sml.ani -PLANET25_BIG_MASK_PMAP_ANIM,planet.cimmerian.large,sc2code/igfxres.h,GFXRES,base/planets/cimmerian-big.ani -PLANET25_MED_MASK_PMAP_ANIM,planet.cimmerian.medium,sc2code/igfxres.h,GFXRES,base/planets/cimmerian-med.ani -PLANET25_SML_MASK_PMAP_ANIM,planet.cimmerian.small,sc2code/igfxres.h,GFXRES,base/planets/cimmerian-sml.ani -PLANET26_BIG_MASK_PMAP_ANIM,planet.infrared.large,sc2code/igfxres.h,GFXRES,base/planets/infrared-big.ani -PLANET26_MED_MASK_PMAP_ANIM,planet.infrared.medium,sc2code/igfxres.h,GFXRES,base/planets/infrared-med.ani -PLANET26_SML_MASK_PMAP_ANIM,planet.infrared.small,sc2code/igfxres.h,GFXRES,base/planets/infrared-sml.ani -PLANET27_BIG_MASK_PMAP_ANIM,planet.selenic.large,sc2code/igfxres.h,GFXRES,base/planets/selenic-big.ani -PLANET27_MED_MASK_PMAP_ANIM,planet.selenic.medium,sc2code/igfxres.h,GFXRES,base/planets/selenic-med.ani -PLANET27_SML_MASK_PMAP_ANIM,planet.selenic.small,sc2code/igfxres.h,GFXRES,base/planets/selenic-sml.ani -PLANET28_BIG_MASK_PMAP_ANIM,planet.auric.large,sc2code/igfxres.h,GFXRES,base/planets/auric-big.ani -PLANET28_MED_MASK_PMAP_ANIM,planet.auric.medium,sc2code/igfxres.h,GFXRES,base/planets/auric-med.ani -PLANET28_SML_MASK_PMAP_ANIM,planet.auric.small,sc2code/igfxres.h,GFXRES,base/planets/auric-sml.ani -PLANET29_BIG_MASK_PMAP_ANIM,planet.fluorescent.large,sc2code/igfxres.h,GFXRES,base/planets/fluorescent-big.ani -PLANET29_MED_MASK_PMAP_ANIM,planet.fluorescent.medium,sc2code/igfxres.h,GFXRES,base/planets/fluorescent-med.ani -PLANET29_SML_MASK_PMAP_ANIM,planet.fluorescent.small,sc2code/igfxres.h,GFXRES,base/planets/fluorescent-sml.ani -PLANET30_BIG_MASK_PMAP_ANIM,planet.ultraviolet.large,sc2code/igfxres.h,GFXRES,base/planets/ultramarine-big.ani -PLANET30_MED_MASK_PMAP_ANIM,planet.ultraviolet.medium,sc2code/igfxres.h,GFXRES,base/planets/ultramarine-med.ani -PLANET30_SML_MASK_PMAP_ANIM,planet.ultraviolet.small,sc2code/igfxres.h,GFXRES,base/planets/ultramarine-sml.ani -PLANET31_BIG_MASK_PMAP_ANIM,planet.plutonic.large,sc2code/igfxres.h,GFXRES,base/planets/plutonic-big.ani -PLANET31_MED_MASK_PMAP_ANIM,planet.plutonic.medium,sc2code/igfxres.h,GFXRES,base/planets/plutonic-med.ani -PLANET31_SML_MASK_PMAP_ANIM,planet.plutonic.small,sc2code/igfxres.h,GFXRES,base/planets/plutonic-sml.ani -PLANET32_BIG_MASK_PMAP_ANIM,planet.rainbow.large,sc2code/igfxres.h,GFXRES,base/planets/rainbow-big.ani -PLANET32_MED_MASK_PMAP_ANIM,planet.rainbow.medium,sc2code/igfxres.h,GFXRES,base/planets/rainbow-med.ani -PLANET32_SML_MASK_PMAP_ANIM,planet.rainbow.small,sc2code/igfxres.h,GFXRES,base/planets/rainbow-sml.ani -PLANET33_BIG_MASK_PMAP_ANIM,planet.shattered.large,sc2code/igfxres.h,GFXRES,base/planets/shattered-big.ani -PLANET33_MED_MASK_PMAP_ANIM,planet.shattered.medium,sc2code/igfxres.h,GFXRES,base/planets/shattered-med.ani -PLANET33_SML_MASK_PMAP_ANIM,planet.shattered.small,sc2code/igfxres.h,GFXRES,base/planets/shattered-sml.ani -PLANET34_BIG_MASK_PMAP_ANIM,planet.sapphire.large,sc2code/igfxres.h,GFXRES,base/planets/sapphire-big.ani -PLANET34_MED_MASK_PMAP_ANIM,planet.sapphire.medium,sc2code/igfxres.h,GFXRES,base/planets/sapphire-med.ani -PLANET34_SML_MASK_PMAP_ANIM,planet.sapphire.small,sc2code/igfxres.h,GFXRES,base/planets/sapphire-sml.ani -PLANET35_BIG_MASK_PMAP_ANIM,planet.organic.large,sc2code/igfxres.h,GFXRES,base/planets/organic-big.ani -PLANET35_MED_MASK_PMAP_ANIM,planet.organic.medium,sc2code/igfxres.h,GFXRES,base/planets/organic-med.ani -PLANET35_SML_MASK_PMAP_ANIM,planet.organic.small,sc2code/igfxres.h,GFXRES,base/planets/organic-sml.ani -PLANET36_BIG_MASK_PMAP_ANIM,planet.xenolithic.large,sc2code/igfxres.h,GFXRES,base/planets/xenolithic-big.ani -PLANET36_MED_MASK_PMAP_ANIM,planet.xenolithic.medium,sc2code/igfxres.h,GFXRES,base/planets/xenolithic-med.ani -PLANET36_SML_MASK_PMAP_ANIM,planet.xenolithic.small,sc2code/igfxres.h,GFXRES,base/planets/xenolithic-sml.ani -PLANET37_BIG_MASK_PMAP_ANIM,planet.redux.large,sc2code/igfxres.h,GFXRES,base/planets/redux-big.ani -PLANET37_MED_MASK_PMAP_ANIM,planet.redux.medium,sc2code/igfxres.h,GFXRES,base/planets/redux-med.ani -PLANET37_SML_MASK_PMAP_ANIM,planet.redux.small,sc2code/igfxres.h,GFXRES,base/planets/redux-sml.ani -PLANET38_BIG_MASK_PMAP_ANIM,planet.primordial.large,sc2code/igfxres.h,GFXRES,base/planets/primordial-big.ani -PLANET38_MED_MASK_PMAP_ANIM,planet.primordial.medium,sc2code/igfxres.h,GFXRES,base/planets/primordial-med.ani -PLANET38_SML_MASK_PMAP_ANIM,planet.primordial.small,sc2code/igfxres.h,GFXRES,base/planets/primordial-sml.ani -PLANET39_BIG_MASK_PMAP_ANIM,planet.emerald.large,sc2code/igfxres.h,GFXRES,base/planets/emerald-big.ani -PLANET39_MED_MASK_PMAP_ANIM,planet.emerald.medium,sc2code/igfxres.h,GFXRES,base/planets/emerald-med.ani -PLANET39_SML_MASK_PMAP_ANIM,planet.emerald.small,sc2code/igfxres.h,GFXRES,base/planets/emerald-sml.ani -PLANET40_BIG_MASK_PMAP_ANIM,planet.chlorine.large,sc2code/igfxres.h,GFXRES,base/planets/chlorine-big.ani -PLANET40_MED_MASK_PMAP_ANIM,planet.chlorine.medium,sc2code/igfxres.h,GFXRES,base/planets/chlorine-med.ani -PLANET40_SML_MASK_PMAP_ANIM,planet.chlorine.small,sc2code/igfxres.h,GFXRES,base/planets/chlorine-sml.ani -PLANET41_BIG_MASK_PMAP_ANIM,planet.magnetic.large,sc2code/igfxres.h,GFXRES,base/planets/magnetic-big.ani -PLANET41_MED_MASK_PMAP_ANIM,planet.magnetic.medium,sc2code/igfxres.h,GFXRES,base/planets/magnetic-med.ani -PLANET41_SML_MASK_PMAP_ANIM,planet.magnetic.small,sc2code/igfxres.h,GFXRES,base/planets/magnetic-sml.ani -PLANET42_BIG_MASK_PMAP_ANIM,planet.water.large,sc2code/igfxres.h,GFXRES,base/planets/water-big.ani -PLANET42_MED_MASK_PMAP_ANIM,planet.water.medium,sc2code/igfxres.h,GFXRES,base/planets/water-med.ani -PLANET42_SML_MASK_PMAP_ANIM,planet.water.small,sc2code/igfxres.h,GFXRES,base/planets/water-sml.ani -PLANET43_BIG_MASK_PMAP_ANIM,planet.telluric.large,sc2code/igfxres.h,GFXRES,base/planets/telluric-big.ani -PLANET43_MED_MASK_PMAP_ANIM,planet.telluric.medium,sc2code/igfxres.h,GFXRES,base/planets/telluric-med.ani -PLANET43_SML_MASK_PMAP_ANIM,planet.telluric.small,sc2code/igfxres.h,GFXRES,base/planets/telluric-sml.ani -PLANET44_BIG_MASK_PMAP_ANIM,planet.hydrocarbon.large,sc2code/igfxres.h,GFXRES,base/planets/hydrocarbon-big.ani -PLANET44_MED_MASK_PMAP_ANIM,planet.hydrocarbon.medium,sc2code/igfxres.h,GFXRES,base/planets/hydrocarbon-med.ani -PLANET44_SML_MASK_PMAP_ANIM,planet.hydrocarbon.small,sc2code/igfxres.h,GFXRES,base/planets/hydrocarbon-sml.ani -PLANET45_BIG_MASK_PMAP_ANIM,planet.iodine.large,sc2code/igfxres.h,GFXRES,base/planets/iodine-big.ani -PLANET45_MED_MASK_PMAP_ANIM,planet.iodine.medium,sc2code/igfxres.h,GFXRES,base/planets/iodine-med.ani -PLANET45_SML_MASK_PMAP_ANIM,planet.iodine.small,sc2code/igfxres.h,GFXRES,base/planets/iodine-sml.ani -PLANET46_BIG_MASK_PMAP_ANIM,planet.vinylogous.large,sc2code/igfxres.h,GFXRES,base/planets/vinylogous-big.ani -PLANET46_MED_MASK_PMAP_ANIM,planet.vinylogous.medium,sc2code/igfxres.h,GFXRES,base/planets/vinylogous-med.ani -PLANET46_SML_MASK_PMAP_ANIM,planet.vinylogous.small,sc2code/igfxres.h,GFXRES,base/planets/vinylogous-sml.ani -PLANET47_BIG_MASK_PMAP_ANIM,planet.ruby.large,sc2code/igfxres.h,GFXRES,base/planets/ruby-big.ani -PLANET47_MED_MASK_PMAP_ANIM,planet.ruby.medium,sc2code/igfxres.h,GFXRES,base/planets/ruby-med.ani -PLANET47_SML_MASK_PMAP_ANIM,planet.ruby.small,sc2code/igfxres.h,GFXRES,base/planets/ruby-sml.ani -PLANET48_BIG_MASK_PMAP_ANIM,planet.magma.large,sc2code/igfxres.h,GFXRES,base/planets/magma-big.ani -PLANET48_MED_MASK_PMAP_ANIM,planet.magma.medium,sc2code/igfxres.h,GFXRES,base/planets/magma-med.ani -PLANET48_SML_MASK_PMAP_ANIM,planet.magma.small,sc2code/igfxres.h,GFXRES,base/planets/magma-sml.ani -PLANET49_BIG_MASK_PMAP_ANIM,planet.maroon.large,sc2code/igfxres.h,GFXRES,base/planets/maroon-big.ani -PLANET49_MED_MASK_PMAP_ANIM,planet.maroon.medium,sc2code/igfxres.h,GFXRES,base/planets/maroon-med.ani -PLANET49_SML_MASK_PMAP_ANIM,planet.maroon.small,sc2code/igfxres.h,GFXRES,base/planets/maroon-sml.ani -PLANET50_BIG_MASK_PMAP_ANIM,planet.bluegas.large,sc2code/igfxres.h,GFXRES,base/planets/bluegas-big.ani -PLANET50_MED_MASK_PMAP_ANIM,planet.bluegas.medium,sc2code/igfxres.h,GFXRES,base/planets/bluegas-med.ani -PLANET50_SML_MASK_PMAP_ANIM,planet.bluegas.small,sc2code/igfxres.h,GFXRES,base/planets/bluegas-sml.ani -PLANET51_BIG_MASK_PMAP_ANIM,planet.cyangas.large,sc2code/igfxres.h,GFXRES,base/planets/cyangas-big.ani -PLANET51_MED_MASK_PMAP_ANIM,planet.cyangas.medium,sc2code/igfxres.h,GFXRES,base/planets/cyangas-med.ani -PLANET51_SML_MASK_PMAP_ANIM,planet.cyangas.small,sc2code/igfxres.h,GFXRES,base/planets/cyangas-sml.ani -PLANET52_BIG_MASK_PMAP_ANIM,planet.greengas.large,sc2code/igfxres.h,GFXRES,base/planets/greengas-big.ani -PLANET52_MED_MASK_PMAP_ANIM,planet.greengas.medium,sc2code/igfxres.h,GFXRES,base/planets/greengas-med.ani -PLANET52_SML_MASK_PMAP_ANIM,planet.greengas.small,sc2code/igfxres.h,GFXRES,base/planets/greengas-sml.ani -PLANET53_BIG_MASK_PMAP_ANIM,planet.greygas.large,sc2code/igfxres.h,GFXRES,base/planets/greygas-big.ani -PLANET53_MED_MASK_PMAP_ANIM,planet.greygas.medium,sc2code/igfxres.h,GFXRES,base/planets/greygas-med.ani -PLANET53_SML_MASK_PMAP_ANIM,planet.greygas.small,sc2code/igfxres.h,GFXRES,base/planets/greygas-sml.ani -PLANET54_BIG_MASK_PMAP_ANIM,planet.orangegas.large,sc2code/igfxres.h,GFXRES,base/planets/organic-big.ani -PLANET54_MED_MASK_PMAP_ANIM,planet.orangegas.medium,sc2code/igfxres.h,GFXRES,base/planets/organic-med.ani -PLANET54_SML_MASK_PMAP_ANIM,planet.orangegas.small,sc2code/igfxres.h,GFXRES,base/planets/organic-sml.ani -PLANET55_BIG_MASK_PMAP_ANIM,planet.purplegas.large,sc2code/igfxres.h,GFXRES,base/planets/purplegas-big.ani -PLANET55_MED_MASK_PMAP_ANIM,planet.purplegas.medium,sc2code/igfxres.h,GFXRES,base/planets/purplegas-med.ani -PLANET55_SML_MASK_PMAP_ANIM,planet.purplegas.small,sc2code/igfxres.h,GFXRES,base/planets/purplegas-sml.ani -PLANET56_BIG_MASK_PMAP_ANIM,planet.redgas.large,sc2code/igfxres.h,GFXRES,base/planets/redgas-big.ani -PLANET56_MED_MASK_PMAP_ANIM,planet.redgas.medium,sc2code/igfxres.h,GFXRES,base/planets/redgas-med.ani -PLANET56_SML_MASK_PMAP_ANIM,planet.redgas.small,sc2code/igfxres.h,GFXRES,base/planets/redgas-sml.ani -PLANET57_BIG_MASK_PMAP_ANIM,planet.violetgas.large,sc2code/igfxres.h,GFXRES,base/planets/violetgas-big.ani -PLANET57_MED_MASK_PMAP_ANIM,planet.violetgas.medium,sc2code/igfxres.h,GFXRES,base/planets/violetgas-med.ani -PLANET57_SML_MASK_PMAP_ANIM,planet.violetgas.small,sc2code/igfxres.h,GFXRES,base/planets/violetgas-sml.ani -PLANET58_BIG_MASK_PMAP_ANIM,planet.yellowgas.large,sc2code/igfxres.h,GFXRES,base/planets/yellowgas-big.ani -PLANET58_MED_MASK_PMAP_ANIM,planet.yellowgas.medium,sc2code/igfxres.h,GFXRES,base/planets/yellowgas-med.ani -PLANET58_SML_MASK_PMAP_ANIM,planet.yellowgas.small,sc2code/igfxres.h,GFXRES,base/planets/yellowgas-sml.ani -CREDITS_BACK_ANIM,credits.background,sc2code/igfxres.h,GFXRES,base/cutscene/credits/credback.ani -SISSKEL_MASK_PMAP_ANIM,graphics.flagshipskeleton,sc2code/igfxres.h,GFXRES,base/cutscene/ending/fs_skeleton.ani -ORBENTER_PMAP_ANIM,graphics.orbitenter,sc2code/igfxres.h,GFXRES,base/nav/orbitenter.ani -MENUBKG_PMAP_ANIM,graphics.setupmenu,sc2code/igfxres.h,GFXRES,base/ui/setupmenu.ani -FONTGRAD_PMAP_ANIM,graphics.fontgradient,sc2code/igfxres.h,GFXRES,base/fonts/fontgradient.ani -LANDER_FONTEFF_PMAP_ANIM,graphics.landerfonteffect,sc2code/igfxres.h,GFXRES,base/lander/fonteffect.ani -DRUUGE_MUSIC,comm.druuge.music,sc2code/comm/druuge/imusicre.h,MUSICRES,base/comm/druuge/druuge.mod -DRUUGE_FONT,comm.druuge.font,sc2code/comm/druuge/ifontres.h,FONTRES,base/fonts/micro.fon -DRUUGE_CONVERSATION_PHRASES,comm.druuge.dialogue,sc2code/comm/druuge/istrtab.h,CONVERSATION,base/comm/druuge/druuge.txt -DRUUGE_COLOR_MAP,comm.druuge.colortable,sc2code/comm/druuge/istrtab.h,BINTAB,base/comm/druuge/druuge.ct -DRUUGE_PMAP_ANIM,comm.druuge.graphics,sc2code/comm/druuge/igfxres.h,GFXRES,base/comm/druuge/druuge.ani -SLYLAND_MUSIC,comm.probe.music,sc2code/comm/slyland/imusicre.h,MUSICRES,base/comm/probe/probe.mod -SLYLAND_FONT,comm.probe.font,sc2code/comm/slyland/ifontres.h,FONTRES,base/fonts/probe.fon -SLYLAND_CONVERSATION_PHRASES,comm.probe.dialogue,sc2code/comm/slyland/istrtab.h,CONVERSATION,base/comm/probe/probe.txt -SLYLAND_COLOR_MAP,comm.probe.colortable,sc2code/comm/slyland/istrtab.h,BINTAB,base/comm/probe/probe.ct -SLYLAND_PMAP_ANIM,comm.probe.graphics,sc2code/comm/slyland/igfxres.h,GFXRES,base/comm/probe/probe.ani -UTWIG_MUSIC,comm.utwig.music,sc2code/comm/utwig/imusicre.h,MUSICRES,base/comm/utwig/utwig.mod -UTWIG_ULTRON_MUSIC,comm.utwig.ultron.music,sc2code/comm/utwig/imusicre.h,--,-- -UTWIG_FONT,comm.utwig.font,sc2code/comm/utwig/ifontres.h,FONTRES,base/fonts/utwig.fon -UTWIG_CONVERSATION_PHRASES,comm.utwig.dialogue,sc2code/comm/utwig/istrtab.h,CONVERSATION,base/comm/utwig/utwig.txt -UTWIG_COLOR_MAP,comm.utwig.colortable,sc2code/comm/utwig/istrtab.h,BINTAB,base/comm/utwig/utwig.ct -UTWIG_PMAP_ANIM,comm.utwig.graphics,sc2code/comm/utwig/igfxres.h,GFXRES,base/comm/utwig/utwig.ani -URQUAN_MUSIC,comm.urquan.music,sc2code/comm/urquan/imusicre.h,MUSICRES,base/comm/urquan/urquan.mod -URQUAN_FONT,comm.urquan.font,sc2code/comm/urquan/ifontres.h,FONTRES,base/fonts/urquan.fon -URQUAN_CONVERSATION_PHRASES,comm.urquan.dialogue,sc2code/comm/urquan/istrtab.h,CONVERSATION,base/comm/urquan/urquan.txt -URQUAN_COLOR_MAP,comm.urquan.colortable,sc2code/comm/urquan/istrtab.h,BINTAB,base/comm/urquan/urquan.ct -URQUAN_PMAP_ANIM,comm.urquan.graphics,sc2code/comm/urquan/igfxres.h,GFXRES,base/comm/urquan/urquan.ani -CHMMR_MUSIC,comm.chmmr.music,sc2code/comm/chmmr/imusicre.h,MUSICRES,base/comm/chmmr/chmmr.mod -CHMMR_FONT,comm.chmmr.font,sc2code/comm/chmmr/ifontres.h,FONTRES,base/fonts/chmmr.fon -CHMMR_CONVERSATION_PHRASES,comm.chmmr.dialogue,sc2code/comm/chmmr/istrtab.h,CONVERSATION,base/comm/chmmr/chmmr.txt -CHMMR_COLOR_MAP,comm.chmmr.colortable,sc2code/comm/chmmr/istrtab.h,BINTAB,base/comm/chmmr/chmmr.ct -CHMMR_PMAP_ANIM,comm.chmmr.graphics,sc2code/comm/chmmr/igfxres.h,GFXRES,base/comm/chmmr/chmmr.ani -MYCON_MUSIC,comm.mycon.music,sc2code/comm/mycon/imusicre.h,MUSICRES,base/comm/mycon/mycon.mod -MYCON_FONT,comm.mycon.font,sc2code/comm/mycon/ifontres.h,FONTRES,base/fonts/mycon.fon -MYCON_CONVERSATION_PHRASES,comm.mycon.dialogue,sc2code/comm/mycon/istrtab.h,CONVERSATION,base/comm/mycon/mycon.txt -MYCON_COLOR_MAP,comm.mycon.colortable,sc2code/comm/mycon/istrtab.h,BINTAB,base/comm/mycon/mycon.ct -MYCON_PMAP_ANIM,comm.mycon.graphics,sc2code/comm/mycon/igfxres.h,GFXRES,base/comm/mycon/mycon.ani -SLYLANDRO_MUSIC,comm.slylandro.music,sc2code/comm/slyhome/imusicre.h,MUSICRES,base/comm/slylandro/slylandro.mod -SLYLANDRO_FONT,comm.slylandro.font,sc2code/comm/slyhome/ifontres.h,FONTRES,base/fonts/slylandro.fon -SLYLANDRO_CONVERSATION_PHRASES,comm.slylandro.dialogue,sc2code/comm/slyhome/istrtab.h,CONVERSATION,base/comm/slylandro/slylandro.txt -SLYLANDRO_COLOR_MAP,comm.slylandro.colortable,sc2code/comm/slyhome/istrtab.h,BINTAB,base/comm/slylandro/slylandro.ct -SLYLANDRO_PMAP_ANIM,comm.slylandro.graphics,sc2code/comm/slyhome/igfxres.h,GFXRES,base/comm/slylandro/slylandro.ani -ZOQFOTPIK_MUSIC,comm.zoqfotpik.music,sc2code/comm/zoqfot/imusicre.h,MUSICRES,base/comm/zoqfotpik/zoqfotpik.mod -ZOQFOTPIK_FONT,comm.zoqfotpik.font,sc2code/comm/zoqfot/ifontres.h,FONTRES,base/fonts/zoqfotpik.fon -ZOQFOTPIK_CONVERSATION_PHRASES,comm.zoqfotpik.dialogue,sc2code/comm/zoqfot/istrtab.h,CONVERSATION,base/comm/zoqfotpik/zoqfotpik.txt -ZOQFOTPIK_COLOR_MAP,comm.zoqfotpik.colortable,sc2code/comm/zoqfot/istrtab.h,BINTAB,base/comm/zoqfotpik/zoqfotpik.ct -ZOQFOTPIK_PMAP_ANIM,comm.zoqfotpik.graphics,sc2code/comm/zoqfot/igfxres.h,GFXRES,base/comm/zoqfotpik/zoqfotpik.ani -VUX_MUSIC,comm.vux.music,sc2code/comm/vux/imusicre.h,MUSICRES,base/comm/vux/vux.mod -VUX_FONT,comm.vux.font,sc2code/comm/vux/ifontres.h,FONTRES,base/fonts/vux.fon -VUX_CONVERSATION_PHRASES,comm.vux.dialogue,sc2code/comm/vux/istrtab.h,CONVERSATION,base/comm/vux/vux.txt -VUX_COLOR_MAP,comm.vux.colortable,sc2code/comm/vux/istrtab.h,BINTAB,base/comm/vux/vux.ct -VUX_PMAP_ANIM,comm.vux.graphics,sc2code/comm/vux/igfxres.h,GFXRES,base/comm/vux/vux.ani -ARILOU_MUSIC,comm.arilou.music,sc2code/comm/arilou/imusicre.h,MUSICRES,base/comm/arilou/arilou.mod -ARILOU_FONT,comm.arilou.font,sc2code/comm/arilou/ifontres.h,FONTRES,base/fonts/arilou.fon -ARILOU_CONVERSATION_PHRASES,comm.arilou.dialogue,sc2code/comm/arilou/istrtab.h,CONVERSATION,base/comm/arilou/arilou.txt -ARILOU_PMAP_ANIM,comm.arilou.graphics,sc2code/comm/arilou/igfxres.h,GFXRES,base/comm/arilou/arilou.ani -ARILOU_COLOR_MAP,comm.arilou.colortable,sc2code/comm/arilou/igfxres.h,BINTAB,base/comm/arilou/arilou.ct -COMMANDER_MUSIC,comm.commander.music,sc2code/comm/comandr/imusicre.h,MUSICRES,base/comm/commander/commander.mod -STARBASE_ALT_MUSIC,comm.starbase.music,sc2code/comm/comandr/imusicre.h,--,-- -COMMANDER_LOWPOW_MUSIC,comm.commander.lowpower.music,sc2code/comm/comandr/imusicre.h,--,-- -COMMANDER_FONT,comm.commander.font,sc2code/comm/comandr/ifontres.h,FONTRES,base/fonts/player.fon -COMMANDER_COLOR_MAP,comm.commander.colortable,sc2code/comm/comandr/istrtab.h,BINTAB,base/comm/commander/commander.ct -COMMANDER_CONVERSATION_PHRASES,comm.commander.dialogue,sc2code/comm/comandr/istrtab.h,CONVERSATION,base/comm/commander/commander.txt -STARBASE_CONVERSATION_PHRASES,comm.starbase.dialogue,sc2code/comm/comandr/istrtab.h,CONVERSATION,base/comm/starbase/starbase.txt -COMMANDER_PMAP_ANIM,comm.commander.graphics,sc2code/comm/comandr/igfxres.h,GFXRES,base/comm/commander/commander.ani -SPATHI_MUSIC,comm.spathi.music,sc2code/comm/spathi/imusicre.h,MUSICRES,base/comm/spathi/spathi.mod -SPAHOME_MUSIC,comm.safeones.music,sc2code/comm/spathi/imusicre.h,MUSICRES,base/comm/spathi/spathi.mod -FWIFFO_MUSIC,comm.fwiffo.music,sc2code/comm/spathi/imusicre.h,--,-- -SPATHI_FONT,comm.spathi.font,sc2code/comm/spathi/ifontres.h,FONTRES,base/fonts/spathi.fon -SPATHI_CONVERSATION_PHRASES,comm.spathi.dialogue,sc2code/comm/spathi/istrtab.h,CONVERSATION,base/comm/spathi/spathi.txt -SPATHI_HOME_COLOR_MAP,comm.safeones.colortable,sc2code/comm/spathi/istrtab.h,BINTAB,base/comm/safeones/safeones.ct -SPATHI_HOME_CONVERSATION_PHRASES,comm.safeones.dialogue,sc2code/comm/spathi/istrtab.h,CONVERSATION,base/comm/safeones/safeones.txt -SPATHI_COLOR_MAP,comm.spathi.colortable,sc2code/comm/spathi/istrtab.h,BINTAB,base/comm/spathi/spathi.ct -SPATHI_PMAP_ANIM,comm.spathi.graphics,sc2code/comm/spathi/igfxres.h,GFXRES,base/comm/spathi/spathi.ani -SPATHI_HOME_PMAP_ANIM,comm.safeones.graphics,sc2code/comm/spathi/igfxres.h,GFXRES,base/comm/safeones/safeones.ani -PKUNK_MUSIC,comm.pkunk.music,sc2code/comm/pkunk/imusicre.h,MUSICRES,base/comm/pkunk/pkunk.mod -PKUNK_FONT,comm.pkunk.font,sc2code/comm/pkunk/ifontres.h,FONTRES,base/fonts/pkunk.fon -PKUNK_CONVERSATION_PHRASES,comm.pkunk.dialogue,sc2code/comm/pkunk/istrtab.h,CONVERSATION,base/comm/pkunk/pkunk.txt -PKUNK_COLOR_MAP,comm.pkunk.colortable,sc2code/comm/pkunk/istrtab.h,BINTAB,base/comm/pkunk/pkunk.ct -PKUNK_PMAP_ANIM,comm.pkunk.graphics,sc2code/comm/pkunk/igfxres.h,GFXRES,base/comm/pkunk/pkunk.ani -SHOFIXTI_MUSIC,comm.shofixti.music,sc2code/comm/shofixt/imusicre.h,MUSICRES,base/comm/shofixti/shofixti.mod -SHOFIXTI_FONT,comm.shofixti.font,sc2code/comm/shofixt/ifontres.h,FONTRES,base/fonts/shofixti.fon -SHOFIXTI_CONVERSATION_PHRASES,comm.shofixti.dialogue,sc2code/comm/shofixt/istrtab.h,CONVERSATION,base/comm/shofixti/shofixti.txt -SHOFIXTI_COLOR_MAP,comm.shofixti.colortable,sc2code/comm/shofixt/istrtab.h,BINTAB,base/comm/shofixti/shofixti.ct -SHOFIXTI_PMAP_ANIM,comm.shofixti.graphics,sc2code/comm/shofixt/igfxres.h,GFXRES,base/comm/shofixti/shofixti.ani -UMGAH_MUSIC,comm.umgah.music,sc2code/comm/umgah/imusicre.h,MUSICRES,base/comm/umgah/umgah.mod -UMGAH_FONT,comm.umgah.font,sc2code/comm/umgah/ifontres.h,FONTRES,base/fonts/umgah.fon -UMGAH_CONVERSATION_PHRASES,comm.umgah.dialogue,sc2code/comm/umgah/istrtab.h,CONVERSATION,base/comm/umgah/umgah.txt -UMGAH_COLOR_MAP,comm.umgah.colortable,sc2code/comm/umgah/istrtab.h,BINTAB,base/comm/umgah/umgah.ct -UMGAH_PMAP_ANIM,comm.umgah.graphics,sc2code/comm/umgah/igfxres.h,GFXRES,base/comm/umgah/umgah.ani -ILWRATH_MUSIC,comm.ilwrath.music,sc2code/comm/ilwrath/imusicre.h,MUSICRES,base/comm/ilwrath/ilwrath.mod -ILWRATH_FONT,comm.ilwrath.font,sc2code/comm/ilwrath/ifontres.h,FONTRES,base/fonts/ilwrath.fon -ILWRATH_CONVERSATION_PHRASES,comm.ilwrath.dialogue,sc2code/comm/ilwrath/istrtab.h,CONVERSATION,base/comm/ilwrath/ilwrath.txt -ILWRATH_COLOR_MAP,comm.ilwrath.colortable,sc2code/comm/ilwrath/istrtab.h,BINTAB,base/comm/ilwrath/ilwrath.ct -ILWRATH_PMAP_ANIM,comm.ilwrath.graphics,sc2code/comm/ilwrath/igfxres.h,GFXRES,base/comm/ilwrath/ilwrath.ani -SYREEN_MUSIC,comm.syreen.music,sc2code/comm/syreen/imusicre.h,MUSICRES,base/comm/syreen/syreen.mod -SYREEN_FONT,comm.syreen.font,sc2code/comm/syreen/ifontres.h,FONTRES,base/fonts/syreen.fon -SYREEN_CONVERSATION_PHRASES,comm.syreen.dialogue,sc2code/comm/syreen/istrtab.h,CONVERSATION,base/comm/syreen/syreen.txt -SYREEN_COLOR_MAP,comm.syreen.colortable,sc2code/comm/syreen/istrtab.h,BINTAB,base/comm/syreen/syreen.ct -SYREEN_PMAP_ANIM,comm.syreen.graphics,sc2code/comm/syreen/igfxres.h,GFXRES,base/comm/syreen/syreen.ani -MELNORME_MUSIC,comm.melnorme.music,sc2code/comm/melnorm/imusicre.h,MUSICRES,base/comm/melnorme/melnorme.mod -MELNORME_FONT,comm.melnorme.font,sc2code/comm/melnorm/ifontres.h,FONTRES,base/fonts/micro.fon -MELNORME_CONVERSATION_PHRASES,comm.melnorme.dialogue,sc2code/comm/melnorm/istrtab.h,CONVERSATION,base/comm/melnorme/melnorme.txt -MELNORME_COLOR_MAP,comm.melnorme.colortable,sc2code/comm/melnorm/istrtab.h,BINTAB,base/comm/melnorme/melnorme.ct -MELNORME_PMAP_ANIM,comm.melnorme.graphics,sc2code/comm/melnorm/igfxres.h,GFXRES,base/comm/melnorme/melnorme.ani -BLACKURQ_MUSIC,comm.kohrah.music,sc2code/comm/blackur/imusicre.h,MUSICRES,base/comm/kohrah/kohrah.mod -BLACKURQ_FONT,comm.kohrah.font,sc2code/comm/blackur/ifontres.h,FONTRES,base/fonts/kohrah.fon -BLACKURQ_CONVERSATION_PHRASES,comm.kohrah.dialogue,sc2code/comm/blackur/istrtab.h,CONVERSATION,base/comm/kohrah/kohrah.txt -BLACKURQ_COLOR_MAP,comm.kohrah.colortable,sc2code/comm/blackur/istrtab.h,BINTAB,base/comm/kohrah/kohrah.ct -BLACKURQ_PMAP_ANIM,comm.kohrah.graphics,sc2code/comm/blackur/igfxres.h,GFXRES,base/comm/kohrah/kohrah.ani -TALKING_PET_MUSIC,comm.talkingpet.music,sc2code/comm/talkpet/imusicre.h,MUSICRES,base/comm/talkingpet/talkingpet.mod -TALKING_PET_FONT,comm.talkingpet.font,sc2code/comm/talkpet/ifontres.h,FONTRES,base/fonts/talkingpet.fon -TALKING_PET_CONVERSATION_PHRASES,comm.talkingpet.dialogue,sc2code/comm/talkpet/istrtab.h,CONVERSATION,base/comm/talkingpet/talkingpet.txt -TALKING_PET_COLOR_MAP,comm.talkingpet.colortable,sc2code/comm/talkpet/istrtab.h,BINTAB,base/comm/talkingpet/talkingpet.ct -TALKING_PET_PMAP_ANIM,comm.talkingpet.graphics,sc2code/comm/talkpet/igfxres.h,GFXRES,base/comm/talkingpet/talkingpet.ani -YEHAT_MUSIC,comm.yehat.music,sc2code/comm/yehat/imusicre.h,MUSICRES,base/comm/yehat/yehat.mod -REBEL_MUSIC,comm.yehat.rebel.music,sc2code/comm/yehat/imusicre.h,--,-- -YEHAT_FONT,comm.yehat.font,sc2code/comm/yehat/ifontres.h,FONTRES,base/fonts/yehat.fon -YEHAT_CONVERSATION_PHRASES,comm.yehat.dialogue,sc2code/comm/yehat/istrtab.h,CONVERSATION,base/comm/yehat/yehat.txt -REBEL_CONVERSATION_PHRASES,comm.yehat.rebel.dialogue,sc2code/comm/yehat/istrtab.h,CONVERSATION,base/comm/yehatrebels/yehatrebels.txt -YEHAT_COLOR_MAP,comm.yehat.colortable,sc2code/comm/yehat/istrtab.h,BINTAB,base/comm/yehat/yehat.ct -YEHAT_PMAP_ANIM,comm.yehat.graphics,sc2code/comm/yehat/igfxres.h,GFXRES,base/comm/yehat/yehat.ani -SUPOX_MUSIC,comm.supox.music,sc2code/comm/supox/imusicre.h,MUSICRES,base/comm/supox/supox.mod -SUPOX_FONT,comm.supox.font,sc2code/comm/supox/ifontres.h,FONTRES,base/fonts/supox.fon -SUPOX_CONVERSATION_PHRASES,comm.supox.dialogue,sc2code/comm/supox/istrtab.h,CONVERSATION,base/comm/supox/supox.txt -SUPOX_COLOR_MAP,comm.supox.colortable,sc2code/comm/supox/istrtab.h,BINTAB,base/comm/supox/supox.ct -SUPOX_PMAP_ANIM,comm.supox.graphics,sc2code/comm/supox/igfxres.h,GFXRES,base/comm/supox/supox.ani -THRADD_MUSIC,comm.thraddash.music,sc2code/comm/thradd/imusicre.h,MUSICRES,base/comm/thraddash/thraddash.mod -THRADD_FONT,comm.thraddash.font,sc2code/comm/thradd/ifontres.h,FONTRES,base/fonts/thraddash.fon -THRADD_CONVERSATION_PHRASES,comm.thraddash.dialogue,sc2code/comm/thradd/istrtab.h,CONVERSATION,base/comm/thraddash/thraddash.txt -THRADD_COLOR_MAP,comm.thraddash.colortable,sc2code/comm/thradd/istrtab.h,BINTAB,base/comm/thraddash/thraddash.ct -THRADD_PMAP_ANIM,comm.thraddash.graphics,sc2code/comm/thradd/igfxres.h,GFXRES,base/comm/thraddash/thraddash.ani -ORZ_MUSIC,comm.orz.music,sc2code/comm/orz/imusicre.h,MUSICRES,base/comm/orz/orz.mod -ORZ_FONT,comm.orz.font,sc2code/comm/orz/ifontres.h,FONTRES,base/fonts/orz.fon -ORZ_CONVERSATION_PHRASES,comm.orz.dialogue,sc2code/comm/orz/istrtab.h,CONVERSATION,base/comm/orz/orz.txt -ORZ_COLOR_MAP,comm.orz.colortable,sc2code/comm/orz/istrtab.h,BINTAB,base/comm/orz/orz.ct -ORZ_PMAP_ANIM,comm.orz.graphics,sc2code/comm/orz/igfxres.h,GFXRES,base/comm/orz/orz.ani -DRUUGE_CODE,ship.druuge.code,sc2code/ships/druuge/icode.h,SHIP,5 -DRUUGE_VICTORY_SONG,ship.druuge.ditty,sc2code/ships/druuge/imusicre.h,MUSICRES,base/ships/druuge/mauler.mod -DRUUGE_RACE_STRINGS,ship.druuge.text,sc2code/ships/druuge/istrtab.h,STRTAB,base/ships/druuge/mauler.txt -DRUUGE_SHIP_SOUNDS,ship.druuge.sounds,sc2code/ships/druuge/isndres.h,SNDRES,base/ships/druuge/mauler.snd -DRUUGE_ICON_MASK_PMAP_ANIM,ship.druuge.icons,sc2code/ships/druuge/igfxres.h,GFXRES,base/ships/druuge/mauler-icons.ani -DRUUGE_MICON_MASK_PMAP_ANIM,ship.druuge.meleeicons,sc2code/ships/druuge/igfxres.h,GFXRES,base/ships/druuge/mauler-meleeicons.ani -DRUUGE_BIG_MASK_PMAP_ANIM,ship.druuge.graphics.mauler.large,sc2code/ships/druuge/igfxres.h,GFXRES,base/ships/druuge/mauler-big.ani -DRUUGE_MED_MASK_PMAP_ANIM,ship.druuge.graphics.mauler.medium,sc2code/ships/druuge/igfxres.h,GFXRES,base/ships/druuge/mauler-med.ani -DRUUGE_SML_MASK_PMAP_ANIM,ship.druuge.graphics.mauler.small,sc2code/ships/druuge/igfxres.h,GFXRES,base/ships/druuge/mauler-sml.ani -DRUUGE_CANNON_BIG_MASK_PMAP_ANIM,ship.druuge.graphics.cannon.large,sc2code/ships/druuge/igfxres.h,GFXRES,base/ships/druuge/cannon-big.ani -DRUUGE_CANNON_MED_MASK_PMAP_ANIM,ship.druuge.graphics.cannon.medium,sc2code/ships/druuge/igfxres.h,GFXRES,base/ships/druuge/cannon-med.ani -DRUUGE_CANNON_SML_MASK_PMAP_ANIM,ship.druuge.graphics.cannon.small,sc2code/ships/druuge/igfxres.h,GFXRES,base/ships/druuge/cannon-sml.ani -DRUUGE_CAPT_MASK_PMAP_ANIM,ship.druuge.graphics.captain,sc2code/ships/druuge/igfxres.h,GFXRES,base/ships/druuge/mauler-cap.ani -SLYLANDRO_CODE,ship.slylandro.code,sc2code/ships/slylandr/icode.h,SHIP,14 -SLYLANDRO_VICTORY_SONG,ship.slylandro.ditty,sc2code/ships/slylandr/imusicre.h,MUSICRES,base/ships/slylandro/probe.mod -SLYLANDRO_RACE_STRINGS,ship.slylandro.text,sc2code/ships/slylandr/istrtab.h,STRTAB,base/ships/slylandro/probe.txt -SLYLANDRO_SHIP_SOUNDS,ship.slylandro.sounds,sc2code/ships/slylandr/isndres.h,SNDRES,base/ships/slylandro/probe.snd -SLYLANDRO_ICON_MASK_PMAP_ANIM,ship.slylandro.icons,sc2code/ships/slylandr/igfxres.h,GFXRES,base/ships/slylandro/probe-icons.ani -SLYLANDRO_MICON_MASK_PMAP_ANIM,ship.slylandro.meleeicons,sc2code/ships/slylandr/igfxres.h,GFXRES,base/ships/slylandro/probe-meleeicons.ani -SLYLANDRO_BIG_MASK_PMAP_ANIM,ship.slylandro.graphics.probe.large,sc2code/ships/slylandr/igfxres.h,GFXRES,base/ships/slylandro/probe-big.ani -SLYLANDRO_MED_MASK_PMAP_ANIM,ship.slylandro.graphics.probe.medium,sc2code/ships/slylandr/igfxres.h,GFXRES,base/ships/slylandro/probe-med.ani -SLYLANDRO_SML_MASK_PMAP_ANIM,ship.slylandro.graphics.probe.small,sc2code/ships/slylandr/igfxres.h,GFXRES,base/ships/slylandro/probe-sml.ani -SLYLANDRO_CAPTAIN_MASK_PMAP_ANIM,ship.slylandro.graphics.captain,sc2code/ships/slylandr/igfxres.h,GFXRES,base/ships/slyla... [truncated message content] |
From: <av...@us...> - 2011-04-26 04:26:11
|
Revision: 3590 http://sc2.svn.sourceforge.net/sc2/?rev=3590&view=rev Author: avolkov Date: 2011-04-26 04:26:05 +0000 (Tue, 26 Apr 2011) Log Message: ----------- Obsolete resource package include removed Modified Paths: -------------- trunk/sc2/build/msvc6/UrQuanMasters.dsp Removed Paths: ------------- trunk/sc2/src/uqm/respkg.h Modified: trunk/sc2/build/msvc6/UrQuanMasters.dsp =================================================================== --- trunk/sc2/build/msvc6/UrQuanMasters.dsp 2011-04-26 04:21:29 UTC (rev 3589) +++ trunk/sc2/build/msvc6/UrQuanMasters.dsp 2011-04-26 04:26:05 UTC (rev 3590) @@ -3374,10 +3374,6 @@ # End Source File # Begin Source File -SOURCE=..\..\src\uqm\respkg.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\restart.c # End Source File # Begin Source File Deleted: trunk/sc2/src/uqm/respkg.h =================================================================== --- trunk/sc2/src/uqm/respkg.h 2011-04-26 04:21:29 UTC (rev 3589) +++ trunk/sc2/src/uqm/respkg.h 2011-04-26 04:26:05 UTC (rev 3590) @@ -1,312 +0,0 @@ -//Copyright Paul Reiche, Fred Ford. 1992-2002 - -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -enum -{ - INIT_PACKAGE = 1, - TITLE_PACKAGE, - ARILOU_SHIP_PACKAGE, - CHMMR_SHIP_PACKAGE, - EARTHLING_SHIP_PACKAGE, - ORZ_SHIP_PACKAGE, - PKUNK_SHIP_PACKAGE, - SHOFIXTI_SHIP_PACKAGE, - SPATHI_SHIP_PACKAGE, - SUPOX_SHIP_PACKAGE, - THRADD_SHIP_PACKAGE, - UTWIG_SHIP_PACKAGE, - VUX_SHIP_PACKAGE, - YEHAT_SHIP_PACKAGE, - MELNORME_SHIP_PACKAGE, - DRUUGE_SHIP_PACKAGE, - ILWRATH_SHIP_PACKAGE, - MYCON_SHIP_PACKAGE, - SLYLANDRO_SHIP_PACKAGE, - UMGAH_SHIP_PACKAGE, - URQUAN_SHIP_PACKAGE, - ZOQFOTPIK_SHIP_PACKAGE, - SYREEN_SHIP_PACKAGE, - BLACKURQ_SHIP_PACKAGE, - ANDROSYN_SHIP_PACKAGE, - CHENJESU_SHIP_PACKAGE, - MMRNMHRM_SHIP_PACKAGE, - KERNEL_PACKAGE, - SC2KERNEL_PACKAGE, - MICROFONT_PACKAGE, - SC2DATA_PACKAGE, - MENU_SOUND_PACKAGE, - SOUND_PACKAGE, - SPACE_PACKAGE, - AMBIENT_HYPER_PACKAGE, - HYPER_PACKAGE, - ARISPACE_PACKAGE, - HYPERSPACE_MUSIC_PACKAGE, - QUASISPACE_MUSIC_PACKAGE, - INIT_PACKAGE, - IP_PACKAGE, - LANDER_PACKAGE, - ORBIT_VIEW_PACKAGE, - EARTH_PACKAGE, - CANNISTER_PACKAGE, - LIFE00_PACKAGE, - LIFE01_PACKAGE, - LIFE02_PACKAGE, - LIFE03_PACKAGE, - LIFE04_PACKAGE, - LIFE05_PACKAGE, - LIFE06_PACKAGE, - LIFE07_PACKAGE, - LIFE08_PACKAGE, - LIFE09_PACKAGE, - LIFE10_PACKAGE, - LIFE11_PACKAGE, - LIFE12_PACKAGE, - LIFE13_PACKAGE, - LIFE14_PACKAGE, - LIFE15_PACKAGE, - LIFE16_PACKAGE, - LIFE17_PACKAGE, - LIFE18_PACKAGE, - LIFE19_PACKAGE, - LIFE20_PACKAGE, - LIFE21_PACKAGE, - LIFE22_PACKAGE, - LIFE23_PACKAGE, - LIFE24_PACKAGE, - LIFE25_PACKAGE, - OOLITE_PACKAGE, - YTTRIC_COLOR_PACKAGE, - YTTRIC_XLAT_PACKAGE, - QD_COLOR_PACKAGE, - QD_XLAT_PACKAGE, - LANTHANIDE_COLOR_PACKAGE, - TREASURE_COLOR_PACKAGE, - UREA_COLOR_PACKAGE, - UREA_XLAT_PACKAGE, - METAL_PACKAGE, - RADIOACTIVE_COLOR_PACKAGE, - OPALESCENT_COLOR_PACKAGE, - OPALESCENT_XLAT_PACKAGE, - CYANIC_COLOR_PACKAGE, - ACID_COLOR_PACKAGE, - ALKALI_COLOR_PACKAGE, - HALIDE_COLOR_PACKAGE, - GREEN_COLOR_PACKAGE, - COPPER_COLOR_PACKAGE, - CARBIDE_COLOR_PACKAGE, - ULTRAMARINE_COLOR_PACKAGE, - NOBLE_COLOR_PACKAGE, - AZURE_COLOR_PACKAGE, - CHONDRITE_PACKAGE, - PURPLE_COLOR_PACKAGE, - SUPER_DENSE_COLOR_PACKAGE, - PELLUCID_COLOR_PACKAGE, - DUST_COLOR_PACKAGE, - MAROON_COLOR_PACKAGE, - CIMMERIAN_COLOR_PACKAGE, - INFRARED_COLOR_PACKAGE, - SELENIC_COLOR_PACKAGE, - AURIC_COLOR_PACKAGE, - FLUORESCENT_COLOR_PACKAGE, - ULTRAVIOLET_COLOR_PACKAGE, - PLUTONIC_COLOR_PACKAGE, - RAINBOW_COLOR_PACKAGE, - SHATTERED_PACKAGE, - SAPPHIRE_COLOR_PACKAGE, - SAPPHIRE_XLAT_PACKAGE, - ORGANIC_COLOR_PACKAGE, - XENOLITHIC_COLOR_PACKAGE, - REDUX_PACKAGE, - PRIMORDIAL_COLOR_PACKAGE, - EMERALD_COLOR_PACKAGE, - CHLORINE_COLOR_PACKAGE, - CHLORINE_XLAT_PACKAGE, - MAGNETIC_COLOR_PACKAGE, - WATER_COLOR_PACKAGE, - TELLURIC_COLOR_PACKAGE, - HYDROCARBON_COLOR_PACKAGE, - IODINE_COLOR_PACKAGE, - VINYLOGOUS_COLOR_PACKAGE, - RUBY_COLOR_PACKAGE, - MAGMA_COLOR_PACKAGE, - CRIMSON_COLOR_PACKAGE, - GAS_XLAT_PACKAGE, - BLU_GAS_CT_PACKAGE, - CYA_GAS_CT_PACKAGE, - GRN_GAS_CT_PACKAGE, - GRY_GAS_CT_PACKAGE, - ORA_GAS_CT_PACKAGE, - PUR_GAS_CT_PACKAGE, - RED_GAS_CT_PACKAGE, - VIO_GAS_CT_PACKAGE, - YEL_GAS_CT_PACKAGE, - REPORT_PACKAGE, - MOONBASE_PACKAGE, - MAIDENS_PACKAGE, - CHMMR_BASE_PACKAGE, - AQUA_PACKAGE, - BURV_BCS_PACKAGE, - TAALO_DEVICE_PACKAGE, - SUN_DEVICE_PACKAGE, - VAULT_PACKAGE, - WRECK_PACKAGE, - BOMB_PACKAGE, - BEAST_PACKAGE, - EGG_CASE_PACKAGE, - SPAPLUTO_PACKAGE, - BURV_RUINS_PACKAGE, - ANDROSYNTH_RUINS_PACKAGE, - DRUUGE_RUINS_PACKAGE, - PKUNK_RUINS_PACKAGE, - RACE_RUINS_PACKAGE, - RACE_RUINS_TEXT_PACKAGE, - UMGAH_BCS_PACKAGE, - IP_MUSIC_PACKAGE, - ORBIT_MUSIC_PACKAGE, - MELEE_BGROUND_PACKAGE, - MELEE_PICK_PACKAGE, - SC2_SEGUE_PACKAGE, - SC2_PICK_PACKAGE, - ARILOU_CONVERSATION_PACKAGE, - CHMMR_CONVERSATION_PACKAGE, - COMMANDER_CONVERSATION_PACKAGE, - ORZ_CONVERSATION_PACKAGE, - PKUNK_CONVERSATION_PACKAGE, - SHOFIXTI_CONVERSATION_PACKAGE, - SPATHI_CONVERSATION_PACKAGE, - SUPOX_CONVERSATION_PACKAGE, - THRADD_CONVERSATION_PACKAGE, - UTWIG_CONVERSATION_PACKAGE, - VUX_CONVERSATION_PACKAGE, - YEHAT_CONVERSATION_PACKAGE, - MELNORME_CONVERSATION_PACKAGE, - DRUUGE_CONVERSATION_PACKAGE, - ILWRATH_CONVERSATION_PACKAGE, - MYCON_CONVERSATION_PACKAGE, - SLYLANDRO_CONVERSATION_PACKAGE, - UMGAH_CONVERSATION_PACKAGE, - URQUAN_CONVERSATION_PACKAGE, - ZOQFOTPIK_CONVERSATION_PACKAGE, - SYREEN_CONVERSATION_PACKAGE, - BLACKURQ_CONVERSATION_PACKAGE, - TALKING_PET_CONVERSATION_PACKAGE, - SLYLANDRO_HOME_CONVERSATION_PACKAGE, - PLAYER_CONVERSATION_PACKAGE, - SIS_PACKAGE, - SAMATRA_PACKAGE, - URQUAN_PROBE_PACKAGE, - RESTART_PACKAGE, - MODULE_PACKAGE, - OUTFIT_PACKAGE, - OUTFIT_MUSIC_PACKAGE, - BLUEPRINT_PACKAGE, - SHIPYARD_MUSIC_PACKAGE, - STARBASE_PACKAGE, - SAMATRA_BATTLE_PACKAGE, - SHIELDED_BATTLE_PACKAGE, - PLANET00_PACKAGE, - PLANET01_PACKAGE, - PLANET02_PACKAGE, - PLANET03_PACKAGE, - PLANET04_PACKAGE, - PLANET05_PACKAGE, - PLANET06_PACKAGE, - PLANET07_PACKAGE, - PLANET08_PACKAGE, - PLANET09_PACKAGE, - PLANET10_PACKAGE, - PLANET11_PACKAGE, - PLANET12_PACKAGE, - PLANET13_PACKAGE, - PLANET14_PACKAGE, - PLANET15_PACKAGE, - PLANET16_PACKAGE, - PLANET17_PACKAGE, - PLANET18_PACKAGE, - PLANET19_PACKAGE, - PLANET20_PACKAGE, - PLANET21_PACKAGE, - PLANET22_PACKAGE, - PLANET23_PACKAGE, - PLANET24_PACKAGE, - PLANET25_PACKAGE, - PLANET26_PACKAGE, - PLANET27_PACKAGE, - PLANET28_PACKAGE, - PLANET29_PACKAGE, - PLANET30_PACKAGE, - PLANET31_PACKAGE, - PLANET32_PACKAGE, - PLANET33_PACKAGE, - PLANET34_PACKAGE, - PLANET35_PACKAGE, - PLANET36_PACKAGE, - PLANET37_PACKAGE, - PLANET38_PACKAGE, - PLANET39_PACKAGE, - PLANET40_PACKAGE, - PLANET41_PACKAGE, - PLANET42_PACKAGE, - PLANET43_PACKAGE, - PLANET44_PACKAGE, - PLANET45_PACKAGE, - PLANET46_PACKAGE, - PLANET47_PACKAGE, - PLANET48_PACKAGE, - PLANET49_PACKAGE, - PLANET50_PACKAGE, - PLANET51_PACKAGE, - PLANET52_PACKAGE, - PLANET53_PACKAGE, - PLANET54_PACKAGE, - PLANET55_PACKAGE, - PLANET56_PACKAGE, - PLANET57_PACKAGE, - PLANET58_PACKAGE, - BATTLE_MUSIC_PACKAGE, - CREDITBKGD_PACKAGE, - UNUSED_01_PACKAGE_, - UNUSED_02_PACKAGE_, - UNUSED_03_PACKAGE_, - UNUSED_04_PACKAGE_, - UNUSED_05_PACKAGE_, - UNUSED_06_PACKAGE_, - UNUSED_07_PACKAGE_, - UNUSED_08_PACKAGE_, - UNUSED_09_PACKAGE_, - UNUSED_10_PACKAGE_, - UNUSED_11_PACKAGE_, - UNUSED_12_PACKAGE_, - UNUSED_13_PACKAGE_, - UNUSED_14_PACKAGE_, - UNUSED_15_PACKAGE_, - UNUSED_16_PACKAGE_, - UNUSED_17_PACKAGE_, - UNUSED_18_PACKAGE_, - UNUSED_19_PACKAGE_, - CREDIT_MUSIC_PACKAGE, - SISSKEL_PACKAGE, - ORBENTER_PACKAGE, - MENUBKG_PACKAGE, - INTRO_PACKAGE, - FINAL_PACKAGE, - CREDIT_FONTS_PACKAGE, - CREDITS_PACKAGE, - JOYSTICK_ALPHA_PACKAGE, -}; - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-04-26 04:21:36
|
Revision: 3589 http://sc2.svn.sourceforge.net/sc2/?rev=3589&view=rev Author: avolkov Date: 2011-04-26 04:21:29 +0000 (Tue, 26 Apr 2011) Log Message: ----------- Updated the .dsp to reflect the current state of resource includes; many removed and some added Modified Paths: -------------- trunk/sc2/build/msvc6/UrQuanMasters.dsp Modified: trunk/sc2/build/msvc6/UrQuanMasters.dsp =================================================================== --- trunk/sc2/build/msvc6/UrQuanMasters.dsp 2011-04-26 02:24:55 UTC (rev 3588) +++ trunk/sc2/build/msvc6/UrQuanMasters.dsp 2011-04-26 04:21:29 UTC (rev 3589) @@ -1580,10 +1580,6 @@ # End Source File # Begin Source File -SOURCE=..\..\src\uqm\comm\arilou\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\arilou\resinst.h # End Source File # Begin Source File @@ -1600,10 +1596,6 @@ # End Source File # Begin Source File -SOURCE=..\..\src\uqm\comm\blackur\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\blackur\resinst.h # End Source File # Begin Source File @@ -1620,10 +1612,6 @@ # End Source File # Begin Source File -SOURCE=..\..\src\uqm\comm\chmmr\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\chmmr\resinst.h # End Source File # Begin Source File @@ -1640,10 +1628,6 @@ # End Source File # Begin Source File -SOURCE=..\..\src\uqm\comm\comandr\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\comandr\resinst.h # End Source File # Begin Source File @@ -1660,10 +1644,6 @@ # End Source File # Begin Source File -SOURCE=..\..\src\uqm\comm\druuge\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\druuge\resinst.h # End Source File # Begin Source File @@ -1676,10 +1656,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\ilwrath\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\ilwrath\ilwrathc.c # End Source File # Begin Source File @@ -1696,10 +1672,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\melnorm\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\melnorm\melnorm.c # End Source File # Begin Source File @@ -1716,10 +1688,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\mycon\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\mycon\myconc.c # End Source File # Begin Source File @@ -1736,10 +1704,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\orz\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\orz\orzc.c # End Source File # Begin Source File @@ -1756,10 +1720,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\pkunk\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\pkunk\pkunkc.c # End Source File # Begin Source File @@ -1788,10 +1748,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\shofixt\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\shofixt\resinst.h # End Source File # Begin Source File @@ -1808,10 +1764,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\slyhome\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\slyhome\resinst.h # End Source File # Begin Source File @@ -1828,10 +1780,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\slyland\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\slyland\resinst.h # End Source File # Begin Source File @@ -1860,10 +1808,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\spathi\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\spathi\resinst.h # End Source File # Begin Source File @@ -1892,10 +1836,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\supox\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\supox\resinst.h # End Source File # Begin Source File @@ -1912,10 +1852,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\syreen\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\syreen\resinst.h # End Source File # Begin Source File @@ -1932,10 +1868,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\talkpet\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\talkpet\resinst.h # End Source File # Begin Source File @@ -1952,10 +1884,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\thradd\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\thradd\resinst.h # End Source File # Begin Source File @@ -1972,10 +1900,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\umgah\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\umgah\resinst.h # End Source File # Begin Source File @@ -1992,10 +1916,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\urquan\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\urquan\resinst.h # End Source File # Begin Source File @@ -2012,10 +1932,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\utwig\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\utwig\resinst.h # End Source File # Begin Source File @@ -2032,10 +1948,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\vux\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\vux\resinst.h # End Source File # Begin Source File @@ -2052,10 +1964,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\yehat\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\yehat\resinst.h # End Source File # Begin Source File @@ -2072,10 +1980,6 @@ # PROP Default_Filter "" # Begin Source File -SOURCE=..\..\src\uqm\comm\zoqfot\igfxres.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\comm\zoqfot\resinst.h # End Source File # Begin Source File @@ -2652,30 +2556,10 @@ # End Source File # Begin Source File -SOURCE=..\..\src\uqm\ships\sis_ship\igfxres.h -# End Source File -# Begin Source File - -SOURCE=..\..\src\uqm\ships\sis_ship\imusicre.h -# End Source File -# Begin Source File - -SOURCE=..\..\src\uqm\ships\sis_ship\istrtab.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\ships\sis_ship\resinst.h # End Source File # Begin Source File -SOURCE=..\..\src\uqm\ships\sis_ship\respkg.h -# End Source File -# Begin Source File - -SOURCE=..\..\src\uqm\ships\sis_ship\restypes.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\ships\sis_ship\sis_ship.c # End Source File # Begin Source File @@ -3370,6 +3254,10 @@ # End Source File # Begin Source File +SOURCE=..\..\src\uqm\ikey_con.h +# End Source File +# Begin Source File + SOURCE=..\..\src\uqm\imusicre.h # End Source File # Begin Source File @@ -3402,7 +3290,7 @@ # End Source File # Begin Source File -SOURCE=..\..\src\uqm\ires_ind.h +SOURCE=..\..\src\uqm\isndres.h # End Source File # Begin Source File This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-04-26 02:25:01
|
Revision: 3588 http://sc2.svn.sourceforge.net/sc2/?rev=3588&view=rev Author: avolkov Date: 2011-04-26 02:24:55 +0000 (Tue, 26 Apr 2011) Log Message: ----------- Scratch off todos completed in previous revision Modified Paths: -------------- trunk/sc2/src/uqm/planets/generate.h Modified: trunk/sc2/src/uqm/planets/generate.h =================================================================== --- trunk/sc2/src/uqm/planets/generate.h 2011-04-26 02:21:34 UTC (rev 3587) +++ trunk/sc2/src/uqm/planets/generate.h 2011-04-26 02:24:55 UTC (rev 3588) @@ -25,13 +25,10 @@ /* * To do (for further cleanups): - * - split off pickupMineral, pickupEnergy, pickupLife from Generate* * - split off generateOrbital in a calculation and an activation * (graphics and music) part. * - make generateOrbital return a meaningful value, specifically, whether * or not the player is going into orbit - * - make generateMinerals et al return the last object number (or count - * if called for all objects) and take non-pointer whichNode * - for GenerateNameFunction, set the name in an argument, instead * of in GLOBAL_SYS(PlanetName) * - make generateName work for moons This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-04-26 02:21:42
|
Revision: 3587 http://sc2.svn.sourceforge.net/sc2/?rev=3587&view=rev Author: avolkov Date: 2011-04-26 02:21:34 +0000 (Tue, 26 Apr 2011) Log Message: ----------- Generation code refactoring: split off pickupXxx() from generateXxx(), make generateXxx() return the count and take non-pointer Modified Paths: -------------- trunk/sc2/src/uqm/planets/generate/genand.c trunk/sc2/src/uqm/planets/generate/genburv.c trunk/sc2/src/uqm/planets/generate/genchmmr.c trunk/sc2/src/uqm/planets/generate/gencol.c trunk/sc2/src/uqm/planets/generate/gendefault.c trunk/sc2/src/uqm/planets/generate/gendefault.h trunk/sc2/src/uqm/planets/generate/gendru.c trunk/sc2/src/uqm/planets/generate/genilw.c trunk/sc2/src/uqm/planets/generate/genmel.c trunk/sc2/src/uqm/planets/generate/genmyc.c trunk/sc2/src/uqm/planets/generate/genorz.c trunk/sc2/src/uqm/planets/generate/genpet.c trunk/sc2/src/uqm/planets/generate/genpku.c trunk/sc2/src/uqm/planets/generate/genrain.c trunk/sc2/src/uqm/planets/generate/gensam.c trunk/sc2/src/uqm/planets/generate/genshof.c trunk/sc2/src/uqm/planets/generate/gensly.c trunk/sc2/src/uqm/planets/generate/gensol.c trunk/sc2/src/uqm/planets/generate/genspa.c trunk/sc2/src/uqm/planets/generate/gensup.c trunk/sc2/src/uqm/planets/generate/gensyr.c trunk/sc2/src/uqm/planets/generate/genthrad.c trunk/sc2/src/uqm/planets/generate/gentrap.c trunk/sc2/src/uqm/planets/generate/genutw.c trunk/sc2/src/uqm/planets/generate/genvault.c trunk/sc2/src/uqm/planets/generate/genvux.c trunk/sc2/src/uqm/planets/generate/genwreck.c trunk/sc2/src/uqm/planets/generate/genyeh.c trunk/sc2/src/uqm/planets/generate/genzfpscout.c trunk/sc2/src/uqm/planets/generate/genzoq.c trunk/sc2/src/uqm/planets/generate.h trunk/sc2/src/uqm/planets/lander.c trunk/sc2/src/uqm/planets/scan.c trunk/sc2/src/uqm/planets/scan.h trunk/sc2/src/uqm/uqmdebug.c Modified: trunk/sc2/src/uqm/planets/generate/genand.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genand.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genand.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -30,8 +30,10 @@ static bool GenerateAndrosynth_generatePlanets (SOLARSYS_STATE *solarSys); static bool GenerateAndrosynth_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -static bool GenerateAndrosynth_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); +static COUNT GenerateAndrosynth_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GenerateAndrosynth_pickupEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); const GenerateFunctions generateAndrosynthFunctions = { @@ -45,6 +47,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateAndrosynth_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateAndrosynth_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; @@ -121,34 +126,39 @@ } static bool -onRuinPickedUp (SOLARSYS_STATE *solarSys, COUNT whichNode) +GenerateAndrosynth_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) { - PLANET_INFO *planetInfo = &solarSys->SysInfo.PlanetInfo; + if (matchWorld (solarSys, world, 1, MATCH_PLANET)) + { + PLANET_INFO *planetInfo = &solarSys->SysInfo.PlanetInfo; - // Ruins previously visited are marked in the upper 16 bits - if (isNodeRetrieved (planetInfo, ENERGY_SCAN, whichNode + 16)) - return false; // already visited this ruin before, no report + // Ruins previously visited are marked in the upper 16 bits + if (isNodeRetrieved (planetInfo, ENERGY_SCAN, whichNode + 16)) + return false; // already visited this ruin, do not remove - setNodeRetrieved (planetInfo, ENERGY_SCAN, whichNode + 16); - // We set the retrieved bit manually here and need to indicate - // the change to the solar system state functions - SET_GAME_STATE (PLANETARY_CHANGE, 1); + setNodeRetrieved (planetInfo, ENERGY_SCAN, whichNode + 16); + // We set the retrieved bit manually here and need to indicate + // the change to the solar system state functions + SET_GAME_STATE (PLANETARY_CHANGE, 1); - return true; // give whatever report is next + // Androsynth ruins have several lander reports which form a story + GenerateDefault_landerReportCycle (solarSys); + + return false; // do not remove the node from the surface + } + + return false; } -static bool +static COUNT GenerateAndrosynth_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (matchWorld (solarSys, world, 1, MATCH_PLANET)) { - GenerateDefault_generateRuins (solarSys, whichNode); - GenerateDefault_pickupRuins (solarSys, onRuinPickedUp); - return true; + return GenerateDefault_generateRuins (solarSys, whichNode); } - *whichNode = 0; - return true; + return 0; } - Modified: trunk/sc2/src/uqm/planets/generate/genburv.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genburv.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genburv.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -19,7 +19,6 @@ #include "genall.h" #include "../lander.h" #include "../planets.h" -#include "../scan.h" #include "../../globdata.h" #include "../../nameref.h" #include "../../resinst.h" @@ -31,8 +30,10 @@ PLANET_DESC *planet); static bool GenerateBurvixese_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -static bool GenerateBurvixese_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); +static COUNT GenerateBurvixese_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GenerateBurvixese_pickupEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); const GenerateFunctions generateBurvixeseFunctions = { @@ -46,6 +47,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateBurvixese_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateBurvixese_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; @@ -136,40 +140,54 @@ return true; } -static bool +static COUNT GenerateBurvixese_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateDefault_generateRuins (solarSys, whichNode); - GenerateDefault_pickupRuins (solarSys, NULL); - return true; + return GenerateDefault_generateRuins (solarSys, whichNode); } if (matchWorld (solarSys, world, 0, 0)) { + // This check is redundant since the retrieval bit will keep the + // node from showing up again if (GET_GAME_STATE (BURVIXESE_BROADCASTERS)) { // already picked up - *whichNode = 0; - return true; + return 0; } - GenerateDefault_generateArtifact (solarSys, whichNode); + return GenerateDefault_generateArtifact (solarSys, whichNode); + } - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) - { - SET_GAME_STATE (BURVIXESE_BROADCASTERS, 1); - SET_GAME_STATE (BURV_BROADCASTERS_ON_SHIP, 1); + return 0; +} - GenerateDefault_landerReport (solarSys); - SetLanderTakeoff (); - } +static bool +GenerateBurvixese_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) +{ + if (matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + // Standard ruins report + GenerateDefault_landerReportCycle (solarSys); + return false; + } - return true; + if (matchWorld (solarSys, world, 0, 0)) + { + assert (!GET_GAME_STATE (BURVIXESE_BROADCASTERS) && whichNode == 0); + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); + + SET_GAME_STATE (BURVIXESE_BROADCASTERS, 1); + SET_GAME_STATE (BURV_BROADCASTERS_ON_SHIP, 1); + + return true; // picked up } - *whichNode = 0; - return true; + (void) whichNode; + return false; } - Modified: trunk/sc2/src/uqm/planets/generate/genchmmr.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genchmmr.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genchmmr.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -46,6 +46,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateDefault_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateDefault_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; Modified: trunk/sc2/src/uqm/planets/generate/gencol.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/gencol.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/gencol.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -42,6 +42,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateDefault_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateDefault_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; Modified: trunk/sc2/src/uqm/planets/generate/gendefault.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/gendefault.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/gendefault.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -16,7 +16,6 @@ #include "genall.h" #include "../planets.h" -#include "../scan.h" #include "../lander.h" #include "../../encount.h" #include "../../gamestr.h" @@ -38,12 +37,6 @@ PLANET_DESC *world); bool GenerateDefault_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -bool GenerateDefault_generateMinerals (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); -bool GenerateDefault_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); -bool GenerateDefault_generateLife (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); static void GeneratePlanets (SOLARSYS_STATE *system); static void check_yehat_rebellion (void); @@ -60,6 +53,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateDefault_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateDefault_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; @@ -166,74 +162,84 @@ return true; } -bool +COUNT GenerateDefault_generateMinerals (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode) + PLANET_DESC *world, COUNT whichNode) { - GenerateMineralDeposits (&solarSys->SysInfo, whichNode); + GenerateMineralDeposits (&solarSys->SysInfo, &whichNode); (void) world; - return true; + return whichNode; } bool -GenerateDefault_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) +GenerateDefault_pickupMinerals (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) { - *whichNode = 0; + // Minerals do not need any extra handling as of now (void) solarSys; (void) world; + (void) whichNode; return true; } +COUNT +GenerateDefault_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) +{ + (void) whichNode; + (void) solarSys; + (void) world; + return 0; +} + bool +GenerateDefault_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) +{ + // This should never be called since every energy node needs + // special handling and the function should be overridden + assert (false); + (void) solarSys; + (void) world; + (void) whichNode; + return false; +} + +COUNT GenerateDefault_generateLife (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { - GenerateLifeForms (&solarSys->SysInfo, whichNode); + GenerateLifeForms (&solarSys->SysInfo, &whichNode); (void) world; - return true; + return whichNode; } bool -GenerateDefault_generateArtifact (SOLARSYS_STATE *solarSys, COUNT *whichNode) +GenerateDefault_pickupLife (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) { - // Generate an energy node at a random location - GenerateRandomNodes (&solarSys->SysInfo, ENERGY_SCAN, 1, 0, whichNode); + // Bio does not need any extra handling as of now + (void) solarSys; + (void) world; + (void) whichNode; return true; } -bool -GenerateDefault_generateRuins (SOLARSYS_STATE *solarSys, COUNT *whichNode) +COUNT +GenerateDefault_generateArtifact (SOLARSYS_STATE *solarSys, COUNT whichNode) { - // Generate a standard spread of city ruins of a destroyed civilization - GenerateRandomNodes (&solarSys->SysInfo, ENERGY_SCAN, NUM_RACE_RUINS, - 0, whichNode); - return true; + // Generate an energy node at a random location + GenerateRandomNodes (&solarSys->SysInfo, ENERGY_SCAN, 1, 0, &whichNode); + return whichNode; } -bool -GenerateDefault_pickupRuins (SOLARSYS_STATE *solarSys, - PickupRuinCallback callback) +COUNT +GenerateDefault_generateRuins (SOLARSYS_STATE *solarSys, COUNT whichNode) { - PLANET_INFO *planetInfo = &solarSys->SysInfo.PlanetInfo; - COUNT i; - - for (i = 0; i < NUM_RACE_RUINS; ++i) - { - if (!isNodeRetrieved (planetInfo, ENERGY_SCAN, i)) - continue; - - // Retrieval status is cleared to keep the node on the map - setNodeNotRetrieved (planetInfo, ENERGY_SCAN, i); - - if (callback && !callback (solarSys, i)) - continue; // no lander report wanted - - // Some ruins have more than one lander report, like when - // you fish artifacts out of the ruins. - GenerateDefault_landerReportCycle (solarSys); - } - return true; + // Generate a standard spread of city ruins of a destroyed civilization + GenerateRandomNodes (&solarSys->SysInfo, ENERGY_SCAN, NUM_RACE_RUINS, + 0, &whichNode); + return whichNode; } static inline void Modified: trunk/sc2/src/uqm/planets/generate/gendefault.h =================================================================== --- trunk/sc2/src/uqm/planets/generate/gendefault.h 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/gendefault.h 2011-04-26 02:21:34 UTC (rev 3587) @@ -31,20 +31,21 @@ PLANET_DESC *world); bool GenerateDefault_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -bool GenerateDefault_generateMinerals (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); -bool GenerateDefault_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); -bool GenerateDefault_generateLife (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); - -// Ruin callback returns 'true' if a lander report should be given -typedef bool (*PickupRuinCallback)(SOLARSYS_STATE *solarSys, +COUNT GenerateDefault_generateMinerals (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +COUNT GenerateDefault_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +COUNT GenerateDefault_generateLife (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +bool GenerateDefault_pickupMinerals (SOLARSYS_STATE *, PLANET_DESC *world, COUNT whichNode); +bool GenerateDefault_pickupEnergy (SOLARSYS_STATE *, PLANET_DESC *world, + COUNT whichNode); +bool GenerateDefault_pickupLife (SOLARSYS_STATE *, PLANET_DESC *world, + COUNT whichNode); -bool GenerateDefault_generateArtifact (SOLARSYS_STATE *, COUNT *whichNode); -bool GenerateDefault_generateRuins (SOLARSYS_STATE *, COUNT *whichNode); -bool GenerateDefault_pickupRuins (SOLARSYS_STATE *, PickupRuinCallback); +COUNT GenerateDefault_generateArtifact (SOLARSYS_STATE *, COUNT whichNode); +COUNT GenerateDefault_generateRuins (SOLARSYS_STATE *, COUNT whichNode); bool GenerateDefault_landerReport (SOLARSYS_STATE *); bool GenerateDefault_landerReportCycle (SOLARSYS_STATE *); Modified: trunk/sc2/src/uqm/planets/generate/gendru.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/gendru.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/gendru.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -33,8 +33,10 @@ static bool GenerateDruuge_generatePlanets (SOLARSYS_STATE *solarSys); static bool GenerateDruuge_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -static bool GenerateDruuge_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); +static COUNT GenerateDruuge_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GenerateDruuge_pickupEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); const GenerateFunctions generateDruugeFunctions = { @@ -48,6 +50,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateDruuge_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateDruuge_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; @@ -127,34 +132,38 @@ } static bool -onRuinPickedUp (SOLARSYS_STATE *solarSys, COUNT whichNode) +GenerateDruuge_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) { - if (!GET_GAME_STATE (ROSY_SPHERE)) - { // Just picked up the Rosy Sphere from a ruin - SetLanderTakeoff (); + if (matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + GenerateDefault_landerReportCycle (solarSys); - SET_GAME_STATE (ROSY_SPHERE, 1); - SET_GAME_STATE (ROSY_SPHERE_ON_SHIP, 1); + // The artifact can be picked up from any ruin + if (!GET_GAME_STATE (ROSY_SPHERE)) + { // Just picked up the Rosy Sphere from a ruin + SetLanderTakeoff (); + + SET_GAME_STATE (ROSY_SPHERE, 1); + SET_GAME_STATE (ROSY_SPHERE_ON_SHIP, 1); + } + + return false; // do not remove the node } - (void) solarSys; (void) whichNode; - - return true; // give whatever report is next + return false; } -static bool +static COUNT GenerateDruuge_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateDefault_generateRuins (solarSys, whichNode); - GenerateDefault_pickupRuins (solarSys, onRuinPickedUp); - return true; + return GenerateDefault_generateRuins (solarSys, whichNode); } - *whichNode = 0; - return true; + return 0; } Modified: trunk/sc2/src/uqm/planets/generate/genilw.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genilw.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genilw.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -30,8 +30,10 @@ static bool GenerateIlwrath_generatePlanets (SOLARSYS_STATE *solarSys); static bool GenerateIlwrath_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -static bool GenerateIlwrath_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); +static COUNT GenerateIlwrath_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GenerateIlwrath_pickupEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); const GenerateFunctions generateIlwrathFunctions = { @@ -45,6 +47,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateIlwrath_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateIlwrath_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; @@ -117,19 +122,29 @@ return true; } -static bool +static COUNT GenerateIlwrath_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateDefault_generateRuins (solarSys, whichNode); - GenerateDefault_pickupRuins (solarSys, NULL); - return true; + return GenerateDefault_generateRuins (solarSys, whichNode); } - *whichNode = 0; + return 0; +} - return true; +static bool +GenerateIlwrath_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) +{ + if (matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + // Standard ruins report + GenerateDefault_landerReportCycle (solarSys); + return false; + } + + (void) whichNode; + return false; } - Modified: trunk/sc2/src/uqm/planets/generate/genmel.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genmel.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genmel.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -42,6 +42,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateDefault_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateDefault_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; Modified: trunk/sc2/src/uqm/planets/generate/genmyc.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genmyc.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genmyc.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -34,10 +34,12 @@ static bool GenerateMycon_generatePlanets (SOLARSYS_STATE *solarSys); static bool GenerateMycon_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -static bool GenerateMycon_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); -static bool GenerateMycon_generateLife (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); +static COUNT GenerateMycon_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static COUNT GenerateMycon_generateLife (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GenerateMycon_pickupEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); const GenerateFunctions generateMyconFunctions = { @@ -51,6 +53,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateMycon_generateEnergy, /* .generateLife = */ GenerateMycon_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateMycon_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; @@ -182,32 +187,21 @@ return true; } -static bool +static COUNT GenerateMycon_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (CurStarDescPtr->Index == SUN_DEVICE_DEFINED && matchWorld (solarSys, world, 0, MATCH_PLANET)) { + // This check is redundant since the retrieval bit will keep the + // node from showing up again if (GET_GAME_STATE (SUN_DEVICE)) { // already picked up - *whichNode = 0; - return true; + return 0; } - GenerateDefault_generateArtifact (solarSys, whichNode); - - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) - { - SET_GAME_STATE (SUN_DEVICE, 1); - SET_GAME_STATE (SUN_DEVICE_ON_SHIP, 1); - SET_GAME_STATE (MYCON_VISITS, 0); - - GenerateDefault_landerReport (solarSys); - SetLanderTakeoff (); - } - - return true; + return GenerateDefault_generateArtifact (solarSys, whichNode); } if ((CurStarDescPtr->Index == EGG_CASE0_DEFINED @@ -215,50 +209,77 @@ || CurStarDescPtr->Index == EGG_CASE2_DEFINED) && matchWorld (solarSys, world, 0, MATCH_PLANET)) { + // This check is redundant since the retrieval bit will keep the + // node from showing up again // XXX: DiscoveryString is set by generateOrbital() only when the // node has not been picked up yet - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0) - && !solarSys->SysInfo.PlanetInfo.DiscoveryString) + if (!solarSys->SysInfo.PlanetInfo.DiscoveryString) { // already picked up - *whichNode = 0; - return true; + return 0; } - GenerateDefault_generateArtifact (solarSys, whichNode); - - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) + return GenerateDefault_generateArtifact (solarSys, whichNode); + } + + return 0; +} + +static bool +GenerateMycon_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) +{ + if (CurStarDescPtr->Index == SUN_DEVICE_DEFINED + && matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + assert (!GET_GAME_STATE (SUN_DEVICE) && whichNode == 0); + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); + + SET_GAME_STATE (SUN_DEVICE, 1); + SET_GAME_STATE (SUN_DEVICE_ON_SHIP, 1); + SET_GAME_STATE (MYCON_VISITS, 0); + + return true; // picked up + } + + if ((CurStarDescPtr->Index == EGG_CASE0_DEFINED + || CurStarDescPtr->Index == EGG_CASE1_DEFINED + || CurStarDescPtr->Index == EGG_CASE2_DEFINED) + && matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + assert (whichNode == 0); + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); + + switch (CurStarDescPtr->Index) { - switch (CurStarDescPtr->Index) - { - case EGG_CASE0_DEFINED: - SET_GAME_STATE (EGG_CASE0_ON_SHIP, 1); - break; - case EGG_CASE1_DEFINED: - SET_GAME_STATE (EGG_CASE1_ON_SHIP, 1); - break; - case EGG_CASE2_DEFINED: - SET_GAME_STATE (EGG_CASE2_ON_SHIP, 1); - break; - } - - GenerateDefault_landerReport (solarSys); - SetLanderTakeoff (); + case EGG_CASE0_DEFINED: + SET_GAME_STATE (EGG_CASE0_ON_SHIP, 1); + break; + case EGG_CASE1_DEFINED: + SET_GAME_STATE (EGG_CASE1_ON_SHIP, 1); + break; + case EGG_CASE2_DEFINED: + SET_GAME_STATE (EGG_CASE2_ON_SHIP, 1); + break; } - return true; + return true; // picked up } - *whichNode = 0; - return true; + (void) whichNode; + return false; } -static bool +static COUNT GenerateMycon_generateLife (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { - *whichNode = 0; + (void) whichNode; (void) solarSys; (void) world; - return true; + return 0; } Modified: trunk/sc2/src/uqm/planets/generate/genorz.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genorz.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genorz.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -19,7 +19,6 @@ #include "genall.h" #include "../lander.h" #include "../planets.h" -#include "../scan.h" #include "../../build.h" #include "../../comm.h" #include "../../encount.h" @@ -34,8 +33,10 @@ static bool GenerateOrz_generatePlanets (SOLARSYS_STATE *solarSys); static bool GenerateOrz_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -static bool GenerateOrz_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); +static COUNT GenerateOrz_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GenerateOrz_pickupEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); const GenerateFunctions generateOrzFunctions = { @@ -49,6 +50,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateOrz_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateOrz_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; @@ -162,42 +166,58 @@ return true; } -static bool +static COUNT GenerateOrz_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (CurStarDescPtr->Index == TAALO_PROTECTOR_DEFINED && matchWorld (solarSys, world, 1, 2)) { + // This check is redundant since the retrieval bit will keep the + // node from showing up again if (GET_GAME_STATE (TAALO_PROTECTOR)) { // already picked up - *whichNode = 0; - return true; + return 0; } - GenerateDefault_generateArtifact (solarSys, whichNode); + return GenerateDefault_generateArtifact (solarSys, whichNode); + } - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) - { - SET_GAME_STATE (TAALO_PROTECTOR, 1); - SET_GAME_STATE (TAALO_PROTECTOR_ON_SHIP, 1); + if (CurStarDescPtr->Index == ORZ_DEFINED + && matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + return GenerateDefault_generateRuins (solarSys, whichNode); + } - GenerateDefault_landerReport (solarSys); - SetLanderTakeoff (); - } + return 0; +} - return true; +static bool +GenerateOrz_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) +{ + if (CurStarDescPtr->Index == TAALO_PROTECTOR_DEFINED + && matchWorld (solarSys, world, 1, 2)) + { + assert (!GET_GAME_STATE (TAALO_PROTECTOR) && whichNode == 0); + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); + + SET_GAME_STATE (TAALO_PROTECTOR, 1); + SET_GAME_STATE (TAALO_PROTECTOR_ON_SHIP, 1); + + return true; // picked up } if (CurStarDescPtr->Index == ORZ_DEFINED && matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateDefault_generateRuins (solarSys, whichNode); - GenerateDefault_pickupRuins (solarSys, NULL); - return true; + // Standard ruins report + GenerateDefault_landerReportCycle (solarSys); + return false; } - *whichNode = 0; - return true; + (void) whichNode; + return false; } - Modified: trunk/sc2/src/uqm/planets/generate/genpet.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genpet.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genpet.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -32,8 +32,10 @@ static bool GenerateTalkingPet_generatePlanets (SOLARSYS_STATE *solarSys); static bool GenerateTalkingPet_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -static bool GenerateTalkingPet_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); +static COUNT GenerateTalkingPet_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GenerateTalkingPet_pickupEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); static void ZapToUrquanEncounter (void); @@ -49,6 +51,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateTalkingPet_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateTalkingPet_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; @@ -154,21 +159,33 @@ return true; } -static bool +static COUNT GenerateTalkingPet_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateDefault_generateRuins (solarSys, whichNode); - GenerateDefault_pickupRuins (solarSys, NULL); - return true; + return GenerateDefault_generateRuins (solarSys, whichNode); } - *whichNode = 0; - return true; + return 0; } +static bool +GenerateTalkingPet_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) +{ + if (matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + // Standard ruins report + GenerateDefault_landerReportCycle (solarSys); + return false; + } + + (void) whichNode; + return false; +} + static void ZapToUrquanEncounter (void) { Modified: trunk/sc2/src/uqm/planets/generate/genpku.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genpku.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genpku.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -31,8 +31,10 @@ static bool GeneratePkunk_generatePlanets (SOLARSYS_STATE *solarSys); static bool GeneratePkunk_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -static bool GeneratePkunk_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); +static COUNT GeneratePkunk_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GeneratePkunk_pickupEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); const GenerateFunctions generatePkunkFunctions = { @@ -46,6 +48,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GeneratePkunk_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GeneratePkunk_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; @@ -117,34 +122,38 @@ } static bool -onRuinPickedUp (SOLARSYS_STATE *solarSys, COUNT whichNode) +GeneratePkunk_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) { - if (!GET_GAME_STATE (CLEAR_SPINDLE)) - { // Just picked up the Clear Spindle from a ruin - SetLanderTakeoff (); + if (matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + GenerateDefault_landerReportCycle (solarSys); - SET_GAME_STATE (CLEAR_SPINDLE, 1); - SET_GAME_STATE (CLEAR_SPINDLE_ON_SHIP, 1); + // The artifact can be picked up from any ruin + if (!GET_GAME_STATE (CLEAR_SPINDLE)) + { // Just picked up the Clear Spindle from a ruin + SetLanderTakeoff (); + + SET_GAME_STATE (CLEAR_SPINDLE, 1); + SET_GAME_STATE (CLEAR_SPINDLE_ON_SHIP, 1); + } + + return false; // do not remove the node } - (void) solarSys; (void) whichNode; - - return true; // give whatever report is next + return false; } -static bool +static COUNT GeneratePkunk_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateDefault_generateRuins (solarSys, whichNode); - GenerateDefault_pickupRuins (solarSys, onRuinPickedUp); - return true; + return GenerateDefault_generateRuins (solarSys, whichNode); } - *whichNode = 0; - return true; + return 0; } Modified: trunk/sc2/src/uqm/planets/generate/genrain.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genrain.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genrain.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -39,6 +39,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateDefault_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateDefault_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; Modified: trunk/sc2/src/uqm/planets/generate/gensam.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/gensam.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/gensam.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -49,6 +49,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateDefault_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateDefault_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; Modified: trunk/sc2/src/uqm/planets/generate/genshof.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genshof.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genshof.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -43,6 +43,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateDefault_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateDefault_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; Modified: trunk/sc2/src/uqm/planets/generate/gensly.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/gensly.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/gensly.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -37,6 +37,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateDefault_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateDefault_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; Modified: trunk/sc2/src/uqm/planets/generate/gensol.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/gensol.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/gensol.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -20,7 +20,6 @@ #include "../lander.h" #include "../lifeform.h" #include "../planets.h" -#include "../scan.h" #include "../../build.h" #include "../../encount.h" #include "../../globdata.h" @@ -40,10 +39,12 @@ PLANET_DESC *world); static bool GenerateSol_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -static bool GenerateSol_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); -static bool GenerateSol_generateLife (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); +static COUNT GenerateSol_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static COUNT GenerateSol_generateLife (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GenerateSol_pickupEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); static int init_probe (void); static void check_probe (void); @@ -60,6 +61,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateSol_generateEnergy, /* .generateLife = */ GenerateSol_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateSol_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; @@ -509,88 +513,100 @@ return true; } -static bool +static COUNT GenerateSol_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (matchWorld (solarSys, world, 8, MATCH_PLANET)) { /* Pluto */ + // This check is needed because the retrieval bit is not set for + // this node to keep it on the surface while the lander is taking off if (GET_GAME_STATE (FOUND_PLUTO_SPATHI)) { // already picked up - *whichNode = 0; - return true; + return 0; } solarSys->SysInfo.PlanetInfo.CurPt.x = 20; solarSys->SysInfo.PlanetInfo.CurPt.y = MAP_HEIGHT - 8; - *whichNode = 1; // only matters when count is requested - - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) - { // Ran into Fwiffo on Pluto - // Retrieval status is cleared to keep the node on the map - // while the lander is taking off. FOUND_PLUTO_SPATHI bit - // will keep the node from showing up on subsequent visits. - setNodeNotRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0); - - #define FWIFFO_FRAGS 8 - if (!KillLanderCrewSeq (FWIFFO_FRAGS, ONE_SECOND / 20)) - return true; // lander probably died - - SET_GAME_STATE (FOUND_PLUTO_SPATHI, 1); - - GenerateDefault_landerReport (solarSys); - SetLanderTakeoff (); - } - - return true; + return 1; // only matters when count is requested } if (matchWorld (solarSys, world, 2, 1)) { /* Earth Moon */ + // This check is redundant since the retrieval bit will keep the + // node from showing up again if (GET_GAME_STATE (MOONBASE_DESTROYED)) { // already picked up - *whichNode = 0; - return true; + return 0; } solarSys->SysInfo.PlanetInfo.CurPt.x = MAP_WIDTH * 3 / 4; solarSys->SysInfo.PlanetInfo.CurPt.y = MAP_HEIGHT * 1 / 4; - *whichNode = 1; // only matters when count is requested + return 1; // only matters when count is requested + } - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) - { - SET_GAME_STATE (MOONBASE_DESTROYED, 1); - SET_GAME_STATE (MOONBASE_ON_SHIP, 1); + (void) whichNode; + return 0; +} - GenerateDefault_landerReport (solarSys); - SetLanderTakeoff (); - } +static bool +GenerateSol_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) +{ + if (matchWorld (solarSys, world, 8, MATCH_PLANET)) + { // Pluto + assert (!GET_GAME_STATE (FOUND_PLUTO_SPATHI) && whichNode == 0); + + // Ran into Fwiffo on Pluto + #define FWIFFO_FRAGS 8 + if (!KillLanderCrewSeq (FWIFFO_FRAGS, ONE_SECOND / 20)) + return false; // lander probably died - return true; + SET_GAME_STATE (FOUND_PLUTO_SPATHI, 1); + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); + + // Do not remove the node from the surface while the lander is + // taking off. FOUND_PLUTO_SPATHI bit will keep the node from + // showing up on subsequent visits. + return false; } + + if (matchWorld (solarSys, world, 2, 1)) + { // Earth Moon + assert (!GET_GAME_STATE (MOONBASE_DESTROYED) && whichNode == 0); - *whichNode = 0; - return true; + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); + + SET_GAME_STATE (MOONBASE_DESTROYED, 1); + SET_GAME_STATE (MOONBASE_ON_SHIP, 1); + + return true; // picked up + } + + (void) whichNode; + return false; } -static bool +static COUNT GenerateSol_generateLife (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (matchWorld (solarSys, world, 2, 1)) { /* Earth Moon */ GenerateRandomNodes (&solarSys->SysInfo, BIOLOGICAL_SCAN, 10, - NUM_CREATURE_TYPES + 1, whichNode); - return true; + NUM_CREATURE_TYPES + 1, &whichNode); + return whichNode; } - *whichNode = 0; - return true; + return 0; } Modified: trunk/sc2/src/uqm/planets/generate/genspa.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genspa.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genspa.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -35,10 +35,14 @@ PLANET_DESC *planet); static bool GenerateSpathi_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -static bool GenerateSpathi_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); -static bool GenerateSpathi_generateLife (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); +static COUNT GenerateSpathi_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static COUNT GenerateSpathi_generateLife (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GenerateSpathi_pickupEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GenerateSpathi_pickupLife (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); const GenerateFunctions generateSpathiFunctions = { @@ -52,6 +56,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateSpathi_generateEnergy, /* .generateLife = */ GenerateSpathi_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateSpathi_pickupEnergy, + /* .pickupLife = */ GenerateSpathi_pickupLife, }; @@ -191,64 +198,79 @@ return true; } -static bool +static COUNT GenerateSpathi_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (matchWorld (solarSys, world, 0, 0)) { + // This check is redundant since the retrieval bit will keep the + // node from showing up again if (GET_GAME_STATE (UMGAH_BROADCASTERS)) { // already picked up - *whichNode = 0; - return true; + return 0; } - GenerateDefault_generateArtifact (solarSys, whichNode); + return GenerateDefault_generateArtifact (solarSys, whichNode); + } - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) - { - SET_GAME_STATE (UMGAH_BROADCASTERS, 1); - SET_GAME_STATE (UMGAH_BROADCASTERS_ON_SHIP, 1); + return 0; +} - GenerateDefault_landerReport (solarSys); - SetLanderTakeoff (); - } +static bool +GenerateSpathi_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) +{ + if (matchWorld (solarSys, world, 0, 0)) + { + assert (!GET_GAME_STATE (UMGAH_BROADCASTERS) && whichNode == 0); - return true; + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); + + SET_GAME_STATE (UMGAH_BROADCASTERS, 1); + SET_GAME_STATE (UMGAH_BROADCASTERS_ON_SHIP, 1); + + return true; // picked up } - *whichNode = 0; - return true; + (void) whichNode; + return false; } -static bool +static COUNT GenerateSpathi_generateLife (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (matchWorld (solarSys, world, 0, MATCH_PLANET)) { - if (GET_GAME_STATE (SPATHI_CREATURES_ELIMINATED) - || GET_GAME_STATE (SPATHI_SHIELDED_SELVES)) - { // no creatures left - *whichNode = 0; - return true; - } + #define NUM_EVIL_ONES 32 + GenerateRandomNodes (&solarSys->SysInfo, BIOLOGICAL_SCAN, NUM_EVIL_ONES, + NUM_CREATURE_TYPES, &whichNode); + return whichNode; + } - GenerateRandomNodes (&solarSys->SysInfo, BIOLOGICAL_SCAN, 32, - NUM_CREATURE_TYPES, whichNode); + return 0; +} - if (solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[BIOLOGICAL_SCAN]) - { - SET_GAME_STATE (SPATHI_CREATURES_EXAMINED, 1); - if (solarSys->SysInfo. - PlanetInfo.ScanRetrieveMask[BIOLOGICAL_SCAN] == 0xFFFFFFFF) - SET_GAME_STATE (SPATHI_CREATURES_ELIMINATED, 1); +static bool +GenerateSpathi_pickupLife (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) +{ + if (matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + assert (!GET_GAME_STATE (SPATHI_CREATURES_ELIMINATED) && + !GET_GAME_STATE (SPATHI_SHIELDED_SELVES)); + + SET_GAME_STATE (SPATHI_CREATURES_EXAMINED, 1); + if (countNodesRetrieved (&solarSys->SysInfo.PlanetInfo, BIOLOGICAL_SCAN) + + 1 == NUM_EVIL_ONES) + { // last creature picked up + SET_GAME_STATE (SPATHI_CREATURES_ELIMINATED, 1); } - return true; + return true; // picked up } - *whichNode = 0; - return true; + return GenerateDefault_pickupLife (solarSys, world, whichNode); } - Modified: trunk/sc2/src/uqm/planets/generate/gensup.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/gensup.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/gensup.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -31,8 +31,10 @@ static bool GenerateSupox_generatePlanets (SOLARSYS_STATE *solarSys); static bool GenerateSupox_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -static bool GenerateSupox_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); +static COUNT GenerateSupox_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GenerateSupox_pickupEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); const GenerateFunctions generateSupoxFunctions = { @@ -46,6 +48,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateSupox_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateSupox_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; @@ -118,33 +123,37 @@ } static bool -onRuinPickedUp (SOLARSYS_STATE *solarSys, COUNT whichNode) +GenerateSupox_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) { - if (!GET_GAME_STATE (ULTRON_CONDITION)) - { // Just picked up the Ultron from a ruin - SetLanderTakeoff (); + if (matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + GenerateDefault_landerReportCycle (solarSys); - SET_GAME_STATE (ULTRON_CONDITION, 1); + // The artifact can be picked up from any ruin + if (!GET_GAME_STATE (ULTRON_CONDITION)) + { // Just picked up the Ultron from a ruin + SetLanderTakeoff (); + + SET_GAME_STATE (ULTRON_CONDITION, 1); + } + + return false; // do not remove the node } - (void) solarSys; (void) whichNode; - - return true; // give whatever report is next + return false; } -static bool +static COUNT GenerateSupox_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateDefault_generateRuins (solarSys, whichNode); - GenerateDefault_pickupRuins (solarSys, onRuinPickedUp); - return true; + return GenerateDefault_generateRuins (solarSys, whichNode); } - *whichNode = 0; - return true; + return 0; } Modified: trunk/sc2/src/uqm/planets/generate/gensyr.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/gensyr.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/gensyr.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -38,6 +38,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateDefault_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateDefault_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; Modified: trunk/sc2/src/uqm/planets/generate/genthrad.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genthrad.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genthrad.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -19,7 +19,6 @@ #include "genall.h" #include "../lander.h" #include "../planets.h" -#include "../scan.h" #include "../../build.h" #include "../../comm.h" #include "../../encount.h" @@ -34,8 +33,10 @@ static bool GenerateThraddash_generatePlanets (SOLARSYS_STATE *solarSys); static bool GenerateThraddash_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -static bool GenerateThraddash_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); +static COUNT GenerateThraddash_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GenerateThraddash_pickupEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); const GenerateFunctions generateThraddashFunctions = { @@ -49,6 +50,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateThraddash_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateThraddash_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; @@ -155,44 +159,60 @@ return true; } -static bool +static COUNT GenerateThraddash_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode) + PLANET_DESC *world, COUNT whichNode) { if (CurStarDescPtr->Index == THRADD_DEFINED && matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateDefault_generateRuins (solarSys, whichNode); - GenerateDefault_pickupRuins (solarSys, NULL); - return true; + return GenerateDefault_generateRuins (solarSys, whichNode); } if (CurStarDescPtr->Index == AQUA_HELIX_DEFINED && matchWorld (solarSys, world, 0, MATCH_PLANET)) { + // This check is redundant since the retrieval bit will keep the + // node from showing up again if (GET_GAME_STATE (AQUA_HELIX)) { // already picked up - *whichNode = 0; - return true; + return 0; } - GenerateDefault_generateArtifact (solarSys, whichNode); + return GenerateDefault_generateArtifact (solarSys, whichNode); + } - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) - { - SET_GAME_STATE (HELIX_VISITS, 0); - SET_GAME_STATE (AQUA_HELIX, 1); - SET_GAME_STATE (AQUA_HELIX_ON_SHIP, 1); - SET_GAME_STATE (HELIX_UNPROTECTED, 1); + return 0; +} - GenerateDefault_landerReport (solarSys); - SetLanderTakeoff (); - } +static bool +GenerateThraddash_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) +{ + if (CurStarDescPtr->Index == THRADD_DEFINED + && matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + // Standard ruins report + GenerateDefault_landerReportCycle (solarSys); + return false; + } - return true; + if (CurStarDescPtr->Index == AQUA_HELIX_DEFINED + && matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + assert (!GET_GAME_STATE (AQUA_HELIX) && whichNode == 0); + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); + + SET_GAME_STATE (HELIX_VISITS, 0); + SET_GAME_STATE (AQUA_HELIX, 1); + SET_GAME_STATE (AQUA_HELIX_ON_SHIP, 1); + SET_GAME_STATE (HELIX_UNPROTECTED, 1); + + return true; // picked up } - *whichNode = 0; - return true; + (void) whichNode; + return false; } - Modified: trunk/sc2/src/uqm/planets/generate/gentrap.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/gentrap.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/gentrap.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -36,6 +36,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateDefault_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateDefault_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; Modified: trunk/sc2/src/uqm/planets/generate/genutw.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genutw.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genutw.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -19,7 +19,6 @@ #include "genall.h" #include "../lander.h" #include "../planets.h" -#include "../scan.h" #include "../../build.h" #include "../../comm.h" #include "../../encount.h" @@ -35,8 +34,10 @@ static bool GenerateUtwig_generatePlanets (SOLARSYS_STATE *solarSys); static bool GenerateUtwig_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -static bool GenerateUtwig_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); +static COUNT GenerateUtwig_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GenerateUtwig_pickupEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); const GenerateFunctions generateUtwigFunctions = { @@ -50,6 +51,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateUtwig_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateUtwig_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; @@ -206,45 +210,61 @@ return true; } -static bool +static COUNT GenerateUtwig_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (CurStarDescPtr->Index == UTWIG_DEFINED && matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateDefault_generateRuins (solarSys, whichNode); - GenerateDefault_pickupRuins (solarSys, NULL); - return true; + return GenerateDefault_generateRuins (solarSys, whichNode); } if (CurStarDescPtr->Index == BOMB_DEFINED && matchWorld (solarSys, world, 5, 1)) { + // This check is redundant since the retrieval bit will keep the + // node from showing up again if (GET_GAME_STATE (UTWIG_BOMB)) { // already picked up - *whichNode = 0; - return true; + return 0; } - GenerateDefault_generateArtifact (solarSys, whichNode); + return GenerateDefault_generateArtifact (solarSys, whichNode); + } - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) - { - SET_GAME_STATE (UTWIG_BOMB, 1); - SET_GAME_STATE (UTWIG_BOMB_ON_SHIP, 1); - SET_GAME_STATE (DRUUGE_MANNER, 1); - SET_GAME_STATE (DRUUGE_VISITS, 0); - SET_GAME_STATE (DRUUGE_HOME_VISITS, 0); + return 0; +} - GenerateDefault_landerReport (solarSys); - SetLanderTakeoff (); - } +static bool +GenerateUtwig_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) +{ + if (CurStarDescPtr->Index == UTWIG_DEFINED + && matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + // Standard ruins report + GenerateDefault_landerReportCycle (solarSys); + return false; + } - return true; + if (CurStarDescPtr->Index == BOMB_DEFINED + && matchWorld (solarSys, world, 5, 1)) + { + assert (!GET_GAME_STATE (UTWIG_BOMB) && whichNode == 0); + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); + + SET_GAME_STATE (UTWIG_BOMB, 1); + SET_GAME_STATE (UTWIG_BOMB_ON_SHIP, 1); + SET_GAME_STATE (DRUUGE_MANNER, 1); + SET_GAME_STATE (DRUUGE_VISITS, 0); + SET_GAME_STATE (DRUUGE_HOME_VISITS, 0); + + return true; // picked up } - *whichNode = 0; - return true; + (void) whichNode; + return false; } - Modified: trunk/sc2/src/uqm/planets/generate/genvault.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genvault.c 2011-04-24 19:47:22 UTC (rev 3586) +++ trunk/sc2/src/uqm/planets/generate/genvault.c 2011-04-26 02:21:34 UTC (rev 3587) @@ -19,7 +19,6 @@ #include "genall.h" #include "../lander.h" #include "../planets.h" -#include "../scan.h" #include "../../globdata.h" #include "../../nameref.h" #include "../../resinst.h" @@ -28,8 +27,10 @@ static bool GenerateVault_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); -static bool GenerateVault_generateEnergy (SOLARSYS_STATE *solarSys, - PLANET_DESC *world, COUNT *whichNode); +static COUNT GenerateVault_generateEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); +static bool GenerateVault_pickupEnergy (SOLARSYS_STATE *solarSys, + PLANET_DESC *world, COUNT whichNode); const GenerateFunctions generateVaultFunctions = { @@ -43,6 +44,9 @@ /* .generateMinerals = */ GenerateDefault_generateMinerals, /* .generateEnergy = */ GenerateVault_generateEnergy, /* .generateLife = */ GenerateDefault_generateLife, + /* .pickupMinerals = */ GenerateDefault_pickupMinerals, + /* .pickupEnergy = */ GenerateVault_pickupEnergy, + /* .pickupLife = */ GenerateDefault_pickupLife, }; @@ -74,50 +78,54 @@ return true; } -static bool +static COUNT GenerateVault_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) + COUNT whichNode) { if (matchWorld (solarSys, world, 0, 0)) { - PLANET_INFO *planetInfo = &solarSys->SysInfo.PlanetInfo; - - GenerateDefault_generateArtifact (solarSys, whichNode); + return GenerateDefault_generateArtifact (solarSys, whichNode); + } - if (isNodeRetrieved (planetInfo, ENERGY_SCAN, 0)) + return 0; +} + +static bool +GenerateVault_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT whichNode) +{... [truncated message content] |
From: <av...@us...> - 2011-04-24 19:47:29
|
Revision: 3586 http://sc2.svn.sourceforge.net/sc2/?rev=3586&view=rev Author: avolkov Date: 2011-04-24 19:47:22 +0000 (Sun, 24 Apr 2011) Log Message: ----------- Cannot communicate with Ilwrath via caster when they are dead (bug #850); some pOrbitalDesc usage cleanup Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/src/uqm/planets/devices.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-04-24 14:01:34 UTC (rev 3585) +++ trunk/sc2/ChangeLog 2011-04-24 19:47:22 UTC (rev 3586) @@ -1,4 +1,5 @@ Changes towards version 0.7: +- Fixed 'caster comm with Ilwrath after they die off (bug #850) - Alex - Fixed Syreen Vault lander report infinite loop (bug #1118) - Alex - Same captain names are used on both net sides (bug #989) - Alex - Fixed sync loss in netplay games having duplicate ships (bug #1081) - Alex Modified: trunk/sc2/src/uqm/planets/devices.c =================================================================== --- trunk/sc2/src/uqm/planets/devices.c 2011-04-24 14:01:34 UTC (rev 3585) +++ trunk/sc2/src/uqm/planets/devices.c 2011-04-24 19:47:22 UTC (rev 3586) @@ -231,8 +231,9 @@ || !playerInSolarSystem ()) return FALSE; - if (pSolarSysState->pOrbitalDesc == &pSolarSysState->PlanetDesc[1] - && playerInPlanetOrbit () + if (playerInPlanetOrbit () + && matchWorld (pSolarSysState, pSolarSysState->pOrbitalDesc, + 1, MATCH_PLANET) && CurStarDescPtr->Index == CHMMR_DEFINED && !GET_GAME_STATE (CHMMR_UNLEASHED)) { @@ -254,8 +255,9 @@ BOOLEAN FoundIlwrath; HIPGROUP hGroup; - FoundIlwrath = (BOOLEAN)(CurStarDescPtr->Index == ILWRATH_DEFINED); - // In the Ilwrath home system? + FoundIlwrath = (CurStarDescPtr->Index == ILWRATH_DEFINED) + && ActivateStarShip (ILWRATH_SHIP, SPHERE_TRACKING); + // In the Ilwrath home system and they are alive? if (!FoundIlwrath && (hGroup = GetHeadLink (&GLOBAL (ip_group_q)))) @@ -328,8 +330,9 @@ SleepThreadUntil (FadeScreen (FadeAllToWhite, ONE_SECOND * 1) + (ONE_SECOND * 2)); if (CurStarDescPtr->Index != CHMMR_DEFINED - || pSolarSysState->pOrbitalDesc != - &pSolarSysState->PlanetDesc[1]) + || !matchWorld (pSolarSysState, + pSolarSysState->pOrbitalDesc, + 1, MATCH_PLANET)) { FadeScreen (FadeAllToColor, ONE_SECOND * 2); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Mee...@us...> - 2011-04-24 14:01:41
|
Revision: 3585 http://sc2.svn.sourceforge.net/sc2/?rev=3585&view=rev Author: Meep-Eep Date: 2011-04-24 14:01:34 +0000 (Sun, 24 Apr 2011) Log Message: ----------- Potential crasher fix. (Never triggered in UQM atm) Also a small optimisation. Modified Paths: -------------- trunk/sc2/src/libs/heap/heap.c Modified: trunk/sc2/src/libs/heap/heap.c =================================================================== --- trunk/sc2/src/libs/heap/heap.c 2011-04-24 07:26:06 UTC (rev 3584) +++ trunk/sc2/src/libs/heap/heap.c 2011-04-24 14:01:34 UTC (rev 3585) @@ -103,6 +103,8 @@ // Restore the heap invariant. We're shifting entries into the // gap that was created until we find the place where we can // insert the last entry. + HeapValue *lastEntry = heap->entries[heap->numEntries]; + for (;;) { size_t childI = i * 2 + 1; // The two children are childI and 'childI + 1'. @@ -114,7 +116,7 @@ // There is no left child either. break; } - + } else { if (heap->comparator(heap->entries[childI + 1], heap->entries[childI]) < 0) { // The right child is the child with the lowest value. @@ -123,8 +125,7 @@ } // childI is now the child with the lowest value. - if (heap->comparator(heap->entries[heap->numEntries], - heap->entries[childI]) <= 0) { + if (heap->comparator(lastEntry, heap->entries[childI]) <= 0) { // The last entry goes here. break; } @@ -138,7 +139,7 @@ } // Fill the gap with the last entry. - heap->entries[i] = heap->entries[heap->numEntries]; + heap->entries[i] = lastEntry; heap->entries[i]->index = i; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mcm...@us...> - 2011-04-24 07:26:12
|
Revision: 3584 http://sc2.svn.sourceforge.net/sc2/?rev=3584&view=rev Author: mcmartin Date: 2011-04-24 07:26:06 +0000 (Sun, 24 Apr 2011) Log Message: ----------- Actually commit the changes that created the 0.7-rc1 installer; also in passing fix #1115. Modified Paths: -------------- trunk/sc2/build/win32_install/uqm-installer.nsi Modified: trunk/sc2/build/win32_install/uqm-installer.nsi =================================================================== --- trunk/sc2/build/win32_install/uqm-installer.nsi 2011-04-23 20:59:25 UTC (rev 3583) +++ trunk/sc2/build/win32_install/uqm-installer.nsi 2011-04-24 07:26:06 UTC (rev 3584) @@ -303,6 +303,7 @@ SetOverwrite try File "uqm-pc.cfg" File "uqm-3do.cfg" + File "uqm-remix.cfg" # Delete old content Delete "$INSTDIR\content\packages\uqm-0.3-3domusic.zip" @@ -325,7 +326,7 @@ Section "Core Data" SEC02 SectionIn 1 2 3 4 6 - CreateDirectory "$INSTDIR\content\packages\addons" + CreateDirectory "$INSTDIR\content\addons" SetOutPath "$INSTDIR\content" SetOverwrite ifnewer AddSize 12261 @@ -382,8 +383,11 @@ StrCpy $MANDATORY 0 StrCpy $MD5SUM "09f242d8d72166d1d5ccbd3d99c93e7d" Push "uqm-remix-disc1.uqm" - Push "$INSTDIR\content\addons\" + Push "$INSTDIR\content\addons" Call HandlePackage + SetOutPath $UQMUSERDATA + Delete "uqm.cfg" + CopyFiles "$UQMUSERDATA\uqm-remix.cfg" "$UQMUSERDATA\uqm.cfg" ; Shortcuts !insertmacro MUI_STARTMENU_WRITE_BEGIN Application !insertmacro MUI_STARTMENU_WRITE_END @@ -395,8 +399,11 @@ StrCpy $MANDATORY 0 StrCpy $MD5SUM "fbc8bdcb709939d559d8c7216ad15cc2" Push "uqm-remix-disc2.uqm" - Push "$INSTDIR\content\addons\" + Push "$INSTDIR\content\addons" Call HandlePackage + SetOutPath $UQMUSERDATA + Delete "uqm.cfg" + CopyFiles "$UQMUSERDATA\uqm-remix.cfg" "$UQMUSERDATA\uqm.cfg" ; Shortcuts !insertmacro MUI_STARTMENU_WRITE_BEGIN Application !insertmacro MUI_STARTMENU_WRITE_END @@ -408,8 +415,11 @@ StrCpy $MANDATORY 0 StrCpy $MD5SUM "5ccc6d4ac301ae98e172ac6835dcdead" Push "uqm-remix-disc3.uqm" - Push "$INSTDIR\content\addons\" + Push "$INSTDIR\content\addons" Call HandlePackage + SetOutPath $UQMUSERDATA + Delete "uqm.cfg" + CopyFiles "$UQMUSERDATA\uqm-remix.cfg" "$UQMUSERDATA\uqm.cfg" ; Shortcuts !insertmacro MUI_STARTMENU_WRITE_BEGIN Application !insertmacro MUI_STARTMENU_WRITE_END @@ -441,8 +451,6 @@ CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Documentation\Manual.lnk" "$INSTDIR\Manual.txt" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Documentation\README.lnk" "$INSTDIR\README.txt" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Documentation\WhatsNew.lnk" "$INSTDIR\WhatsNew.txt" - CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Key Configuration.lnk" "$WINDIR\notepad" "$UQMUSERDATA\keys.cfg" - CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Options Configuration.lnk" "$WINDIR\notepad" "$UQMUSERDATA\uqm.cfg" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Keyboard Test.lnk" "$INSTDIR\keyjam.exe" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Saved Games.lnk" "$UQMUSERDATA\save" IntCmp $MAKEICON 1 0 NoIcon NoIcon @@ -468,8 +476,13 @@ Delete "uqm.cfg" CopyFiles "$UQMUSERDATA\uqm-pc.cfg" "$UQMUSERDATA\uqm.cfg" !insertmacro MUI_STARTMENU_WRITE_END -SectionEnd +SectionEnd +Section -SetRemixConfig + !insertmacro MUI_STARTMENU_WRITE_BEGIN Application + !insertmacro MUI_STARTMENU_WRITE_END +SectionEnd + Section -Post WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\uqm.exe" @@ -489,7 +502,7 @@ !insertmacro MUI_DESCRIPTION_TEXT ${SECGRP02} "Optional content packages containing music and sound unique to the 1993 3DO release." !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "Optional package which includes the remixed songs from the 3DO release. If this package is selected and not present in the packages directory, the installer will attempt to download it." !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "Optional package containing the voiceovers from the 3DO release. If this package is selected and not present in the packages directory, the installer will attempt to download it." - !insertmacro MUI_DESCRIPTION_TEXT ${SECGRP03} "Optional content packages containing the official UQM remixes by The Precursors. Selecting any element from this group will also enable the 'remix' addon by default in any shortcuts." + !insertmacro MUI_DESCRIPTION_TEXT ${SECGRP03} "Optional content packages containing the official UQM remixes by The Precursors. Selecting any element from this group will also enable the 'remix' addon by default in the starting configuration." !insertmacro MUI_DESCRIPTION_TEXT ${SEC05} `Ur-Quan Masters Remix Pack 1 - 'Super Melee!' Optional add-on music package. If this package is selected and not present in the packages directory, the installer will attempt to download it.` !insertmacro MUI_DESCRIPTION_TEXT ${SEC06} `Ur-Quan Masters Remix Pack 2 - 'Neutral Aliens - Don't Shoot!' Optional add-on music package. If this package is selected and not present in the packages directory, the installer will attempt to download it.` !insertmacro MUI_DESCRIPTION_TEXT ${SEC07} `Ur-Quan Masters Remix Pack 3 - 'The Ur-Quan Hierarchy.' Optional add-on music package. If this package is selected and not present in the packages directory, the installer will attempt to download it.` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-04-23 20:59:33
|
Revision: 3583 http://sc2.svn.sourceforge.net/sc2/?rev=3583&view=rev Author: avolkov Date: 2011-04-23 20:59:25 +0000 (Sat, 23 Apr 2011) Log Message: ----------- Energy and some bio generation code refactoring: generation funcs perform all action neccessary upon energy node pickup, Fwiffo hacks removed, duplicated code made into funcs; fixes bugs 1118/1028 Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/src/uqm/planets/generate/genand.c trunk/sc2/src/uqm/planets/generate/genburv.c trunk/sc2/src/uqm/planets/generate/gendefault.c trunk/sc2/src/uqm/planets/generate/gendefault.h trunk/sc2/src/uqm/planets/generate/gendru.c trunk/sc2/src/uqm/planets/generate/genilw.c trunk/sc2/src/uqm/planets/generate/genmyc.c trunk/sc2/src/uqm/planets/generate/genorz.c trunk/sc2/src/uqm/planets/generate/genpet.c trunk/sc2/src/uqm/planets/generate/genpku.c trunk/sc2/src/uqm/planets/generate/gensol.c trunk/sc2/src/uqm/planets/generate/genspa.c trunk/sc2/src/uqm/planets/generate/gensup.c trunk/sc2/src/uqm/planets/generate/genthrad.c trunk/sc2/src/uqm/planets/generate/genutw.c trunk/sc2/src/uqm/planets/generate/genvault.c trunk/sc2/src/uqm/planets/generate/genvux.c trunk/sc2/src/uqm/planets/generate/genwreck.c trunk/sc2/src/uqm/planets/generate/genyeh.c trunk/sc2/src/uqm/planets/generate/genzoq.c trunk/sc2/src/uqm/planets/lander.c trunk/sc2/src/uqm/planets/lander.h trunk/sc2/src/uqm/planets/plandata.h trunk/sc2/src/uqm/planets/planets.h trunk/sc2/src/uqm/planets/scan.c trunk/sc2/src/uqm/planets/sundata.h trunk/sc2/src/uqm/planets/surface.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/ChangeLog 2011-04-23 20:59:25 UTC (rev 3583) @@ -1,4 +1,5 @@ Changes towards version 0.7: +- Fixed Syreen Vault lander report infinite loop (bug #1118) - Alex - Same captain names are used on both net sides (bug #989) - Alex - Fixed sync loss in netplay games having duplicate ships (bug #1081) - Alex - Fixed loading of melee.cfg (bug #1099) - Alex Modified: trunk/sc2/src/uqm/planets/generate/genand.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genand.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genand.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -121,44 +121,30 @@ } static bool +onRuinPickedUp (SOLARSYS_STATE *solarSys, COUNT whichNode) +{ + PLANET_INFO *planetInfo = &solarSys->SysInfo.PlanetInfo; + + // Ruins previously visited are marked in the upper 16 bits + if (isNodeRetrieved (planetInfo, ENERGY_SCAN, whichNode + 16)) + return false; // already visited this ruin before, no report + + setNodeRetrieved (planetInfo, ENERGY_SCAN, whichNode + 16); + // We set the retrieved bit manually here and need to indicate + // the change to the solar system state functions + SET_GAME_STATE (PLANETARY_CHANGE, 1); + + return true; // give whatever report is next +} + +static bool GenerateAndrosynth_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, COUNT *whichNode) { if (matchWorld (solarSys, world, 1, MATCH_PLANET)) { - COUNT i; - - GenerateRandomRuins (&solarSys->SysInfo, 0, whichNode); - - for (i = 0; i < 16; ++i) - { - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, i)) - { - // Retrieval status is cleared to keep the node on the map - setNodeNotRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, i); - // Ruins previously visited are marked in the upper 16 bits - if (!isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, - i + 16)) - { - SET_GAME_STATE (PLANETARY_CHANGE, 1); - - setNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, - i + 16); - if (solarSys->SysInfo.PlanetInfo.DiscoveryString) - { - UnbatchGraphics (); - DoDiscoveryReport (MenuSounds); - BatchGraphics (); - // Advance to the next report - solarSys->SysInfo.PlanetInfo.DiscoveryString = - SetRelStringTableIndex ( - solarSys->SysInfo.PlanetInfo.DiscoveryString, - 1); - } - } - } - } - + GenerateDefault_generateRuins (solarSys, whichNode); + GenerateDefault_pickupRuins (solarSys, onRuinPickedUp); return true; } Modified: trunk/sc2/src/uqm/planets/generate/genburv.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genburv.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genburv.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -17,6 +17,7 @@ */ #include "genall.h" +#include "../lander.h" #include "../planets.h" #include "../scan.h" #include "../../globdata.h" @@ -139,11 +140,10 @@ GenerateBurvixese_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, COUNT *whichNode) { - DWORD old_rand; - if (matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateRandomRuins (&solarSys->SysInfo, 1, whichNode); + GenerateDefault_generateRuins (solarSys, whichNode); + GenerateDefault_pickupRuins (solarSys, NULL); return true; } @@ -155,22 +155,17 @@ return true; } - old_rand = TFB_SeedRandom ( - solarSys->SysInfo.PlanetInfo.ScanSeed[ENERGY_SCAN]); + GenerateDefault_generateArtifact (solarSys, whichNode); - GenerateRandomLocation (&solarSys->SysInfo); - solarSys->SysInfo.PlanetInfo.CurDensity = 0; - solarSys->SysInfo.PlanetInfo.CurType = 0; - - *whichNode = 1; // only matters when count is requested - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) { SET_GAME_STATE (BURVIXESE_BROADCASTERS, 1); SET_GAME_STATE (BURV_BROADCASTERS_ON_SHIP, 1); + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); } - TFB_SeedRandom (old_rand); return true; } Modified: trunk/sc2/src/uqm/planets/generate/gendefault.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/gendefault.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/gendefault.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -16,12 +16,15 @@ #include "genall.h" #include "../planets.h" +#include "../scan.h" +#include "../lander.h" #include "../../encount.h" #include "../../gamestr.h" #include "../../globdata.h" #include "../../grpinfo.h" #include "../../races.h" #include "../../state.h" +#include "../../sounds.h" #include "libs/mathlib.h" @@ -191,7 +194,100 @@ return true; } +bool +GenerateDefault_generateArtifact (SOLARSYS_STATE *solarSys, COUNT *whichNode) +{ + // Generate an energy node at a random location + GenerateRandomNodes (&solarSys->SysInfo, ENERGY_SCAN, 1, 0, whichNode); + return true; +} +bool +GenerateDefault_generateRuins (SOLARSYS_STATE *solarSys, COUNT *whichNode) +{ + // Generate a standard spread of city ruins of a destroyed civilization + GenerateRandomNodes (&solarSys->SysInfo, ENERGY_SCAN, NUM_RACE_RUINS, + 0, whichNode); + return true; +} + +bool +GenerateDefault_pickupRuins (SOLARSYS_STATE *solarSys, + PickupRuinCallback callback) +{ + PLANET_INFO *planetInfo = &solarSys->SysInfo.PlanetInfo; + COUNT i; + + for (i = 0; i < NUM_RACE_RUINS; ++i) + { + if (!isNodeRetrieved (planetInfo, ENERGY_SCAN, i)) + continue; + + // Retrieval status is cleared to keep the node on the map + setNodeNotRetrieved (planetInfo, ENERGY_SCAN, i); + + if (callback && !callback (solarSys, i)) + continue; // no lander report wanted + + // Some ruins have more than one lander report, like when + // you fish artifacts out of the ruins. + GenerateDefault_landerReportCycle (solarSys); + } + return true; +} + +static inline void +runLanderReport (void) +{ + UnbatchGraphics (); + DoDiscoveryReport (MenuSounds); + BatchGraphics (); +} + +bool +GenerateDefault_landerReport (SOLARSYS_STATE *solarSys) +{ + PLANET_INFO *planetInfo = &solarSys->SysInfo.PlanetInfo; + + if (!planetInfo->DiscoveryString) + return false; + + runLanderReport (); + + // XXX: A non-cycling report is given only once and has to be deleted + // in some circumstances (like the Syreen Vault). It does not + // hurt to simply delete it in all cases. Nothing should rely on + // the presence of DiscoveryString, but the Syreen Vault and the + // Mycon Egg Cases rely on its absence. + DestroyStringTable (ReleaseStringTable (planetInfo->DiscoveryString)); + planetInfo->DiscoveryString = 0; + + return true; +} + +bool +GenerateDefault_landerReportCycle (SOLARSYS_STATE *solarSys) +{ + PLANET_INFO *planetInfo = &solarSys->SysInfo.PlanetInfo; + + if (!planetInfo->DiscoveryString) + return false; + + runLanderReport (); + // Advance to the next report + planetInfo->DiscoveryString = SetRelStringTableIndex ( + planetInfo->DiscoveryString, 1); + + // If our discovery strings have cycled, we're done + if (GetStringTableIndex (planetInfo->DiscoveryString) == 0) + { + DestroyStringTable (ReleaseStringTable (planetInfo->DiscoveryString)); + planetInfo->DiscoveryString = 0; + } + + return true; +} + // NB. This function modifies the RNG state. static void GeneratePlanets (SOLARSYS_STATE *solarSys) Modified: trunk/sc2/src/uqm/planets/generate/gendefault.h =================================================================== --- trunk/sc2/src/uqm/planets/generate/gendefault.h 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/gendefault.h 2011-04-23 20:59:25 UTC (rev 3583) @@ -38,6 +38,17 @@ bool GenerateDefault_generateLife (SOLARSYS_STATE *solarSys, PLANET_DESC *world, COUNT *whichNode); +// Ruin callback returns 'true' if a lander report should be given +typedef bool (*PickupRuinCallback)(SOLARSYS_STATE *solarSys, + COUNT whichNode); + +bool GenerateDefault_generateArtifact (SOLARSYS_STATE *, COUNT *whichNode); +bool GenerateDefault_generateRuins (SOLARSYS_STATE *, COUNT *whichNode); +bool GenerateDefault_pickupRuins (SOLARSYS_STATE *, PickupRuinCallback); +bool GenerateDefault_landerReport (SOLARSYS_STATE *); +bool GenerateDefault_landerReportCycle (SOLARSYS_STATE *); + + extern const GenerateFunctions generateDefaultFunctions; #endif /* GENDEFAULT_H */ Modified: trunk/sc2/src/uqm/planets/generate/gendru.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/gendru.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/gendru.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -19,7 +19,6 @@ #include "genall.h" #include "../lander.h" #include "../planets.h" -#include "../scan.h" #include "../../build.h" #include "../../comm.h" #include "../../globdata.h" @@ -114,9 +113,11 @@ CaptureStringTable ( LoadStringTable (DRUUGE_RUINS_STRTAB)); if (GET_GAME_STATE (ROSY_SPHERE)) + { // Already picked up Rosy Sphere, skip the report solarSys->SysInfo.PlanetInfo.DiscoveryString = SetAbsStringTableIndex ( solarSys->SysInfo.PlanetInfo.DiscoveryString, 1); + } } } @@ -126,34 +127,30 @@ } static bool -GenerateDruuge_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) +onRuinPickedUp (SOLARSYS_STATE *solarSys, COUNT whichNode) { - if (matchWorld (solarSys, world, 0, MATCH_PLANET)) - { - COUNT i; - COUNT type; + if (!GET_GAME_STATE (ROSY_SPHERE)) + { // Just picked up the Rosy Sphere from a ruin + SetLanderTakeoff (); - type = GET_GAME_STATE (ROSY_SPHERE) ? 1 : 0; - GenerateRandomRuins (&solarSys->SysInfo, type, whichNode); + SET_GAME_STATE (ROSY_SPHERE, 1); + SET_GAME_STATE (ROSY_SPHERE_ON_SHIP, 1); + } - for (i = 0; i < 16; ++i) - { - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, i)) - { - // Retrieval status is cleared to keep the node on the map - setNodeNotRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, i); + (void) solarSys; + (void) whichNode; - if (!GET_GAME_STATE (ROSY_SPHERE)) - { - SetLanderTakeoff (); + return true; // give whatever report is next +} - SET_GAME_STATE (ROSY_SPHERE, 1); - SET_GAME_STATE (ROSY_SPHERE_ON_SHIP, 1); - } - } - } - +static bool +GenerateDruuge_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT *whichNode) +{ + if (matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + GenerateDefault_generateRuins (solarSys, whichNode); + GenerateDefault_pickupRuins (solarSys, onRuinPickedUp); return true; } Modified: trunk/sc2/src/uqm/planets/generate/genilw.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genilw.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genilw.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -123,7 +123,8 @@ { if (matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateRandomRuins (&solarSys->SysInfo, 1, whichNode); + GenerateDefault_generateRuins (solarSys, whichNode); + GenerateDefault_pickupRuins (solarSys, NULL); return true; } Modified: trunk/sc2/src/uqm/planets/generate/genmyc.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genmyc.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genmyc.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -17,6 +17,7 @@ */ #include "genall.h" +#include "../lander.h" #include "../planets.h" #include "../scan.h" #include "../../build.h" @@ -185,8 +186,6 @@ GenerateMycon_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, COUNT *whichNode) { - DWORD old_rand; - if (CurStarDescPtr->Index == SUN_DEVICE_DEFINED && matchWorld (solarSys, world, 0, MATCH_PLANET)) { @@ -196,23 +195,18 @@ return true; } - old_rand = TFB_SeedRandom ( - solarSys->SysInfo.PlanetInfo.ScanSeed[ENERGY_SCAN]); + GenerateDefault_generateArtifact (solarSys, whichNode); - GenerateRandomLocation (&solarSys->SysInfo); - solarSys->SysInfo.PlanetInfo.CurDensity = 0; - solarSys->SysInfo.PlanetInfo.CurType = 0; - - *whichNode = 1; // only matters when count is requested - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) { SET_GAME_STATE (SUN_DEVICE, 1); SET_GAME_STATE (SUN_DEVICE_ON_SHIP, 1); SET_GAME_STATE (MYCON_VISITS, 0); + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); } - TFB_SeedRandom (old_rand); return true; } @@ -229,15 +223,8 @@ *whichNode = 0; return true; } - - old_rand = TFB_SeedRandom ( - solarSys->SysInfo.PlanetInfo.ScanSeed[ENERGY_SCAN]); - GenerateRandomLocation (&solarSys->SysInfo); - solarSys->SysInfo.PlanetInfo.CurDensity = 0; - solarSys->SysInfo.PlanetInfo.CurType = 0; - - *whichNode = 1; // only matters when count is requested + GenerateDefault_generateArtifact (solarSys, whichNode); if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) { @@ -253,9 +240,11 @@ SET_GAME_STATE (EGG_CASE2_ON_SHIP, 1); break; } + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); } - TFB_SeedRandom (old_rand); return true; } Modified: trunk/sc2/src/uqm/planets/generate/genorz.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genorz.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genorz.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -17,6 +17,7 @@ */ #include "genall.h" +#include "../lander.h" #include "../planets.h" #include "../scan.h" #include "../../build.h" @@ -165,8 +166,6 @@ GenerateOrz_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, COUNT *whichNode) { - DWORD old_rand; - if (CurStarDescPtr->Index == TAALO_PROTECTOR_DEFINED && matchWorld (solarSys, world, 1, 2)) { @@ -176,29 +175,25 @@ return true; } - old_rand = TFB_SeedRandom ( - solarSys->SysInfo.PlanetInfo.ScanSeed[ENERGY_SCAN]); + GenerateDefault_generateArtifact (solarSys, whichNode); - GenerateRandomLocation (&solarSys->SysInfo); - solarSys->SysInfo.PlanetInfo.CurDensity = 0; - solarSys->SysInfo.PlanetInfo.CurType = 0; - - *whichNode = 1; // only matters when count is requested - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) { SET_GAME_STATE (TAALO_PROTECTOR, 1); SET_GAME_STATE (TAALO_PROTECTOR_ON_SHIP, 1); + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); } - TFB_SeedRandom (old_rand); return true; } if (CurStarDescPtr->Index == ORZ_DEFINED && matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateRandomRuins (&solarSys->SysInfo, 1, whichNode); + GenerateDefault_generateRuins (solarSys, whichNode); + GenerateDefault_pickupRuins (solarSys, NULL); return true; } Modified: trunk/sc2/src/uqm/planets/generate/genpet.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genpet.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genpet.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -160,7 +160,8 @@ { if (matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateRandomRuins (&solarSys->SysInfo, 1, whichNode); + GenerateDefault_generateRuins (solarSys, whichNode); + GenerateDefault_pickupRuins (solarSys, NULL); return true; } Modified: trunk/sc2/src/uqm/planets/generate/genpku.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genpku.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genpku.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -19,7 +19,6 @@ #include "genall.h" #include "../lander.h" #include "../planets.h" -#include "../scan.h" #include "../../build.h" #include "../../comm.h" #include "../../globdata.h" @@ -105,9 +104,11 @@ solarSys->SysInfo.PlanetInfo.DiscoveryString = CaptureStringTable (LoadStringTable (PKUNK_RUINS_STRTAB)); if (GET_GAME_STATE (CLEAR_SPINDLE)) + { // Already picked up the Clear Spindle, skip the report solarSys->SysInfo.PlanetInfo.DiscoveryString = SetAbsStringTableIndex ( solarSys->SysInfo.PlanetInfo.DiscoveryString, 1); + } } } @@ -116,34 +117,30 @@ } static bool -GeneratePkunk_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) +onRuinPickedUp (SOLARSYS_STATE *solarSys, COUNT whichNode) { - if (matchWorld (solarSys, world, 0, MATCH_PLANET)) - { - COUNT i; - COUNT type; + if (!GET_GAME_STATE (CLEAR_SPINDLE)) + { // Just picked up the Clear Spindle from a ruin + SetLanderTakeoff (); - type = GET_GAME_STATE (CLEAR_SPINDLE) ? 1 : 0; - GenerateRandomRuins (&solarSys->SysInfo, type, whichNode); + SET_GAME_STATE (CLEAR_SPINDLE, 1); + SET_GAME_STATE (CLEAR_SPINDLE_ON_SHIP, 1); + } - for (i = 0; i < 16; ++i) - { - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, i)) - { - // Retrieval status is cleared to keep the node on the map - setNodeNotRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, i); + (void) solarSys; + (void) whichNode; - if (!GET_GAME_STATE (CLEAR_SPINDLE)) - { - SetLanderTakeoff (); + return true; // give whatever report is next +} - SET_GAME_STATE (CLEAR_SPINDLE, 1); - SET_GAME_STATE (CLEAR_SPINDLE_ON_SHIP, 1); - } - } - } - +static bool +GeneratePkunk_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT *whichNode) +{ + if (matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + GenerateDefault_generateRuins (solarSys, whichNode); + GenerateDefault_pickupRuins (solarSys, onRuinPickedUp); return true; } Modified: trunk/sc2/src/uqm/planets/generate/gensol.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/gensol.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/gensol.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -524,18 +524,23 @@ solarSys->SysInfo.PlanetInfo.CurPt.x = 20; solarSys->SysInfo.PlanetInfo.CurPt.y = MAP_HEIGHT - 8; - solarSys->SysInfo.PlanetInfo.CurDensity = 0; - solarSys->SysInfo.PlanetInfo.CurType = 2; *whichNode = 1; // only matters when count is requested if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) - { - SET_GAME_STATE (FOUND_PLUTO_SPATHI, 1); + { // Ran into Fwiffo on Pluto // Retrieval status is cleared to keep the node on the map // while the lander is taking off. FOUND_PLUTO_SPATHI bit // will keep the node from showing up on subsequent visits. setNodeNotRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0); + + #define FWIFFO_FRAGS 8 + if (!KillLanderCrewSeq (FWIFFO_FRAGS, ONE_SECOND / 20)) + return true; // lander probably died + + SET_GAME_STATE (FOUND_PLUTO_SPATHI, 1); + + GenerateDefault_landerReport (solarSys); SetLanderTakeoff (); } @@ -553,8 +558,6 @@ solarSys->SysInfo.PlanetInfo.CurPt.x = MAP_WIDTH * 3 / 4; solarSys->SysInfo.PlanetInfo.CurPt.y = MAP_HEIGHT * 1 / 4; - solarSys->SysInfo.PlanetInfo.CurDensity = 0; - solarSys->SysInfo.PlanetInfo.CurType = 0; *whichNode = 1; // only matters when count is requested @@ -562,6 +565,9 @@ { SET_GAME_STATE (MOONBASE_DESTROYED, 1); SET_GAME_STATE (MOONBASE_ON_SHIP, 1); + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); } return true; Modified: trunk/sc2/src/uqm/planets/generate/genspa.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genspa.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genspa.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -18,6 +18,7 @@ #include "genall.h" #include "../lifeform.h" +#include "../lander.h" #include "../planets.h" #include "../scan.h" #include "../../build.h" @@ -196,30 +197,23 @@ { if (matchWorld (solarSys, world, 0, 0)) { - DWORD old_rand; - if (GET_GAME_STATE (UMGAH_BROADCASTERS)) { // already picked up *whichNode = 0; return true; } - old_rand = TFB_SeedRandom ( - solarSys->SysInfo.PlanetInfo.ScanSeed[ENERGY_SCAN]); + GenerateDefault_generateArtifact (solarSys, whichNode); - GenerateRandomLocation (&solarSys->SysInfo); - solarSys->SysInfo.PlanetInfo.CurDensity = 0; - solarSys->SysInfo.PlanetInfo.CurType = 0; - - *whichNode = 1; // only matters when count is requested - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) { SET_GAME_STATE (UMGAH_BROADCASTERS, 1); SET_GAME_STATE (UMGAH_BROADCASTERS_ON_SHIP, 1); + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); } - TFB_SeedRandom (old_rand); return true; } Modified: trunk/sc2/src/uqm/planets/generate/gensup.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/gensup.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/gensup.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -19,7 +19,6 @@ #include "genall.h" #include "../lander.h" #include "../planets.h" -#include "../scan.h" #include "../../build.h" #include "../../comm.h" #include "../../globdata.h" @@ -104,8 +103,8 @@ CaptureDrawable (LoadGraphic (RUINS_MASK_PMAP_ANIM)); solarSys->SysInfo.PlanetInfo.DiscoveryString = CaptureStringTable (LoadStringTable (RUINS_STRTAB)); - if (!GET_GAME_STATE (ULTRON_CONDITION)) - { + if (GET_GAME_STATE (ULTRON_CONDITION)) + { // Already picked up the Ultron, skip the report solarSys->SysInfo.PlanetInfo.DiscoveryString = SetAbsStringTableIndex ( solarSys->SysInfo.PlanetInfo.DiscoveryString, 1); @@ -119,33 +118,29 @@ } static bool -GenerateSupox_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, - COUNT *whichNode) +onRuinPickedUp (SOLARSYS_STATE *solarSys, COUNT whichNode) { - if (matchWorld (solarSys, world, 0, MATCH_PLANET)) - { - COUNT i; - COUNT type; + if (!GET_GAME_STATE (ULTRON_CONDITION)) + { // Just picked up the Ultron from a ruin + SetLanderTakeoff (); - type = GET_GAME_STATE (ULTRON_CONDITION) ? 1 : 0; - GenerateRandomRuins (&solarSys->SysInfo, type, whichNode); + SET_GAME_STATE (ULTRON_CONDITION, 1); + } - for (i = 0; i < 16; ++i) - { - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, i)) - { - // Retrieval status is cleared to keep the node on the map - setNodeNotRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, i); + (void) solarSys; + (void) whichNode; - if (!GET_GAME_STATE (ULTRON_CONDITION)) - { - SetLanderTakeoff (); + return true; // give whatever report is next +} - SET_GAME_STATE (ULTRON_CONDITION, 1); - } - } - } - +static bool +GenerateSupox_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, + COUNT *whichNode) +{ + if (matchWorld (solarSys, world, 0, MATCH_PLANET)) + { + GenerateDefault_generateRuins (solarSys, whichNode); + GenerateDefault_pickupRuins (solarSys, onRuinPickedUp); return true; } Modified: trunk/sc2/src/uqm/planets/generate/genthrad.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genthrad.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genthrad.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -17,6 +17,7 @@ */ #include "genall.h" +#include "../lander.h" #include "../planets.h" #include "../scan.h" #include "../../build.h" @@ -158,12 +159,11 @@ GenerateThraddash_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, COUNT *whichNode) { - DWORD old_rand; - if (CurStarDescPtr->Index == THRADD_DEFINED && matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateRandomRuins (&solarSys->SysInfo, 1, whichNode); + GenerateDefault_generateRuins (solarSys, whichNode); + GenerateDefault_pickupRuins (solarSys, NULL); return true; } @@ -176,24 +176,19 @@ return true; } - old_rand = TFB_SeedRandom ( - solarSys->SysInfo.PlanetInfo.ScanSeed[ENERGY_SCAN]); + GenerateDefault_generateArtifact (solarSys, whichNode); - GenerateRandomLocation (&solarSys->SysInfo); - solarSys->SysInfo.PlanetInfo.CurDensity = 0; - solarSys->SysInfo.PlanetInfo.CurType = 0; - - *whichNode = 1; // only matters when count is requested - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) { SET_GAME_STATE (HELIX_VISITS, 0); SET_GAME_STATE (AQUA_HELIX, 1); SET_GAME_STATE (AQUA_HELIX_ON_SHIP, 1); SET_GAME_STATE (HELIX_UNPROTECTED, 1); + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); } - TFB_SeedRandom (old_rand); return true; } Modified: trunk/sc2/src/uqm/planets/generate/genutw.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genutw.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genutw.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -17,6 +17,7 @@ */ #include "genall.h" +#include "../lander.h" #include "../planets.h" #include "../scan.h" #include "../../build.h" @@ -209,12 +210,11 @@ GenerateUtwig_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, COUNT *whichNode) { - DWORD old_rand; - if (CurStarDescPtr->Index == UTWIG_DEFINED && matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateRandomRuins (&solarSys->SysInfo, 1, whichNode); + GenerateDefault_generateRuins (solarSys, whichNode); + GenerateDefault_pickupRuins (solarSys, NULL); return true; } @@ -227,15 +227,8 @@ return true; } - old_rand = TFB_SeedRandom ( - solarSys->SysInfo.PlanetInfo.ScanSeed[ENERGY_SCAN]); + GenerateDefault_generateArtifact (solarSys, whichNode); - GenerateRandomLocation (&solarSys->SysInfo); - solarSys->SysInfo.PlanetInfo.CurDensity = 0; - solarSys->SysInfo.PlanetInfo.CurType = 0; - - *whichNode = 1; // only matters when count is requested - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) { SET_GAME_STATE (UTWIG_BOMB, 1); @@ -243,9 +236,11 @@ SET_GAME_STATE (DRUUGE_MANNER, 1); SET_GAME_STATE (DRUUGE_VISITS, 0); SET_GAME_STATE (DRUUGE_HOME_VISITS, 0); + + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); } - TFB_SeedRandom (old_rand); return true; } Modified: trunk/sc2/src/uqm/planets/generate/genvault.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genvault.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genvault.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -80,42 +80,40 @@ { if (matchWorld (solarSys, world, 0, 0)) { - DWORD old_rand; - - old_rand = TFB_SeedRandom ( - solarSys->SysInfo.PlanetInfo.ScanSeed[ENERGY_SCAN]); - - GenerateRandomLocation (&solarSys->SysInfo); - solarSys->SysInfo.PlanetInfo.CurDensity = 0; - if (!GET_GAME_STATE (SHIP_VAULT_UNLOCKED)) - solarSys->SysInfo.PlanetInfo.CurType = 0; - else - solarSys->SysInfo.PlanetInfo.CurType = 1; + PLANET_INFO *planetInfo = &solarSys->SysInfo.PlanetInfo; - // This node is always present, even after it is "picked up". - *whichNode = 1; // only matters when count is requested + GenerateDefault_generateArtifact (solarSys, whichNode); - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) + if (isNodeRetrieved (planetInfo, ENERGY_SCAN, 0)) { // Retrieval status is cleared to keep the node on the map - setNodeNotRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0); + setNodeNotRetrieved (planetInfo, ENERGY_SCAN, 0); - if (GET_GAME_STATE (SYREEN_SHUTTLE_ON_SHIP)) + if (GET_GAME_STATE (SHIP_VAULT_UNLOCKED)) + { // Give the final report, "omg empty" and whatnot + GenerateDefault_landerReportCycle (solarSys); + } + else if (GET_GAME_STATE (SYREEN_SHUTTLE_ON_SHIP)) { + GenerateDefault_landerReportCycle (solarSys); SetLanderTakeoff (); SET_GAME_STATE (SHIP_VAULT_UNLOCKED, 1); SET_GAME_STATE (SYREEN_SHUTTLE_ON_SHIP, 0); SET_GAME_STATE (SYREEN_HOME_VISITS, 0); } - else if (!GET_GAME_STATE (KNOW_SYREEN_VAULT)) + else { - SET_GAME_STATE (KNOW_SYREEN_VAULT, 1); - SET_GAME_STATE (SYREEN_HOME_VISITS, 0); + GenerateDefault_landerReport (solarSys); + + if (!GET_GAME_STATE (KNOW_SYREEN_VAULT)) + { + SET_GAME_STATE (KNOW_SYREEN_VAULT, 1); + SET_GAME_STATE (SYREEN_HOME_VISITS, 0); + } } } - TFB_SeedRandom (old_rand); return true; } Modified: trunk/sc2/src/uqm/planets/generate/genvux.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genvux.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genvux.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -218,13 +218,14 @@ solarSys->SysInfo.PlanetInfo.CurPt.x = MAP_WIDTH / 3; solarSys->SysInfo.PlanetInfo.CurPt.y = MAP_HEIGHT * 5 / 8; - solarSys->SysInfo.PlanetInfo.CurDensity = 0; - solarSys->SysInfo.PlanetInfo.CurType = 0; *whichNode = 1; // only matters when count is requested if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) { + GenerateDefault_landerReport (solarSys); + SetLanderTakeoff (); + SET_GAME_STATE (SHOFIXTI_MAIDENS, 1); SET_GAME_STATE (MAIDENS_ON_SHIP, 1); } @@ -235,7 +236,8 @@ if (CurStarDescPtr->Index == VUX_DEFINED && matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateRandomRuins (&solarSys->SysInfo, 1, whichNode); + GenerateDefault_generateRuins (solarSys, whichNode); + GenerateDefault_pickupRuins (solarSys, NULL); return true; } @@ -300,9 +302,7 @@ if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, BIOLOGICAL_SCAN, 0) && !GET_GAME_STATE (VUX_BEAST)) { // Picked up Zex' Beauty - UnbatchGraphics (); - DoDiscoveryReport (MenuSounds); - BatchGraphics (); + GenerateDefault_landerReport (solarSys); SetLanderTakeoff (); SET_GAME_STATE (VUX_BEAST, 1); Modified: trunk/sc2/src/uqm/planets/generate/genwreck.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genwreck.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genwreck.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -57,7 +57,7 @@ solarSys->SysInfo.PlanetInfo.DiscoveryString = CaptureStringTable (LoadStringTable (WRECK_STRTAB)); if (GET_GAME_STATE (PORTAL_KEY)) - { + { // Already picked it up, skip the first report solarSys->SysInfo.PlanetInfo.DiscoveryString = SetAbsStringTableIndex ( solarSys->SysInfo.PlanetInfo.DiscoveryString, 1); @@ -74,26 +74,15 @@ { if (matchWorld (solarSys, world, 6, MATCH_PLANET)) { - DWORD old_rand; + GenerateDefault_generateArtifact (solarSys, whichNode); - old_rand = TFB_SeedRandom ( - solarSys->SysInfo.PlanetInfo.ScanSeed[ENERGY_SCAN]); - - GenerateRandomLocation (&solarSys->SysInfo); - solarSys->SysInfo.PlanetInfo.CurDensity = 0; - if (!GET_GAME_STATE (PORTAL_KEY)) - solarSys->SysInfo.PlanetInfo.CurType = 0; - else - solarSys->SysInfo.PlanetInfo.CurType = 1; - - // This node is always present, even after it is "picked up". - *whichNode = 1; // only matters when count is requested - if (isNodeRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0)) { // Retrieval status is cleared to keep the node on the map setNodeNotRetrieved (&solarSys->SysInfo.PlanetInfo, ENERGY_SCAN, 0); + GenerateDefault_landerReportCycle (solarSys); + if (!GET_GAME_STATE (PORTAL_KEY)) { SetLanderTakeoff (); @@ -103,7 +92,6 @@ } } - TFB_SeedRandom (old_rand); return true; } Modified: trunk/sc2/src/uqm/planets/generate/genyeh.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genyeh.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genyeh.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -113,7 +113,8 @@ { if (matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateRandomRuins (&solarSys->SysInfo, 1, whichNode); + GenerateDefault_generateRuins (solarSys, whichNode); + GenerateDefault_pickupRuins (solarSys, NULL); return true; } Modified: trunk/sc2/src/uqm/planets/generate/genzoq.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genzoq.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/generate/genzoq.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -143,7 +143,8 @@ { if (matchWorld (solarSys, world, 0, MATCH_PLANET)) { - GenerateRandomRuins (&solarSys->SysInfo, 1, whichNode); + GenerateDefault_generateRuins (solarSys, whichNode); + GenerateDefault_pickupRuins (solarSys, NULL); return true; } Modified: trunk/sc2/src/uqm/planets/lander.c =================================================================== --- trunk/sc2/src/uqm/planets/lander.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/lander.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -745,39 +745,7 @@ } else if (scan == ENERGY_SCAN) { - if (ElementPtr->mass_points == 1) - { - #define FWIFFO_FRAGS 8 - DWORD TimeIn; - int i; - - /* Ran into Spathi on Pluto */ - TimeIn = GetTimeCounter (); - for (i = 0; i < FWIFFO_FRAGS && crew_left; ++i) - { - DeltaLanderCrew (-1, LANDER_INJURED); - SleepThreadUntil (TimeIn + ONE_SECOND / 20); - TimeIn = GetTimeCounter(); - } - } - - if (crew_left - && pSolarSysState->SysInfo.PlanetInfo.DiscoveryString - && CurStarDescPtr->Index != ANDROSYNTH_DEFINED) - { - UnbatchGraphics (); - DoDiscoveryReport (MenuSounds); - BatchGraphics (); - } - if (ElementPtr->mass_points == 0) - { - DestroyStringTable (ReleaseStringTable ( - pSolarSysState->SysInfo.PlanetInfo.DiscoveryString - )); - pSolarSysState->SysInfo.PlanetInfo.DiscoveryString = 0; - UnlockElement (hElement); - continue; - } + // noop; handled by generation funcs, see below } else if (scan == BIOLOGICAL_SCAN && ElementPtr->hit_points) { @@ -865,24 +833,11 @@ pSolarSysState->pOrbitalDesc, &allNodes, scan); - if (!isNodeRetrieved (&pSolarSysState->SysInfo.PlanetInfo, scan, + // Generation func above may reset the retrieved status bit + // to keep the node on the map + if (isNodeRetrieved (&pSolarSysState->SysInfo.PlanetInfo, scan, which_node)) { - /* If our discovery strings have cycled, we're done */ - if (GetStringTableIndex ( - pSolarSysState->SysInfo.PlanetInfo.DiscoveryString) == 0) - { - if (DestroyStringTable (ReleaseStringTable ( - pSolarSysState->SysInfo.PlanetInfo.DiscoveryString - ))) - pSolarSysState->SysInfo.PlanetInfo.DiscoveryString = 0; - } - } - else - { - if (NumRetrieved && scan == ENERGY_SCAN) - pPSD->InTransit = TRUE; - SET_GAME_STATE (PLANETARY_CHANGE, 1); ElementPtr->state_flags |= DISAPPEARING; } @@ -1892,6 +1847,24 @@ planetSideDesc->InTransit = TRUE; } +// Returns whether the lander is still alive at the end of the sequence +bool +KillLanderCrewSeq (COUNT numKilled, DWORD period) +{ + TimeCount TimeOut; + COUNT i; + + TimeOut = GetTimeCounter (); + for (i = 0; i < numKilled && crew_left; ++i) + { + TimeOut += period; + DeltaLanderCrew (-1, LANDER_INJURED); + SleepThreadUntil (TimeOut); + } + + return crew_left > 0; +} + void PlanetSide (POINT planetLoc) { Modified: trunk/sc2/src/uqm/planets/lander.h =================================================================== --- trunk/sc2/src/uqm/planets/lander.h 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/lander.h 2011-04-23 20:59:25 UTC (rev 3583) @@ -67,6 +67,7 @@ extern void object_animation (ELEMENT *ElementPtr); extern void SetLanderTakeoff (void); +extern bool KillLanderCrewSeq (COUNT numKilled, DWORD period); // ELEMENT.playerNr constants enum Modified: trunk/sc2/src/uqm/planets/plandata.h =================================================================== --- trunk/sc2/src/uqm/planets/plandata.h 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/plandata.h 2011-04-23 20:59:25 UTC (rev 3583) @@ -293,9 +293,7 @@ // NUM_CREATURE_TYPES is an Evil One // NUM_CREATURE_TYPES + 1 is a Brainbox Bulldozer // NUM_CREATURE_TYPES + 2 is Zex' Beauty - // For energy: 0 - Liftoff on collision - // 1 - No liftoff on collision - // 2 - (special case) Fwiffo + // For energy: undefined STRING DiscoveryString; FONT LanderFont; Modified: trunk/sc2/src/uqm/planets/planets.h =================================================================== --- trunk/sc2/src/uqm/planets/planets.h 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/planets.h 2011-04-23 20:59:25 UTC (rev 3583) @@ -82,6 +82,8 @@ // XXX: -9 to match the original, but why? I have no idea #define PLANET_ORG_Y ((SCAN_SCREEN_HEIGHT - 9) / 2) +#define NUM_RACE_RUINS 16 + typedef struct planet_desc PLANET_DESC; typedef struct star_desc STAR_DESC; typedef struct planet_orbit PLANET_ORBIT; Modified: trunk/sc2/src/uqm/planets/scan.c =================================================================== --- trunk/sc2/src/uqm/planets/scan.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/scan.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -1396,17 +1396,7 @@ NodeElementPtr->preprocess_func = object_animation; if (scan == ENERGY_SCAN) { - if (pSolarSysState->SysInfo.PlanetInfo.CurType == 1) - { - NodeElementPtr->mass_points = 0; - } - else if (pSolarSysState->SysInfo.PlanetInfo.CurType == 2) - { - // Special case: Fwiffo - NodeElementPtr->mass_points = 1; - } - else - NodeElementPtr->mass_points = MAX_SCROUNGED; + NodeElementPtr->mass_points = MAX_SCROUNGED; DisplayArray[NodeElementPtr->PrimIndex].Object.Stamp.frame = pSolarSysState->PlanetSideFrame[1]; } Modified: trunk/sc2/src/uqm/planets/sundata.h =================================================================== --- trunk/sc2/src/uqm/planets/sundata.h 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/sundata.h 2011-04-23 20:59:25 UTC (rev 3583) @@ -46,7 +46,6 @@ extern void GenerateRandomLocation (SYSTEM_INFO *); extern DWORD GenerateRandomNodes (SYSTEM_INFO *, COUNT scan, COUNT numNodes, COUNT type, COUNT *whichNode); -extern DWORD GenerateRandomRuins (SYSTEM_INFO *, COUNT type, COUNT *whichNode); #define DWARF_ELEMENT_DENSITY 1 #define GIANT_ELEMENT_DENSITY 3 Modified: trunk/sc2/src/uqm/planets/surface.c =================================================================== --- trunk/sc2/src/uqm/planets/surface.c 2011-04-22 18:25:51 UTC (rev 3582) +++ trunk/sc2/src/uqm/planets/surface.c 2011-04-23 20:59:25 UTC (rev 3583) @@ -268,7 +268,9 @@ for (i = 0; i < numNodes; ++i) { GenerateRandomLocation (SysInfoPtr); + // CurType is irrelevant for energy nodes SysInfoPtr->PlanetInfo.CurType = type; + // CurDensity is irrelevant for energy and bio nodes SysInfoPtr->PlanetInfo.CurDensity = 0; if (i >= *whichNode) @@ -279,9 +281,3 @@ return (TFB_SeedRandom (old_rand)); } - -DWORD -GenerateRandomRuins (SYSTEM_INFO *SysInfoPtr, COUNT type, COUNT *whichNode) -{ - return GenerateRandomNodes (SysInfoPtr, ENERGY_SCAN, 16, type, whichNode); -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |