diff --git a/docs/rh-log.txt b/docs/rh-log.txt index 21805e3096..64a480429a 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,3 +1,8 @@ +November 28, 2009 (Changes by Graf Zahl) +- fixed: Morph weapons weren't destroyed because the code checked for + them in the unmorphed player class. +- fixed: With padding the largest texture to fit into a page is 254x254. + November 27, 2009 (Changes by Graf Zahl) - fixed an uninitialized variable in p_xlat.cpp (Thanks, MSVC for not warning about such an obvious problem! :( ) diff --git a/src/g_shared/a_morph.cpp b/src/g_shared/a_morph.cpp index 917ae5a928..4a730eb2f5 100644 --- a/src/g_shared/a_morph.cpp +++ b/src/g_shared/a_morph.cpp @@ -177,7 +177,7 @@ bool P_UndoPlayerMorph (player_t *activator, player_t *player, int unmorphflag, { AWeapon *beastweap; APlayerPawn *mo; - AActor *pmo; + APlayerPawn *pmo; angle_t angle; pmo = player->mo; @@ -330,7 +330,7 @@ bool P_UndoPlayerMorph (player_t *activator, player_t *player, int unmorphflag, } if (correctweapon) { // Better "lose morphed weapon" semantics - const PClass *morphweapon = PClass::FindClass (mo->MorphWeapon); + const PClass *morphweapon = PClass::FindClass (pmo->MorphWeapon); if (morphweapon != NULL && morphweapon->IsDescendantOf (RUNTIME_CLASS(AWeapon))) { AWeapon *OriginalMorphWeapon = static_cast(mo->FindInventory (morphweapon)); diff --git a/src/win32/fb_d3d9.cpp b/src/win32/fb_d3d9.cpp index 8e82b5e4f3..ac6cda9214 100644 --- a/src/win32/fb_d3d9.cpp +++ b/src/win32/fb_d3d9.cpp @@ -1828,7 +1828,8 @@ D3DFB::PackedTexture *D3DFB::AllocPackedTexture(int w, int h, bool wrapping, D3D PackedTexture *bestbox; int area; - if (w > 256 || h > 256 || wrapping) + // check for 254 to account for padding + if (w > 254 || h > 254 || wrapping) { // Create a new packing texture. bestpack = new PackingTexture(this, w, h, format); bestpack->OneUse = true;