From 6dbdb33689cc5fa308b39e1c23d88d572cb7368c Mon Sep 17 00:00:00 2001
From: "B. Watson" <yalhcru@gmail.com>
Date: Mon, 17 May 2021 16:54:19 -0400
Subject: Better text compression, save 35 bytes, now 8816

---
 messages.msg | 173 +++++++++++++++++++++++++++++------------------------------
 taipan.c     |  62 ---------------------
 textcomp.c   |  11 ++--
 textdecomp.s |   9 ++--
 4 files changed, 98 insertions(+), 157 deletions(-)

diff --git a/messages.msg b/messages.msg
index bb03aab..2d3de3e 100644
--- a/messages.msg
+++ b/messages.msg
@@ -15,131 +15,130 @@ manila "Manila"
 singapore "Singapore"
 batavia "Batavia"
 will_you "will you "
-bad_joss "Bad Joss!!\r\n"
-crlf "\n"
+bad_joss "Bad Joss!!\n"
 taipan "Taipan"
 do_you_wish "do you wish "
 elder_brother_wu "Elder Brother Wu "
 li_yuen "Li Yuen"
 do_you_want "Do you want "
 firm_colon "Firm:"
-compradors_report "Comprador's Report\r\n\n"
-captains_report "  Captain's Report\r\n\n"
-overloaded "Your ship is overloaded"
+compradors_report "Comprador's Report\n\n"
+captains_report "  Captain's Report\n\n"
+overloaded "Your ship is overloaded, Taipan!!"
 wish_to_trade "Do you wish to trade in your "
-ship_for_one "\r\nship for one with "
-more_capacity " more capacity by\r\npaying an additional "
-gun_offer "Do you wish to buy a ship's gun\r\nfor "
+ship_for_one "\nship for one with "
+more_capacity " more capacity by\npaying an additional "
+gun_offer "Do you wish to buy a ship's gun\nfor "
 space_ship " ship"
-space_attacking " attacking"
+space_attacking " attacking, Taipan! \n"
 your_orders_are "Your orders are: "
 we_have "   We have"
 cur_seaworth "Current seaworthiness: "
-what_shall_we_do "what shall we do??\r\n(Fight, Run, Throw cargo)"
-aye_fight "Aye, we'll fight 'em"
-were_firing "We're firing on 'em"
+what_shall_we_do "Taipan, what shall we do??\n(Fight, Run, Throw cargo)"
+aye_fight "Aye, we'll fight 'em, Taipan."
+were_firing "We're firing on 'em, Taipan!"
 sunk "Sunk "
-of_the_buggers " of the buggers"
-didnt_sink "Hit 'em, but didn't sink 'em"
-ran_away " ran away"
-we_have_no_guns "We have no guns"
+of_the_buggers " of the buggers, Taipan!"
+didnt_sink "Hit 'em, but didn't sink 'em, Taipan!"
+ran_away " ran away, Taipan!"
+we_have_no_guns "We have no guns, Taipan!!"
 you_have_on_board "You have the following on board"
 what_shall_i_throw "What shall I throw overboard"
 how_much "How much"
-hope_we_lose_em "Let's hope we lose 'em"
-nothing_there "There's nothing there"
-aye_run "Aye, we'll run"
-we_got_away "We got away from 'em"
+hope_we_lose_em "Let's hope we lose 'em, Taipan!"
+nothing_there "There's nothing there, Taipan!"
+aye_run "Aye, we'll run, Taipan."
+we_got_away "We got away from 'em, Taipan!"
 couldnt_lose_em "Couldn't lose 'em."
 but_we_escaped "But we escaped from "
 of_em " of 'em!"
-theyre_firing "They're firing on us"
-weve_been_hit "We've been hit"
-buggers_hit_gun "The buggers hit a gun"
-we_got_em_all "We got 'em all"
-to_start "to start . . .\r\n\n"
-with_cash ") With cash (and a debt)\r\n\n"
-with_5_guns ") With five guns and no cash\r\n"
+theyre_firing "They're firing on us, Taipan!"
+weve_been_hit "We've been hit, Taipan!!"
+buggers_hit_gun "The buggers hit a gun, Taipan!!"
+we_got_em_all "We got 'em all, Taipan!"
+to_start "to start . . .\n\n"
+with_cash ") With cash (and a debt)\n\n"
+with_5_guns ") With five guns and no cash\n"
 but_no_debt "(But no debt!)"
