mtklr / udd

UNIX DND
5 stars 0 forks source link

Missing /build dir & character display #1

Open mcthomas opened 11 months ago

mcthomas commented 11 months ago

After building, the program cannot run without errors unless the expected build dir and its data files are supplied (char.dat, lvl.dat, and not.txt). Is that omission intentional? I ended up grabbing those files from this repository: https://bitbucket.org/ldo17/udd/src/master/ (download).

mtklr commented 11 months ago

Hi.:) Yeah, that's an idiosyncracy of how the makefile and code are set up. It doesn't work after make but will work after make install, which defaults to an "install" in the current directory under build.

If you want to run it from the "current" directory (the source directory of udd you are in when running make, you can try PREFIX=$PWD make && to build, and then ./udd from this directory should work. Also, make install creates an empty orb.txt file that the game expects (where a list of game winners is kept), so you'll also want to touch orb.txt.

Hope that helps, matt

mcthomas commented 11 months ago

Thanks! I should've known better to have run make install. Thank you for maintaining a working fork, it's wonderful to have (what I know to be) the only src for this port that compiles on macOS without any additional work. By the way, I swapped in some Unicode hieroglyphics into utl_pplot.c at line 261 to make it look a little closer to how it ran on PLATO:

  fnp1(tbuf2, "𓁍", 10);
  strcpy(tbuf3, tbuf);
  if (u.i[7] == 1)
    fnp(tbuf, "𓏝", 11);
  if (u.i[6] == 1)
    fnp(tbuf, "𓁟", 11); 

One other issue I have noticed, is how the player char doesn't display when I approach the rightmost edge of a dungeon. Is that a known issue? Or something possibly unique to my terminal emulator or otherwise?

mtklr commented 10 months ago

Hi,

That's pretty cool (the unicode patch) - I haven't actually played the PLATO version (I should!...)

As for the display bug - I will take a look and see if I can fix it. The goal originally (for me) was getting this running with minimal changes, but you're right, the character disappears (turns into ? for me, actually) at the map edge. Sounds like an off-by-one error or that kind of thing, probably in the same utl.pplot.c file. The code comments are a bit cryptic, although at first glance I'm looking suspiciously around line 131 - "/* off the edge? */" Another thing I'll try is compiling/running in 32-bit, as that's how it originally worked (I'm not a programmer, just a dabbler).

If you happen to figure any of it out let me know.:)

Thanks, matt