You are not logged in.

#1 2011-06-29 21:01:40

Giniu
Package Maintainer (PM)
From: Wrocław/Poland
Registered: 2007-04-02
Posts: 61
Website

The Elder Scrolls II: Daggerfall in AUR, anyone would like to test?

Recently I found a way to unpack archives used in Daggerfall, so now there is nothing that stops us from having it in AUR. Especially, that Daggerfall is now free, released by Bethesda for 15 years of TES anniversary. The package contains last Daggerfall (2.13 + Comp USA edition quests + fixsave 1.75) - so all official files. You can get it here: http://aur.archlinux.org/packages.php?ID=50316 - please note that I have not tested it on 32 bits, I'm bit worried for the extraction code (it uses bit shifts, it should be OK, but I cannot be 100% certain). It would be cool if someone could report how it works.

The package requires only dosbox to run and python2+bsdiff+unzip for building. Also, please adjust dosbox configuration to your needs, probably post your best working config so I can update the default config to one that works for most people?

The unpk.py script is used to unpack PACKED.DAT into ARCH3D.BSA and DAGGER.SND, and to unpack 109 updated files from patch file DAG213.EXE - it can probably be also used to unpack files from other old DOS games. It is based on public domain code and descriptions (with links to sources in comment near beginning), but modified (for example to support archives other than PACKED.DAT). If you want to use it, have fun with it, but be careful - it is very sketchy and bugs can live inside - I only tested it on 64 bit system and Daggerfall archives.

Soon I will create second package that requires this one, and will add community created stuff like bugfixes, improvements and quests. You will be able to install it anytime and it wil change from time to time as new files are released. It shouldn't break anything, in worst case you will have to start new game to benefit from new stuff.

Below is the information package shows after install, it's good description of the startup wrapper in package

========================================
You must read and accept the Daggerfall terms of use:
   /usr/share/licenses/daggerfall/license

You should tweak dosbox settings to match your needs:
   /usr/share/games/daggerfall/dagger.conf

To play, make sure you are in games group and use command:
   daggerfall

To setup your sound card, use command:
   daggerfall --setup

If your game gets corrupted, you can try fixing your saves with:
   daggerfall --fixsave
or fixing your maps with:
   daggerfall --fixmaps
========================================


My GPG fingerprint: 7170 26A9 D477 9FC5 3940  7266 40F5 57B7 3149 6106

Offline

#2 2011-07-02 21:36:07

Giniu
Package Maintainer (PM)
From: Wrocław/Poland
Registered: 2007-04-02
Posts: 61
Website

Re: The Elder Scrolls II: Daggerfall in AUR, anyone would like to test?

some new features in new package (in addition to what was already there):

- list options
daggerfall --help

- store/restore palettes, set gamma
daggerfall --store-palettes / --restore-palettes / --gamma=value

- change max skill level from 100 to 200 (unlocks features from older versions)
daggerfall --high-skills

- change max wagon weight capacity
daggerfall --wagon-capacity=value

- create save backups, restore and list them
daggerfall --list-saves / --restore-save / --restore-to / --restore-dont-ask

- accept license non-interactively
daggerfall --accept-license

launcher now also makes sure that multiple players can play in same install, by forcing correct permissions (games group) on often changing files. Next version of launcher will support easy modding support (with dependencies/conflicts checking, enable/disable support and backups), but this will take few days to complete. The launcher is now quite big (over 600 lines of bash), so testing is really welcome smile

If any feature that is listed here (or in daggerfall --help) does not work, please report so I can fix it. Also, if you see some language issues in description files (I'm not native speaker so mistakes are probable) please tell me too. Within few weeks we should have every good mod/patch/tool that was ever made for Daggerfall - nicely packaged - except for save game editors and cheating tools wink


My GPG fingerprint: 7170 26A9 D477 9FC5 3940  7266 40F5 57B7 3149 6106

Offline

#3 2011-07-03 22:01:37

Giniu
Package Maintainer (PM)
From: Wrocław/Poland
Registered: 2007-04-02
Posts: 61
Website

Re: The Elder Scrolls II: Daggerfall in AUR, anyone would like to test?

One last update for some time. Mods support went quite well and turned out to be easy, so I did it already!

I'd like to describe the mod system a bit - it's extremely easy:

1) you create directory in /usr/share/games/daggerfall/mods/<name> - <name> will be name of your mod in system (to enable, do --enable-mod=<name>). In most cases, that's all!
- all files and directories inside will be copied to /usr/share/game/daggerfall/DAGGER when enabled.
- original version of files will be remembered automatically, just in case you want to disable mod
- new files will be marked as new, so they are also removed from system - same for empty directories
- if two enabled mods modify same file, it's conflict and whole enable process will be stopped, what can you do?
2) if you are sure, that your mod works well and includes other mod, create file /usr/share/games/daggerfall/mods/<name>.extends and place names of mods your mod extends, one in each line of file.
- if you enable mod that extends another mods, system will make sure they are enabled before continuing
- you can create mod sets by creating only <name>.extends without <name> directory
- file that are changed few times are remembered - i.e. all past versions are stored
- you cannot remove mod without removing what depends on it
3) no, really - there is no 3... just <name> directory and <name>.extends file! All is managed by launcher and you don't have to worry about it!