-mchenry_has_arrived "Mc Henry from the Hong Kong\r\nShipyards has arrived!! He says, 'I see\r\nye've a wee bit of damage to yer ship.'\r\nWill ye be wanting repairs? "
+mchenry_has_arrived "Taipan, Mc Henry from the Hong Kong\nShipyards has arrived!! He says, 'I see\nye've a wee bit of damage to yer ship.'\nWill ye be wanting repairs? "
 tis_a_pity "Och, 'tis a pity to be "
-percent_damaged "% damaged.\r\nWe can fix yer whole ship for "
-or_partial_repairs "\r\nor make partial repairs if you wish.\r\n"
+percent_damaged "% damaged.\nWe can fix yer whole ship for "
+or_partial_repairs "\nor make partial repairs if you wish.\n"
 will_ye_spend "will ye spend? "
 illionaire " I L L I O N A I R E !"
 youre_a "    Y o u ' r e    a"
-your_final_status "Your final status:\r\n\nNet cash:  "
-ship_size "\r\nShip size: "
+your_final_status "Your final status:\n\nNet cash:  "
+ship_size "\nShip size: "
 units_with " units with "
-you_traded_for " guns\r\n\nYou traded for "
+you_traded_for " guns\n\nYou traded for "
 spc_year " year"
 spc_and_spc " and "
 spc_month " month"
 your_score_is "Your score is "
-land_based_job "Have you considered a land based job?\r\n\n\n"
-stay_on_shore "The crew has requested that you stay on\r\nshore for their safety!!\r\n\n"
+land_based_job "Have you considered a land based job?\n\n\n"
+stay_on_shore "The crew has requested that you stay on\nshore for their safety!!\n\n"
 3_nls "\n\n\n"
-your_rating "Your Rating:\r\n"
+your_rating "Your Rating:\n"
 ma_tsu "Ma Tsu"
 master_taipan "Master Taipan"
 compradore "Compradore"
 galley_hand "Galley Hand"
 play_again "Play again? "
 you_have_only "You have only "
-you_have_no_cargo "You have no cargo"
-move_to_whouse " shall I move\r\nto the warehouse"
-whouse_only_hold "Your warehouse will only hold an\r\nadditional "
-whouse_full "Your warehouse is full"
-move_aboard " shall I move\r\naboard ship"
-me_to_go_to "me to go to:\r\n"
-already_here "\r\n\nYou're already here"
+you_have_no_cargo "You have no cargo, Taipan!!"
+move_to_whouse " shall I move\nto the warehouse"
+whouse_only_hold "Your warehouse will only hold an\nadditional "
+whouse_full "Your warehouse is full, Taipan!"
+move_aboard " shall I move\naboard ship"
+me_to_go_to "me to go to:\n"
+already_here "\n\nYou're already here, Taipan."
 hostile_ship " hostile ship"
-approaching " approaching"
+approaching " approaching, Taipan!"
 fleet_drove_off "Li Yuen's fleet drove them off!"
-s_pirates "Li Yuen's pirates"
-they_let_us_be "Good joss!! They let us be!!\r\n"
-ships_of_fleet " ships of Li Yuen's pirate\r\nfleet"
-captured_some_booty "We captured some booty.\r\nIt's worth "
+s_pirates "Li Yuen's pirates, Taipan!!\n\n"
+they_let_us_be "Good joss!! They let us be!!\n"
+ships_of_fleet " ships of Li Yuen's pirate\nfleet, Taipan!!"
+captured_some_booty "We captured some booty.\nIt's worth "
 we_made_it "We made it!"
