May 04, 2024, 11:09:08 PM

Username
Password

  Show Posts
Pages: 1 [2] 3 4 ... 6
16  Modifications / 3D Scenery Models / Re: Portrait meshes on: November 15, 2017, 01:28:11 AM
the heads.db file is partially described in the wiki
I don't know if it helps with reversing key/seq files
but here is the rest of it... (guess work as always)
Code:
struct HEAD //  sizeof 39 bytes (0x27)
{
0x00    unsigned char ID[2]; // Presumably controls which texture is used. e.g. MB=Morgab Bernhardt
0x02    unsigned char Flags; // see table 1
0x03    unsigned char KeySeq; // animation to use?
0x04    ?? always zero

0x05    unsigned char MouthWidth;  // These may not be unsigned. Not Tested.
0x06    unsigned char MouthHeight;
0x07    unsigned char MouthX;      // This is where to draw the moving parts on the main graphic
0x08    unsigned char MouthY;      // (replacing what is there already) for facial animation

0x09    unsigned char EyesWidth;  // These may not be unsigned. Not Tested.
0x0A    unsigned char EyesHeight;
0x0B    unsigned char EyesX;      // This is where to draw the moving parts on the main graphic
0x0C    unsigned char EyesY;      // (replacing what is there already) for facial animation
//
0x0D    char body_mesh_id // meshes/%d.m3d file
0x0E    signed char head_body_x; // seperate from center...padding?  does not include the neck.
0x0F    signed char head_body_y; // ...
0x10    signed char head_body_z;
//
0x11    char head_mesh_id // meshes/%d.m3d file
0x12    signed char HeadX;
0x13    signed char HeadY;
0x14    signed char HeadZ;

0x15    char head movement multiplier
0x16    char KeyID // for cut-scenes?

0x17   char NeckID;
0x18   signed char NeckX;
0x19   signed char NeckY;
0x1A   signed char NeckZ;

0x1B    char WeaponID; // 0x27 = bow, 0x33 = sword, etc.
0x1C signed char WeaponX;
0x1D signed char WeaponY;
0x1E signed char WeaponZ;  

0x1F    char BackpackID;
0x20    signed char BackpackX;
0x21    signed char BackpackY;
0x22    signed char BackpackZ;

0x23    char HelmentID
0x24    signed char HelmentX;
0x25    signed char HelmentY;
0x26    signed char HelmentZ;
};
17  Modifications / Tools / modding spells on: October 18, 2016, 05:48:30 PM
after staring at the "magic_attribute_table" ( file offset 0x000E2FB8 ) for awhile
this is what it looks like to me...

magic_attribute_entry (sizeof=0x28)
00000000 // ID (unused?) // matches name and desc index
00000004 // flags for? 1=spell 2=sword 4=shield 8=banner 0x10=spell_book 0x20=potion/ring 0x40=cash 0xA0(20h+80h)=staff
00000008 // flags?Huh??? (1<<3==enabled icon)
0000000C // MANA_COST
00000010 // SORT_WEIGHT ( for magic panel buttons, -1=not shown?)
00000014 // MAGIC_ID ( 1=item, 2=bright, 3=ice, 4=waaagh, 5=dark )
00000018 // ICON_ID ( from book sprite probably... )
0000001C // MAX_RANGE
00000020 // SPEED ( e.g. how fast a fireball travels towards a target )
00000024 // OVERWORLD_SPRITE 0=banner 8=chest 0x10=amulet 0x18=shield 0x20=book 0x28=sword -1=none [8's? -> starting frame?]

looks like the spell animations are not set by the "magic_attribute_table"

//

0x004E5800 // "soul drain spell" -- in attributes table

0x0046F9C0 // "soul drain" proc
|- 0x0046FB24 // "soul drain" remove one wound spot in disassembly

char* item_name[ 0x40 ]; // table at 0x004E28C0
char* item_desc[ 0x3A ]; // table at 0x004E29C0
18  Warhammer Dark Omen / Help Section / Re: Windows 10 Keyboard Issue on: October 11, 2016, 10:41:58 PM
Edit EngRel.exe ( English ) with a hex-editor and change the byte
at file offset 0x81100 from 06 to 0A

(edit: 81100h not 81110h )

dev note:
edits the IDirectInput_Keyboard->SetCooperativeLevel( hWnd, DISCL_NONEXCLUSIVE | DISCL_FOREGROUND ) call to the use "DISCL_BACKGROUND" flag so "the device can be acquired at any time, even when the associated window is not the active window."

note: not tested to see how this works with alt+tabbing etc.

@Olly
some things are easier than others :p
19  Warhammer Dark Omen / Help Section / Re: Windows 10 Keyboard Issue on: October 10, 2016, 07:13:48 AM
the keyboard missing focus issue seems rather common
http://forum.dark-omen.org/help-section/do-fixes-question-t1388.0.html
probably someone needs to patch it sometime  Undecided
20  Modifications / Tools / Re: xslots ddraw.dll/ddmod.dll not working on GameRanger on: November 01, 2015, 12:19:30 AM
I was avoiding the ms crt mess because the vc libraries break backward compatibility with old versions of windows.

