fixed basic bug, text bug

This commit is contained in:
Denis Molony
2020-12-18 11:00:37 +10:00
parent de59d9ae29
commit 3a33c4c3e0
3 changed files with 14 additions and 16 deletions

View File

@@ -364,7 +364,6 @@ public class ApplesoftBasicProgram extends BasicProgram
if (!c1.equals (" ") && c2.equals (" ")) if (!c1.equals (" ") && c2.equals (" "))
c2 = "--"; c2 = "--";
// if (basicPreferences.onlyShowTargetLineNumbers && !c2.startsWith (">"))
if (!isTarget && basicPreferences.onlyShowTargetLineNumbers) if (!isTarget && basicPreferences.onlyShowTargetLineNumbers)
lineNumberText = ""; lineNumberText = "";

View File

@@ -121,6 +121,7 @@ public class BasicTextFile extends TextFile
text.append ("Text values\n"); text.append ("Text values\n");
text.append ("-------------------------------------------------------\n"); text.append ("-------------------------------------------------------\n");
} }
for (TextBuffer tb : buffers) for (TextBuffer tb : buffers)
{ {
buffer = tb.buffer; buffer = tb.buffer;
@@ -156,14 +157,12 @@ public class BasicTextFile extends TextFile
{ {
line = line.replaceAll ("\\n", "\n "); line = line.replaceAll ("\\n", "\n ");
text.append ( text.append (
String.format ("%,10d %,8d %s%n", recNo * recordLength, recNo++, line)); String.format ("%,10d %,8d %s%n", recNo * recordLength, recNo, line));
} }
else else
{
line = line.replaceAll ("\\n", "\n ");
text.append (String.format ("%s%n", line)); text.append (String.format ("%s%n", line));
recNo++;
} recNo++;
} }
return text; return text;

View File

@@ -352,7 +352,7 @@ class MazeLevel extends AbstractFile
cell.unknown = cellFlag; cell.unknown = cellFlag;
break; break;
case 8: case 8: // buttonz
cell.elevator = true; cell.elevator = true;
MazeAddress elevatorAddress = getAddress (b); MazeAddress elevatorAddress = getAddress (b);
cell.elevatorTo = elevatorAddress.row; cell.elevatorTo = elevatorAddress.row;
@@ -365,40 +365,40 @@ class MazeLevel extends AbstractFile
cell.rock = true; cell.rock = true;
break; break;
case 10: case 10: // fizzle
cell.spellsBlocked = true; cell.spellsBlocked = true;
break; break;
case 11: case 11: // screen message
MazeAddress messageAddress = getAddress (b); MazeAddress messageAddress = getAddress (b);
// int messageNum = HexFormatter.intValue (buffer[800 + b * 2], buffer[801 + b * 2]); // int messageNum = HexFormatter.intValue (buffer[800 + b * 2], buffer[801 + b * 2]);
Message m = getMessage (messageAddress.row); Message m = getMessage (messageAddress.row);
if (m != null) if (m != null)
cell.message = m; cell.message = m;
cell.messageType = messageAddress.column; cell.messageType = messageAddress.column;
// HexFormatter.intValue (buffer[832 + b * 2], buffer[833 + b * 2]); // HexFormatter.intValue (buffer[832 + b * 2], buffer[833 + b * 2]);
int itemID = -1; int itemID = -1;
if (cell.messageType == 2 && items != null) // obtain Item if (cell.messageType == 2 && items != null) // obtain Item
{ {
// itemID = HexFormatter.intValue (buffer[768 + b * 2], buffer[769 + b * 2]); // itemID = HexFormatter.intValue (buffer[768 + b * 2], buffer[769 + b * 2]);
itemID = messageAddress.level; itemID = messageAddress.level;
cell.itemObtained = items.get (itemID); cell.itemObtained = items.get (itemID);
} }
if (cell.messageType == 5 && items != null) // requires Item if (cell.messageType == 5 && items != null) // requires Item
{ {
// itemID = HexFormatter.intValue (buffer[768 + b * 2], buffer[769 + b * 2]); // itemID = HexFormatter.intValue (buffer[768 + b * 2], buffer[769 + b * 2]);
itemID = messageAddress.level; itemID = messageAddress.level;
cell.itemRequired = items.get (itemID); cell.itemRequired = items.get (itemID);
} }
if (cell.messageType == 4) if (cell.messageType == 4)
{ {
// value = HexFormatter.intValue (buffer[768 + b * 2], buffer[769 + b * 2]); // value = HexFormatter.intValue (buffer[768 + b * 2], buffer[769 + b * 2]);
itemID = messageAddress.level; itemID = messageAddress.level;
if (value <= 100) if (value <= 100)
{ {
@@ -418,9 +418,9 @@ class MazeLevel extends AbstractFile
} }
break; break;
case 12: case 12: // encounter
MazeAddress monsterAddress = getAddress (b); MazeAddress monsterAddress = getAddress (b);
// cell.monsterID = HexFormatter.intValue (buffer[832 + b * 2], buffer[833 + b * 2]); // cell.monsterID = HexFormatter.intValue (buffer[832 + b * 2], buffer[833 + b * 2]);
cell.monsterID = monsterAddress.column; cell.monsterID = monsterAddress.column;
cell.monsters = monsters; cell.monsters = monsters;
break; break;