System itself works using simple

--list-mods
--enable-mod=name
--disable-mod=name

There already 23 mods packaged in two AUR packages:

daggerfall-fixes - https://aur.archlinux.org/packages.php?ID=50417 - unofficial fixes to standard features ( http://www.uesp.net/wiki/Daggerfall:Fil … _and_Fixes ), good for 99% of players, you would most likely also want to enable wagon capacity of 1000 and high skills if you want to get original Daggerfall experience!
daggerfall-addons - https://aur.archlinux.org/packages.php?ID=50422 - unofficial addons to standard features, without gameplay modification ( http://www.uesp.net/wiki/Daggerfall:Fil … al_Add-Ons ), good for 90% of players, no gameplay mods, only more quests, text, textures, etc - you might want to disable mod brendan_straight_text and enable brendan_funny_text for some in-game jokes smile

From now on I will only fix bugs in launcher/packager and update daggerfall-fixes and daggerfall-addons as new versions come out upstream. I will not package other mods (no, really. I don't plan to because I don't use them when playing and they modify the game too much in my opinion), but it's easy and you can do it if you want, just extract archives to right places. What you might want to package?

1) Bigger gameplay mods
- AndyFall
- DaedraFall
- The Pirates of Tamriel
2) Translations
- French
- Spanish
- Russian
3) Save game editors and cheating tools if you are into this stuff
4) gui for launcher?? PyQt maybe? Anyone? smile

http://www.uesp.net/wiki/Daggerfall:Files is great resource for starting. Oh, and this installation and launcher is compatible with to-be-engine-remake DaggerXL/XLEngine - see http://xlengine.com/ - yay for native linux, windows and mac client!

And last but not least, tell me if you find any bugs in launcher or extractor, it grew quite a lot - almost 1500 lines of bash and python, so mistakes could crawl in. If not, I announce The Elder Scrolls II: Daggerfall fully packaged - and Arch is first linux distro I know to have one big_smile

HAVE FUN!


My GPG fingerprint: 7170 26A9 D477 9FC5 3940  7266 40F5 57B7 3149 6106

Offline

#4 2011-07-04 03:39:06

coffee_addict
Member
From: Canada
Registered: 2011-06-14
Posts: 12

Re: The Elder Scrolls II: Daggerfall in AUR, anyone would like to test?

Nice work!
Just tried it out and the installation went smoothly and the game works perfectly without changing any configuration (32 bit here).

Last edited by coffee_addict (2011-07-04 03:44:33)

Offline

#5 2011-07-05 11:41:40

Giniu
Package Maintainer (PM)
From: Wrocław/Poland
Registered: 2007-04-02
Posts: 61
Website

Re: The Elder Scrolls II: Daggerfall in AUR, anyone would like to test?

Hey, glad you liked it, even more that it works on 32 bit system!

Btw, I found a way to improve wagon setting, high skills setting and gamma setting a bit (with two options, --preserve-black and --preserve-white - current version if large gamma is specified, all values are shifted to 64/255 grey), but bash version takes a lot of time (especially gamma stuff, it's editing binary files, one has to "dd" byte by byte, "od" it, then "bc" it, to "printf" it in hex and "echo" as byte into new file - did not found non-bash way and don't want to go on with perl even thta it is in core) - how about a python version of launcher? Would it be OK to add python (or more likely python2) as not only build dependency but also as runtime dependency? Or maybe optdepend for extra features only?


My GPG fingerprint: 7170 26A9 D477 9FC5 3940  7266 40F5 57B7 3149 6106

Offline

#6 2011-07-05 11:44:37

Jelle
Member
From: Netherlands
Registered: 2011-01-30
Posts: 84

Re: The Elder Scrolls II: Daggerfall in AUR, anyone would like to test?

Cool, I'm gonna try it as well; Morrowind and Oblivion are my favorite games!

Offline

#7 2011-07-06 21:39:11

manzdagratiano
Member
From: New Jersey, USA
Registered: 2010-10-08
Posts: 137

Re: The Elder Scrolls II: Daggerfall in AUR, anyone would like to test?

Great work!!! I am gonna be all over this soon! Indeed, Morrowind was great... this should be awesome fun!


