From 4cbd0d301313866bd5247d0838bb51756b842eed Mon Sep 17 00:00:00 2001 From: Celtic Minstrel Date: Sun, 21 Aug 2016 23:43:16 -0400 Subject: [PATCH] New toolbar buttons for placing boats and horses; replaces the edit boats/horses dialogs --- rsrc/dialogs/edit-boats.xml | 56 -------------------- rsrc/dialogs/edit-horses.xml | 60 --------------------- rsrc/dialogs/edit-vehicle.xml | 21 ++++++++ rsrc/graphics/edbuttons.png | Bin 8680 -> 9003 bytes src/classes/scenario.cpp | 2 + src/classes/scenario.hpp | 4 +- src/scenedit/scen.actions.cpp | 39 +++++++++++++- src/scenedit/scen.core.cpp | 91 +++++++++++--------------------- src/scenedit/scen.core.hpp | 3 +- src/scenedit/scen.global.hpp | 5 +- src/scenedit/scen.main.cpp | 8 --- src/scenedit/scen.menus.hpp | 2 +- src/scenedit/scen.menus.mac.mm | 2 +- src/scenedit/scen.menus.win.cpp | 2 +- 14 files changed, 100 insertions(+), 195 deletions(-) delete mode 100644 rsrc/dialogs/edit-boats.xml delete mode 100644 rsrc/dialogs/edit-horses.xml create mode 100644 rsrc/dialogs/edit-vehicle.xml diff --git a/rsrc/dialogs/edit-boats.xml b/rsrc/dialogs/edit-boats.xml deleted file mode 100644 index 52d39652..00000000 --- a/rsrc/dialogs/edit-boats.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/rsrc/dialogs/edit-horses.xml b/rsrc/dialogs/edit-horses.xml deleted file mode 100644 index f1e2d78a..00000000 --- a/rsrc/dialogs/edit-horses.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/rsrc/dialogs/edit-vehicle.xml b/rsrc/dialogs/edit-vehicle.xml new file mode 100644 index 00000000..dbe393db --- /dev/null +++ b/rsrc/dialogs/edit-vehicle.xml @@ -0,0 +1,21 @@ + + + + + Edit Vehicle + + Number + + + Starting Area + + + Location + + + Not Party Property + + + + + diff --git a/rsrc/graphics/edbuttons.png b/rsrc/graphics/edbuttons.png index 0d610c8620957a4abbcfe76393743047e3b42571..b458d3d3204848f29c9610eb84d4b16fb941db68 100644 GIT binary patch delta 8999 zcmV+?BiP*NL#sxRQGehF6&D*0+Q1Gb001BWNklLKu5&H*YlZx{+VniLE7&fcggH zA>dYQC7sP^7a@0RZDH@2k#BV-9a{|1&XWnV#2`6sC5!@Q>3`lo&b{Z=t^4une!P$F zuEXO}uU_4A>(%|$@18pMR25*w%6gNPGGuOU&Z@GidS6vPfnG{kR{yc8x~pn-c6MxR z%J_GFrs6@!X>Io z>KzWwXn&F8SMClBS3b74^_ww)!_LxIt8SFJ{9rzVBrVY{+ERb{(qjhAO1lH7UGw*@)Nv(1i z{f6w$a9?YpP$z?)toc&lo(}rf9KY}by_R|8AAozp$2O>9nC8G}Zc1*c%Dh&w?7rrO zZ8k%=7kuKSAznNN@9zKrcjdgm#N~gRx(5?|7pLyor5$lErn;mmDr`O$x57(NRRr#{ zvwyP~gTRDg;S@hQsWQKA3zs~<*r7z2={wfJT5!C0EPri?+a~%h#vYmNrnY^mrNx|8 zl{vvD;nJj5Syh?nIkIC%5d_eCe#6(F92yW?xI|S=V@7?O8Nq!|AihZFGlyNvk|nA# z|972NRh;T5G{ErnXL{ihRq3E7lyjoHEdPoQnh>c zZu7eqE!-wmO*t?JD#nSrd=_0;|f-2+1#9SH(g6YS5dVT+&umv2EU)f3UyD zpFgiWY5I2k;cxrHAbCf{`SnT{>+Jl!UuXHix^SrXLYwz4;$z>IrTZuz-fGY>u75Or zUfWM%1(k&(0OHkdHI7lalFNBgne->Dcn_=(yc@LnDntCYzV$5t|NN&H=2O$eLCWee+Y_d+6Fo*J1vsc;CPD@qFSFtwH z$~t*{TNLpGbO291^%MYc{nx{9UwI>4#3;!9Z`y-ES^pXOrdu zjNDv2z8`nLiAGMiuZ*sk+!B>F8Q)PV6_3GxtQt2xAyoysAKPRA`q(mu&wuU*u;^m= zj{N{mjh;_ea`^22#nI0XpZysfweng`J{ICm0KjLC;q6J>64zrjxYO5)sFXnSac@a; zw0Uc&S~xLs_^u4mNPN`3 zW~Eg+=Q&GG$g&uE|@e*5y`-GS}S^4f-U#21Hq)Ra$3cg0{WI0IjW`|#PHVKl}N=SzI% z7=Am6_kcSm@g8tX#2!;0m}zk51jo9>GPLs3#Jv|edn%0n)ip?HB7Z(K`g|(Jj`wLE zmvL$5@Y|OcU)#XePLfpoQb`k)-cnkpUoWzw#t7_(Z6YeJ1JusKnF@UMJcG2mxn`%m%k6~3w+Q^lGPS9UG zyiGObRbLG@B`S#}_z2e$2dtfxVOUY z?(pgAPf<{hU9W3p)&k-+=syLZ0Uz9>KqEMA%5z~uNb!56W(Rmu#OCL&K-7ZI1ozm& z-pR}2$Tp+L0@?keXdaW5`%cvdfH=5o&r&`&H+I#ZrnY?w+kZR&Q^4#$uTk%0DH7|7 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