-buggers_got_us "The buggers got us"
-all_over_now "!\r\nIt's all over, now!!!"
-storm "Storm"
-think_going_down "   I think we're going down!!\r\n\n"
-were_going_down "We're going down"
-storm_we_made_it "    We made it!!\r\n\n"
-blown_off_course "We've been blown off course\r\nto "
+buggers_got_us "The buggers got us, Taipan!!"
+all_over_now "!\nIt's all over, now!!!"
+storm "Storm, Taipan!!\n\n"
+think_going_down "   I think we're going down!!\n\n"
+were_going_down "We're going down, Taipan!!\n"
+storm_we_made_it "    We made it!!\n\n"
+blown_off_course "We've been blown off course\nto "
 arriving_at "Arriving at "
 asks "Li Yuen asks "
-in_donation " in donation\r\nto the temple of Tin Hau, the Sea\r\nGoddess. Will you pay? "
-not_enough_cash "you do not have enough cash!!\r\n\n"
-make_up_difference "to make up\r\nthe difference for you? "
-given_the_diff "has given Li Yuen the\r\ndifference between what he wanted and\r\nyour cash on hand and added the same\r\namount to your debt.\r\n"
+in_donation " in donation\nto the temple of Tin Hau, the Sea\nGoddess. Will you pay? "
+not_enough_cash "Taipan, you do not have enough cash!!\n\n"
+make_up_difference "to make up\nthe difference for you? "
+given_the_diff "has given Li Yuen the\ndifference between what he wanted and\nyour cash on hand and added the same\namount to your debt.\n"
 very_well "Very well. "
-will_not_pay "will not pay\r\nLi Yuen the difference.  I would be very\r\nwary of pirates if I were you."
-you_only_have "you only have "
+will_not_pay "will not pay\nLi Yuen the difference.  I would be very\nwary of pirates if I were you, Taipan."
+you_only_have "Taipan, you only have "
 nl_in_spc "\nin "
 the_bank "the bank.\n"
 cash "cash.\n"
-do_you_have_biz_with_wu "Do you have business with Elder Brother\r\nWu, the moneylender? "
-aware_of_your_plight "Elder Brother is aware of your plight,\r\nTaipan. He is willing to loan you an\r\nadditional "
-if_you_will_pay_back " if you will pay back\r\n"
+do_you_have_biz_with_wu "Do you have business with Elder Brother\nWu, the moneylender? "
+aware_of_your_plight "Elder Brother is aware of your plight,\nTaipan. He is willing to loan you an\nadditional "
+if_you_will_pay_back " if you will pay back\n"
 are_you_willing ". Are you willing"
-game_is_over "Very well, Taipan, the game is over!\r\n"
-very_well_good_joss "Very well, Taipan. Good joss!!\r\n"
-to_repay_him "to repay\r\nhim? "
-to_borrow "to \r\nborrow? "
-wont_loan "\r\n\nHe won't loan you so much"
-bodyguards_killed " of your bodyguards have been killed\r\nby cutthroats and you have been robbed\r\nof all of your cash"
+game_is_over "Very well, Taipan, the game is over!\n"
+very_well_good_joss "Very well, Taipan. Good joss!!\n"
+to_repay_him "to repay\nhim? "
+to_borrow "to \nborrow? "
+wont_loan "\n\nHe won't loan you so much, Taipan!"
+bodyguards_killed " of your bodyguards have been killed\nby cutthroats and you have been robbed\nof all of your cash, Taipan!!\n"
 the_price_of "Taipan!! The price of "
 nl_has_spc "\n has "
 risen "risen"
 dropped "dropped"
 spc_to_spc " to "
 bang_bang_nl "!!\n"
-prices_here_are "present prices per unit here are"
+prices_here_are "Taipan, present prices per unit here are"
 general_shortname "General"
 shall_i_buy_sell "Shall I Buy, Sell, "
-bank_transfer "Visit bank, Transfer\r\ncargo, "
+bank_transfer "Visit bank, Transfer\ncargo, "
 quit_traging "Quit trading"
 or_retire ", or Retire"
 what_will_you_name_firm " What will you name your"
@@ -149,21 +148,21 @@ spc_you_can_spc " You can "
 spc_shall " shall"
 spc_afford "  afford "
 i_buy "I buy, "