Be formless, shapeless... like water. Now you put water into a cup, it becomes the cup; you put water into a bottle it becomes the bottle; if you put it in a teapot it becomes the teapot... Now water can flow, or it can crash... Be water my friend

Offline

#8 2011-07-09 23:25:03

Jelle
Member
From: Netherlands
Registered: 2011-01-30
Posts: 84

Re: The Elder Scrolls II: Daggerfall in AUR, anyone would like to test?

Installs and works flawlessly for me as well, great job!

Offline

#9 2011-07-10 01:39:19

Jodell
Member
Registered: 2009-10-09
Posts: 285

Re: The Elder Scrolls II: Daggerfall in AUR, anyone would like to test?

It isn't working for me. When I start a new game, I get this error.

Exit to error: DRC64:Unhandled memory reference

I'm on 64bit.

Offline

#10 2011-07-10 09:56:04

Giniu
Package Maintainer (PM)
From: Wrocław/Poland
Registered: 2007-04-02
Posts: 61
Website

Re: The Elder Scrolls II: Daggerfall in AUR, anyone would like to test?

Jodell wrote:

It isn't working for me. When I start a new game, I get this error.

Exit to error: DRC64:Unhandled memory reference

I'm on 64bit.

This looks like dosbox issue, can you give me some more info on your CPU? For now, try setting "core=normal" in /usr/share/games/daggerfall/dagger.conf (it is "core=dynamic" now, option that gives most performance but not always best stability). It might help.


My GPG fingerprint: 7170 26A9 D477 9FC5 3940  7266 40F5 57B7 3149 6106

Offline

#11 2011-07-11 15:14:07

Giniu
Package Maintainer (PM)
From: Wrocław/Poland
Registered: 2007-04-02
Posts: 61
Website

Re: The Elder Scrolls II: Daggerfall in AUR, anyone would like to test?

Another week, another update. Again big one, but probably one of last big ones. There are some incompatible changes, so look out. First of all, old bash based launcher and 3 DOS applications - dfwagon, dfskills and dfgamma were completely replaced by new launcher - right now the Daggerfall is managed 1800 lines of Perl. I was learning it along the coding process, so expect some unexpected issues wink - if there are some perl gurus it would be cool if you could comment on the code - I placed it on http://pastebin.com/WRUpv8P4 - it is mit licensed (sorry, not well documented).

What do you get from this move, you say? A lot:

- there is single dosbox.conf file!
- dosbox automatically closes when you end game
- easy way to set brightness, no need to store/restore palette anymore
- palette change, high skills patch and wagon capacity changes does not require dosbox, so are very fast now, and can be executed with other commands
- you can now check if high skills were enabled and what is current wagon capacity
- you can change view distance (in-game you can setup only values 1-127, but engine understands values up to 255 - you can nearly double the view distance!)
- you can enable development keys (cheatmode) - it can save you if your character drops into "the void"
- you can enable repair of magic items, that was disabled by patches but present in basic version
- you can now archive all save game slots without specifying slot
- launcher now understands concept of groups better, it means that even if group is enabled, you can disable any part of it, without disabling group
- mods removing/checking is now based on local copy of enabled version, not installed one. This allows leads to...
- ability to refresh installed mods to currently installed version - this command is issued by upgrade/remove as part of cleanup
- there were some argument names changes, see daggerfall --help for details.

The whole thing should be a lot more stable, faster and nicer. Also, all functionality is coded as perl subroutines, and command line interface just uses those functions - if someone wants to write GUI, they can reuse same functions and just write parts related to user interface - such app will be 100% compatible with CLI version.

There were some changes in progress which you might want to take care about in usual way. First of all, it's best to remove mods before updating daggerfall, or at least disable them. This is because groups no longer create "name.enabled" file, but are marked as enabled if all their components are enabled. There was also small change in archived save games names, i.e. in timestamp formatting. It is now YYYY_MM_DD_HH_MM_SS, which is easier to maintain. The save directory changed too, so you can move files you want from /usr/share/daggerfall/backup into /usr/share/daggerfall/save-backup.

All other things (stored palette, normal not archived save games, license acceptance seal, etc) is fully compatible. Same for modbackup format and others.

Sorry for incovienience, but I believe the benefits are worth loosing a tiny bit of backward compatibility.

Last edited by Giniu (2011-07-11 15:16:31)


My GPG fingerprint: 7170 26A9 D477 9FC5 3940  7266 40F5 57B7 3149 6106

Offline

#12 2011-07-12 08:56:42

Jelle
Member
From: Netherlands
Registered: 2011-01-30
Posts: 84

Re: The Elder Scrolls II: Daggerfall in AUR, anyone would like to test?

Great, I'll update to this latest incarnation. Thanks for your effort!

Offline

Board footer

Powered by FluxBB