rant:
It looks like MS is trying fix their shit on Win10 using ucrt which *might* be useful once *everyone* migrates to win10.
MinGW compiled stuff links directly to mscrt.dll which microsoft says not to do.
... Today I learned, mingw seems to declare printf with "C++" linkage to prevent gcc from replacing it with its own intrinsics
/facepalm   


21  Warhammer Dark Omen / Help Section / Re: Windows 10 - Flickering screen on: September 18, 2015, 06:55:13 AM
> game flicker

Enable windowed mode by
hex-editing the english version of EngRel.Exe, write 0x00 at file offset: 0x000BD0A8
then on EngRel.Exe compatibility properties tab, set 16bit color and 640x480 resolution
22  Warhammer Dark Omen / Help Section / Re: 3D mode and Win8/7 [ Dark Omen ] on: September 17, 2015, 05:56:29 AM
sorry, I missed or forgot this post.

one needs to NOP the strcat so
goto offset 0x4EC
and replace
4F 8A 47 01 47 84 C0 75 F8 BE 5C
with
90 90 90 90 90 90 90 90 90 BE 5D

*not tested
**this little edit will only work out if my dll is not named ddraw.dll

Now, GameRanger will probably have the exact same problem with dgvoodoo's ddraw.dll that it has with my ddraw.dll, and it could be solved the same way:
rename dgvoodoo's ddraw.dll then go into my dll and hex-edit my dll's "ddraw.dll" to w/e dgvoodoo's dlls is re-named to ( ddgv2.dll ? )
---
Quote
missing import_script.cpp
much sure you are doing a "release" build... IIRC, this file should not be compiled at all; it is included in Ghabry's dll.
23  Warhammer Dark Omen / Help Section / Re: 3D mode and Win8/7 [ Dark Omen ] on: August 07, 2015, 03:55:45 AM
the conflict between my proxy dll and dgvoodoo2's replacement ddraw.dll was/is expected because...
my proxy dll explicitly loads the ddraw.dll from the system32 folder...
https://github.com/aqrit/Dark-Omen-Mod-Selector/blob/master/src/ddraw_proxy.cpp#L70
This can be solved with a quick hex-edit or a recompile.

Warning: Do NOT overwrite anything in the system32 folder...
 
24  Warhammer Dark Omen / Help Section / Re: 3D mode and Win8/7 [ Dark Omen ] on: August 01, 2015, 03:54:04 PM
dgvoodoo 2.45 is out and runs Dark Omen very well...
( with the windowed mode hack in OP )
25  Warhammer Dark Omen Community / Tavern / Re: GOG lobby to see Dark omen on this site? on: July 17, 2015, 06:47:29 AM
exceptionally awesome.

of course...
I knew this was coming a few weeks ago when GoG asked if they could use my Final Liberation patch.
 Tongue

... and of course
one of the first comments is that the patch doesn't work...  :'(
post 15, 19, and 35


sothr has too many bugs to ever show up on GoG.
(...)

Made an account just to respond to this. (...)


sothr's "glue" code has a lot of bugs, not related to compatibility.
So unless there were a bunch of fixes ported from the Play Station version ...
I don't know if the game will meet players expectations.
 
26  Modifications / Tools / xslots ddraw.dll/ddmod.dll not working on GameRanger on: July 07, 2015, 08:52:12 PM
xslots.txt currently should get loaded from the "current directory".
If it is not being loaded then that is fixable by either loading it at a different point in time or by explicitly supplying the file path.

Also xslots.txt gets loaded by my proxy ddraw.dll... not by darkpatch.dll
It is possible that the real ddraw.dll is being loaded instead of mine... which would be slightly harder to fix but is basically the same problem as above.



27  Modifications / Campaigns / Re: Wood Elf Campaign on: June 18, 2015, 01:40:42 PM
0x004E5E50 is the virtual address
0x000E3E50 is the file offset
28  Modifications / Campaigns / Re: Wood Elf Campaign on: June 18, 2015, 07:10:27 AM
you must have a different version of darkpatch.dll because the original value at that offset was expected to be 0xFF

----

DWORD weapon_range = [ weapon_id * 8 + 0x004E5E50 ]

I assume that value is the weapon_id... ( xbows = 0x0A )
I haven't really look into it... don't know what the other 4 bytes in the table are for.

I think I had my archers shooting cannon balls a year ago, or so.
29  Modifications / Campaigns / Re: Wood Elf Campaign on: June 17, 2015, 07:42:29 PM
I meant hex-editing the darkpatch.dll file
so the RemoveMagic command in a whmtg.txt could be tested
30  Modifications / Campaigns / Re: Wood Elf Campaign on: June 16, 2015, 11:26:22 PM
[1]
Have you tried enabling WHMTG RemoveMagic with a hex-editor?
 
Assuming darkpatch.dll from Jan 10, 2015
write 0x01 at file offset 0x0001EF90
However, with string pooling... this hex-edit forces any command that takes a single "unknown" arg to treat that arg as an integer...

I haven't tested this yet.
( Mod selector causes dark omen to not start here, don't know why. )
Pages: 1 [2] 3 4 ... 6