-shall_i_sell " shall\r\nI sell, "
-too_much_cash "\r\nYou cannot carry so much cash"
-ship_would_sink "\r\nYour ship would sink under the weight\r\nof your riches.\r\n"
+shall_i_sell " shall\nI sell, "
+too_much_cash "\nYou cannot carry so much cash, Taipan!"
+ship_would_sink "\nYour ship would sink under the weight\nof your riches.\n"
 deposit "deposit? "
 withdraw "withdraw? "
-assassinated_1 "you have been assassinated!"
-assassinated_2 "As the masked figure plunges the blade\r\ninto your heart, he says:\r\n"
-assassinated_3 "regrets to inform you\r\nthat your account has been terminated\r\nwith extreme prejudice."
+assassinated_1 "Taipan, you have been assassinated!"
+assassinated_2 "As the masked figure plunges the blade\ninto your heart, he says:\n"
+assassinated_3 "regrets to inform you\nthat your account has been terminated\nwith extreme prejudice."
 has_sent "has sent "
-braves_to_escort " braves\r\nto escort you to the Wu mansion"
-wu_warn_1 "reminds you of the\r\nConfucian ideal of personal worthiness,\r\nand how this applies to paying one's\r\ndebts.\r\n"
-wu_warn_2 "He is reminded of a fabled barbarian\r\nwho came to a bad end, after not caring\r\nfor his obligations.\r\n\nHe hopes no such fate awaits you, his\r\nfriend"
-siezed_opium "The local authorities have seized your\r\nOpium cargo and have also fined you\r\n"
-whouse_theft "Messenger reports large theft\r\nfrom warehouse"
-has_sent_lieutenant "Li Yuen has sent a Lieutenant,\r\nTaipan.  He says his admiral wishes\r\nto see you in Hong Kong, posthaste!\r\n"
-beaten_robbed "You've been beaten up and\r\nrobbed of "
-in_cash " in cash"
-overburdened "\n\nYour ship would be overburdened"
+braves_to_escort " braves\nto escort you to the Wu mansion, Taipan.\n"
+wu_warn_1 "reminds you of the\nConfucian ideal of personal worthiness,\nand how this applies to paying one's\ndebts.\n"
+wu_warn_2 "He is reminded of a fabled barbarian\nwho came to a bad end, after not caring\nfor his obligations.\n\nHe hopes no such fate awaits you, his\nfriend, Taipan.\n"
+siezed_opium "The local authorities have seized your\nOpium cargo and have also fined you\n"
+whouse_theft "Messenger reports large theft\nfrom warehouse, Taipan.\n"
+has_sent_lieutenant "Li Yuen has sent a Lieutenant,\nTaipan.  He says his admiral wishes\nto see you in Hong Kong, posthaste!\n"
+beaten_robbed "You've been beaten up and\nrobbed of "
+in_cash " in cash, Taipan!!\n"
+overburdened "\n\nYour ship would be overburdened, Taipan!"
diff --git a/taipan.c b/taipan.c
index 659d625..d6c52e1 100644
--- a/taipan.c
+++ b/taipan.c
@@ -368,7 +368,6 @@ int get_time(void);
 void cprint_taipan_comma(void);
 void cprint_taipan_colon(void);
 void cprint_taipan_bang(void);
-void cprint_taipan_bangbang(void);
 void cprint_taipan_period(void);
 void cprint_taipan_prompt(void);
 void cprint_elder_brother_wu(void);
@@ -577,11 +576,6 @@ void cprint_taipan_bang(void) {
 	cprint_bang();
 }
 
