If it works, that would be a fantastic feature. Continuum! Wild Qwerty! are you reading this? I think we should at least try before scrapping that feature: that is potentially the best one yet.
Timeslip said:The ammo damage patch can easily be included, if someone gives me the offset I need to modify and what I need to replace it with.
I'm not sure how to create 16 bit frm (I don't even know about such possibility). There's an option in Frame Animator to select the palette (.pal or .act), but where I can find 16 bit color .pal file?Dude101 said:If it works, that would be a fantastic feature. Continuum! Wild Qwerty! are you reading this? I think we should at least try before scrapping that feature: that is potentially the best one yet.
The assembly is all I need. But no, you aren't limited in space like you are if you modify the exe directly, (I can just inject a jump instruction to jump into a longer piece of code stored in my dll,) so you can write something longer if you want.Glovz said:I can provide you with assembly code of what I want to accomplish with my Ammo Mod but if you need something more then I may or may not be able to provide it. Plus I have what may seem like a dumb question but here it is:
When I modify the code in the exe I am limited to the amount of space/memory that cane be used, is this the same when you apply a change through a dll? (I think I know the answer but I still need to ask)
I don't know the frm file format, which is why I haven't tried myself. If it was possible, you wouldn't need a .pal file at all. The frm file format docs on TeamX don't list anything that look like they might support that, but there are a few unknown bytes which could potentially contain a 16 bit flags.Continuum said:I'm not sure how to create 16 bit frm (I don't even know about such possibility). There's an option in Frame Animator to select the palette (.pal or .act), but where I can find 16 bit color .pal file?
Yes, but you're converting images with tool(s) which are using palette(s). So, you must rewrite that tools to not do that, otherwise you'll always get 256 colors images after conversion. But from other hand my knowledge about that = 0Timeslip said:I don't know the frm file format, which is why I haven't tried myself. If it was possible, you wouldn't need a .pal file at all. The frm file format docs on TeamX don't list anything that look like they might support that, but there are a few unknown bytes which could potentially contain a 16 bit flags.
I'll see if I can find the frm loading code and see what it's doing.
Good point.Continuum said:Yes, but you're converting images with tool(s) which are using palette(s). So, you must rewrite that tools to not do that, otherwise you'll always get 256 colors images after conversion. But from other hand my knowledge about that = 0
Lucky timing; I already had your old one included and working, and was about 30 minutes from releasing 1.17.Glovz said:@Timeslip
I will provide you with new assembly code, please do not use the version in my signature.
bJmp:
MOV EDX,DWORD PTR DS:[ESI+4] ; start of damage loop
MOV EAX,DWORD PTR DS:[ESI]
MOV EBX,DWORD PTR SS:[ESP+18]
CALL fallout2.00478448
ADD EBX,EAX ; raw damage
SUB EBX,DWORD PTR SS:[ESP+28] ; damage minus threshold
TEST EBX,EBX ;
JLE SHORT nJmp ; no damage
MOV EAX,DWORD PTR SS:[ESP+20] ; assign value of difficulty setting
SUB EAX,DWORD PTR SS:[ESP+2C] ; subtract damage resistance adjustor from difficulty setting
TEST EAX,EAX ;
JLE SHORT nJmp ; no damage
IMUL EBX,EAX ; damage multiplied by new damage resistance adjustor
IMUL EBX,DWORD PTR SS:[ESP+24] ; damage multiplied by damage multiplier
MOV EAX,0C8 ;
TEST EBP,EBP ;
JLE SHORT dJmp ; negative or zero divisor
IMUL EAX,EBP ; damage divisor multiplied by two hundred
dJmp:
MOV DWORD PTR SS:[ESP+30],EAX ; assign new damage divisor value
MOV EDX,EBX ;
MOV EAX,EBX ;
SAR EDX,1F ;
IDIV DWORD PTR SS:[ESP+30] ; damage divided by the new damage divisor
MOV EBX,EAX ; assign new damage value
TEST EBP,EBP ;
JLE SHORT aJmp ; add damage
CMP DWORD PTR SS:[ESP+24],4 ;
JG SHORT aJmp ; add damage
SAR EAX,1 ; divide damage by two
CMP DWORD PTR SS:[ESP+24],4 ;
JE SHORT zJmp ; JHP ammo damage decrease of twenty-five percent
CMP EBP,2 ;
JNZ SHORT aJmp ; add damage
CMP DWORD PTR SS:[ESP+28],4 ;
JGE SHORT xJmp ; AP ammo damage increase of twenty-five percent
JL SHORT yJmp ; AP ammo damage decrease of twenty-five percent
xJmp:
IMUL EAX,3 ; multiple damage by three
ADD EBX,EAX ; add result to previous damage value
JMP SHORT aJmp ; add damage
yJmp:
ADD EBX,EAX ; add result to previous damage value
JMP SHORT aJmp ; add damage
zJmp:
CMP DWORD PTR SS:[ESP+28],4 ;
JL SHORT aJmp ; add damage
SAR EAX,1 ; divide damage by two
SUB EBX,EAX ; subtract result from previous damage value
aJmp:
ADD DWORD PTR DS:[EDI],EBX ; accumulate damage
nJmp:
MOV EAX,DWORD PTR SS:[ESP+1C] ; no damage
INC ECX
CMP ECX,EAX
JL SHORT bJmp ; loop back to beginning
>Added an option to use Glovz's AP ammo patch
>Added some upscaling filters (By Dream, from Fallout.ru)
>Fixed ForceEncounter preventing the encounter with horrigan if it was used to soon
They all work for me. Is anyone else having problems?Dream said:1. Upscale filters 1-4 not worked in 1.17
Sorry, my mistake. I thought that textures used linear filters by default. I'll add a linear filter option next time. (anisotropic filters don't need to be included, because they're identical to linear for a 2d surface.)Dream said:2. Why removed linear/anisotropic filters? look this
http://dream.maxdsl.ru/img/FalloutFilters.png
Placing the LoadD3DHook2 call in SetCooperativeLevel causes my copy of fallout to crash before the first movie. It's a weird error, (a memory allocation fails inside one of the later fallout initialization functions,) so I'm not surprised if it doesn't effect everyone.Dream said:3. IMHO SafeWrite32...&LoadD3DHook not need. It work with LoadD3DHook2(); in SetCooperativeLevel . Without any "SafeWrite" plugin must work in any 640x480x8 game (tested on StarCraft)
Crash on startup in 1.17, but works in 1.17bTimeslip said:They all work for me. Is anyone else having problems?
Hmm... It work for me...Timeslip said:Placing the LoadD3DHook2 call in SetCooperativeLevel causes my copy of fallout to crash before the first movie
What for? 30 fps is 30 fps regardless of your processor speed.Lexx said:Isn't it possible to create a kind of a speed-calculator?
Timeslip said:What for? 30 fps is 30 fps regardless of your processor speed.