diff options
author | B. Watson <yalhcru@gmail.com> | 2021-05-17 16:54:19 -0400 |
---|---|---|
committer | B. Watson <yalhcru@gmail.com> | 2021-05-17 16:54:19 -0400 |
commit | 6dbdb33689cc5fa308b39e1c23d88d572cb7368c (patch) | |
tree | 20307951a0653e8da85f335ad730ce7ad4a76d38 | |
parent | 1e2d8abd29ff4717404f6527b4df7cd27d89c991 (diff) | |
download | taipan-6dbdb33689cc5fa308b39e1c23d88d572cb7368c.tar.gz |
Better text compression, save 35 bytes, now 8816
-rw-r--r-- | messages.msg | 173 | ||||
-rw-r--r-- | taipan.c | 62 | ||||
-rw-r--r-- | textcomp.c | 11 | ||||
-rw-r--r-- | 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!" @@ -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(); } @@ -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. |