From 0aa610ac4001704e207583f387391cb7a121a276 Mon Sep 17 00:00:00 2001 From: Wanne Date: Mon, 25 Sep 2006 07:55:58 +0000 Subject: [PATCH] - bugfix: When loading an I.M.P by nickname or 90210 the voice was not set correct - feature: Now it is possible to load an I.M.P. even if it has multiple blanks (spaces) in the nickname. E.g. "Mr D 2", "Jack 1", ... git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@559 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- GameVersion.cpp | 4 +-- JA2.suo | Bin 197632 -> 197632 bytes Laptop/IMP Confirm.cpp | 2 +- Laptop/IMP HomePage.cpp | 2 +- Laptop/IMP MainPage.cpp | 49 ++++++++++++++++++++----------- Laptop/IMP MainPage.h | 2 +- Strategic/Quest Debug System.cpp | 5 +++- 7 files changed, 41 insertions(+), 23 deletions(-) diff --git a/GameVersion.cpp b/GameVersion.cpp index 51716980..d7905ed4 100644 --- a/GameVersion.cpp +++ b/GameVersion.cpp @@ -23,12 +23,12 @@ INT16 zVersionLabel[256] = { L"Beta v. 0.98" }; #else //RELEASE BUILD VERSION - INT16 zVersionLabel[256] = { L"Release v1.13.555" }; + INT16 zVersionLabel[256] = { L"Release v1.13.558" }; #endif -INT8 czVersionNumber[16] = { "Build 06.09.22" }; +INT8 czVersionNumber[16] = { "Build 06.09.25" }; INT16 zTrackingNumber[16] = { L"Z" }; diff --git a/JA2.suo b/JA2.suo index c036df613f49accf8749307474e41f0a29a07ec6..af6fff784053eec9de5acb878b9d7a2d6691868b 100644 GIT binary patch delta 4268 zcmcgveM}Tr5T98V4)8d@gX6;k4uez-;(>x_sRcwugys~B77;iB!B&BS-_lBH8cD2) zb%m)()9_bQQ#G~Mc&2UCeqdr78~?JY@#C~f)1*yf)5f;8a-Fw(!f|(QENQx%x3l;5 z&F{T=GxK|M{e#B-LF4;dWs_$|)w{bq7cmU@>UZsxtK=soezkIIhZ<;u9%umvKf7Qv zY=N!Z)63toxvhjw=!PAz9hSjP?(c-{E^p+XFsTugy~e!}uk)CSm9G0n6GnX&4RDzo zD)AH3z3X7pZdGX33<>dz^#bZl%wO))Y4l9FYuCB2+aHt8t>F_+XDu-W?4GplC zEp4ImGM1&~@n-h&W;=Piov@7o{4Poh$M2NJ&vWTS1SS~5wNJ{)=qKX0@Yc7mYj!{@ zyP*MgQDJKQ~I z7G9Of9*w#5*?C+~MW13EU5Lbf>OU?uxDV%Hci5RCyeX0GlGI2ePodS_xfst)6FReL z>nZ6h{bt9XbILfrY*5EB*9N<|^*|mQ+08e=AbU?-LMG5JcKk(m_-Ws8ArsZ%*?Q>L zL;~=2O&U%?54$%ZK4>_d^kNcbsbKW-CCM7IFj>q+E+MD7js&BIA>>ps8hjW+W>3+U*G$?vgv<~a3T~pZ zC|sE%h^&_bw}(9`D6-ejo5L#W0tlJ=*jf&smXOUN0B?{d1ucdeo{5=&GUL%qpNvXI zoc@TfG5dTFLQV{_M-BKAWq`cN*rnVVP1jxj|F;smY*P8*advg`s@N9^^ug1Z{V)+{ z&~r|#&zUVBk~r|Z-ed`Uy8(kwE;WsmEH#N;Fg%P3>aM|CYL=$yW+^$GxRK7U!WeT( zFr>Ss23yevkObp1rv?ur9`;j`m`9udBKzCfr!C9@PUsdhG|en5nglW<1jzYz{64mV z6`g!2bTPyZXrtI~FeSirYp|}r=??O&;oxd+lV%FVx_JRpr|GNL3-xbj)j|iap&M4I z3DC{Y9;P=@I|%c7xT+B6--SACvd>>I$+UERdq zdJC0qTQ&9#TnG;t-u)S_z`0gg5zs>pcwrj{B)V=-%FED8q{zG~$*Y154QtE@yN{km8t z*HmPSz$|L2WLwU~;6hly&wQ8*qO#+1mRf1K1p1&wSsk@)e^6DUW`$tUKEC%sF{97t zXMwNHg(7~pb9*?OSV1x03)Ok;{1o?cwWpAK7x9V;;3eL`{DS!l0_@E+=^OmvqoQWL zNS3u46T}8%xYw=a@@ay9;(~|xC*fi>iwtYnH-g-m0$L^lJ6>P6ATYK{$Fx+gpMaRI z5Ao)stjr7VWn$4dDUcY<`j}NJrG}`fgmDualc0~%NzKi8+swSkbW-bg!rEy6W+`!6 zIkQfWS`hb8+z;3^0i380+@TK~F3#D|c3bp;HM>Q%m?{#y-a1ZDNx_PAYZZQ}lv{EG zD8)ic()dK<5Nn~_bs;Im5$N_SN14moqxmQ`gDQHV#iw*o%M9oh(HG zs4;9-VUai6e+x(BMoLEG{5|lWSRV*0!Q)wP4Q;&!NAGRKvyX49R9K`qMvEW4*UfY% Y9_uK*6BCAG(RSe6AiB>DO6B|h0ap2_#sB~S delta 3989 zcmd5(3oPs|Br6ICx+qD&0bPl}TAY@(M!^z;N@!=4@*%63;z9roV&Y=c znP6h9?Q1wmI%P1^nM{)Y0dC_u{cvbU>BOd!SliC{M-6Fb(zLayf7#Sjw!iz{y6gg_ zaoXv0ch25-?>pyr&OKlE?%p!vy7JWZYm=NrL=#Vk1}s}GRhfA9fNH6a z{B(eJ(Lw5s&6;R6W&^SLHfjZrAN=E1> zrr+aq*`7}(dJ$BrW_q>ru;r7*MEWs3%SDuw3c1ICT88o4YW@9}vO>3uP@N_~-HC|(X8ILc4lsS4wo13S{Tc2QQv2csLZegdKOy(UjVd3ihZrV?K=qs@R z5qTlF4`;W?`0~Px5AQ6Sn}X-GFMAkDld|^KW4j(rtmU-`ocygoiFCAw9p^F zusmlMxv2sXaZ?kPN)iEAI*8WIT5|28a%7R>J_+ikozx|l%eh#_^0+_Tm&z?kXYHJ+ ziRT{fHx^}Nh~3h%jxWj7Quc&D%HR)DhI6@|%fj1p`FV?s+{cF;j{;78)aVY67jPDb zTbA>P)$xk4PNYV=97|>0kO)r~@^37n4fBR@W;Wko8Ew?Ol9$7ok~V>#FRkKJ^717f zl|dH|%HV6-ZW+D88)MU>;jfjjM+JU;k_@)w--u#jM9vSU>5(~Z6Wwy*h6d!E!f80sox*GOBWKn6-~YWXy13X9sIPh zBbtQbW_%AAdn}qaL*@@w$-KOVr-J{>WQzq#9S7a$CIJfG$zG$^gF&4NfmluxDc1dH zWgSMA?=w;_acz&WmJPmx;H&}l#rVy4coqAoDvPTlXS9&4CIhpAA8PqY(Np+7X>R5kqZ4K| zQ$1>_6DIazLk%#zpZdfd?X38^}!G8qDUCNQOo5x1_JWe z&v1^sHNbl$?RU6?O=I-fWP2g5|24IH#RBEn)Oy< zWpBF?q9qjDS9ZMgTqOyaHIt)Dn&}~7}h$s1|EZqES-Vzl)VM`Fk)D-5$a{2+S%Cy>t z6JwnrZZjU?g2mzSlkAIvd^art1XH)I8caSUNV^mavukAoDzP3%a4Q`~EPIeW>a0=! zH;YiIU5I(RobJ|qODmBMn~kqZ2bC6yNICx!N!Gs0uR7wT9q~r~C_TYQOwlZ^Xxn)C p%ua1<5ow>&D}TA7ZI_aB(ZI!CERTo8znnPFKZ9v_WJqf}@=t70!JGg9 diff --git a/Laptop/IMP Confirm.cpp b/Laptop/IMP Confirm.cpp index e0093ebb..95d92f26 100644 --- a/Laptop/IMP Confirm.cpp +++ b/Laptop/IMP Confirm.cpp @@ -767,7 +767,7 @@ BOOLEAN LoadImpCharacter( STR nickName ) } // Set the ID of the new IMP - iProfileId = GetFreeIMPSlot(iProfileId); + iProfileId = GetFreeIMPSlot(iProfileId, iProfileId); // We can create the new imp, beacuse we found an empty slot if (iProfileId != -1) diff --git a/Laptop/IMP HomePage.cpp b/Laptop/IMP HomePage.cpp index c0dcceb4..589c4ab8 100644 --- a/Laptop/IMP HomePage.cpp +++ b/Laptop/IMP HomePage.cpp @@ -339,7 +339,7 @@ void HandleTextEvent( UINT32 uiKey ) if( uiKey >= 'A' && uiKey <= 'Z' || uiKey >= 'a' && uiKey <= 'z' || uiKey >= '0' && uiKey <= '9' || - uiKey == '_' || uiKey == '.' ) + uiKey == '_' || uiKey == '.' || uiKey ==' ') // WANNE NEW: added ' ' { // if the current string position is at max or great, do nothing if( iStringPos >= 8 ) diff --git a/Laptop/IMP MainPage.cpp b/Laptop/IMP MainPage.cpp index 2e1ac330..f3d9b671 100644 --- a/Laptop/IMP MainPage.cpp +++ b/Laptop/IMP MainPage.cpp @@ -839,36 +839,51 @@ INT32 GetFilledIMPSlots( INT8 iSex ) } // WANNE NEW -INT32 GetFreeIMPSlot(INT32 iIMPId) +INT32 GetFreeIMPSlot(INT32 iIMPId, INT32 iDefaultIMPId) { INT32 iStart; INT32 iEnd; INT32 i; INT32 iFreeSlot = -1; + BOOLEAN bFoundDefaultIMP = FALSE; if (iIMPId != -1) { - // Female - if (iIMPId >= PLAYER_GENERATED_CHARACTER_ID + 3) + // We have a default imp id (90210 or nickname) + if (iDefaultIMPId != -1) { - iStart = PLAYER_GENERATED_CHARACTER_ID + 3; - iEnd = PLAYER_GENERATED_CHARACTER_ID + 6; - } - // Male - else - { - iStart = PLAYER_GENERATED_CHARACTER_ID; - iEnd = PLAYER_GENERATED_CHARACTER_ID + 3; + if (wcscmp(gMercProfiles[iDefaultIMPId].zName, L"") == 0) + { + iFreeSlot = iDefaultIMPId; + return iFreeSlot; + } } - // Find a free imp slot - for (i = iStart; i < iEnd; i++) + // The default IMP id is already used, find next free imp id + if (bFoundDefaultIMP == FALSE) { - // Found a free imp slot - if (wcscmp(gMercProfiles[i].zName, L"") == 0) + // Female + if (iIMPId >= PLAYER_GENERATED_CHARACTER_ID + 3) { - iFreeSlot = i; - break; + iStart = PLAYER_GENERATED_CHARACTER_ID + 3; + iEnd = PLAYER_GENERATED_CHARACTER_ID + 6; + } + // Male + else + { + iStart = PLAYER_GENERATED_CHARACTER_ID; + iEnd = PLAYER_GENERATED_CHARACTER_ID + 3; + } + + // Find a free imp slot + for (i = iStart; i < iEnd; i++) + { + // Found a free imp slot + if (wcscmp(gMercProfiles[i].zName, L"") == 0) + { + iFreeSlot = i; + break; + } } } diff --git a/Laptop/IMP MainPage.h b/Laptop/IMP MainPage.h index e8028415..bbf136de 100644 --- a/Laptop/IMP MainPage.h +++ b/Laptop/IMP MainPage.h @@ -10,7 +10,7 @@ void NextProfilingMode( void ); void ShadeUnSelectableButtons( void ); // WANNE NEW -INT32 GetFreeIMPSlot(INT32 iIMPId); +INT32 GetFreeIMPSlot(INT32 iIMPId, INT32 iDefaultIMPId); INT32 GetFilledIMPSlots( INT8 iSex ); extern INT32 iCurrentProfileMode; diff --git a/Strategic/Quest Debug System.cpp b/Strategic/Quest Debug System.cpp index a0ce0ae3..e057ffe0 100644 --- a/Strategic/Quest Debug System.cpp +++ b/Strategic/Quest Debug System.cpp @@ -1237,7 +1237,10 @@ void RenderQuestDebugSystem() DisplayQDSCurrentlyQuoteNum( ); MarkButtonsDirty( ); - InvalidateRegion( 0, 0, 640, 480 ); + + // WANNE NEW: + //InvalidateRegion( 0, 0, 640, 480 ); + InvalidateRegion( 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT ); }