aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.txt13
-rw-r--r--taipan.c8
2 files changed, 19 insertions, 2 deletions
diff --git a/README.txt b/README.txt
index 5b85282..3f1939a 100644
--- a/README.txt
+++ b/README.txt
@@ -121,6 +121,19 @@ arcade game).
Bugs! At least these:
+- If using cc65's rand(), booty is coming up negative. Pretty sure
+ this is fixed (it was due to my randi() having an unsigned int
+ return type, but rand() returns signed, even though it never returns
+ a negative numer). Anyway the real fix here is to get POKEY random
+ numbers working correctly and ditch rand() again.
+
+- If using POKEY random numbers, 0 is never returned (since the POKEY
+ uses a LFSR).
+
+- When exiting to DOS and reloading, the title screen graphics are
+ messed up. The playtester who reported this was running on real
+ hardware (not an emulator).
+
- After a battle, the prices don't get reset (or, not always?) when
entering the new port.
diff --git a/taipan.c b/taipan.c
index c93c6c0..63ea0f9 100644
--- a/taipan.c
+++ b/taipan.c
@@ -83,7 +83,7 @@ extern void __fastcall__ jsleep(unsigned int j);
extern unsigned int __fastcall__ randi(void);
#else
#define initrand() _randomize()
-#define randi() rand()
+#define randi() ((unsigned int)rand())
#endif
/* random long, 0 to 2**32-1 */
@@ -500,6 +500,8 @@ int sea_battle(int id, int num_ships) {
}
clrscr();
+ cprintulong(booty);
+ agetc();
cursor(0);
flushinp();
fight_stats(num_ships, orders);
@@ -1761,7 +1763,9 @@ void quit(void)
num_ships = 9999;
}
cprintulong(num_ships);
- cputs(" hostile ships approaching, Taipan!\r\n");
+ cputs(" hostile ship");
+ if(num_ships != 1) cputc('s');
+ cputs(" approaching, Taipan!\r\n");
under_attack_sound();
timed_getch(TMOUT_3S);