-void cprint_taipan_bangbang(void) {
-	cprint_taipan_bang();
-	cprint_bang();
-}
-
 void cprint_taipan_period(void) {
 	comma_space();
 	cprint_taipan();
@@ -804,7 +798,6 @@ void overload(void) {
 	compradores_report();
    // cputs("Your ship is overloaded");
 	print_msg(M_overloaded);
-	cprint_taipan_bangbang();
 	good_joss_timed_getch();
    return;
 }
@@ -875,7 +868,6 @@ void new_gun(void) {
 	if(yngetc(0) == 'y') {
 		if(hold < 10) {
 			print_msg(M_overburdened);
-			cprint_taipan_bang();
 			bad_joss_timed_getch();
 			return;
 		}
@@ -1063,9 +1055,6 @@ void fight_stats(int ships) {
 	pluralize(ships);
 	// cputs(" attacking");
 	print_msg(M_space_attacking);
-	cprint_taipan_bang();
-	cspace();
-	crlf();
 
 	// cputs("Your orders are: ");
 	print_msg(M_your_orders_are);
@@ -1186,7 +1175,6 @@ char sea_battle(char id, int num_ships) {
 			if(!orders) {
 				turbo = 0;
 				gotox0y3_clrtoeol();
-				cprint_taipan_comma();
 				// cputs("what shall we do??\n(Fight, Run, Throw cargo)");
 				print_msg(M_what_shall_we_do);
 				under_attack_sound();
@@ -1207,12 +1195,10 @@ char sea_battle(char id, int num_ships) {
 			ik = 1;
 			// cputs("Aye, we'll fight 'em");
 			print_combat_msg(M_aye_fight);
-			cprint_taipan_period();
 			set_orders();
 
 			// cputs("We're firing on 'em");
 			print_combat_msg(M_were_firing);
-			cprint_taipan_bang();
 			set_orders();
 
 			for(i = 1; i <= guns; i++) {
@@ -1279,12 +1265,10 @@ char sea_battle(char id, int num_ships) {
 				cprintuint(sk);
 				// cputs(" of the buggers");
 				print_msg(M_of_the_buggers);
-				cprint_taipan_bang();
 				if(!turbo) bad_joss_sound();
 			} else {
 				// cputs("Hit 'em, but didn't sink 'em");
 				print_combat_msg(M_didnt_sink);
-				cprint_taipan_bang();
 			}
 			set_orders();
 
@@ -1300,7 +1284,6 @@ char sea_battle(char id, int num_ships) {
 				cprintuint(ran);
 				// cputs(" ran away");
 				print_msg(M_ran_away);
-				cprint_taipan_bang();
 				bad_joss_sound();
 
 				if(num_ships <= 10) {
@@ -1325,7 +1308,6 @@ char sea_battle(char id, int num_ships) {
 		} else if ((orders == 1) && (guns == 0)) {
 			// cputs("We have no guns");
 			print_combat_msg(M_we_have_no_guns);
-			cprint_taipan_bangbang();
 			bad_joss_sound();
 			turbo = 0;
 			orders = 0;
@@ -1338,7 +1320,6 @@ char sea_battle(char id, int num_ships) {
 
 			if(hold_is_empty()) {
 				print_combat_msg(M_you_have_no_cargo);
-				cprint_taipan_bangbang();
 				bad_joss_sound();
 				orders = 0;
 				set_orders();
@@ -1404,7 +1385,6 @@ char sea_battle(char id, int num_ships) {
 				if(total > 0) {
 					// cputs("Let's hope we lose 'em");
 					print_combat_msg(M_hope_we_lose_em);
-					cprint_taipan_bang();
 					bad_joss_sound();
 					if (choice < 4) {
 						hold_[choice] -= amount;
@@ -1420,7 +1400,6 @@ char sea_battle(char id, int num_ships) {
 				} else {
 					// cputs("There's nothing there");
 					print_combat_msg(M_nothing_there);
-					cprint_taipan_bang();
 					good_joss_sound();
 
 					set_orders();
@@ -1432,7 +1411,6 @@ char sea_battle(char id, int num_ships) {
 			if(orders == 2) {
 				// cputs("Aye, we'll run");
 				print_combat_msg(M_aye_run);
-				cprint_taipan_period();
 				set_orders();
 			}
 
@@ -1440,7 +1418,6 @@ char sea_battle(char id, int num_ships) {
 			if(randi()%ok > randi()%num_ships) {
 				// cputs("We got away from 'em");
 				print_combat_msg(M_we_got_away);
-				cprint_taipan_bang();
 				good_joss_sound();
 				/* don't use set_orders() here! it allows changing from Run
 					to Fight, *after* getting away, so you end up getting booty
@@ -1487,7 +1464,6 @@ char sea_battle(char id, int num_ships) {
 		if(num_ships > 0) {
 			// cputs("They're firing on us");
 			print_combat_msg(M_theyre_firing);
-			cprint_taipan_bang();
 
 			set_orders();
 			if(!turbo) explosion();
@@ -1497,7 +1473,6 @@ char sea_battle(char id, int num_ships) {
 
 			// cputs("We've been hit");
 			print_combat_msg(M_weve_been_hit);
-			cprint_taipan_bangbang();
 			under_attack_sound();
 
 			set_orders();
@@ -1517,7 +1492,6 @@ char sea_battle(char id, int num_ships) {
 				fight_stats(num_ships);
 				// cputs("The buggers hit a gun");
 				print_combat_msg(M_buggers_hit_gun);
-				cprint_taipan_bangbang();
 				if(!turbo) under_attack_sound();
 				fight_stats(num_ships);
 				update_guns();
@@ -1580,7 +1554,6 @@ char sea_battle(char id, int num_ships) {
 		fight_stats(num_ships);
 		// cputs("We got 'em all");
 		print_combat_msg(M_we_got_em_all);
-		cprint_taipan_bang();
 		bad_joss_timed_getch();
 
 		return 1;
@@ -1848,7 +1821,6 @@ void port_stats(void) {
 
 void mchenry(void) {
 	compradores_report();
-	cprint_taipan_comma();
 	/*
 	cputs("Mc Henry from the Hong Kong\n"
 			"Shipyards has arrived!! He says, 'I see\n"
@@ -2215,8 +2187,6 @@ void transfer(void) {
       clrtobot();
       // cputs("You have no cargo");
 		print_msg(M_you_have_no_cargo);
-		cprint_taipan_period();
-		crlf();
 		good_joss_timed_getch();
       return;
    }
@@ -2248,7 +2218,6 @@ void transfer(void) {
                   gotox0y(21);
                   // cputs("Your warehouse is full");
 						print_msg(M_whouse_full);
-						cprint_taipan_bang();
 						good_joss_timed_getch();
                } else {
                   gotox0y(21);
@@ -2347,7 +2316,6 @@ unsigned char choose_port(void) {
       if(choice == port) {
          // cputs("\n\nYou're already here");
 			print_msg(M_already_here);
-			cprint_taipan_period();
 			good_joss_timed_getch();
       } else if(choice <= 7) {
 			return choice;
@@ -2386,8 +2354,6 @@ void quit(void) {
 		// if(num_ships != 1) cputc_s();
       // cputs(" approaching");
 		print_msg(M_approaching);
-		cprint_taipan_bang();
-		crlf();
 		under_attack_timed_getch();
 
       result = sea_battle(GENERIC, num_ships);
@@ -2410,9 +2376,6 @@ void quit(void) {
 		// cprint_li_yuen();
       // cputs("'s pirates");
 		print_msg(M_s_pirates);
-		cprint_taipan_bangbang();
-		crlf();
-		crlf();
 		bad_joss_timed_getch();
 
       if(li > 0) {
@@ -2430,7 +2393,6 @@ void quit(void) {
 			/* "ships" will always be plural (at least 5 of them) */
          // cputs(" ships of Li Yuen's pirate\nfleet");
 			print_msg(M_ships_of_fleet);
-			cprint_taipan_bangbang();
 			under_attack_timed_getch();
 
 			/* WTF, the original code reads:
@@ -2461,7 +2423,6 @@ void quit(void) {
       } else {
          // cputs("The buggers got us");
 			print_msg(M_buggers_got_us);
-			cprint_taipan_bangbang();
          // cputs("!\nIt's all over, now!!!");
 			print_msg(M_all_over_now);
 			under_attack_timed_getch();
@@ -2475,9 +2436,6 @@ void quit(void) {
 		clear_msg_window();
       // cputs("Storm");
 		print_msg(M_storm);
-		cprint_taipan_bangbang();
-		crlf();
-		crlf();
 		bad_joss_timed_getch();
 
       if(one_chance_in(30)) {
@@ -2502,8 +2460,6 @@ void quit(void) {
          if(sunk) {
             // cputs("We're going down");
 				print_msg(M_were_going_down);
-				cprint_taipan_bangbang();
-				crlf();
 				under_attack_timed_getch();
 
             final_stats();
@@ -2635,7 +2591,6 @@ void li_yuen_extortion(void) {
          li = 1;
       } else {
 			clear_msg_window();
-			cprint_taipan_comma();
          // cputs("you do not have enough cash!!\n\n");
 			print_msg(M_not_enough_cash);
 
@@ -2673,8 +2628,6 @@ void li_yuen_extortion(void) {
 						"wary of pirates if I were you.");
 						*/
 				print_msg(M_will_not_pay);
-				cprint_taipan_period();
-				crlf();
          }
 			timed_getch();
       }
@@ -2687,7 +2640,6 @@ void li_yuen_extortion(void) {
 void you_only_have(unsigned char in_bank) {
 	clear_msg_window();
 
-	cprint_taipan_comma();
 	// cputs("you only have ");
 	print_msg(M_you_only_have);
 	if(in_bank)
@@ -2846,7 +2798,6 @@ void elder_brother_wu(void) {
 			} else {
 				// cputs("\n\nHe won't loan you so much");
 				print_msg(M_wont_loan);
-				cprint_taipan_bang();
 				good_joss_timed_getch();
 			}
 		}
@@ -2874,8 +2825,6 @@ void elder_brother_wu(void) {
 				"of all of your cash");
 				*/
 		print_msg(M_bodyguards_killed);
-		cprint_taipan_bangbang();
-		crlf();
 		under_attack_timed_getch();
    }
 
@@ -2920,7 +2869,6 @@ int port_choices(void) {
 
 	compradores_report();
 
-	cprint_taipan_comma();
    // cputs("present prices per unit here are"); /* NB: exactly 40 cols */
 	print_msg(M_prices_here_are);
 
@@ -3262,7 +3210,6 @@ void too_much_cash(void) {
 	clear_msg_window();
 	// cputs("\nYou cannot carry so much cash");
 	print_msg(M_too_much_cash);
-	cprint_taipan_bang();
 	// cputs("\nYour ship would sink under the weight\nof your riches.\n");
 	print_msg(M_ship_would_sink);
 	bad_joss_timed_getch();
@@ -3452,7 +3399,6 @@ int main(void) {
 		if(wu_assassin) {
 			wu_assassin = 0;
 			compradores_report();
-			cprint_taipan_comma();
 			// cputs("you have been assassinated!");
 			print_msg(M_assassinated_1);
 			under_attack_timed_getch();
@@ -3488,8 +3434,6 @@ int main(void) {
 				cprintuint(braves);
 				// cputs(" braves\nto escort you to the Wu mansion");
 				print_msg(M_braves_to_escort);
-				cprint_taipan_period();
-				crlf();
 
 				timed_getch();
 
@@ -3512,8 +3456,6 @@ int main(void) {
 						"He hopes no such fate awaits you, his\nfriend");
 						*/
 				print_msg(M_wu_warn_2);
-				cprint_taipan_period();
-				crlf();
 
 				timed_getch();
 
@@ -3576,8 +3518,6 @@ int main(void) {
 			compradores_report();
          // cputs("Messenger reports large theft\nfrom warehouse");
 			print_msg(M_whouse_theft);
-			cprint_taipan_period();
-			crlf();
 
          timed_getch();
       }
@@ -3617,8 +3557,6 @@ int main(void) {
 			cprintfancy(robbed);
          // cputs(" in cash");
 			print_msg(M_in_cash);
-			cprint_taipan_bangbang();
-			crlf();
 			under_attack_timed_getch();
       }
 
diff --git a/textcomp.c b/textcomp.c
index 7139225..71b4dad 100644
--- a/textcomp.c
+++ b/textcomp.c
@@ -9,7 +9,7 @@
 	for every string.
 
 	Input length | Encoded length | Ratio
-	(incl. null) |                |
+	(incl. null) | (bytes)        |
 	2            | 2              | 100%, don't bother
 	3            | 3              | 100%, don't bother
 	4            | 3              | 75%
@@ -49,8 +49,9 @@
 	62 = )
 	63 = newline
 
-	All the strings used by taipan.c are listed in the __END__ section
-	of messages.pl. The perl script calls this program (textcomp) once
+	All the strings used by taipan.c are listed in messages.msg, except
+	the help messages in the cartridge build (which are in helpmsgs.msg).
+	The perl script messages.pl calls this program (textcomp) once
 	per string, and outputs C source consisting of the encoded versions.
 	Each string in the __END__ section is preceded by a name, and the
 	generated C source uses these names with M_ prefixed.
@@ -60,11 +61,11 @@
 	but it's not really noticeable. cputc() is used for printing, so it
 	respects the reverse video setting (set by rvs_on() and rvs_off()).
 	The task of replacing cputs("some string") with print_msg(M_some_string)
-	is done manually.
+	was done manually.
 
 	When a newline is printed, our modified conio moves the cursor to the
 	start of the next line, so no \r's are needed. Any \r sequences listed
-	in messages.pl are discarded before encoding is done.
+	in the .msg files are discarded before encoding is done.
 
 	Since no prompts ever use capital Z, it's used as an escape character
 	for dictionary lookups (e.g. Za = "Li Yuen", Zb = "Elder Brother").
diff --git a/textdecomp.s b/textdecomp.s
index bb27a99..6f69ff5 100644
--- a/textdecomp.s
+++ b/textdecomp.s
@@ -83,7 +83,7 @@ dict19: .byte $25, $3d, $40 ; "is ", 9
 dict20: .byte $04, $e1, $00 ; "and", 10
 dict21: .byte $d4, $30, $53, $20, $00 ; " cash", 8
 dict22: .byte $04, $41, $09, $50, $93, $ce, $04, $cd, $40 ; "additional ", 3
-dict23: .byte $b8, $12, $50, $04, $e0, $00 ; "Taipan", 3 (but really many more!)
+dict23: .byte $b8, $12, $50, $04, $e0, $00 ; "Taipan", 47
 dict24: .byte $d4, $f3, $8c, $67, $50, $00 ; " only ", 3
 dict25: .byte $d4, $25, $47, $1c, $54, $93, $00 ; " buggers", 3
 dict26: .byte $5c, $95, $08, $d4, $00 ; "with ", 4
@@ -106,7 +106,9 @@ dict42: .byte $84, $53, $85, $48, $13, $00 ; "General"
 dict43: .byte $d0, $34, $b5, $00 ; "your "
 dict44: .byte $c0, $54, $99, $d5, $71, $4c, $30, $00 ; "Very well"
 dict45: .byte $84, $f3, $c4, $d4, $a3, $d3, $4f, $6d, $80 ; "Good joss!!"
-dict46: .byte $17, $c4, $85, $d4, $73, $c9, $38, $7d, $44, $3d, $73, $80 ; "e're going down"
+dict46: .byte $d1, $7d, $80 ; "Taipan!"
+;dict47: .byte $d2, $ed, $80 ; "Taipan!!"
+dict47: .byte $17, $c4, $85, $d4, $73, $c9, $38, $7d, $44, $3d, $73, $80 ; "e're going down"
 
 ; Table has to be <= 1 page, so this won't fit:
 ;dict47: .byte $c4, $5d, $4d, $04, $41, $75, $25, $4d, $80 ; "We made it!"
@@ -161,7 +163,8 @@ dict_offsets:
  .byte dict44 - dict00
  .byte dict45 - dict00
  .byte dict46 - dict00
-; .byte dict47 - dict00
+ .byte dict47 - dict00
+ ;.byte dict48 - dict00
 
 ; rough estimate of how many bytes are saved by the dictionary
 ; stuff: the dictionary + extra decoder stuff costs 221 bytes (vs.
-- 
cgit v1.2.3