Single Player bugs and crashes v39 plus (SVN) - After the 20th of July 2019

If his change was the one before yours, could he have forgotten to compile?
The DLLExport removal was done at least a month ago.
But it would be possible that changes he made in the update before my update surface now because of not compiling the dll again.
 
If anything i think it might be caused by parts of the DLLEXPORT removal @Anq did. Now the exe has no way to even access things like
getProjectileSpeed from the EffectInfos so how should the exe even know about these values now????
Code:
DllExport const TCHAR* getPath() const { return m_szPath; }
    void setPath(const TCHAR* szVal) { m_szPath = szVal; }
    float getUpdateRate( ) const { return m_fUpdateRate; };
    void setUpdateRate( float fUpdateRate ) { m_fUpdateRate = fUpdateRate; }
    bool isProjectile() const { return m_bProjectile; };
    float getProjectileSpeed() const { return m_fProjectileSpeed; };
    float getProjectileArc() const { return m_fProjectileArc; };
    bool isSticky() const { return m_bSticky; };
Making them DLLEXPORT'ed doesn't improve the condition here...
 
Making them DLLEXPORT'ed doesn't improve the condition here...

The exe has no way to access these functions now and they aren't used anywhere else in the dll either.
Maybe it also depends in other exports which where removed?
Would it be possible to re-add all exports which are present in the original beyond the sword source code.
 
I'm doing that as fast as possible
The exe has no way to access these functions now and they aren't used anywhere else in the dll either.
Maybe it also depends in other exports which where removed?
Would it be possible to re-add all exports which are present in the original beyond the sword source code.
 
I went past a couple FPK repacking revisions which was annoying as it slowed down the search quite a bit waiting for a long "update 2 revision" process.

The fpk's caused the black tiles problem recently so if there's any graphics issues they should be one of the first things to check.
 
I'm doing that as fast as possible

Thank's for testing this!!

The fpk's might be another possible cause as well that someone should check out.

If this doesn't help try to check if your or other recent changes changed the memory layout of the EffectInfos class or that of it's parent classes.
 
Is there any good reason to commit uncompiled code? Isn't this taking committing before testing to extremes?
Sorry I've just thrown away the testing dlls for that commit. I figured that the second checkpoint (10936) passed my *short* test so I just uploaded the first one without a dll.
Nevertheless, my first checkpoint (10935) was really a minor modification that didn't change any feature at all. If problem has occurred with my latest dll (10937), the latest version before 10935 will do no worse than that update.
 
Changes in SVN 10907 weren't compiled @Anq @alberts2 - that is they took effect in SVN 10911 - revision where Alberts compiled DLL and @Toffer90 noticed graphical bug.

So DLLExport cleanup isn't at fault, but SVN 10907 was faulty but hidden as DLL wasn't compiled here.
10906/10905/10904 could be faulty too - no dll compiled here.
 
Changes in SVN 10907 weren't compiled @Anq @alberts2 - that is they took effect in SVN 10911 - revision where Alberts compiled DLL and @Toffer90 noticed graphical bug.

So DLLExport cleanup isn't at fault, but SVN 10907 was faulty but hidden as DLL wasn't compiled here.
10906/10905/10904 could be faulty too - no dll compiled here.

With the dll compilation Scripts it's easy to compile the dll. If you think that @Anq didn't compile the dll you should first go back to 10907 recompile the dll and check if the issue shows up.
 
With the dll compilation Scripts it's easy to compile the dll. If you think that @Anq didn't compile the dll you should first go back to 10907 recompile the dll and check if the issue shows up.
I added link to sourceforge revision log - it clearly shows, that DLL wasn't committed unlike in your revision where source files were changed (10911).
Also I don't have access to game now only access to internet, so I can't check it myself now.
 
I added link to sourceforge revision log - it clearly shows, that DLL wasn't committed unlike in your revision where source files were changed (10911).
Also I don't have access to game now, so I can't check it myself now.

You are right i totally missed that.
 
In 10936 I can build a number of religious buildings despite the religion not being present.
 