CcFEZ(_+0Y)uP7b_(+YMYB zc>lH=o3DNHrz5}rBNq~%{MV7+|Iup$KmHYP+l|e#vZ}p)PrUUP*7>*^<>&vkG+#|+ ze4HR2Jp#_a`+vW>vH2Po9(ez@O04V3I{3=XeB&Eey66I4T{FA0%2Jm1SyIY=avp`B zL6^16<&ii4Ja98bGjT~9GWw^7A7__ymju99S0$xNZOV*ZJ@y}wPf)RKF2f*DalK`B zUMNbrzvU=Iv+DAV$XMdCak(CaM+NqqsZU$z{7cS~| z+yo6NKCko+L!TtiS4v49kLGiVaV1UMI4OTKdTy+bJoax|=}qZxiH4Sr-c0AJV2XWX zlG_=V+c6ybx+kma&HV3M=?TP}yRKq=ZH6v3)pZrcv6^Y_G)%gB>^sY-t-@tus}y}S zMPJP%^?wA*`i7Ec5waq_9bQz{O8ex+dw*yfK^4_kQxNeVee@B4!LdJXS#thw{yTtv z>o~KSozLvDRbw4zHna1Y-I6|7v0{BSR;;WpQT^_T{`jRO%kfq$$6K+|S;@0NO_9sl z8PireFQrG4nM4^-$;$Hbvb_OTRvID(FL4*KCsC9IG4M#(CRY1CDq?{C8(j?Y9N-mc3;C=*m;RI&!g5rVAdM>J9`eCU{6Wj?*etiEwvHs>%^VmE!pd zoKIF=g!06?D3;ApRm`mcK)GD5R4R>VI$e&p8O#?!VkWTi?Vgrna#R&h?F4s4LD)Gk zmiS9FDpDahZDDGqN~KaRml68fO{adMl2udtS)p!DJ%8tRF5-EBVj6h`B~^3hs4DV3 z)_B5em0(Y%Uq;ZUBAO(`+icAN5A;0l=K;s_Ek$;udUNNfN|CpiJ%9QD|KegcAly;X zf}Ss|a$*WQergXudV&vB$PVPBeSX zkhkN727lBuW)cSj-6{m1V}}+X+d@@2qBD0@2=_f}*COciGLzZ|?sQWKcYLhOw{0@o z?(v{k<@l*R03}V1Nkk-#{KCYUJGi4{^J`}T;MBJ^Xw)iEl^(kz=<(srH=DlX5a8m#$NW`e&@_K#nPz<&anvoDpZuz8));#aAahS9Ic?gaPw zCLDDV=+T)dRbe6XF}oF>i>fSepO~0{A}|(L2euFIx9UA+l{TdBhg|`t4f{Vqj0HG ztF)?A^z2!?HVXpqJHO)RPYMl?7S2&s-I(FOW`=Oz7KqQ%`P5;TSTaXd>UYQL@e`;;B-v{)s*iZzH<7Rcw@tcXXT z1Hd!SJOcpi+K2t`Ttc|_zp`}tD}Sq|pTGoUguCK&FT_0$bdO32TNfAx9jL^;NiT|6 zQN#zYA)t--I=2Gud^@WUN+wCu=Iw=ecI}@j{r89NCZN}4-MML4U#EEh7`Qb(x)s)) zgQ_OnYlAhFN5Zov;X6#F>@o0OtIAD}Naca<#WpE`URq}N@vQ(bZA1UvTYmxI(BR2< zCA*JrogVyB|MB_a1r31 z5x59&TgV>cUzl-lrv$~iNEw>@*YN#kDSIr4{>~aC)Da&TeLf?x<9|Jxhf8pNeg8X` zrr%sd)=rdF6MhWzFjB!?YRQDHnp90sFp4zC)61a`uLHpJ^Zs$r%Sp@ed>!~IeLMmH z@RfZ40QZc*OsG`_^Sust73^-GjO!QxV{dQ3( z4J?aPA|?1#a6dZJ41apg2lvR7?3Vxcr9|si%JDHT5Ttnkk>e#!QUUHs*xeXBo&Q%D z)WvHRq0D?hya4@Y0H6vUxCa5M{&AVkg%u%1-<9ee;Atk!*RDX=f=>l^X<_HUCAMdk z(rW?j{z0f8qm_G3)rSCNa2MXCbgnjb`G1YAx&u}@05AqH@qe3n>YdC*q^_8jTYi1{ zO_XlVN?I8iBwy?ni$&}^MT7WuL$*|Aa;=qckN%+30cR0o?LMmGu`9&-b~LP8$?*$K z1Y@b)U~MFBMu>(qLDfKc5<-O3@>&^HoubN!k%cE_K7mnXW`smaRO~;AnJ{5gH9?iI zJW2oY_b^faihmceq>DImee?9GflZs^F5K$ae~k!x6`i>cG#j#YLWZ?zb9bO6a$ggK zfX?TH!;|6=Kd@!2g-{h{C3#u|IY;;?-ocsEZzlT8_yYF7A4tj}qG6D1o zl6bnF{_GL<4TZZ948#97ahI=ffp~?jZ>#p0_atCl+J6BAk?)v*pciwMWB=u+rzxQR z2*a7!qcnIl%a$yBOb)N-=+lh$1Dlwb2v6IU7Kl-pds}s`2txxQ~p9qMqe1A^s^62R_Y5Eh*6lhNkm@Z z*>Tb~^M9Va@H+^^sK(pzU8$K^Ircw_$O&YMOy4-T^Uz5P_j0*hE|*pIGUzIF<4?Ol z_`1^o)3nqjL)2E8C*B*Z8 z;b8QIktz3AiN)q>|Cg~q__`M^Ud-55+ItgeaDQK;Y2L9<0RSs0J^F5S)ap&nuVdPl z2cYu>q@1A`VXqB$y=Px67N^`_Del>e{2hbr!~!JW+_~ez#fv`~KPvsNVq4+60=4z8 z{z9rv3fgwh630HJ0{ZS0sMW2CaC+Ec*3(~~?oe{Fz`gR_F#!15SGOrXdk9WHRXHUu zntyj3r+@VqH2SBsaMZgZ%9={mL)ump5N|U87|3!Fn+?Rbez1Vlrxx=FGx|~iVECDD zD?WP-L+IHDyE7J0zpnahg!p$wDr;)qA)dE1^p;_vQ=(3fE}#Oef!__o@AOAeU;FB| z3l}f`$A6w^MEfSr)yh7ZOQRENyel+%NPm+p8CKe?V%T)2#%`9ihZ0Xrt2y&RNZNKn zr%PI+s6AVWP)>u_M9_EVkJ@HR9+fdG)OB<#A-;L0Pv&?tpTMZ__fcDA2xw5>Q6qkqL%yo?{C9eR$Bja{59{Ik&(cps|9q7AfZXV4VSEE-c@IWt z5F>2WE~GTeAxBlZpl_62l!}-`uzwzVdjqbnIP67}# z-~!X(5uW0X8Y*GmIjYJIdOf2k@?7;5-vOWz%K|4=piLIvREeNw*t5TbnI*{G$J70Oih^gswO8V6?auJdxRJYBQ~^&l2kK+x}#hWw1$7NSVW{2uT`MrBrg6R1NSd) z1OWKuTkz$L-Vy&y-B^r0y;00j!GU_fjP-LC-+cP9H_FaLp&Bad7&jcI5fw{7G2skBRHaHLIa=gIG2+b#L0GlDx=LmQFGk;a1gLYw(wkI|`3Zkajd@GbyE2QawNtfs*Ax`t&J#IZ z9TNnpRBVcHe}DKJ5C3Cn4<45~JrqA;B29J20lPc?>|h*-LR8&l~XwcTA)* zY49yU;Kl?V)3Q4eJOD7e4tGqe(0r3Q{vfz(*08lxHAPciun_nzr)|4G{Edf~EM4}s zuWkc?YuBy;z>n+$ErffN1&_vz#-h23Gl5jC8X8c(U4N-)uscfb1g|aX0W%+uz@7WD zs?vaa?y_X*vcLWE+ST{m0{~~vp1pDXnx5@msYrq?$|+4;GFo_Kdubo;sX&i2foS#* zrsF}c6iG&onogG{b3B?fQ&XDs{P73?By>C#S+;B$-vM-PHiF>O>LEZ=g7BSvN%TzK zNx`;3rhnJ-NVb)z2h0RS7NeJ_Y6vU@z2dM{xT0Hf`bL=Nam&1f@|m+|5&9Y&pUm8q zilWiQRi*kkdE9Jg9+Yj2=N8ZJTss6~_Ua&6Mi>O@A-C{pz)=yw!f=`n8|F{?k^$o#*)S zrc-F)c$5!*KAcMDj88ukDA^y+8}595UQM>YeZHrZ9K!ufDTl@BQD;J8dB+3_87UA?^@olRrmacUO0=U~V4Q3lcukjlJ~x+b%*dwumU zJ12W4Xw^udpFvVt@bO=uTJ`eFi%l2|!zL)hDFE;i{-4@#_nXB5XAxt`Rqc-F^(a`Y z!@WU9OG9Ey8n6(lI@}ZQXdZ;qG=jy`&VK|lGeV52g{8`fk%cE_K7mnXW`yXAQKhX) z>JLzK5}0OJlrHm%YabDi9scy85!7VFAimv&U`<#L=NRb##DCHNck(A}9&U8O!y28< zQQt$bLc2Dd{cnL7m55^%khVI1qA2EiALMd|#Hba71=n18tR zc{nEx+{@*%U}aIzd~&VyHWz8kK5gAigX28_z}SrAJj|P@l@#+F6wuxf(IP8Y4yw;(v`8nIF<^n!rfMiQ@8X(yzsa32%R1see?|t0dLgv^#3U z%+75Pb#Yzy*zgu^&{_ikZ~-j;2%&@vV1es`g;q_qT4go^0Eb&;p<1ot3S0a#L)B^( z0N6_AR2?ysF@DHgtyU){CPqgqd-s-U&T^$v0f5>*D2&uAeEIU_-##@C0Pn6TJo@M( z!qtC2#VEWGFq);UQm<(m|4YK>Vx0n5)!IPBP=a=NKPMh&M2QE?O zkUt~hpjB^q*Y^IfN-nkM4}bVWOh5kk4uIg!R;mch$Z-(Cl<=TDTA?E^A34rl!SKfMt$%OOk#5a7a0$`OA2FZr13d1D z0>Fj(ip3VVw(GjCYlG{$E_i=pp6j~cx-Pi(ke%$SLFDmp7moN)>A6y3bhI)$S}7E2 zn83{1KB(=3{~hrXD4&0MCvrRh5XXmm8g(kXT)h94*!{Lwr+LuV2|h^(+&sSjXU6+= zoDkgch<`$G$D`Mse7NH=UhUq!WjgY57h@j^EoW_d^xEB^}ML~kcAAiYT_j$jLli48XQFyrbKeyB~nK-x~ zEY;%GqM3@vc#cQVi;p-0^gP6+We&VMM?cHr;0^$m1#W%YXv=#AxUOf-TXmQ)n>iU) zOA~_h`Sph47m@qzQ{!mZ2=5kpy?hi}-BZwT`t;=K)0060V6Myf1ifJh_kuam7gW37 zaet8D`8~&pWL%K2oEL9@lqm>;_s9rS%k7%Cx7I6AL76fJ-BWG2U|^$EnBuImQ=5jRA$%a?sb=?-vPSNpY_5Ee}%uxmoKA|7hZVbvM(DqZY0ka z%IIi?N>;1YYPI^Q-d;>l=9XjipT|JQs+f;Q%)}Gvh?%|6+k0#a9Wit9;$D))i+}x+ z1GiVJRXWnuUwY}KYPDJ&?xiYisV>=4U4o~h`x39dcyTWs>sRM~{B4pXX5Q-U#besj z@hRX#5gOUMDZgZIZ*R3)r6Yej9W^T7J8(Px_@?U}xSfvS%zD!e+`eSVvFdOyY6xe3 zN^o>$7vI;8HoR}-S>U>!K_Bb@U4H;DKK?+VFa!XF!qE8m1Kv1e=g#r*aRAu8d-tJ3 zhcs$((DE!!vO5o2Fyz*cWMYOr;&9A@?QZ?(k4@+1yq_?#p`)Z8L6@uL1SsS)bMVKm z`q3*>tvOYPjw(0H57h2r3=LTobC!34)qQ#6572`UoV>iN7rnG}^dH=r@qh6L=!luy zwr!)c_;jSl!uK0`pxX0i;mH3v>n!SFx0D9Z$|X~XRrkO9MDDq8z(VTxEO>-}m;Wj` zSSSqDY5~s-f?j|-xy&gMHTXl%F+b$u;Z9Cv9`1DwJlwat@dF?p^dd@@m1*&Emla%A zpfo0Uxc{*$8P;JJL^u;s9)B*$Rr0G(5CE(LpXPsj=B%^mL8nHU&YDGqwf{hAKC{n;9(Ic|bL9AdC4+7mAMMoFq0Jv+xov5|!1ZGTq0Cc4as-7Tj^ zX(`7?iSYd;F<X0B~0p@MKSgI~m^%q?w8)jkFK&Sm&)8+93x=RszSPPe$PQBS(%P$CI8DCr;q1 z+|NGyEU%wms+<4JiB8@?RaTB6+u1fM);N+GmY814}Sn`+xBdEKIp)oL@?$5%J09|xeT-qaT<>=SuBFM%UJRWytWVh51ptl> z_fjaLYqOQxCx6l7Ndp6ltGRsnGJ1+|0F8;4UV14!j3XDASEU#I$^!_29Jyrf+O_M| zS6>w}QFiUxwSWKqsFE8tY@jsdN9o+PYZv_)uap0iT$V%`l}ZH(zEY{6b3%N?A>lLW zxl`tojO`Cbm%%Vwe4;I5O=sm@qaTt1Kl_Bob8Ta`GrTQkY?x6 z!-tO$&^ar1oPZwhuWu9`wZbM~;AC%#4qZQ?A4(%@I8N!7cRFU~H|x9C`ZON0Wlg`S`y!s!BD1yUE_D>YQ;Uuc2ETS`JVkoJTy*3qN^fO5Ia zV~#$#kTt*K`%c(9x%VxYahx48m!+iTgMUUm1cNBars@mweY{npW5k0PI~j|Tu;QR2t6o2{zk?yB|B*b7lD~T^oEtdzMc>U7 z&V=*AkkLCm_&U3!U4Ie)=<2-0RH;Fk;j2sU2z`Q_ZF30}0u>ipX7dH3l)Dp0A%az> zHztdB#wq&UqTFFwgq(oFAXSIx`*8{WNm(Ge$Tm=m=KCk!=gTE-x zS4>G7kLo$asFEsfoS54TpDXo|OK;OidrEgA8WJ77sm|rWB!B&4qV0^+b_`2D_oQ{b zso%blwm`hP>q_ctQ*^QMuB$MP`Al`EVbs;7-z>wn3YC#oDg0^*f0~Kv35N9*MQ0JR zEWRCDRMtr2R=bc-tQjikH2xlaJ&)2@kWd^S9BJr$#OX}W7=gQ5SH&eMgjU8{K!^f;Cz5D+UqoIt@F custom_graphics; std::vector scen_monsters; - std::array boats; - std::array horses; + std::vector boats; + std::vector horses; std::vector ter_types; std::array scenario_timers; std::vector scen_specials; diff --git a/src/scenedit/scen.actions.cpp b/src/scenedit/scen.actions.cpp index dc2bff6b..3376e456 100644 --- a/src/scenedit/scen.actions.cpp +++ b/src/scenedit/scen.actions.cpp @@ -72,7 +72,7 @@ ePalBtn out_buttons[6][10] = { {PAL_PENCIL, PAL_BRUSH_LG, PAL_BRUSH_SM, PAL_SPRAY_LG, PAL_SPRAY_SM, PAL_ERASER, PAL_DROPPER, PAL_RECT_HOLLOW, PAL_RECT_FILLED, PAL_BUCKET}, {PAL_EDIT_TOWN, PAL_ERASE_TOWN, PAL_BLANK, PAL_BLANK, PAL_EDIT_SIGN, PAL_TEXT_AREA, PAL_WANDER, PAL_CHANGE, PAL_ZOOM, PAL_BLANK}, {PAL_SPEC, PAL_COPY_SPEC, PAL_PASTE_SPEC, PAL_ERASE_SPEC, PAL_EDIT_SPEC, PAL_SPEC_SPOT, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK}, - {PAL_BLANK, PAL_ROAD, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK}, + {PAL_BOAT, PAL_HORSE, PAL_ROAD, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK}, {PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK}, {PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK}, }; @@ -81,7 +81,7 @@ ePalBtn town_buttons[6][10] = { {PAL_PENCIL, PAL_BRUSH_LG, PAL_BRUSH_SM, PAL_SPRAY_LG, PAL_SPRAY_SM, PAL_ERASER, PAL_DROPPER, PAL_RECT_HOLLOW, PAL_RECT_FILLED, PAL_BUCKET}, {PAL_ENTER_N, PAL_ENTER_W, PAL_ENTER_S, PAL_ENTER_E, PAL_EDIT_SIGN, PAL_TEXT_AREA, PAL_WANDER, PAL_CHANGE, PAL_ZOOM, PAL_TERRAIN}, {PAL_SPEC, PAL_COPY_SPEC, PAL_PASTE_SPEC, PAL_ERASE_SPEC, PAL_EDIT_SPEC, PAL_SPEC_SPOT, PAL_EDIT_ITEM, PAL_SAME_ITEM, PAL_ERASE_ITEM, PAL_ITEM}, - {PAL_BLANK, PAL_ROAD, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_EDIT_MONST, PAL_SAME_MONST, PAL_ERASE_MONST, PAL_MONST}, + {PAL_BOAT, PAL_HORSE, PAL_ROAD, PAL_BLANK, PAL_BLANK, PAL_BLANK, PAL_EDIT_MONST, PAL_SAME_MONST, PAL_ERASE_MONST, PAL_MONST}, {PAL_WEB, PAL_CRATE, PAL_BARREL, PAL_BLOCK, PAL_FIRE_BARR, PAL_FORCE_BARR, PAL_QUICKFIRE, PAL_FORCECAGE, PAL_ERASE_FIELD, PAL_BLANK}, {PAL_SFX_SB, PAL_SFX_MB, PAL_SFX_LB, PAL_SFX_SS, PAL_SFX_LS, PAL_SFX_ASH, PAL_SFX_BONE, PAL_SFX_ROCK, PAL_BLANK, PAL_BLANK}, }; @@ -132,6 +132,7 @@ static cursor_type get_edit_cursor() { case MODE_PLACE_STONE_BLOCK: case MODE_PLACE_FIRE_BARRIER: case MODE_PLACE_FORCE_BARRIER: case MODE_PLACE_QUICKFIRE: case MODE_PLACE_FORCECAGE: case MODE_PLACE_SFX: + case MODE_PLACE_HORSE: case MODE_PLACE_BOAT: case MODE_TOGGLE_SPECIAL_DOT: case MODE_TOGGLE_ROAD: case MODE_DRAWING: @@ -1131,6 +1132,32 @@ static bool handle_terrain_action(location the_point, bool ctrl_hit) { overall_mode = MODE_DRAWING; change_made = true; break; + case MODE_PLACE_BOAT: case MODE_PLACE_HORSE: { + auto& all = overall_mode == MODE_PLACE_BOAT ? scenario.boats : scenario.horses; + auto iter = std::find_if(all.begin(), all.end(), [](const cVehicle& what) { + if(editing_town && cur_town != what.which_town) return false; + else if(!editing_town && what.which_town != 200) return false; + return what.loc == spot_hit; + }); + if(iter == all.end()) { + iter = std::find_if(all.begin(), all.end(), [](const cVehicle& what) { + return what.which_town < 0; + }); + if(iter == all.end()) { + all.emplace_back(); + iter = all.end() - 1; + } + iter->loc = spot_hit; + iter->which_town = editing_town ? cur_town : 200; + iter->property = false; + iter->exists = false; + if(!editing_town) iter->sector = cur_out; + } + if(!edit_vehicle(*iter, iter - all.begin(), overall_mode == MODE_PLACE_BOAT)) + all.erase(iter); + overall_mode = MODE_DRAWING; + break; + } case MODE_INTRO_SCREEN: case MODE_EDIT_TYPES: case MODE_MAIN_SCREEN: @@ -1507,6 +1534,14 @@ static bool handle_toolpal_action(location cur_point2) { draw_mode = DRAW_MONST; set_up_terrain_buttons(true); break; + case PAL_BOAT: + set_string("Place/edit boat","Select boat location"); + overall_mode = MODE_PLACE_BOAT; + break; + case PAL_HORSE: + set_string("Place/edit horse","Select horse location"); + overall_mode = MODE_PLACE_HORSE; + break; } return true; } diff --git a/src/scenedit/scen.core.cpp b/src/scenedit/scen.core.cpp index ead9de11..453790bf 100644 --- a/src/scenedit/scen.core.cpp +++ b/src/scenedit/scen.core.cpp @@ -2533,75 +2533,44 @@ void edit_save_rects() { save_dlg.run(); } -static bool save_vehicles(cDialog& me, cVehicle* vehicles, const short page) { - for(short i = 0; i < 6; i++) { - std::string id = std::to_string(i + 1); - vehicles[6 * page + i].which_town = me["town" + id].getTextAsNum(); - if(cre(vehicles[6 * page + i].which_town, - -1,199,"Town number must be from 0 to 199 (or -1 for it to not exist).","",&me)) return false; - vehicles[6 * page + i].loc.x = me["x" + id].getTextAsNum(); - if(cre(vehicles[6 * page + i].loc.x, - 0,63,"coordinates must be from 0 to 63.","",&me)) return false; - vehicles[6 * page + i].loc.y = me["y" + id].getTextAsNum(); - if(cre(vehicles[6 * page + i].loc.y, - 0,63,"coordinates must be from 0 to 63.","",&me)) return false; - vehicles[6 * page + i].property = dynamic_cast(me["owned" + id]).getState() != led_off; +static void put_vehicle_area(cDialog& me, const cVehicle& what) { + std::ostringstream sout; + if(what.which_town == 200) { + sout << "Outdoors @ " << what.sector; + } else { + sout << "Town " << what.which_town; } - return true; + me["area"].setText(sout.str()); } -static void put_vehicles_in_dlog(cDialog& me, cVehicle* vehicles, const short page) { - for(short i = 0; i < 6; i++) { - std::string id = std::to_string(i + 1); - me["num" + id].setTextToNum(6 * page + i); - me["town" + id].setTextToNum(vehicles[6 * page + i].which_town); - me["x" + id].setTextToNum(vehicles[6 * page + i].loc.x); - me["y" + id].setTextToNum(vehicles[6 * page + i].loc.y); - dynamic_cast(me["owned" + id]).setState(vehicles[6 * page + i].property ? led_red : led_off); - } -} - -static bool edit_vehicles_event_filter(cDialog& me, std::string hit, cVehicle* vehicles, size_t nVehicles, size_t& page) { - - if(hit == "okay") { - if(save_vehicles(me, vehicles, page)) - me.toast(true); - } else if(hit == "left") { - if(!save_vehicles(me, vehicles, page)) return true; - if(page == 0) page = (nVehicles - 1) / 6; - else page--; - put_vehicles_in_dlog(me, vehicles, page); - } else if(hit == "right") { - if(!save_vehicles(me, vehicles, page)) return true; - page++; - if(page > (nVehicles - 1) / 6) page = 0; - put_vehicles_in_dlog(me, vehicles, page); - } - return true; -} - -void edit_horses() { +bool edit_vehicle(cVehicle& what, int num, bool is_boat) { using namespace std::placeholders; - size_t page = 0; + cDialog dlg("edit-vehicle"); + dlg["okay"].attachClickHandler(std::bind(&cDialog::toast, &dlg, true)); + dlg["cancel"].attachClickHandler(std::bind(&cDialog::toast, &dlg, false)); + dlg["del"].attachClickHandler([](cDialog& me, std::string, eKeyMod) { + me.setResult(false); + return me.toast(false); + }); - cDialog horse_dlg("edit-horses"); - horse_dlg.attachClickHandlers(std::bind(edit_vehicles_event_filter, _1, _2, scenario.horses.data(), 30, std::ref(page)), {"okay", "left", "right"}); + put_vehicle_area(dlg, what); + dlg["loc"].setText(boost::lexical_cast(what.loc)); + dlg["num"].setTextToNum(num); + dlg["title"].setText(is_boat ? "Edit Boat" : "Edit Horse"); - put_vehicles_in_dlog(horse_dlg, scenario.horses.data(), page); + cLed& prop = dynamic_cast(dlg["owned"]); + prop.setState(what.property ? led_red : led_off); - horse_dlg.run(); -} - -void edit_boats() { - using namespace std::placeholders; - size_t page = 0; + dlg.setResult(true); + dlg.run(); + if(!dlg.getResult()) + return false; - cDialog boat_dlg("edit-boats"); - boat_dlg.attachClickHandlers(std::bind(edit_vehicles_event_filter, _1, _2, scenario.boats.data(), 30, std::ref(page)), {"okay", "left", "right"}); - - put_vehicles_in_dlog(boat_dlg, scenario.boats.data(), page); - - boat_dlg.run(); + if(dlg.accepted()) { + what.property = prop.getState() != led_off; + what.exists = true; + } + return what.exists; } static bool save_add_town(cDialog& me) { diff --git a/src/scenedit/scen.core.hpp b/src/scenedit/scen.core.hpp index e1252c3e..897e4f3f 100644 --- a/src/scenedit/scen.core.hpp +++ b/src/scenedit/scen.core.hpp @@ -13,7 +13,6 @@ bool edit_spec_item(short which_item); bool edit_quest(size_t which_quest); bool edit_shop(size_t which_shop, cDialog* parent = nullptr); void edit_save_rects(); -void edit_horses(); void edit_add_town(); void edit_item_placement(); void edit_scen_details(); @@ -21,7 +20,7 @@ bool edit_make_scen_2(short& out_w, short& out_h, short& town_l, short& town_m, bool edit_make_scen_1(std::string& filename,std::string& title,bool& grass); void edit_scenario_events(); bool build_scenario(); -void edit_boats(); +bool edit_vehicle(class cVehicle& what, int num, bool is_boat); bool check_range_msg(cDialog& me,std::string id,bool losing,long min_val,long max_val,std::string fld_name,std::string xtra); bool check_range(cDialog& me,std::string id,bool losing,long min_val,long max_val,std::string fld_name); diff --git a/src/scenedit/scen.global.hpp b/src/scenedit/scen.global.hpp index e8aaa262..29491503 100644 --- a/src/scenedit/scen.global.hpp +++ b/src/scenedit/scen.global.hpp @@ -29,6 +29,7 @@ enum eScenMode { MODE_DRAWING = 0, + MODE_TOGGLE_ROAD = 1, MODE_SET_WANDER_POINTS = 2, MODE_ROOM_RECT = 3, MODE_PLACE_ITEM = 4, @@ -42,7 +43,8 @@ enum eScenMode { MODE_PLACE_SOUTH_ENTRANCE = 12, MODE_PLACE_WEST_ENTRANCE = 13, MODE_FLOOD_FILL = 14, - MODE_TOGGLE_ROAD = 15, + MODE_PLACE_HORSE = 15, + MODE_PLACE_BOAT = 16, MODE_PLACE_FORCECAGE = 19, MODE_PLACE_WEB = 20, MODE_PLACE_CRATE = 21, @@ -102,6 +104,7 @@ enum ePalBtn { PAL_WEB = 40, PAL_CRATE = 41, PAL_BARREL = 42, PAL_FIRE_BARR = 43, PAL_FORCE_BARR = 44, PAL_QUICKFIRE = 45, PAL_SPEC_SPOT = 46, PAL_BLOCK = 47, PAL_FORCECAGE = 48, PAL_ERASE_FIELD = 33, PAL_SFX_SB = 50, PAL_SFX_MB = 51, PAL_SFX_LB = 52, PAL_SFX_SS = 53, PAL_SFX_LS = 54, PAL_SFX_ASH = 55, PAL_SFX_BONE = 56, PAL_SFX_ROCK = 57, PAL_ROAD = 58, PAL_ARROW_UP = 9, PAL_ARROW_DOWN = 69, PAL_TERRAIN = 29, PAL_ITEM = 39, PAL_MONST = 49, + PAL_BOAT = 60, PAL_HORSE = 61, }; #endif diff --git a/src/scenedit/scen.main.cpp b/src/scenedit/scen.main.cpp index 3fd04e75..646cc327 100644 --- a/src/scenedit/scen.main.cpp +++ b/src/scenedit/scen.main.cpp @@ -375,14 +375,6 @@ void handle_menu_choice(eMenu item_hit) { edit_save_rects(); change_made = true; break; - case eMenu::SCEN_HORSES: - edit_horses(); - change_made = true; - break; - case eMenu::SCEN_BOATS: - edit_boats(); - change_made = true; - break; case eMenu::TOWN_VARYING: edit_add_town(); change_made = true; diff --git a/src/scenedit/scen.menus.hpp b/src/scenedit/scen.menus.hpp index 5d00aaac..5df22f4b 100644 --- a/src/scenedit/scen.menus.hpp +++ b/src/scenedit/scen.menus.hpp @@ -20,7 +20,7 @@ enum class eMenu { // Scenario menu TOWN_CREATE, OUT_RESIZE, SCEN_DETAILS, SCEN_INTRO, TOWN_START, SCEN_SPECIALS, SCEN_TEXT, SCEN_JOURNALS, TOWN_IMPORT, OUT_IMPORT, - SCEN_SAVE_ITEM_RECTS, SCEN_HORSES, SCEN_BOATS, + SCEN_SAVE_ITEM_RECTS, TOWN_VARYING, SCEN_TIMERS, SCEN_ITEM_SHORTCUTS, TOWN_DELETE, SCEN_DATA_DUMP, SCEN_TEXT_DUMP, SCEN_PICS, SCEN_SHEETS, SCEN_SNDS, diff --git a/src/scenedit/scen.menus.mac.mm b/src/scenedit/scen.menus.mac.mm index e1f9e05d..d86d933f 100644 --- a/src/scenedit/scen.menus.mac.mm +++ b/src/scenedit/scen.menus.mac.mm @@ -55,7 +55,7 @@ void init_menubar() { eMenu::TOWN_CREATE, eMenu::OUT_RESIZE, eMenu::NONE, eMenu::SCEN_DETAILS, eMenu::SCEN_INTRO, eMenu::SCEN_SHEETS, eMenu::SCEN_PICS, eMenu::SCEN_SNDS, eMenu::NONE, eMenu::NONE, eMenu::SCEN_SPECIALS, eMenu::SCEN_TEXT, eMenu::SCEN_JOURNALS, eMenu::TOWN_IMPORT, eMenu::OUT_IMPORT, eMenu::SCEN_SAVE_ITEM_RECTS, - eMenu::SCEN_HORSES, eMenu::SCEN_BOATS, eMenu::TOWN_VARYING, eMenu::SCEN_TIMERS, eMenu::SCEN_ITEM_SHORTCUTS, + eMenu::TOWN_VARYING, eMenu::SCEN_TIMERS, eMenu::SCEN_ITEM_SHORTCUTS, eMenu::TOWN_DELETE, eMenu::SCEN_DATA_DUMP, eMenu::SCEN_TEXT_DUMP, }; static const eMenu town_choices[] = { diff --git a/src/scenedit/scen.menus.win.cpp b/src/scenedit/scen.menus.win.cpp index a3078036..a92c8e29 100644 --- a/src/scenedit/scen.menus.win.cpp +++ b/src/scenedit/scen.menus.win.cpp @@ -83,7 +83,7 @@ void init_menubar() { eMenu::TOWN_CREATE, eMenu::OUT_RESIZE, eMenu::NONE, eMenu::SCEN_DETAILS, eMenu::SCEN_INTRO, eMenu::SCEN_SHEETS, eMenu::SCEN_PICS, eMenu::SCEN_SNDS, eMenu::NONE, eMenu::NONE, eMenu::SCEN_SPECIALS, eMenu::SCEN_TEXT, eMenu::SCEN_JOURNALS, eMenu::TOWN_IMPORT, eMenu::OUT_IMPORT, eMenu::SCEN_SAVE_ITEM_RECTS, - eMenu::SCEN_HORSES, eMenu::SCEN_BOATS, eMenu::TOWN_VARYING, eMenu::SCEN_TIMERS, eMenu::SCEN_ITEM_SHORTCUTS, + eMenu::TOWN_VARYING, eMenu::SCEN_TIMERS, eMenu::SCEN_ITEM_SHORTCUTS, eMenu::TOWN_DELETE, eMenu::SCEN_DATA_DUMP, eMenu::SCEN_TEXT_DUMP, }; static const eMenu town_choices[] = {