I need to know if anyone with a LOT of Pascal coding experience can try their hand at fixing the LordMenu utility.
Pascal or Borland Pascal, and neither one has any known way to force the program to write strings of ANSI characters to a file, so that the file does not contain lines longer than 128 spaces.
I've got the program's source code online at my Castle Camelot web-site. URL is http://www.fidotel.com/public/camelot/IGM-Code/lm2-code.zip
Quoting Donald Tidmore to All <=-
I need to know if anyone with a LOT of Pascal coding experience can
try their hand at fixing the LordMenu utility. I've tried to do it
and have no idea how to do it. Its written for compilation in either Turbo Pascal or Borland Pascal, and neither one has any known way to
force the program to write strings of ANSI characters to a file, so
that the file does not contain lines longer than 128 spaces.
Michael Preslar found out back in 2005 when LORDMENU's 3rdalt.txt
files stopped working with LORD v4.07 (beta at the time), that the
problem was that LordMenu was writing lines to the file that were a thousand or so characters long per line. And as a result, LORD
started choking on the files.
I tried once to rewrite Lordmenu using Virtual Pascal, but could not figure out how to do that correctly. I would appreciate it very much
if someone could fix the stupid program permanently to write ansi
lines that would not exceed 128 spaces in length.
I've got the program's source code online at my Castle Camelot
web-site. URL is http://www.fidotel.com/public/camelot/IGM-Code/lm2-code.zip
Please let me know if anyone is able to figure out a solution to this problem. Various people including Jay Hodges and Michael Preslar have tried to fix LordMenu, but to date, no one has succeeded in fixing the 3rdalt.txt problem. Thanks, Donald.
..... <snip>I need to know if anyone with a LOT of Pascal coding experience can trySure, I'd be happy to help.
their hand at fixing the LordMenu utility.
I downloaded it, compiled it (there seems to be an EXEC.PAS missing, but I managed to program around it), and ran it with no problems.
Can you please add some more info about the problem?
- Exactly what error message (if any) do you get?
- Do I need some special data file in order to force it to "choke"?
- What memory sizes are you using?
- Do you get the same error/problem regardless of platform you compile it
to? > Those for starters... :)
I don't have the actual EXEC.PAS file. Its something that Charlie
Wardick created or found somewhere. I have a TPU file for it, which I
use all the time.
There's no error message in regards to LordMenu's usage. It creates the 3rdalt.txt fine one would think from the lack of error messages. But
when one tries to actually use it in LORD, Lord chokes on it.
Would've helped to see the code here. I'll forget to go to the
URL :). But doing Ansi isn't that hard. Have you checked
out Swag it has a whole section just on Ansi source codes.
... "I'm paying off karma at a vastly accelerated rate" - Ivanova.
I don't have the actual EXEC.PAS file. Its something that CharlieI understood that it is one of those gazillion of variants of performing 'exec' with different memory saving tricks (swap, EMS and so on). Tricks that are no longer needed so I always recommend removing this stuff and rather use the standard 'exec' function.
Wardick created or found somewhere. I have a TPU file for it, which I
use all the time.
There's no error message in regards to LordMenu's usage. It creates theAhhh... I see, so it's not really the LM program that needs to be fixed, but
3rdalt.txt fine one would think from the lack of error messages. But
when one tries to actually use it in LORD, Lord chokes on it.
the LORD itself -- you need a fix around a serious bug in LORD, yes? No source
code for that I imagine?
I'll see what I can do about it...
If I understand what Michael told me in early 2006 about Lord's problem with the 3rdalt.txt it was that LORD expects to see ansi string data
lines that don't exceed 128 spaces maximum per line. So when it tries
to load the file that has 1,000-space lines, it literally chokes on it.
Quoting Donald Tidmore to Scott Adams <=-
Would've helped to see the code here. I'll forget to go to the
URL :). But doing Ansi isn't that hard. Have you checked
out Swag it has a whole section just on Ansi source codes.
... "I'm paying off karma at a vastly accelerated rate" - Ivanova.
The program itself is fairly short, so I'll copy it here from the
Wordpad program for you. http://www.fidotel.com/public/camelot/IGM-Code/lpe-code.zip archive
online has the Chasattr.pas and Chasware.pas files that I used with
the program, and LordLock is the basic unit from DDIGM and DDPLUS.
The basic problem is that I don't really understand the code --
created by Robert Fogt over a dozen years ago, -- especially in
regards to how it creates the 3rdalt.txt file. The end-result however will not work in LORD due to the individual lines going up to 1,000
spaces each.
Bjorn Felten thinks he can solve the problem by having the program
write the ansi strings to an *.ANS file, and then changing its
filename to 3rdalt.txt. I just don't do ANSI coding very much, so its
been difficult to fix the program myself. And others who have tried
are busy with other projects, or they don't have a working solution
yet. SO I really appreciate your help guys with the situation. Lloyd Hannesson was handling the program but he got tired of BBS's and LORD stuff, and retired completely from doing both in Fall 2005. Donald.
LORD expects the ansi code to end in 128 spaces per line, and when
it gets a thousand characters in each line of the file, it does not
like it much. Usage of a 3rdalt.txt is built into LORD, so the
data file has to use the TXT extension. But I suppose one could
rewrite Lordmenu to write an intermediary ANS file, limiting it to
128 spaces maximum per line. And then resave that as 3rdalt.txt.
But I get headaches every time I try to fix the program myself,
either actual ones or figurative ones.
At first I didn't notice that you kept on saying "spaces", so I assumed it was just a case of not assigning enough space for a read-line procedure.
But now that I've noticed that this seems to be a "space" (aka character
#32) issue, I'm starting to get really puzzled.
1. Why in Heavens Name would anyone want to write 128, and even 1000, spaces *on* *one* *line* ?
2. Why would the L.O.R.D. program care about what it sends, as long as it
can read all the data that it shall send? Spaces or no spaces?
The default(?) 3rdalt.txt file that your program generates has two long
lines (400 and 466 characters long), do you mean that those lines are not a problem for the L.O.R.D. program?
Did you check out SWAG the ansi section? If I recall it has
a whole file on ansi codes and pretty easy to figure out.
If Bjorn can't help you I'll see what i can. But the file
and code is big. If you have specific questions or something
for me to look for please let me know. Otherwise i'd just
be reading line by line and not sure what to look for
exactly. :)
Is it just the Ansi stuff?
The door I have under devolopment currently uses limited length ansi
files also the file extension doesn't matter.
1. Why in Heavens Name would anyone want to write 128, and even 1000,
spaces
*on* *one* *line* ?
I honestly can't remember details on why its a problem.
I tried loading the file made by LordMenu into Pablo Draw.
I just hoped that someone with more experience working with ANSI data would know how to fix the program so it worked reliably.
Hi Donald
Load the ansi file into TheDraw, to change from animation mode it's ALT-J followed by 'Normal'. then simply do a file save in 'Ansi' mode select when prompted 'None' then simply enter the max line length in bytes.
The door I have under devolopment currently uses limited length ansi files also the file extension doesn't matter.
cheers Dennis
... "I can't C!" screamed the blinded programmer.
Hi Donald Load the ansi file into TheDraw, to change fromOn the ALT-J menu, the only choices are R(everse scan),
F(lip mirrors...), Top, Left, Clock, Circles, Checkerboard,
Angle, Gate, Pyramid, Squares, Scrambled, Door, Diamond,
Wiggle, and Wiggle-Out. None of which make any sense to me.
Am I supposed to edit the 3rdalt.txt in Thedraw using an
ANS extension? Donald
Am I supposed to edit the 3rdalt.txt in Thedraw using an
ANS extension? Donald
I'm not asking you why it's a problem (after all that's for me to findout, > no? :) ) I'm asking you what good 128, or even 1000, *SPACES* (the ones you >create with the long key at mid bottom of your keyboard) will do. Are you sure > you don't mean *CHARACTERS* ?
Can you send me a copy of one of your problem 3rdalt-files, maybe Imight > have better luck solving your problem. If you don't know how to send it via > FidoNet you can try sending it to "b (at) felten (dot) se".
Quoting Donald Tidmore to Scott Adams <=-
Did you check out SWAG the ansi section? If I recall it has
a whole file on ansi codes and pretty easy to figure out.
If Bjorn can't help you I'll see what i can. But the file
and code is big. If you have specific questions or something
for me to look for please let me know. Otherwise i'd just
be reading line by line and not sure what to look for
exactly. :)
Is it just the Ansi stuff?
I just don't understand ANSI file editing very well, so I've not tried
to figure out solutions to the issue. I tried for a full month to do this and that with the original Lordmenu code I got from Robert Fogt,
but nothing would work. As far as I know, the data file it creates in
RIP mode works fine. And I have no idea if it would make any
difference if it wrote the file as 3rdalt.ans or not.
I tried renaming Lordmenu's 3rdalt.txt file to 3rd_alt.ans, and
viewing it in Pablo Draw. I have around 27 igms installed in my Lord
game - most of them are either mine or ones that i have loved using
for years. Anyway, all that displays in PABLO is the colored letters
for L.O.R.D., the phrase/line "Choose your path wisely", and one
single line of IGM entries. Which is for the last two igms in the
file. The other 26 igm entries don't get shown on the screen. The
same thing happens when LORD itself tries to display that 3rdalt.txt
file.
Is it possible in Borland Pascal to write the ansi symbols to a
buffer, that only holds 255 characters? Write the buffer's content to
a file, and clear the buffer. Then repeat the process until every
line of the 3rdparty.dat that is processed by LORDMENU has been
translated into ANSI characters, and written to a file? That's the
only thing I think would work, but I don't know how to put it into
pascal code statements to see if that concept would work. Donald
Sysop: | digital man |
---|---|
Location: | Riverside County, California |
Users: | 1,038 |
Nodes: | 15 (0 / 15) |
Uptime: | 28:23:08 |
Calls: | 865 |
Calls today: | 16 |
Files: | 95,180 |
D/L today: |
14,821 files (1,487M bytes) |
Messages: | 465,164 |
Posted today: | 1 |