Not a single one of these projectile effects are currently working as they used to...
Spoiler CIV4EffectInfos.xml :
Code:
<EffectInfo>
    <Type>EFFECT_LlamaArcherArrow</Type>
    <Description>ArrowProjectile3D</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Shared/ArrowProjectile3D/ArrowProjectile3D.nif</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>250.0</fSpeed>
    <fArcValue>3.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_LONGBOWARROW</Type>
    <Description>Longbow Arrow</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/Longbowman/LongbowArrow.nif</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>500.0</fSpeed>
    <fArcValue>0.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_CROSSBOWBOLT</Type>
    <Description>Crossbow bolt</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/Crossbowman/CrossbowBolt.nif</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>500.0</fSpeed>
    <fArcValue>0.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_ARCHERARROW</Type>
    <Description>ArcherArrow</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/Archer/ArcherArrow.nif</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>500.0</fSpeed>
    <fArcValue>0.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_CHINESEARROW</Type>
    <Description>ChineseArcherArrow</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/Archer_Chinese/Archer_Chinese_Arrow.nif</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>500.0</fSpeed>
    <fArcValue>0.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_EGYPTIANARROW</Type>
    <Description>EgyptianArcherArrow</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/Archer_Egyptian/Archer_Egyptian_Arrow.nif</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>500.0</fSpeed>
    <fArcValue>0.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_EURASIANARROW</Type>
    <Description>EurasianArcherArrow</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/Archer_Eurasian/Archer_Eurasian_Arrow.nif</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>500.0</fSpeed>
    <fArcValue>0.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_GALLEY_FIREARROW</Type>
    <Description>Galley Fire Arrow Effect</Description>
    <fScale>0.7</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Effects/fire_arrow/fx_Galley_FireArrow.nif</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>300.00</fSpeed>
    <fArcValue>3.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_CAMELARCHERARROW</Type>
    <Description>CamelArcherArrow</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/Unique/Arabia/CamelArcher/ArabiaCamelArcherArrow.nif</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>500.0</fSpeed>
    <fArcValue>0.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_HORSEARCHERARROW</Type>
    <Description>HorseArcherArrow</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/HorseArcher/HorseArcherArrow.nif</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>500.0</fSpeed>
    <fArcValue>0.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_MALISPEAR</Type>
    <Description>Mali Spear</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/Unique/Mali/Skirmisher/MaliSkirmisherSpear.nif</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>500.0</fSpeed>
    <fArcValue>0.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_CATAPULT_ROCK</Type>
    <Description>Catapult Rock</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/Catapult/CatapultRock.kfm</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>500.0</fSpeed>
    <fArcValue>4.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_GRENADE_THROW</Type>
    <Description>Grenadier Grenade</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/Grenadier/GrenadierGrenade.kfm</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>350.0</fSpeed>
    <fArcValue>4.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_HWACHA_ROCKET</Type>
    <Description>Hwacha Rocket fire</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/Hwacha_Korean/Hwacha_Rocket.kfm</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>350.0</fSpeed>
    <fArcValue>4.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_SAM_ANTI_AIR_MISSLE</Type>
    <Description>Sam_Infantry missle</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/SAMInfantry/SAMInfantry_missile.kfm</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>600.0</fSpeed>
    <fArcValue>0.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_STONE_THROW</Type>
    <Description>Peltast Sling Stone</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/Peltast/Peltast_Stone_Throw.kfm</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>350.0</fSpeed>
    <fArcValue>4.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_MONGOL_JAV</Type>
    <Description>Mongolian Javelin</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/Mongolian_JavelinThrower/Mongolian_Javelin.nif</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>500.0</fSpeed>
    <fArcValue>2.0</fArcValue>
</EffectInfo>
<EffectInfo>
    <Type>EFFECT_TREBUCHET_ROCK</Type>
    <Description>Trebuchet Rock</Description>
    <fScale>1.0</fScale>
    <fUpdateRate>1.0</fUpdateRate>
    <Path>Art/Units/Trebuchet/TrebuchetRock.kfm</Path>
    <bIsProjectile>1</bIsProjectile>
    <fSpeed>400</fSpeed>
    <fArcValue>6</fArcValue>
</EffectInfo>
The projectile model just stops dead the moment they are created, so some of these fSpeed, fArcValue, fScale and/or fUpdateRate are not being handled correctly somehow.
Looks ugly to have a bunch of big rocks stacking up hovering over your trebuchets during a combat animation scene.
I believe this is caused by a recent dll change.

Edit: {
10703-10910 is OK
10911-10931 is bugged.
@alberts2 : your update broke projectile animations in combat.
I don't see anything in your changes that could be related to combat animations though, perhaps the problem runs deeper and was simply triggered by this small change...
}
Just want to know, are the arrows supposed to be launched and fly in the air toward the target or are they supposed to be only drawn back by the longbowman and disappear when the bowstring is released?

I assume, they are supposed to fly like projectiles like you said.

Update: Yes I see the arrows flying now, on revision 10910.
 
Last edited:
10905 and 10906 codes are exactly the same as 10904 - just svn file metadata changes.
If I recompile the dll, it'll be the same result.
You could removed something in SVN 10907 by accident, and you didn't committed DLL here.
 
Back
Top Bottom