Reading/writing .esp files

Post » Sun Aug 29, 2010 7:56 am

I need a bit of help to get started with a programming project that requires reading and writing .esp files for Oblivion.

I've seen the format specifications on UESP but they are just descriptions. What I'd like to find is something I can either use right away or learn from by looking at it. In other words, I'm looking for

- libraries
- open source projects
- non-open projects with leaders who'd be likely to share their know-how and/or provide code samples
- instructions with code samples
- advice! :)

Thanks.
User avatar
Dark Mogul
 
Posts: 3438
Joined: Tue Feb 20, 2007 11:51 am

Post » Sun Aug 29, 2010 1:16 pm

I need a bit of help to get started with a programming project that requires reading and writing .esp files for Oblivion.

I've seen the format specifications on UESP but they are just descriptions. What I'd like to find is something I can either use right away or learn from by looking at it. In other words, I'm looking for

- libraries
- open source projects
- non-open projects with leaders who'd be likely to share their know-how and/or provide code samples
- instructions with code samples
- advice! :)

Thanks.


Your best bet would probably be http://www.tesnexus.com/downloads/file.php?id=11536, but it's not open source afaik and I don't know whether ElminsterAU is still active.
User avatar
Jaki Birch
 
Posts: 3379
Joined: Fri Jan 26, 2007 3:16 am

Post » Sun Aug 29, 2010 10:18 am

Look at http://sourceforge.net/projects/oblivionworks/ (Python implementation) and https://sourceforge.net/projects/cbash/ (C++ implementation). CBash's source is still very rough in places, and it has some extra junk in there specific to Bash's patch routines, but CBash is more complete than Bash in terms of record definitions. If you're more conversant with C++, it wouldn't be too hard to convert CBash from a dll to a proper exe...just gut all the api, and access the data structures directly. On the other hand, you can use the existing api and do your coding in python. There's a test.py file that should be able to get you started.
User avatar
Assumptah George
 
Posts: 3373
Joined: Wed Sep 13, 2006 9:43 am

Post » Sun Aug 29, 2010 6:40 am

Thanks, guys.

Yes, TES4Edit was my first idea as well, but it's like... a product, there's no word anywhere about the source or sharing the source.

Waruddar, a C/C++ dll is exactly what I was looking for, so that's great! Didn't think I'd find something so quickly... :)
User avatar
Hayley Bristow
 
Posts: 3467
Joined: Tue Oct 31, 2006 12:24 am

Post » Sun Aug 29, 2010 6:37 pm

Try TES4Dump. That's open source. TES4Edit cannot be made open source as Elminster used some software or code or whatever for which he has bought a licence, thus he can use it in TES4Edit but cannot share it.
User avatar
He got the
 
Posts: 3399
Joined: Sat Nov 17, 2007 12:19 pm

Post » Sun Aug 29, 2010 8:41 pm

Try TES4Dump. That's open source. TES4Edit cannot be made open source as Elminster used some software or code or whatever for which he has bought a licence, thus he can use it in TES4Edit but cannot share it.


Right, thanks! It seems he included the sources for the beta only, in the download for 2.2.21 there's nothing but the .exe. Not that I'm complaining. :)

Feels strange, reading pascal after so many years, I had a course in it in college but that was... well, ahem.
User avatar
Bereket Fekadu
 
Posts: 3421
Joined: Thu Jul 12, 2007 10:41 pm


Return to IV - Oblivion