From 051550de48ff5a97892a06bea36e08d21a4f4e33 Mon Sep 17 00:00:00 2001 From: Volcano Date: Sun, 10 Mar 2019 11:46:00 +0100 Subject: [PATCH] Dialogues --- bin/dialogueobject/Dialogue.class | Bin 4286 -> 5223 bytes bin/dialogueobject/Message.class | Bin 2176 -> 3598 bytes bin/dialogueobject/Response.class | Bin 2249 -> 3669 bytes bin/dialogues/DialoguePanel$1.class | Bin 1189 -> 890 bytes .../DialoguePanel$SwingActionAddMessage.class | Bin 1149 -> 1115 bytes .../DialoguePanel$SwingActionLoad.class | Bin 1184 -> 1207 bytes ...ialoguePanel$SwingActionSaveDialogue.class | Bin 911 -> 1242 bytes bin/dialogues/DialoguePanel.class | Bin 6907 -> 9790 bytes bin/dialogues/Message$1.class | Bin 0 -> 1206 bytes bin/dialogues/Message$2.class | Bin 0 -> 1165 bytes .../Message$SwingActionAddReply.class | Bin 0 -> 1056 bytes .../Message$SwingActionClearCondition.class | Bin 0 -> 1450 bytes .../Message$SwingActionClearRewards.class | Bin 0 -> 1412 bytes .../Message$SwingActionOpenConditions.class | Bin 0 -> 1103 bytes .../Message$SwingActionOpenRewards.class | Bin 0 -> 1121 bytes bin/dialogues/Message$SwingActionRemove.class | Bin 0 -> 1029 bytes bin/dialogues/Message.class | Bin 2325 -> 10489 bytes bin/dialogues/NewMessage$1.class | Bin 1338 -> 0 bytes bin/dialogues/NewMessage$2.class | Bin 1177 -> 0 bytes .../NewMessage$SwingActionAddReply.class | Bin 1129 -> 0 bytes ...NewMessage$SwingActionClearCondition.class | Bin 1476 -> 0 bytes .../NewMessage$SwingActionClearRewards.class | Bin 1530 -> 0 bytes ...NewMessage$SwingActionOpenConditions.class | Bin 1184 -> 0 bytes .../NewMessage$SwingActionOpenRewards.class | Bin 1240 -> 0 bytes .../NewMessage$SwingActionRemove.class | Bin 1047 -> 0 bytes bin/dialogues/NewMessage.class | Bin 11384 -> 0 bytes bin/dialogues/NewResponse$1.class | Bin 929 -> 0 bytes bin/dialogues/NewResponse$2.class | Bin 1181 -> 0 bytes ...ewResponse$SwingActionClearCondition.class | Bin 1573 -> 0 bytes .../NewResponse$SwingActionClearRewards.class | Bin 1538 -> 0 bytes ...ewResponse$SwingActionOpenConditions.class | Bin 1285 -> 0 bytes .../NewResponse$SwingActionOpenRewards.class | Bin 1248 -> 0 bytes .../NewResponse$SwingActionRemove.class | Bin 1055 -> 0 bytes bin/dialogues/NewResponse.class | Bin 10418 -> 0 bytes bin/dialogues/Response$1.class | Bin 0 -> 864 bytes bin/dialogues/Response$2.class | Bin 0 -> 1169 bytes .../Response$SwingActionClearCondition.class | Bin 0 -> 1456 bytes .../Response$SwingActionClearRewards.class | Bin 0 -> 1418 bytes .../Response$SwingActionOpenConditions.class | Bin 0 -> 1167 bytes .../Response$SwingActionOpenRewards.class | Bin 0 -> 1127 bytes .../Response$SwingActionRemove.class | Bin 0 -> 1037 bytes bin/dialogues/Response.class | Bin 0 -> 10762 bytes bin/filemanagement/SaveDialogue.class | Bin 361 -> 1251 bytes bin/popups/fileChooser.class | Bin 0 -> 735 bytes bin/windows/Test.class | Bin 525 -> 1213 bytes bin/windows/Window$3.class | Bin 1679 -> 1679 bytes bin/windows/Window$4.class | Bin 1071 -> 1071 bytes bin/windows/Window$5.class | Bin 1068 -> 1068 bytes bin/windows/Window$6.class | Bin 1113 -> 1113 bytes bin/windows/Window$7.class | Bin 1110 -> 1110 bytes bin/windows/Window$SwingActionExit.class | Bin 871 -> 871 bytes .../Window$SwingActionOpenCredits.class | Bin 1461 -> 1461 bytes .../Window$SwingActionOpenDiscord.class | Bin 959 -> 959 bytes .../Window$SwingActionOpenDiscordBug.class | Bin 983 -> 983 bytes .../Window$SwingActionOpenIDList.class | Bin 948 -> 948 bytes .../Window$SwingActionOpenTrello.class | Bin 979 -> 979 bytes .../Window$SwingActionReadMeGuide.class | Bin 1745 -> 1745 bytes bin/windows/Window$SwingActionSettings.class | Bin 1451 -> 1451 bytes bin/windows/Window.class | Bin 10770 -> 10462 bytes src/dialogueobject/Dialogue.java | 64 ++- src/dialogueobject/Message.java | 53 +- src/dialogueobject/Response.java | 41 +- src/dialogues/DialoguePanel.java | 369 ++++++------- src/dialogues/Message.java | 466 +++++++++++++++-- src/dialogues/NewMessage.java | 483 ------------------ .../{NewResponse.java => Response.java} | 265 +++++----- src/filemanagement/SaveDialogue.java | 20 +- src/popups/fileChooser.java | 16 + src/windows/Test.java | 27 +- src/windows/Window.java | 22 +- 70 files changed, 969 insertions(+), 857 deletions(-) create mode 100644 bin/dialogues/Message$1.class create mode 100644 bin/dialogues/Message$2.class create mode 100644 bin/dialogues/Message$SwingActionAddReply.class create mode 100644 bin/dialogues/Message$SwingActionClearCondition.class create mode 100644 bin/dialogues/Message$SwingActionClearRewards.class create mode 100644 bin/dialogues/Message$SwingActionOpenConditions.class create mode 100644 bin/dialogues/Message$SwingActionOpenRewards.class create mode 100644 bin/dialogues/Message$SwingActionRemove.class delete mode 100644 bin/dialogues/NewMessage$1.class delete mode 100644 bin/dialogues/NewMessage$2.class delete mode 100644 bin/dialogues/NewMessage$SwingActionAddReply.class delete mode 100644 bin/dialogues/NewMessage$SwingActionClearCondition.class delete mode 100644 bin/dialogues/NewMessage$SwingActionClearRewards.class delete mode 100644 bin/dialogues/NewMessage$SwingActionOpenConditions.class delete mode 100644 bin/dialogues/NewMessage$SwingActionOpenRewards.class delete mode 100644 bin/dialogues/NewMessage$SwingActionRemove.class delete mode 100644 bin/dialogues/NewMessage.class delete mode 100644 bin/dialogues/NewResponse$1.class delete mode 100644 bin/dialogues/NewResponse$2.class delete mode 100644 bin/dialogues/NewResponse$SwingActionClearCondition.class delete mode 100644 bin/dialogues/NewResponse$SwingActionClearRewards.class delete mode 100644 bin/dialogues/NewResponse$SwingActionOpenConditions.class delete mode 100644 bin/dialogues/NewResponse$SwingActionOpenRewards.class delete mode 100644 bin/dialogues/NewResponse$SwingActionRemove.class delete mode 100644 bin/dialogues/NewResponse.class create mode 100644 bin/dialogues/Response$1.class create mode 100644 bin/dialogues/Response$2.class create mode 100644 bin/dialogues/Response$SwingActionClearCondition.class create mode 100644 bin/dialogues/Response$SwingActionClearRewards.class create mode 100644 bin/dialogues/Response$SwingActionOpenConditions.class create mode 100644 bin/dialogues/Response$SwingActionOpenRewards.class create mode 100644 bin/dialogues/Response$SwingActionRemove.class create mode 100644 bin/dialogues/Response.class create mode 100644 bin/popups/fileChooser.class delete mode 100644 src/dialogues/NewMessage.java rename src/dialogues/{NewResponse.java => Response.java} (72%) create mode 100644 src/popups/fileChooser.java diff --git a/bin/dialogueobject/Dialogue.class b/bin/dialogueobject/Dialogue.class index 77b821ae03ad86d0812321b9fc868acbf16b9369..cdea07ba9e6ceaa527565659ed851ea73116718e 100644 GIT binary patch literal 5223 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 RY48{SvFjp@n`X~`@-MX=+L-_V literal 2176 zcmZ`)Yje|95Ixs%Y+{tyIM@)vD+PjW9_CR3ZA^HC0tQ1E!q6#vQsRp%#+4aartqKm z05i={V5UEyKdRHSSBfoU`9q|uy}M`6?w)o2{qO5P0DiqZm_r$*87LgGFoPV+YB{ccJosZvd(Z5xE_oMQy=}Yu-1Z##4vlI5cZVe(Y$Z3E zW$fu_KjgQ+QXQ{FlKx;}8X5ZbhrXrCxT_R2OStvnASC#-g{%b6GI(^udC~J}FePz2 zV_}cD<>(fgS(EXJ&9AsiGdjW3W5!8yE1Co`%=xgK5u_ATiCdE~#kKr>_us$Soj{f) zJTpouRjLVEk=n0Xn8h4bOKO2{xsu>2c}k`uqrxFxQ#nmtSjsr?N%sv3%}ql*}b*91HJKz#S$bk{@tzEi~D$x1yw#blCY@P!b7wu zc_t;ZsB(hMUah|1;5T~%Z(HAWM9fyWIp+lkODt@PKN}hTQHXp(G-citjd^n`=(U&U z6f8d3P-AB|_?9#Giyrel-6opiyHNX#{k3l>|MnRNcd+n@wiFimoHO}KNE0WI12{~Z z6~y2Oj`B<47>9?Le5x^ zu;8Nxp&WRH2+|B`g(NHN-~kb;)Kp761sqkLy$`b(Mr5$S4eGT0yS9_A@Va; z6NofE#N>P}k;ocuj1gJfK_gD2K_b^D5Rpw4A~%Ov_riYXxmOE|f8*8{+)LrtIOq*l Ua5Dm$AMQw==>pJ4ri{n`1BCN$#Q*>R diff --git a/bin/dialogueobject/Response.class b/bin/dialogueobject/Response.class index 61217d733b35d9a1b1423af1438b3e8c7666ed20..4c34f64d3228c3f752b8ebc97a72e729b8b18a5d 100644 GIT binary patch delta 1499 zcma)+OH30{6o&uPX=$xvkSam6n3^c^5J-?TMxu!?5)x2KdB}4ZV5kG7t(_JXAL9cR z6?LI;r-sDHLKhkdibmWRqV8R}bM4B+kVq8I&;q5<#5B40&YAOn=g~9wbH-Pv{mb9C zQvk|v_oe-zpr;=S_J>rzQmbg8U_es{nR)pwRlV|nT;i7lz7lUFtOk7LR@4&KC!1}k zBVa8m(IBD`#|dUl9b|}*mtSc`Ga)Nkaxkj;yOppV9<++kE6_&B%}WS)tg~0?ij?Ok znBqCu(F93E2DaNE6V@!`EEzAlM0A5Ar^%s^66hurB|_tb6;Rz5&!^l5AHgnFE1D+z z6wPHYRfE|}aOPF6P$mfd1hO0c0TDsC2)0Nt7SM*1oaX{mvO!~4m(j1Nhyk1;9fD7Z z7)@UmA>IRndB(_LFsYoBJzA>foKekTRrUvcQN?A$1%g%bL=`Q<4;MK{se#+12g6*c z2bV=$!4Scsh5Rb#vvalPtuhuiT;qx)ZhJ5q2}N1CVHGcSQQ1YCA0@&%Z$$3utCmA` z@{UfwV#P4$>J3K2T}lOyB0DVnv&F{rz;*AV;1L|4SDVbw&3X+u3SgRr1!(}ySl+`^ zRVX;T-a<1k1>?w`L_OgVMhb=2(syWTmfoP{HQF5=6X@jk+jw*I#Lh9_37l~Bv0(!J zUSZ!Dj-*uTEDf=z(~yMY4Cf>wCQRV;B4o%!&c#ed=f?S5JdNEcu}nQ1gBA0(h+&y~ zxlCVC$oZJgoun&Wu3I6~W3tjDS?)AyIclzv!lkCYmMOPc*gu9n*_NErYEEBI+0d&@ z+LcHf5-2CrJUaJ@c?B_SK`QKjQ+4kmw(tetWCFJE+KwzOs)UmyupBi{= z#C_hMpcT*1hHvcs9TGXvLD_thRHB<|`0h~ALl1a=43(bpcmDx>^n>?b{8c-dUdD8g zK7$-= delta 44 zcmcaAb5fA&)W2Q(7#J8#7y>tP&1Igf#U{h3IN6;okXev{Ve@RZH7u+Q3``6G06`@S AmjD0& diff --git a/bin/dialogues/DialoguePanel$1.class b/bin/dialogues/DialoguePanel$1.class index 98cd5e9106066b7eb85a5f6356d5c717f2545c50..5c7c80e12261342c51504f0d4613a897bd51d560 100644 GIT binary patch delta 390 zcma)$%}T>S6ot>7NYaM1rlJ<98von684!0}xDZ6eg@`XOHG@QKQff$D2(kFHFL?$Z zpdcbHd;lNGg?Jm+ikma{9_D=KJ{3Pr_v7pB9l$m=EeOKga8Mo9_bJ^X)EdpB3zevA zdDRcXb9s2G+HLJ0t5COW%wy5Q0-^fL7Y8271iPmbbs6|7*5k~wgO#yu^>kMSVN4)R z@bVt1`mxlB4r94H+$m(KC{*0DsMC!?_D*ysO0=Ini$}W2T85V%fFStx(ko_OP|I~` z#D>5mYZ(S>3KO?*Fo4V3>`wp{O!3B1tYVEZgmp}_7TNn3_73JA?wR}WC)dCR69wvM Q@H@f%B{X@m^G+UsZ}Xr<9smFU literal 1189 zcmb_bTTc@~7(KHsEUXI@L=dQQv0}@u)Vmf{7p*tz7Ww+^W3sDnd#5ezh zPd@t~8Xt_${t|zLQO_(D<)Qjwlg@ne&9~>A?=oM$fBXdCGL}pj0wazqtA3@Sg6y4^ zbzgd_n#!4o3yeRKO_`NDVOBMj7iJ5-7fRPt^<_uaLRA;&47c1MwMe8=8>l>kmR!#b zZwn;TZKE<90`Y?HsBQ?Hu+f1|3o-QAFwrXzOY4BX63N#Z+ncKXP;OS0z(C0_%j$-# zyZYR6#7)oa%+}&)j<9e0sy{N!>3rU--6cE&ML`eMOm0c%Eoz2v!;bD=~YzGbJQ+NO)RF9MA}9MGXnj8auxiB z7e+-d>XRaa;EO~;j}|R`GSNkUcl00(7~HLy*>_yt!+y(?fj+LCi~#~9xZ06zp&tW0 z37o`W3*i-`HRgQm)*B3dz^UW`#y(?`+qr#1BBmu-|?`Du2ZOi8@S0m&KK2#JS~fwb)EV935;$AlK=n! diff --git a/bin/dialogues/DialoguePanel$SwingActionAddMessage.class b/bin/dialogues/DialoguePanel$SwingActionAddMessage.class index 8c8b40651d14b8d859f0c4076a9ddfa59547e740..cd9cd33cb32e227749dc2b39ddd7d1e91e070f5f 100644 GIT binary patch delta 322 zcmZ{e%`O9B6o#Mglj@k1n2BhxLH)D|ovQIW*jGp_L}K~XOePg+7ZX3bUPQ0LPe?Zi zi3_lC0ah-AI2kN$-gENiyw7_+t#`|Q{d#%GkHhB;})r%~dGnV2}TDdXBy@v|%{^8b)>EU~QUHDM@t zMNmvTJHB%J|B7ozt!B{q&_lX((8>3_wJ+)83WsY(xM4!x&Y?s{nWP|7F~zj#fb2Cg zXqnCJ3Y8%kh>H%{1f3NECgQV=_gzMXKDn8mz^97F6gxWRRY3t01Pcs_M8!$5A@6r+^1#Up69u=) z?HWVyuQ`LiZ1d`AiJSZUNK-_tF$8`e?;Hx3{%d$~gF$o=#jO){4WDZe;G+M8yO=Dc zpV6PX!ax`4bQg0S(p`uX2H_^WCwzbhj|icM5mMq`yBNh7F>=8omcVE(fMu+Zcb-%a Y*c(D3R*A0@7qEc>RSAq*^wUiUAKj;5#sB~S delta 171 zcmcb`+0V{(>ff$?3=9k=3bU}m@l m)-MK81Jw^y&7j4g4K#s?K?kfymq8D#ixDWM&cdM2zyttTqZ9%F diff --git a/bin/dialogues/DialoguePanel.class b/bin/dialogues/DialoguePanel.class index 32f373fabfb3a7b08b25ce2d2428ee3cde2c24bc..247654cf048f84fd4b7ec5d12101e9f17056ccee 100644 GIT binary patch literal 9790 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 LU3^lW?1uLL>{u(v diff --git a/bin/dialogues/Message$1.class b/bin/dialogues/Message$1.class new file mode 100644 index 0000000000000000000000000000000000000000..145881397163453c9da9f9b54f58b78c4d87dd29 GIT binary patch literal 1206 zcmcJOTTc@~6vzLwEi9}H6ckXbak*3L1L0V3Ok%+X`Xgm zC%h&wkle+dS`>)pyprmKz&;yoXtxkSmkkr$0+FOX&{JT*TeX!X<=>G@6(!JD@QSjs zD1ArEO=VPr2=wm^lb9k%chOs^dM=ZgDV0=7U@TeKE4f*nYc{oLVE_kB3<~t_$j!zf z3<-3|Vv!Zo1xW3hVI#;|CRlaca^~i3>8eWBLL5g;9APFJ;ZLiLVT=gaWfkUrAqxy9 z^Qmp#mLY3mj9#|s=2gHf17%?p2^+_8f`!d3OSi1@Zb_}N-t@%G;z-&^A8mRH9%^02#-!F+zN*WLQ<5QD5|w_LH5lGz{A*ygYAPTczIlPJ zg-{mn&&g`DeX&-5=GBT<*Buh{Yb|&+zo>3Fy6<*#I45+~I2f~TvEl_R?3@ahJ^o?m zUCw5%B7;B$7~xPwIOQT1)04%WmP~X|-`SXc0|viVdi))i_pskkGSI`doo9fDh;g+W zdkekjqr^$afu@H?^r(Gak6hirQ2H&b59p6?;_zpT#-n#PaqNL1;!XV~PCohZwIz(V zb`v^mq!D(gfw@lH$DFTqr16xO^ck+`r+D_j$WfiZ}1z9)9`jP~%$ohH@){FmQjo=c|4P3?*extm4UC450F$>)bK0g7Kpb9bo literal 0 HcmV?d00001 diff --git a/bin/dialogues/Message$2.class b/bin/dialogues/Message$2.class new file mode 100644 index 0000000000000000000000000000000000000000..5b11eab5de398375f9d717594cf7658387f0dfae GIT binary patch literal 1165 zcmb7E?P?Q26g`u~Zn{qT5!2XOtyQDuL%UkPO%Wtih$K?l64Zaw?2xW*cf;K@ibm1E%+6fyJ@=k-@8s?G*KYt^#gc&p!x7sNuHWg&&}zys z6dhSuG>~GLeImAnCHj#ix1|?ZO}`h)ySC^?GGG|p7H*;IcY9ri>4tKBW`%vn>sa?! zl(i|nUX@{F$?=@%4xttQK+?Y(WVnJOf`m(qH6e-;;<4BPiZsE?bY-v$7MygT56fdW7@z` zhM8efXg7`-9Ag-BLd|+Ta5^0&4^{oxBtFMEP9VpS4mbV2(u9Fg@v~Zt;fWbCYmsO_ zZHjKpDx=F@m97+2w<_xlM*(MvP)9~Jf2-?zR5C-pSQ-HD+p8+#JVy~FQko(j>iX)+ zT;aIz)BMQ90xlV_2xxdiIWA+7FccY5<$!#HWc9l0m$~Nmg0{Tps8;cKuoe_5^>W#3 zyM9Qs(v;DrZyUJ5F!@`@IBwxKDJN`OYs+8_P58ID;&soHLCqD^@DTIVkR**ho5-pu zqf?5Ofi&4i^^-^-L0_|6c}3eU_zSuvFi!gj`2g=QK|9xH6O+i&jh+y4F~TZ&D}+pC z2UE|HE?0Ijt3Z+(WK5@jPbohT$VUy9-wTMrC=_!zNpSNzim6n8e{Ut#h=>JGeN|!qh%riTAeyDRTQ1axsM@t`Js&{%Wq#H-+oC Ni7K7c!%%9{?*}4F^{xN_ literal 0 HcmV?d00001 diff --git a/bin/dialogues/Message$SwingActionAddReply.class b/bin/dialogues/Message$SwingActionAddReply.class new file mode 100644 index 0000000000000000000000000000000000000000..c401ffdccff73344a4f1f55df79615d25674f752 GIT binary patch literal 1056 zcmZuw-A)rh7(G*pEp@T5RsKY&3eqk}QSrCNgcMD{iiB#7m(%SCOWNILcMJL$K8lHg z(Zp-T=)LdYBN*e^ZM99>o0<9Mn>lm7^PM^V^YJr)735=x2+UP2S#x%p%F8`go+o$I zZ0W$VcUDc`a_rS=bz3!RuVaV`Ozp{i`6}lH>D+3?^Id8Bt#bk+o^pv)R<6f;&(_xj z#D>6d!LdDG+J0Hqnrd)j{MVaU^!HDJ6aKE{%`OY1iaiYSOy9F?%fBx$mg$qvmIa~( zr>cg)mo+4CGJyf;8Z@K?1~S=l9A|iDQ`S`+;{w{II!L?9Ymkmg@YbY;DV!CEH<~SO z0`r+-P+_hnSzpO_S!TX#=SgKxnSMTiKF3!}yN>IxDbIARMj%xjGc1OJrDfXgdTdD` zS+s1m*{oNT`&3qHN+?S49S5<+Tb_w#p zT7`?*$s9t3MrPhcL|7%~E*J*sOkus}hiY0?NmYqEW{4<-3$gN-d|s~W9zg++BB zxBn}>2t9#iT#Ml=$1fPdSB&BqllX=U+|h_d z1YE==&H}TTYokAEqo<5_NPfWOPgs0$gr!5|o_AmqA%X9N{}IBCg>kA42c&QVHwhTQ TEy71|8+SMdKZ4G~T}1u@9i0Z+ literal 0 HcmV?d00001 diff --git a/bin/dialogues/Message$SwingActionClearCondition.class b/bin/dialogues/Message$SwingActionClearCondition.class new file mode 100644 index 0000000000000000000000000000000000000000..bbb5c635e687c7ee114bdb818a8c5c3025b8bf3a GIT binary patch literal 1450 zcmZ`(T~i!I6g|DWWQTR)!bB565=Mgt7QzxFXtI0=OQK7FY-N=y^l2Dcn7BJbP4@)- z7e4zR@{p<|T2|?!5B?ipe2eAj*-1H-OsC4Z4y6-J8 zqGU|GeHknIf8E*=5ZeOh38AzX>V2=9$f2LU`MccvC%7kYPM-v7YC+(_&Ojaw9|m7}-VzZ&gr)W5dP;f#USczJ+(`v*-1sg-diw`MCZ|LaM@> zV>ZU|zJPU_^z#$AHoaq5*1H}#c63atjhyBF;X~=`hJn9K(9TH|>n*ALI5;&jS(p^4 zWucNdmZ8ptbia#Y*U)x*eZA)esyjg__mbYBjKA^@yHdc}iG1qlQBCeMW64|-xIU=G zn`=fDt1J-HYRj0Rd-6zNGUMl+>AHNx{ObJz-ZB5=RmL^)dQ}1oGgS3JDhsm$g}una zb=GzxmhO*H;;JN;>lW(do;RguXRN)eBiA?mloMmUf*bgxj75P<`M%n|pDNk*LTR&A zZ!#No5}oy}TWQA%=p2h?)H{trll@?wa+a)?tyXG#*~Kk3MC03>TUOvf%S>w+pW;>- zp9zc(bgYfrpx%}L`^yyaRT&!&wlI$dLn%E-d f9b#5cc!8xd?g~D__=1)KzC{Jw+j1b{uCh=fOy3g^#7}i)p48V5l#Ye3v$uo^ zC1Z}ZCu7CF-?TOfv_&}Cj6$VFsP{xKkz>C+`R}*8XKvmnoX|&sn!iLiy*+}W!Pl!n z80a;^*@ai!SN8~|X4IAA;LHxnc%zIWTn7$L6N(GfJsW5E&93N68&d{{VdKRaoie+f zb1;p!3HEW4fg@a8*ftdFJ;4M!I%b}YAItqPpL1i$xDggdEAYBL zapfx96h_mQF(>ZJE@3vOB?h`KAIMPGv!-1)d!}RIBGY-9xs57Ua$hPNi-f{%Wa9%a z(RwVspQFT6Nxm6yb3Gk-{&0b>*{Bn^FCXF~3zrE~!`j)pl@_cmLg}y=KQ`()iUyf= zGu0$P520>G{o^P!Xh+*IWXW6BYNfUpN^SX3*tj$FEbrr}rP>b)qEp<&D6I%gLvE+2G}4D-31a>jJOSwZ%uM)c(X|&3)57`xtN4 z+!^-*uYaUI9)Dew0NTemeTzxDgL8Bj@37tBSR4WGVvbkBJl@Nr|Bi9vgR5gt@&10% zUFhtW+*)Uc+$DFpI7UlL#mj%;(%Si7F;jbp%0pcF2W7K+j8(JHBU~{6icAc+V93yS zZ2q3-_6N+7&-(6Sg(Oz#Fa=Y~66RnyHLl?chEu^Z*0I54XE{z2n;i2x$1J1pKUOT< WApX7LOSTm76$ literal 0 HcmV?d00001 diff --git a/bin/dialogues/Message$SwingActionOpenConditions.class b/bin/dialogues/Message$SwingActionOpenConditions.class new file mode 100644 index 0000000000000000000000000000000000000000..6d2af5394425b9c0faf596b482fcba38aae6eeea GIT binary patch literal 1103 zcmZ`&>rN9<5dNkVTGoZqMY%&OR_H}oRJ_&@2*m_bfu!2sp6(uDN!cZPw&1h)7AAnk zA3lH&Wt`JCmRR_)J7?z1d^7XSoZo+b{sOR$asn|z$@N4tIBZE}zn4mhLz%0cd;Z~; z6M2EZe=7a$z;`{Zs08AKnPYJ#zSv4T*;@@2g~EwC-h?qFL&mGiP;tP=-3o!;5k?q8 zMZ%BjqS=yzX=8Hp>*j__7>bTOm0Kf>SNrNH^Yt6g_o5BLME-{RLY)xb4qQ15&TPWK z9RmZfOqdua4CD*-B<``#o;Z<7OcF-7TsQ0d>&M`@X%jP;B_vNGZVK+O z7KPks`I=?FaV(vvtik6wZ|x`uql#2c=$&eolE@HdHF4SKNM6g9Wyaj#e3g)@dcNFi zoit?lK{T3@U{wQ$X%kEy>s@19lS5ePZ~gWWF=;8D2iI{R!_Pr@BAMk(w;^#J+44;K zk=>csjy`iE29{AsAWum5O~FJ_lbP;q!9ge$#|?APBNHp&hKwGkx|cro46NZv0*{%P zo~PYAR@ysg;wjdd(O#;Kov?JnL<;?Bc-ffCxz5GS&2p`^pcOjut*3c6yF0(COJ;S~ z_hq=<6iP{Ee)`szfGn@h06(J`Z_glxSWC3E+=hLL8tu4AVT)w18>K;6B?;#$p64;sHxS4iCHNpBP)C zXNwm|U13QJ{av8+1NJ3KUHktz7LlMFrf8XWHs8)M(ZT8FU_?B_bIuaO3&xM(C0?=A L4~O3gUL*Dwx+xKr literal 0 HcmV?d00001 diff --git a/bin/dialogues/Message$SwingActionOpenRewards.class b/bin/dialogues/Message$SwingActionOpenRewards.class new file mode 100644 index 0000000000000000000000000000000000000000..f733ad03546502c7f0eef3d585634077d73405f7 GIT binary patch literal 1121 zcmZ`(T~8BH5IxftTGoYrAmu}pf(UIv76m^`Ob7)77N}JFXmZBFFSYcojEh-+`0Sn_qXo=*0B*qh>&fVqG=zurEBa<*A>Td zzS1$Rg(Mi zf%XW)TejtT!t$!3*_H#7Z#v_jetql^2E7y0onIx4mU@~f@bQLencg!(I@{+wS0zNY z?1mfySJt87nuah^I&_Q@!r5FkhB1yg5N9%mae}VMWE`K3##xg(rf`E0YqkB}2#eX0 zVrVo4^Q(9c(=7b6b67i-b+4eHZ*tYjiS2kr>DC>yrPPXHhA`1BF+|%)(her+Ic9lZXDmj* z9B#8E%;Qdg{(-R-`g;BX@e3^cfTmVgSXL(3{0id|3q294ZkYKfH9G3nPy023`s#P_01vr?N1Pi$C^^gLk9i%!6FgEdEayP%b!o50o=uU3JHdVmdiUqyC*{Xxd=nv z7K`;m*Kcn)$_@ON!V3;W3Q309eSW~-+MzzQH=3c6+);59!$c?~aT-E~bnErjCIj1M z7^?<;sJO2hywelI#pC?w*LPd*8AjBe8!oOf`mTDyFjf4|d8xsWtOhNS z0cAE}VAQ}6EE6X33`50IBaI6bv%@`+#x%ottfSz?3Jtn9V`3JU7}DKd{5po^Vohtb zJDe2Ol_a5+GdnMu`@&Hb4Zloz>wAGzn<8|i+tpU3G0!mBPo(Aj%eKmpt+~F~>3K~d zU-4!~Fj%#~A-_1eM(h4&QeR_O8q_>k6LKj_1)#*cLcR&4Ct3{ieFgkb+2TO>%8m>4 zRDaXU4J@OSLXjaiV7rMjRv0pEp?0~XcL=QD5%cT%`bY9n9IQB3N=${*ClVAO-2bi^}P zTWj|FcvUB*<(5y6u6B4B3Nkl0(A_9dI}Fh;k)Vzk#t5xa(JDPLp?fR(CJx5vWSmyJ z6rG@Xw!CtTZ22Q{Woy!!I>E)VHD_I+`9pN4K%<2ujo*;LcjWK`Gx&+Cv||#B2)Kp? zni&?c)TeI~Thp!b5wa(^uBRj1IKkQ})rcZ~5%G6Kn~HDrX*%nDJRn{I4~dk(BRr;A Lw>@<^DoFeVjA8tR literal 0 HcmV?d00001 diff --git a/bin/dialogues/Message.class b/bin/dialogues/Message.class index 0ded1830692e7aa6892fc3062856d3c9a1b69d0b..8bd6780cd865f1f1e9a9282ce009c24b3b359dc6 100644 GIT binary patch literal 10489 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 HeE9lbV^TR~ diff --git a/bin/dialogues/NewMessage$1.class b/bin/dialogues/NewMessage$1.class deleted file mode 100644 index f36eb65b3235ccf2cdf5a233d3cce0f5e67bac95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1338 zcmcgsTTc@~6#k|yEUb$ZaQ~ap+FU>ayGHZVT~Q6Jlc2 zgqRrh!3X2Bi6ZgA`0S7Hml*ZTQd=>_N1JqJ&Y6?*ecw4}_Un&Np8-rEqaeW0r5oI| z3nk$u7sUF!a9v&y(Mbg%hJic0%#(cGONz3vyky3fDr6PiU1xHAdB(nEb!vF>uw1V(5 zzlk$+$FlJn>*_^H!7xMT9*&E`CAqFpF@&gwV>nJl&a85)AhMP&HmLTLj3h=7(-233 zq3utwj9s!kzYAFvqZn5(M));|E0yW-wP;AnmUTM9b_(1w?ul!ry~0f&NkU9&I4L6( zM-*w0Jn5U#a9a9QN0hl~=-i|3hPYFpLJrha{xyNSypNNv|pec^g;QK2G&IvssBKEizq)M%3DPFIZ=K=lwK0$SNl+&{ukvSW=KH*v$#lm Rh@SiwOLd?@3crBY(5(M@J&_U6vH=bSsU-+z4l2H+vq45SDJ+mWu{iB)KAspFOkL)lTK zRRbBq>^s?$mOPFu)l*(%wfs0#FKyY4R6rQ(Nw?JXyK$E=-PEZctnk?JI@YUg9c?Ku zt`kPq9M6efFk1OfNtJyWr& zzznVva!!~C-wT{hM?1vC-fgqvgr~_&i?MJ8lb(MgZ&0k!&@D4}{Wxf=O-FZYd~m#0G%!atyteCyd}3NE zI`nM=PYC&8eG_wMHK2(}ecX7J;bCBu z<73J7NFl|uS*?BH*D1s&{z_q--y@s@n!^OIgm_ojfu*2CJAzM4a)sGmh z)=n|2LDC6GPM4=544Q|a#RRNywxJKkTT#S3!!0DcNY`5YKl~-eFERe|zu~9!Iqmar zvLl**zWNy^Yq-f{nMd^mcL!dWI)}=bqRNF5`Ev>RzJxR$Fjk6xJCAtI;4z+}&MSRA Iw1fQo1g?nm1poj5 diff --git a/bin/dialogues/NewMessage$SwingActionAddReply.class b/bin/dialogues/NewMessage$SwingActionAddReply.class deleted file mode 100644 index c94febfb49ceff87b8e4cc1055fec363e358625a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1129 zcmah|?M@Rx6g{^Tw$#PKw&hEdswiba)(`wFnvkLiq#&VMp9&O1m z6nk>6eB^k0Yj))L-de4;D;w?`4RONsfjAVetx#QCYt=9cgdMfx2&1747_1_Lkn^5z ztP^OHFjDlrFcMx=5pGisPELG(tHpnOBMe3RPB?d+Fkb4{M1dn#9nXm#5vKC}Ll!E8 zc+s!PVQ_sNNt{Vy0EP}7X~IB$p^`wBW41+ICNM$JnPo1JVS}5JNzR(mF^zMCM5Ed6 zkT9PwDV~-qm}NN%m~5fvvt)vW<9+8au7n|&eL45@hNVie5nOyn2Cw{}E^CC@4hwM< zS@KYNk<~WpvHIuklbFYXhCCtDPktRH7FiZy+dLG?rlo(G(9-7jRBY}DPr3yS*9h4^ zfOk(-UxK9^V$ALadx#?nio6D%L&#)~d+QU%cj jGBnu&9B(Ie0686ZagQNmxX)lQJV1e0^`h8StRnUcH+>qQ diff --git a/bin/dialogues/NewMessage$SwingActionClearCondition.class b/bin/dialogues/NewMessage$SwingActionClearCondition.class deleted file mode 100644 index 1b53be0dfd9082da65241c8f2db897277c43e2d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1476 zcmZ`(-*XdH6#h<q zh0p#6{utD;1;-hE^nw3|7vFUJ?j{U75GFIZ_ntlXJLfy+JNMClfBXgDT{QE^2o`re zw;SxmN>?{ke?w{Q?y0$U-}CoYJCPUo^{#Tmdf@MR=9EWHFn!m(=YCz)#;LlxqodI6 zL<4WZgjOLTw^XR<|9N9gAnSq?gwT=eM_X<;R%74Zd7SV4Go6sXXuo$ayn0F z=^}4VS(wJFg2F*O$Wm~j+%#OPU6)MTQAonIl;!r$UDb(d27ZR1?foE()|Bpq-hnAr z0keY2FjO3d%8ybZoiBsXG31@zpz4c)Qq%L*X58CR;b-nnR|)K9&|x)Q)|BU=F=ws` zmPVH2#m!?aOY9UgYpIaYdumrOJEZ9LqpG^c6sv8DM}w?0MSM1j*W!b;U+rHHrjP9B#8XVL;&znv7b z<@(B^Y%en#y&v=k*0n^vf+)qJ9`p_Z-(>%Mt5TL>I~$F}_C(GNYNGZ<%5B)==PmP% zalD5Q@_1ixYLs*>dyC7>T)FkE4i_CODZUG2|++S|O_weX4ZaCAKu!w07inzS?jP5^?2GCr~?x!;ZS? z83mS}z6*;cd4e>2UxoFqtF>aJsTaN$a5z?3zBU<7))vZMf5lWSZn5@{R?9&hMO2s~FpX2&#a>wDnjT|7~V_bf~r2L2}`3bMlZV`(J zcpc}t3g+;}5dA*J%^fU{{fRfXvv#??owFE{$%RazWv&s>!m<+OH2Anf&5vZ)Lr4zpowe1uiz sQ$iKjQ77A3{?>4Vm^X=8MCM;y&f{a@^Ndeu$)JJtwaW>?qgwYF#OUyRt8WtuT)qVe)}^BtET%+NHX@ z8LB`yD)A+Zg)-oP9T|jt_oMm>fmR7eYQ7gL;i-=3MsnoyCx3r=@8q3_ghOh_4QDSB zPBn%VvdA7+UC&iZgo)B{mvV=YtNB}U6rA5g0f!67!ZKmvI3ZgqcMP0lpQh+Z1LL|H zjmZuYPzAm=VPX=m5RBa@DUoo#)X+eyUBNKhDqysW1D5s82hvfCI`$N&ZSVMjT9Kg> zxVxG)1Ji_=B#+vWFLK%U{lM0c?Oww40-@M&J=u(Un=<%NY<4BVYWNOwD40n;r^cMV zMpzh1!a)sV{)*fkE~q5~&fSw+gy|HS=&P!HBt2D4x_49W8BreR8PWg28z?iG8!|L7 zN60jN0~eU3`H>w)>88(Jwv}%?gB)KsP$h6{F5!(lE)&KFMYOsebJh}`G+CHe zw2XHAeqvpT^+`|zRoDF9uJ7q;_jhE#l6I|Lk8Lj`TX%eK@sk0!w3YiU<$3{c=Ta64x&5h@3XbRc?KmX3YR#1gI(j-~_F3S`KzSgfUw%N^~pY~luL zFLN+=a|h(upF)oYv7pW*pN2P_P+$gbL`w0D5{?g2la@*_TLE*f?#eLga(PteDQYX> zJX{mIu|V^<&4Jo}6gcvht5sZl`JOE3ZgY^j=gFYf6=5hj)A#|e3~ZjrEWc419?B6M z;!{388DnF5y5l`Z!x8>+lus@8&hR=}nfn&S%6B+cu})a09^-VyI%A#X_3QYK&Hom1 z0R4Y)%zye1kP-j@ diff --git a/bin/dialogues/NewMessage$SwingActionOpenConditions.class b/bin/dialogues/NewMessage$SwingActionOpenConditions.class deleted file mode 100644 index 9c87ae67a3186cab09401a57f4b5973fa78a4d1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1184 zcmZ`&TTc^F5dNkuv@8pyD}n`-3J7hHF5WLi0|8Ai<&sqU;M?i;2#aO6+1-La!5`oy z!I-H3zy#3v;G+-zDC3;Au^37=*)ua|&NnmP%>4fI<0pWdco0R1kgM3D>TcDgZ?4Pz zHR=0eOHLK{ZD(uA3T)Tes7Ytpbt<+}{3s%XksYxoUYWjfGMCDJ;0Y^edJ_hG=`mzU zdOkmRwz@)~Cxkx6@B`rlB~h)*u7ozcc(C}eLg)^*ZGUQ>FjVN2N}fFyY{w2B5|Zi8 zE}0S`vg}r54>-OK4ZRw|Fm&iRM+m1gr5Mh$&$`%^F$@#>mnxN%^{*<8-z9a7V3ZK6 z)tfmIX3_;!saX|VXEE@&-24g4MtMhCL0*Ah!uGJ>IHG><6aYlTKhZ8}~@bTuTpTkclEq80^#z9a+p0v^IAt=Tj_cj54Pq2a}L! zPtT?&eGbE&NI%b%G+e`tD6TV0Z8)vzl_ zVfufU2)n4rVXjDFcQfz-H2MI8K4OwSVU9j?qrNmU7-~joWx(^t_AnzL%5c&&z?kZ&f diff --git a/bin/dialogues/NewMessage$SwingActionOpenRewards.class b/bin/dialogues/NewMessage$SwingActionOpenRewards.class deleted file mode 100644 index ef6d1d6775bc2af236bf5e8b1af73f672f0fc151..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1240 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 diff --git a/bin/dialogues/NewResponse$1.class b/bin/dialogues/NewResponse$1.class deleted file mode 100644 index 364dfdbf3f3c764328ac8fd6fd2fbe77687f6fe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 929 zcmaiyU2hUW6o%gcWbJkfEB*3YYF7)ivNrL?V7!o2qrtYZhWlZez_#lQ*;zn;mIeqbJy22$Z{I?W z!9C?8?nhkq{G-mP2oeiN5ajXU+PQEq!R=gb4B3itEw(}_4u@YlBL2)fkzgpbRKTM)k3(~wU*^n@G2B@! z#M>vig~7F?Fl<*+eg2}99gKub8r8Oq`*>*K0mJ&jggJPGGQ&zwByV_d){E6pc1dHU zI%D&3;x|>K;)adK@GNYT@$YOpc!H;d(bqAnbA^|bG=;Mgk@GKn9W0RMn3n>8q~E{4<7~dDyhWPLi1Hjajg(H%5x{UQ%B*Bd)d3C{rD? zG;Sc{x~8yzTQX&(#?H`KhC|jB+P$Q6meyiz_Z)@V-Z|Xb1xnvj$90rN9<5dNmEEUc%1P;R1#irNdZTm&yACWc^A(-H!NsQ(V#ld`((Hr*}tReTH+ zmBb%DfDdJySt<}yjBaxFoSn>kGv7CJ_Q%g}-vKPUEOw@efnmoRf$*PlE$g>t#DZ(|&j7A6?8 zmmGs2?N;5q^rT(G7Y1xWkh!OuLER4{ zo|&474@1|&W5QU^&M7>_GgeT$ZlW>4>6!R%Go~s*U|Ji#=Eg^u<;JA>D$wwVOdOvw zye#yyeIU6aDWrI}i={98I)VDcUnvanyN`W91q}09$r(1TVT5EGnq!W-qNlztMG!I1!3E22)Ko^WdF@swSH=9I}#lKD3HaTDy=UcSa%CrI5x7W2N}lv&wr0Yj}b( LpX7pwg8cjfWJ&g> diff --git a/bin/dialogues/NewResponse$SwingActionClearCondition.class b/bin/dialogues/NewResponse$SwingActionClearCondition.class deleted file mode 100644 index abfe34febe78043a4ee368fa4a3db7f5e6bfe475..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1573 zcmZ`(U2hvj6g}5=>W#a_$(B+Qnr5Ma+D?d@LitLYkUDK~a2yMRMc`?(8JaE5ZZtC+ zQ;-1h%0GaAzylHzEfEqt_JM!WH~s*KJL@g1NGwa9ojZ5#z31FB_m97S{T;xo=oFD7 z)OQ1~AKi_Gs<*}9J)sVwP>H$jAPDcS`8tTgMqhZc5rw;f*%eVBOyBbkz0c~(IMvs7 zl$M^ahu(wk`~A0zA3i3W(tClLyFxhM zID)G%J8`F4>U>(H6ItiC6ErYh+_ZVweONP9hv25+!6TV(H;b%B#cQ2B9T_|4$ z2Zk;SvxHijDwa}&I+N1TLb(-$q8;z=2>HIZ(-#D%75U7k$E@-`H5SY@ z!qUlnjP4(^S>|SOX&oUs{l3^G%%&K#X+TNy%DOIX4yMObMFB%N3>xqI1I)kDS?X!?g^~Zaav84TMHWS+uMK@U#%O7Xl(k36bRGTHd zjyH>VgK+Ld_1bs~%(>gGP+}f###-}3CY;R@l$J}dJCd2#JV)X_*GEkj zL|1$Mr<>kEqTC|xaG-7!OJCd$jJzi@b7#>souf3vP{>B#Q%Z2EsgctNEW#at(=BaiXqttD)^^ftX(?Z6Q&Oi*9URBhU@7o4*$l}RdpFvh zt>GW=8+hPDfCLC3Awh|d;E@Mj`)`my+*xnc6^UiZGjsROz31F}?)>%dZ+`%I8SNr+ zgv&dg=mop6jGUGn+?UaQ;74+5)eAN}bSdM*i_U*O5@pzeVOznBm+!exP z^GGC1>~h2NJ;lCLl@UJGE}>8lcH}r1fr%21mym~L!o+DpzEbTPIKw_I(U%4$H6G2% z4u`Z#eC?cxDLh9o_TwQ)!lg=6Q+0ZRiFQ=Te3vqo&Fu%$RZBYdG^g$C1)*A%ksEsZ zx^4z$2(!aHYEM4NWq%NawkB=&WfX~BxkxBCJzuus{sm>B!C+`zO*BeS8PxTl&r;QB54R*^N!!+FB(^82ZMcEI^nS)I?d4%hwNb*Wc)f_% z2xpE|sEIegH8zCnazp2s*!)PHX5y#7bo84hmT`-4GM%z^C?h7udab-y?P`w|6Sq-+ zn&cW`VN{aCIrMlCi|YLF)6qRAl(-1DW2Jaf38%BwNwE^lcF1K{{7l3>#zzgFq>d8q zhZ|x)5or-?9HTtP1bJo#T+nRjD>i@4FU2>QrEhtf zzGLZskDK&Ef~Gdin4;m_Sj8R2Q-*`PSYx&`{JVz+$6V)_CFK6W^&;LPe%#SyOAZ@o NC11E*tfWok{sXCsk$eCE diff --git a/bin/dialogues/NewResponse$SwingActionOpenConditions.class b/bin/dialogues/NewResponse$SwingActionOpenConditions.class deleted file mode 100644 index c9172f0453b51cf17ef5ce677b337ad9f07b142c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1285 zcmZ`&%Tg0j5Ivm)62f4@C?F3d0zwiV1HLr~ra-H(BB0SMT&OpbD-490)XW6@1o!@e zRj#d4q+Gak!ADv4O{NTLvYEcOr|;?RbGlD|eg6UA2J%sa2u8&cRcEIzJ!4ZIJ(FI| zu{}9eJhJSayy;txy;YO;nqyZib@8Hz5JvXIp?GI_D#*x}J>M0k-;5?CJ?S!LNxB|C zc(JigpvQzh#_)V$`z2AW%dXW=Pd|RhXHN;;{;uUsEfR(bZEMMK$g*Wy{t72fcZkW9 z2$40XB749UXo#aXjxcl$8qO2K=}akx0gl-e2Qr2s!nu5(Vn_tESkBVVp4jccPTJiK9E>JZOw7rOZtZQNqXq}qhWneouaf6no3o1;T)N3yeDk;r~Se^$Ss z4<6%URv*(Zv;Ew7lj5(A2tcpUL$A?KZ!k;(SJT f+(V9QSmw78g!Bpif1l4GtYDR`T5;ZJJV59-0kKOH diff --git a/bin/dialogues/NewResponse$SwingActionOpenRewards.class b/bin/dialogues/NewResponse$SwingActionOpenRewards.class deleted file mode 100644 index 912b0396ff5d37bc3073e469011aeb888ef18371..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1248 zcmZ`&O-~b16g{^sw3NY?Q9ebffKUo_Q2Z{U1T;Yr2vtnny-uGnSZ11;DfK6)m}pGY zpTOEgk+^VWT=Wf)3wTKYB3BFdTVL?E%_%^ ziicKos#!u}*|OzIWv3wB`=U^i1bx{td2)j1$9`}bQS%{W8+YD>CLUUXIpHeSr2E)$ zcVv+;7_=j*z9Dy|?HhH@ZmBc35yu$Dqev6F8Zx0Fg9#pxFiq)sBj*VdP5C%7reJUi zeM&fhRDSoY0o{~tlAiJ&b}q_V;7A*K)i4T*4w${gm76m}~Eze1c|L#HR;@5^EN&w78)8{LI{*Lx diff --git a/bin/dialogues/NewResponse$SwingActionRemove.class b/bin/dialogues/NewResponse$SwingActionRemove.class deleted file mode 100644 index 206cd630ed6a29c3502b75b09c839061ef01a0ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1055 zcmZ`&O-~b16g{^T+Kz)QBOii50a4nb41Rx?!D`~mJ=y7PA!@9Q*D18(Nddvou(_ndp?`|q#c06fH63JJo}zAu{LK}SaJwmjLD zQ9BGGxmY{#gM)QX`(dyvTj8-xAxW4z636158<~&pdLzK-WdHBL{!&efap}z4MbWq!0aQag{Jpy>x~$r>yybuU~NE!hdp#bwaWd z?#m2#0vi^tSQvm~!^SnjK%rPqV~lgQMN6hJLCD5@=2VZW#f6hLrf`FhZg=7_S(if9 zkae4asn)b&#^t`7*Nr3T>9Rqe;l{PYQ0WaBdCG4a&CX4RPP8kJWuV=7 zT`$c$k8fcK#S{uW?WIewQNl7Ib0GDOP+UV8FBD@T3??sE3#OyW8AiHmV+Ag&?S-v2 zVYEN5#l|u{E!@L{6z((YuE77G*zC(kym!_099yGr{0d{n5N7GbvQ3}kU*txxYGFrt z@|ABS&h@!_#WW_^n*k4AX^JS4EcD0)&ts0gF~C1dg6%PgAwH$Lr*tl7oYsA391Qc9 zt9;tw>;%WD((-3yOJ6Wjaz>r;Gh8n@)6Oi%Pu-e1emY13G>r_+V1#BdNqNlkz0FvR zfCb#-NLa+J9{Ltz8+501itHI~n{bLdXIMQ)wM+)hGvY!QZ9J~%p_#6a@r3abc*;l# PJi~L2<{x0oqm0BK4Z;M1 diff --git a/bin/dialogues/NewResponse.class b/bin/dialogues/NewResponse.class deleted file mode 100644 index 6d777e2e18c7d91180d6268c9e068317011c6a5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10418 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 literal 0 HcmV?d00001 diff --git a/bin/dialogues/Response$2.class b/bin/dialogues/Response$2.class new file mode 100644 index 0000000000000000000000000000000000000000..0661bec265f1526e23477b6b154a20c2f9204d8e GIT binary patch literal 1169 zcmb7E?P?Q26g`u~Zn93&8e?pY)~Z$WpSN#5>cpDK&})W_RXt=iGD7y_@$x-@XHI9Sa6x3_05ouHWv;&{~#Z z$M-@xJ8vMtP++l0E4~R@3i>^1dxPkqj78J>kxF{7$#SFxgP4FRZZdcx~(9 zl8QE^*R3*)EjXSN-6OQ(pOQ*z42ha=%M=(6a~#5$i8#_61~LrsqDmNVIG%je-CUQ! zs#td=L$=|!gu5mJN1X@3M6}_A4Ee?=RYZqxDiKS83`1!%Oz)67C~{Hht(MkIaj#->1L2Vh;{7vc`Q6}NV(hztrUR5_PauiV_tLesL&9AP) z6^={0;U^~MaK(T{K%+a#aTW7~p~R3Y`|KMQtJhV-%oV>IwB!Rv^(wtPT5}4Py1D4J zTtB2~Y07BBw+-B)hW_3&jyt$Z-U-{*?lM>-Oa5)Nc-`}4P;&*fJj4vOBu?YcCbDYK zXqTX6AW89*{w!jM(c3In-q2$k{1u&I7^mkLGun?oA^Bd literal 0 HcmV?d00001 diff --git a/bin/dialogues/Response$SwingActionClearCondition.class b/bin/dialogues/Response$SwingActionClearCondition.class new file mode 100644 index 0000000000000000000000000000000000000000..cdbdd7bd351fa88bd52c038da5b8b4a07983c296 GIT binary patch literal 1456 zcmZ`(T~i!I6g|DWWQTQdVG@lX36lg3Y;ZRrNTSP!u;gP2AzQ9eQa%ks8zwF@R8LRP z-{3#ce_)jlRwdE0N+0v!KgpYaz*J7p4wb1uUZ$sS-#+)Ad(Z8EU;gzEfH~YNqaZM| z8+g6wVIt$kmoh$x!dOmr4}$D$|JUs`0kJMHM2J{>q2BU(i5&R#zlmRds(oK5XEu%} z(&YI<5C(cl;Ox{%4%1r#rB<{n2f^4jDtM=YA{-kwP74&LrnfA-N1sh^Us^azr<9TF zA5n@cyg6!P3?B+u2T4Cefy+}HhG(Pak!4pal5OTJ4|X0&UpEc>If8cgBBj@4?5p6w z6w1PcKrIWEC?!Lk3+a9rDc2BpRaSC=>P8UC&18Q^s;|7Ao)mC4BA=D?SWoUVW64|- zsGm@bx3`UTtg=VUt0NU-@5^0*iHx9ks2lPz6KwQ*c+32gSQ(c|?9Ccjm}XhGWo+S! zKw&eo@Cn&Y!*&*BS>d5ttq;l0*uHYK3modvG=cTp&AT4Fb z3#CoDe#&g(z38xST}xFfpmQu*(LVKSvOnIaoF!{!yPevOgxsbgn&0N!vJM}&Ot%Md z1D};~lRY{vS{t8(1+TnTm}%vkb!=9Mv1nt-$aI9$(I2q5Lq(7Qr-lj`?_WE)Lkz(b zR}-x{S^}r@xn~pw?2cklG$%Xh8PGO+)zzN={eABsRa6d-5XR5nha%$cC!kKaE#Q`xhQ=I)1SC`KHjPcqNRG(n}IV$Gw85YbU zo?_l4P$V(nydfjzX}-bPzKKhsN#!qKPAp;7=t-@`o?IkUHltW>rM-?+4@9Rc3I1jha{UBXkiJT$kvZntUo_QycW{rron12bWmStI}P}b18SEc5#_d*h*Zy z&ox?AGWa1$1D)oZKKC~;Ne~WK_=bxbfgAGyK6G%E8#!#Bjk{UJS|XMn8}cJ-p#7vj zh^}Y8B$y%Ajikp8wQP^}V(a3yr6d&VL2cK|9jvCX$ zXW#-mxr=PqUM*U^%mCLttXLnO%;%@2q-O3s6Wr;k!JFfIK`1l1wbU3M9Kz{g*10%> z*HT;#!&94fEohVN-8Lfp?v6Ofoa11Pf!ax`LU}8)_8L1J@kL9RA)0Y4Rii7kmYiqe zHG_|U2c^h=8U>z}5uD(Ylbzi0aXWO`p3yMIUrzF=#kUK*PF62JN2U5JPF4Lg{@E9J ztLjhr7kK?8dlT@lj}kzSFiKzH6n%|z^bOwOxW`zGfOj#&D`6Jz<>)_S)V{&>k(ao* zQ}pNBJ0-u`zC-?kzgQfhg@xkP-*9E+{7;ywK11ahuKkI!-MzrFUFbQkSpr2C23)XW z=vxj89^DRRNV3BpV~O^#Oi@OrI!Kt4;ncW+&zVjIi&(`Pi=Aei2G$w#CS#US_!mnK XZV~^<;x!$@d} literal 0 HcmV?d00001 diff --git a/bin/dialogues/Response$SwingActionOpenConditions.class b/bin/dialogues/Response$SwingActionOpenConditions.class new file mode 100644 index 0000000000000000000000000000000000000000..8414d94d66d0ac116341758ad4d6b7b8c9f5378b GIT binary patch literal 1167 zcmZ`(+foxj5Ivm)64r%~6+!L+BP0P?6ugGgN`Y2kML?r@-)u%$47;h_3HSy6fWKgs z&sG6iKKSSZA7$B-tVS#0WoLS(`*fevJ$v!%`wsx?*oY%SSgtu%-P>=9z)3j42Fl4SRs-oAQ&ajX7MbRknQj=rosp-J@{YVDV8qDZQ)|}g#Xs_k3@}23Rzhv z(iF$Sm1etbPt~5;3}6wtII>(wcQbV4u|&{1+NpZGRMHsZmW~xAf2uP%drX^?XjsLa zIBpXrJ2+-%yVV*-9cx%;T|43JbHYN8zT~=#;GttRr`i|2+44-5rDeZ+VKqXXwX)ar zZSl-eof!P{7*-TRg1+s#!r!c0K_Ivp-ke8PqFY5n%bRXSuNq=H<)Kw=<-l`qs&Jk_cQDqG@9qU y8O+lnmMM!h%C+*3wsVB})z9TF?r{b8IW~q!YL4$8@IHcvc*LuEb^ORsK;$>B9V6-h literal 0 HcmV?d00001 diff --git a/bin/dialogues/Response$SwingActionOpenRewards.class b/bin/dialogues/Response$SwingActionOpenRewards.class new file mode 100644 index 0000000000000000000000000000000000000000..24644b2cbcaf2da05fc391c8933bf606ec437e8a GIT binary patch literal 1127 zcmZ`(O-~b16g{^sw2T9V%C{&55!!+b3VxQD5D-PnM<~|y>+}hOWu}>#Qh$LPe+X+6 zK;y!dap6C5W4v!>NK9HcbKl2(=iYPPdGqVfx9 zDYq>9aLx2B$KGv7dtbJMTl11g5XO(isrX=cD#KW-dcG@6KTIX`d(vgJigZ0b`eti` zK(7eB>x}9P+pmavQ+E9ppI*N``*B9-_Kz%YW{EIZYVV@R`>U31`OgR=xlRfB3L&xX z)MO91whj%~G{lk7q2oFsp37HK7~-5AaUxR~A?S)u)(!b+d}>U`IBpP9jb_*#VJ=rv z9F4kQhGpMnqQ!q!cB{wI^ot7mCRZ&VIj+AUJ=3)sO0N_q38O(7|43ey%CcNFr?p5( zmn>WEG*7D1JrLEpBxFjC$(jjPj_1*0LMcO-??C%Mx5IL!`6{@DJ?Xx4+!I+NOh#Np z%Qxhyw0$GIs^@CV9C|Q^d=feCqWuDN6fjRnMslf6+l0{=;I58ErFUQClRZ~@46k7c z_mj9s7>W?sV1bb~0>|lC#tPqYI3vt<&^_N?kuAldO@terd9mZlzA)c!i$)};R(6`M zDK{-8c<+_Z7Zn{g#g=VLcfBq=PqOC2o!yTt+a=BqC&rHHLO0Kn!7SC^ubdZ*84SI= z)5o(t&W>>$FU(&cUHF25LS`^Ce2LLQW+HQo`-6Y&+1_mNGIx82@HfPAgHE-kY1ZB z%K~Cmpnr+LNP1CCHrlH9&*r=LM{lj)0)5er8%{3>3{|=lDD!^N_1x&Gz-ZwtgJMk} zz2tAH92nb#fpZ3WV3{y+L7=BltYtAwn>E=~S&RzgJC#fYNs$H}$4rdll0dfA?j$HM zTd3$V?S^EL)hJ-C$}Q{%9?(efvY=y5G||F3EY-eD~m~i;Uto-@PD{@W>9fG zwbpLdRq#sI8%n^c_zpFbRF3=PFs=OrX3i+PyD?NM&n__Zx(Z(VK~rrBOeQtR{m52( z%8Tqym!9i?=5AmX#S98epj&$rCCmxrwpFw)13Czd6p9@QG>{FABnt`3Ibv>^n1@ZB z9lzPq&5XtC*flv!I-r5uxSPQphC6keP)rWueYQJ@=PYjbDWhYAZnvOd6DR!c!UT+} z-wqu0!qwvTACL3A1`3!f97F~yPS;nPTQDtgh!T_)aT2L|+j#sB1> zpEu{ZTc>r3>v(DIBl4wB7%W*s*2p0)maGZu3fB*@&lJBF()@ly4&O0|9~i?=T;+*L z774h9>sYjd%;@C+HxIFJLN#KGBNBhbw2_WSLeo(n;30V_JR&KD P$9Te3k3J_IWu*QAJ9Po3 literal 0 HcmV?d00001 diff --git a/bin/dialogues/Response.class b/bin/dialogues/Response.class new file mode 100644 index 0000000000000000000000000000000000000000..333b79aef51b6dc079e892cb52d64e69476f7161 GIT binary patch literal 10762 zcmb_i33yx8mHy9rvL(yUj+ca>h7dz(No*REl+_M_EQB~XB-kdw0UBic#TLktk>og` zVQC1YC1opt5(p3&3WbugN=|TCy0EoOX=$MgZKuq@3^T*Dz)ZS8Tl$~(q-RMMFw<}H zeb&9Y_uO;-bM8IMy~_9g`q&cyj*_4GVF>E_BH?Jff7nhoci73Hcr0oA;p6yu;q~DS z&B>8StiO5L%5cn%3d$m}K6?Wv+jX`%8s=PQDnXJ~L9jO->x-l!WFhb;?2&MykG)_{ zK-*$LV7(pdizl?}zko7R+ViFC4JkqOpq)&H`|UQBVRL1TD`hwpi8i-Kk}1ll=#2Eo z!l~heE%;Q?^t?P!ZLyTyZzo#kb4^XsPEf~Hb|Oh^XQ)J3Ca79Ops8>ywJIDPw#!~Q zZpW+#ZhHGNPAHrO2|L_j4@EZ$raF8*Q*>o#$=TN%9~=@)b_It=Qq7Av5Rch0#aa{X ziRMh|=#-=MSha_H>?kR%aIc!J!yb&Ur(!O@9MuA6j#QIfsue?ajL?Qp^y z7u2g3OCol(Z*g{mRq+ES>f+ESTyMeYxs9pyhE{po7Syqo3F^r$o7^7nInVA*C7Zjv zQL?HXN7|7)26gV31JfIW1l!bwkyMe%4n!QEQJ!@+TPS$42|UL+Pt z%@>$6XRYE^EQZg4`Pwa;1mlplmV?d>*En*_aca;?&@|6pVrl<2^v3ob^cZcvD{sL zx`o3rUG?a+(1<4Oonhe!H2JYwFg-u2^u!Z=c7m=QvllvDKf1Zo&aS!6#O)8_Oq`{5 zKU+{fv#qUd)~X;@;d45)mU}!i-}y+-Z3t3k*g_9_88DJ|%4IG%*rm-mR#v<_o83Lz z!hs0+(Jwe4AL_D|@uA_N<#ud1h;^8w63(-5J{S`N;l4g+R?u7kCKm|`UCv`fiGIWc zQwrp$h_;kH7ytuHdG6>9BBA;+CQiwU$Pc}$@gRmRtjCC}v3qcxgPPCX9d<0V4jV08 zh|kl1h+lAIp>3AsaJ0@Ugzt^}aZ$02I_;rwBAn7a+oU#Hhf7t)7kH9N8pdVaTo^Y4 zU;lrz9eM3&Z{G;f?WO`tla_|-Kfcj5#{yGa^!S#&$+0`zIE?=zEH(0n)r*-*icTTte zCJQ@ovukb_j$m4zn(o;0aEuvE52YVFi<7Do{sXv;ymNV?;gdn!f`od_9Tq-;X@2|z zk$En$Bpyoz@HHNduJAy7FdW34xJQr1*S*ay$jYv}+=BZod;|A0>CzpP2chI))e#5c zH>rasD{E_RMKYBLM`EdD5W6wQkB0=4JgPPp3_9~59#I^RQiggd-L!(#84IJ>L%0!# zjPZTkUEP(fO7@tAG0b9p(a-(epd*i4c)}ams0M#Z&(gOT)AE3ir(2h;;}t8Mltg`$ z&vz_*SNW8OW4!}$8g@6HvGA-8`PN0EQB4^)1@JxYLBonz!=h-U_xuK>dcnd!DpiF- z8qpJ_q)++r!{TGFsn1EGLA>bZmLFSaz#)FTOfyeRkOBNuP`Nmpl^fa?2k{g9T#fe& zrlqWQ`Tkwtftr4sm#NHg<=xElOACkLQ_Aeu7XAspp^)AIR%rHu=+Hoz`p$G>=ZpAf z3;&|iLGB#0DLp2s2ks3EhvJX`{*5usDFFyg$N$~JCw2TkX$-dx;DjIll})g@aJp>a za4Hp#1@JoxUeMRq;ANJ#z=-e`hW+^O;&7*WXsH#%yRPYeZ{Yw;4d9PFi8|Sk9Egv^ z8rH=V4XJ@hvZ2Qj!u! zy9ftZk6>yx)Y%O~bnj%tNF+7TFmGr+Da5eE)JR=T>vqNC(XPmlD&m(i)=MQa>YSkX z#7~?;)=ecVi-H5-*5XbO7YSNYDV89lNhlE?vJU$Q%-b}QgSF-G!&$Gk5hFPk2f$?2U0vt6Y6>g zx;Nt$@KXvFj2H1Wt{c%yy;6KiA#B%~b4Hm+UYp~be^JWqKw)9Zvr?JNl?H3)Fl^-L zv;y`3c>9-MS27gQjhu^^`c|_gN2+gW8dIlY#z^QT%`cy&;U}KQ!{!EMt{kn-b&Qvu zy?`}-9_ib1oV57m_-u|YEJ`eCm3iDkI@$90aMB+4twZvX5hG75)m%W}xK)MT5}ivS z;X2+ygSbxWTzvepfDy$>sCiL;;cz6%>Np^aNX=O4Ud>q_$Vm*Ra*`~u zWC?c==z?z4g=RGbb)-Wep?E z^znW>bxQsPk5@HTWFo69%+%bfA+ms=)^ptC%7mSyJ(YZo1wYDlht9U-9Qm9&HLLn? z@A>_S_^_&8mqX!Q8;IddIoFb~bkRg4@38xHsMnG{9SSJ6gl)%kaGfRnI_Ound<;-g z5lha~3q}<&j*HTns3n7#tp%aIJ{*nog;UOgxFth6%$JWLt(Lg7GewNc!$aA?S)D!W zd8(x>1W@k6aSns(J7S^C8Kmg!)mRlCw~dQx{5#7d*<{I?4k}02+}jH|cxhPVQcDs_ zqug@!hm+&wG7A+dQnekQVL_w&SV{6+>`;6xw}VPdulB}i4pL{UN>IzO>m?YFM@W?$UaNxBmSkjXQ>Ryc$O ztI5mmf&61!;U_enIxT~b)6)5!mVWKDbX}*VhdM2v%E)CB`vz)wFReu#zt=n8Cv%K7 zJNvAz5OT(Nb7fnnPhn2W7cHmd!;~}MKvc?$7Y?W81;c51fni&xPf$+FwB4FG zqU5xEPhuOQL_YTMvzaQbVJJNS@LkXYN2PHzyT^8O?D#b1u|Hq?C#A7~ z{YBb8IgKUkFV+6CG)`rIx%OA2v9i%jqeDNsIJ&BP3}<$mra6i=qc|sna~m7e=o`a2 zN*ZWyY}$j!7zVrR;-k1=`4NqeVqONRrXw=guzC!eNObXOO`pl&5`H7qW>U5ILO#+h zP`Z%MCEP;7D_Y7zWo7$1LZ`S%68eKnOUy31+~Ca7&Xnb#(hCA0lFw7g zmS7H8WvJ4h#`i;&MYt**MEbdpi-V!c41N&eDz!>kO{HrUTJ1&Z`J*&mV)rNAb+6C@ zFOA}7X}rqbtF^c^gJ0!DSs}|6Vg|CdvmE6uN0gh)qFI_8k)q*aBgilkLJ(yAzDZ%98~X|IQ>RGO#Bo34=mAj3CH2zj$WNOh>XNJzCK zL_hb2sy!iZhN>xK3~zPU{dN>@w@eC6BL7n}cqa$9CRF3BtSQ%(HSWsLq)?3u?p>Ps zf700Rg8Ks(?=Jyv{}}$%?GyeR#rqljRmti;$cW^m)P`!w`RP!tWAa)`bPnzQP%TfK zQhOfi_+DM8j)O}a->b`W(w6$BP<^4BP7X~bDK(;-PIgIi9y}#9g;Oh?sVO?uI3~Vs zp7T*D&q&2X8n2{^!SNLgvwtdl{0U+bS{Whd@vZy>d=?9FA|LNh#mQKSB{&1^IFIk? zajd`yM>e4YSD+JDqYK;l^t}_S`RaEj->ABg!5Tb{v+)eh!4L2`{03|JNO7)M2umH` zzh|IN=E9a%tdmpus(m^JWHllZ#`!F7qmsm+T*z1GD-oA#`Q&^fE|8r_$X&c;?M6z{ z7?#JeUS8$P@;lfdf5e4`iO(ArHW_ue$T$=i8#8f^|;d5fo;ZJ__DDZR~vh9jqyCLHGYiij9=m_#v8ca*pKbT`?$dr z+-UmoRkIE|%;~tjeoyp_kYN=|Sp4K9=Uj-^FTt*4nES{E;lk24|Bd2EMw2X8V3;7*?czZif$P5qn3>Hqa$XujTy0Su=^*eEw zH9jh5+|Q2V<&JvbL#Lh!%O%LN5qe$@;e4vBN|!fIOUoI>Kz>hgf5-z;?g1(Hfbg=H z1@cE$a|&c9fpkBE#ZdaDcgoSWst@Y~^1obNU<)zH)^$lnBm{CuDFuiFN)wQzMgIuA72p4@@%-%wSZi}wE-|hEPWq~xgEUDmasz7wL;h5ZG|q^3Q5-r zU4OR~x<1kh;zzXva1wuoI$8JwtW?qp7OhZ4E7Z^mwX{Or|H2BxjO*^n&p(vwAEdGJ z4y8o%Se1E)a)amCeK+;0@nMI`|xivevc3FzXIfG$x$$znj8 z2pL`rpSCj;`wHVaalAyj+64aYHP+N;ZT}e>e2gtl9 zt||%Y^&F^e#h|VusIL&z^&bLC@52g;F9mFQ+vFd=v(@l_O);n&N`m6kb#`(7_U$LA z*}8q#6oa~npmq?{%^w0vFXsyCIzl(x%eh=%3=T&ZgWFjW+;%TFosvCUTEibbZI9fr zS8g$|dK{gT<>ht;uU&b_CV2;Il9!}*$sMl7W*f)&lwd3&WT~B8{-B%7JIxdBLEA?!ewd^O zc?Ez9J!r2yY9J$f>Ltf#iy;Sjc<%V%L5kk|437C|&SMTN+015~6IX8g*p-jFE4LM| z-1@OApLADlEndm|zlx$+@KB|1b+?o~ag5KLe-BziWz**_|7bm)CbJ_77;Z6T`V`+C zA3RN#%&E#b`Txwh$yc=F&$^nqJFc}F_hWxXo@b9$TW6D=X19{)(HAY=RLbOQd>_3V zwQ?_}%Y8UQzJWDzKW=5aTOQ(nNqCsQX+MJB%A<0Kq-7>wGtZK}(!;mPO)@6;vrY5S zai2UXugFtIxjbo1lBbOm<1KJWXD(ueGCDm{E)m2 t`H{TDwuLtZUSsqhZ+h;(MP&VBdhv3$KVdtc?aOSJvVDc^v21?|<8OA9fF%F` literal 0 HcmV?d00001 diff --git a/bin/filemanagement/SaveDialogue.class b/bin/filemanagement/SaveDialogue.class index d3daa3a05084a9eb25e940d7d41db63cd661b020..7e525602ceb5756bbee6af6b33a1f88fa92c63cc 100644 GIT binary patch literal 1251 zcmaJ=%Tg0T6g?f1Oc)1&gaC?&_`pnf3?e=UQJ#twWDzPBWw~gQPBJje#K{ExBiC#a zORD?;zs8+A%iEJgB0(4Zx~Fg7bMHO<{nyuT02c9DL5N|jXxZY3JG>;0gyS1oek|54 zZo8$LP!MJqIN-cM-e-s|S&ro|GxVhN97A}`EeI7o=+zKGl%YRkIpR(2 zXkU1{eBTxf@r;}2c8+_NJhzNtzid?*#xwt+VAAuF5<@EWE^|gD>wA_{GP^B$PQf6< zaB$Ufjn!JQC_GVk>sh|=6eNgD8{4GR+x8@b)@fHT!Z30^;A+jX3&K-z1!D@X{#BhO zB@Ndw&Y&D~yC!yu3{$BNlFbU5dWWf%iHc!N$ok!2NOroka6K2pO$OCisaAzQSKz+% zxUJz1rl=#lQV~vpVfG@|u4t_^O!-7ggN`&q%y*li7=}_85*)&Wia2H^%Q=R@Rwyd6 zETpODR19EVqW2gQXK1s;E&RSl(xV(BA7w+N$3qQ|q-r90+pUTio=_)@4X0#V)p9dW z6VDVZ(VOiCZS8D)%8QC`xsHbAKynq*gP-+z{&3ghdD2TX=m6;}ae;0~RTb`+r7+L8 zm=qTcxOohtO|(l!bca!hRz_D*;xhWlBAtKGNk01F6a#ywh|?IN zF}yeZ1)~jIk5ATdtB$)3OgAvofU!N3?pdf~VWy4;|MGdFNKIuVU?YhNMuLRW2uspiv abYlaXw0lW-FG4?YsK5-H))$=s diff --git a/bin/popups/fileChooser.class b/bin/popups/fileChooser.class new file mode 100644 index 0000000000000000000000000000000000000000..2b1e1df1e2be6f435330f3cfd63e228d1060bbce GIT binary patch literal 735 zcmZuvU2hUW6g?McmtD36OD&bEh@Y?~?u&0UCI(}IQfop(;^RQ4uywn$*`1aC7Jo&3 zp@}B`0RNN5JAlDNv&o&gXJ*bh_ul>S>+5#_&+*hkj<6G}IEz#NEC^+Hs#Gcy3k5>u zTznFKD58mfJUW+SP1rmPqCmeO$MTS)N1$FMg}?wqDjZX4Z^;GFa31Ji2vrVM-D2m zP1tpD6MM{&N^Q;uGUPG>6&@M7(OVGf-JFmMc?d>#jaC zF3<$ek^ciA$2*=MM~gF`SK@WUyGHTL;@IJ6ju}LWqr2L>*y7B_Hp+~c$Cpf& zl@Hh0dFvJCsCqO-^QSyCIA2c literal 0 HcmV?d00001 diff --git a/bin/windows/Test.class b/bin/windows/Test.class index 9cf854e8417faeb1a7296cbe883e383ece636848..5ecc8cafcbc4852bd0baa8f55c1c90015cd71178 100644 GIT binary patch literal 1213 zcmZuw+foxj5IqBtHDS4vfCxrZG$F!zzeQ1uP!%hHRY9sOpN7p;vap#+?M@8-ia+49 zFKB6%AK-(3q-D=0z*6`!Jw0=}=gjHuUw^;<1aJ@Q7Wx?MjwfrX6FS=>)D{v9qkH@V zcYH4E&erapa5clgQ%`z&g`q!}-(g6UR86GNkED%r7+@Hwcv5V(o4X>|=DWUN7_TUo z`#U`FjNdy<=!O?E3|HcB7Aaqody*lOdtW(uyQ%|E){FU_6vi-NVVogtZV#N0!t2i4 z@&=c@E&>~qNHfgUg|2=KwP;q9+FzBmbs_wc&%8XgCbc08z4?@j!t#TXcgkd77mIF6dra=S%hn28Wa{TDAF z!IFW{?Lh8upVE~XhN9wc@K&$)Q&rUtT+tOgX@+gt@W(u8s%Rd8KHAYV(Q1+BkY!}g zEq=xMFVS_1R&xyk4AN?M0c3~BOJW!!bYg;kQ?dlv1MhRkQ2uM`e3^8?v;Uol@P zBo1+|>&8SS&{C5MhQ1HA3DP?Iw{y znx-Q|pPIq~P1O=+BBqO7HYnmLMW@Jnh85zPAff$?3=9k=4AK+1me;d02r@E=r(`DPv@#i>QbF=<7Kd8sijsm0kP`2{gfrFkhisl_pV0nWuSFdfA)&iT2yiFqlhMF>`W zcxp~^er_rkg8+jl4+ATM7$bwIhEG;vSt7rFPGVlVesD=qW?s6rX4vGfO!AYMok83MlA*fMs)^FMjZwNMqLJTM!m@=nbQEcbqBiu diff --git a/bin/windows/Window$5.class b/bin/windows/Window$5.class index 32ada1b3abc48fe9f8839f1afbcdf4add2647d2f..16026d086a3a7a7d17089787a6744a1fb96be15d 100644 GIT binary patch delta 43 ycmZ3(v4&%VEiK##jbv#yAEA#%Kmj#smfv#zY2t#-z!gnbQF9%?dF9 diff --git a/bin/windows/Window$7.class b/bin/windows/Window$7.class index 7b239c14496f120da6a7c48c256aeac6c9edefc8..1622a52389dbeb265059e635ca1d60258795bf22 100644 GIT binary patch delta 43 ycmcb{agAd`JTqhB6#$*Of#ta4%#!Lo##;nO7n9~6B!wO;m delta 43 ycmcb{agAd`JTqhNZ#v%p<#(V}%#u5e-#!?1*#`|3*)iLhRkLF*-#4% diff --git a/bin/windows/Window$SwingActionOpenCredits.class b/bin/windows/Window$SwingActionOpenCredits.class index 39fa45be612f2dde49a7c04384b81e3fdac83d40..79c6a8c1f46861ac3568fb2b37ef97580b173bc3 100644 GIT binary patch delta 63 zcmdnWy_I{z1{Pi>22Lhs20=aGCBxO delta 63 zcmdnWy_I{z1{Pi+22Lhn20=aN=gYH diff --git a/bin/windows/Window$SwingActionOpenDiscord.class b/bin/windows/Window$SwingActionOpenDiscord.class index e119c41443d87d407aaeae8c74317af1c87f4b47..6ed8dc571cb81b9ff944259bc50947d85d3a07c9 100644 GIT binary patch delta 37 tcmdnbzMp-AB{Lu6R|ZbTZw!Kr-x(wse@u2~wqaxZ#lXt=dvYhU8359K3kU!J delta 37 scmdnbzMp-AB{LrrD+4DJ8-pMdJA)(>$7FYA8#X2`2398S$(_t*0CPzNZU6uP diff --git a/bin/windows/Window$SwingActionOpenDiscordBug.class b/bin/windows/Window$SwingActionOpenDiscordBug.class index 6415a130b72f2b662c06b17a048f701475e2cd0c..a4c515e862b6076192c08e6e8274be320f6a73c9 100644 GIT binary patch delta 35 qcmcc4ew}?o5Hqh411FO)gCLU$gCvvbhzC#r diff --git a/bin/windows/Window$SwingActionOpenIDList.class b/bin/windows/Window$SwingActionOpenIDList.class index 6ebc89ebf2bc97f1445e9e559a290850fc547bc3..6320b00133a44231141520c49faab22d225cd9a6 100644 GIT binary patch delta 35 rcmdnOzJ+~*J~Qtr22RG)41$bj7$h0bPPSpTWj)Wp%6MUN9kUq#vcL(= delta 35 rcmdnOzJ+~*J~Qtv22RG?41$bz7$h0*PPSpTWxdb9%J^V%9kUq#xZnyc diff --git a/bin/windows/Window$SwingActionOpenTrello.class b/bin/windows/Window$SwingActionOpenTrello.class index ef2c5626fefd4b2886249a740339c17de280b318..450566f3b208d238a94d1f1e43dde4438bd25cda 100644 GIT binary patch delta 35 rcmcc2ewlrPA2aV>22RF(41$dN86+7GOpa!@Wj(~e%6NG4TxK%>yOatV delta 35 rcmcc2ewlrPA2aV+22RFv41$d386+7mOpa!@Wxd3}%6NJ5TxK%>!L$l` diff --git a/bin/windows/Window$SwingActionReadMeGuide.class b/bin/windows/Window$SwingActionReadMeGuide.class index f4b964d9c5f989eb98b9d308194d76f087924c53..402f6626f89f962f13b9ddd63f2b55bbddf333d9 100644 GIT binary patch delta 55 zcmcb}dy#j;Q&wJi22Lgg20dUjR*(3XcE) diff --git a/bin/windows/Window$SwingActionSettings.class b/bin/windows/Window$SwingActionSettings.class index b1a832c394cc96d0bfa1c08094e810df558b1fb6..b85f5b83ecded412902567deca473b85204e7ab9 100644 GIT binary patch delta 63 zcmV-F0KosN3#$vTrUVV(00{x%01*M=02u+}ld}YSA>{xT0p|c40q6iA0p$QG0qOuS V0qX!a0qg)h0qp=o0q&De1zdI`6ITEL delta 63 zcmV-F0KosN3#$vTrUVV}00{x{01*N502u-Eld}YSA@u+j0rvnK0r&tQ0rdbW0r~(i V0s8AL z_2H(rMRAarTPJ5n>KG+wovpEDQ$ykAMQw2#uSotN=f~=(z&KD=nw<)f^cp!mUdP#T zTGH!Nb9PJsdCluxxwa~rZpS(17FVug5~^icHRf*DS&k~y>X?G5=GU%qwkn*b<40y$ zcHV$0OxJNf-3rQ%huUgmjZ5M)gW+gfsL6>c%+zs#8P4t#xKPJM)R#A?ernxCljYPL z9rd`_+?-u}&LyDSD}qad%S+?S!qMi^x|U#bsID;ybNp8u>?!`WEX}b5fJ!n z!dR|jg#@+c)^O8uiCm-O$0v~$4qVGSU%e>U8f%eWGjGAyT5^G)(;>dO1k1Tg$t&H5jinT1#udc?9Us`bkPFvwvCpOaD z3Z!VB2BV>f6CEEt%#L4!0*xn5i&vCBx4d+Q-Tc0?&R(4cNu6iS8D69R^W2C_t&=EC z9Y{L(IoWBy;Z$o6_&iR$kmA0qQ#QFBc-7qDHHu$j?qa$6cxiQOs43i*=I&1gzphgb zc^vqi`IXneTc*=D2=AC>{QQGChoA3u{MdI724uxUkx*k>tkq(312->-%s&k?hxz-M z_xj7t7JonU9sgbC4S54?sxCBPGk4@wWjKV>E;2xU%~$gJYP!f2x)}(Ju(^cWF0#!T zfj&x(@R+f{z)O9?Zx^|IS@nE9b&*GVxPO{MTtV9+-Xvk@OxC{k#JM6jd_`(R2OCDd}FmbP8Xu%OXGRr z%s4`JGKg%$I-cs?PmFJes~f!=6r~G&ljz@#%!V#xRc0}6WO*?tiK1?lFgC2xWw^B6 z&IZMuIinM287}k2f`Z%;60|ocu2~JL52I&wqMT>;6!cF>ztYGuT$XGVOH8cHHnO`h zsiDNk?!viAOg6HWBuF+nAUlUw$qDb&q8+bD%!Ejo4`{Hv)5C>8t!I+ zJyIZDSO=cAI8S@=j753+bP5ljW6Hi1u4>lr){)@I%yZ)Oxw59_V;OfkQAyV5_4#S*){OnL@9kND(H}?rccB)`cyQ~ zVQ~$8CT^zBMJIhBcGD5DkB*8rA;du_;zOw76KLWnYzkmka^O&UAwwyFQ>jFzG6}j; zi!5atT*_>?l_2t!C7rL5e!QxPhhyR7vq%us8K$^WaThw zm2WUb`3_T66?Li;=c!&yQwuO%9fph5320EK;1abSbJcmcRBgmOHH^#DR$Q)Li=cWF zBI?~}QMVzgK8l#S8;jLvah3WaTGiKaqxvpxQV(H`dJMOy$C0>I%f@Y5U#!)J!qm#K zUaQ3hZ8kP)3vj#Ef=${=+@Y<(o!Tbct!>3-Z3nh!dvK5TD(=(X##Zek+^>C&2ejkZ zX3M~Xwp=`9E5O6Hq1aAS`1{pO`SKFRd-x-N&Tb$T@8bgkJ;~mO3H*uOeOfa@fmv>s@2c%IeRv){55>Ro*gUH4t&X;1MAh> zafH1L>`+(YDC;@#jCv*hg0CnON7RY=hCGn=!9)Sk&M@jQP|8k%j*jr3Pf`rE zp2JVc&+p5Bmn6Jo7e3yFT*?)G>dpW814Mv|g>fRE+aX4Xk?DMeY~@eoM31vgt<+|r z6M8U4iP7e|;?l$zQT~1AfisyCdoahItgX<>#JP5fic`zBa^a00j7l*+onsJNxjs!^ zZ!(EFX-FXN?EgEz-HZ+Cov4yEhzVjM+pGB_?mV{g_gKncQrfOc+cjysHf=YiEM3eW pN0WFr;%v`h8)bVg+m&pq**3AQVLPAgWVXxM){<~gn4Kvk{s&_Qgr5Ka delta 3906 zcmZ`+d3;k<7QWwo?-bU`Skv_b(vT98&MSeDYMf}ss18d`0_>JpV1 zmvKROD2n_5H(U{EZHk6b7bYKT%!(XVpN1R^P%#i^fT=AV;YADE8$+$p1radb zTq~maDhfo@+S##Waxm1kAQ~}|miR!#i&d0hFqkdHPA(Dj8WA3%VyFlUdSfzXMLLG5 zGRiPq_u5J%Ge+ncjsb<`tlo^X!0eX<76(cLOQNN^d44Dy1_KpajtMHN1*o)jhFX^jWTJ{meaJGAda}yiM=e-!(Q4JBhi%?5 z=YhFJ&ZVW1C874V(z*$YqS20aE9yi==Yu&2ZtYkSDQz@tez_I(n5MGxae+QPV~C{= z(^bsCO#Q};QRC{+sA4u-Ni?c{LPuw7uya}<)E*7Ck|KViqFDs(6r9x2vM6#w>>?F& zR@?h!U92L&a;c5R$+a^k3Ra7XRs{75dlB07Id;EgK0+e@CHggXFXa!bScrCggFS!v zWniwp3D$%b2HPVc(M$(A1%q~0DXOh4o+V@#saT99`p5SCDhrm;E>$lGbOu_Y!A_cb z9ouilm8W+csjqriW^w7 z1vi7G)r11!jKd7vTrCabEn5R9kFgSO3W%{9%*b?oaF9GR;Iosy7%smC` zH$`_kvNJ~;(eTMpy}~4{oP<<5ny73U9CQ(s`-Mhp`gzNDM9xghQ=?Xi&hzRbH+S(r%K+s64H^TYG_9 zt)DP69Z+U^x%=9j0X&vKPE#*(t8ALhw8PpYIigdWWGBv?+JpX@O%afj=g?iASYU3F zG8&p>dqb1r!Jvj76p1y25+Wy&GrN$X+2SZoAf1$LRT&AClT%S;*X#*YHc66X>BYz% zjMD6KSr5i)cBu#F7}pv>&d}^}oO`S=hvqPnp28nmT_$|t`};~F3gQ%o>(})$px1lXLs~s zK^&I~sH4fz>S*o7<#9xhb>q@p$!;uCsvEH|cEU={C5!G{Mt9;`Lv=Ydm(g5ZlN(EW zvAoKyxf8gesiYTI#c?&=u-z28PI6@QvRC8y?Xi3w&2vgVk0I|d zm+#kdWocQbT8)0WFG5d&jvXA+4_9ToZrX3;19De`4j9bzMXx|cd>8y>+D9fm;g&YSBW*<{9R#nGfG;NPLYA}#e(7x#NCz-X`W|J{Q4E(e zP)<+55waf@@&HuI#TY49pjw`Q^W_vf>ewACH=f@tCO+TTJ8eglP)4nws&XDTFRlB!+HN3{RPELyu`a;-<~$ zHFaUTX$PJ*?Zz|gTzZWk%5ueT4E~7^=&k+^CgVdKU|>&^cMyljd(kB0BYaHWLFEuW z!KaM2MR^N{@fnjqzbg2gJQ+pGz4(GW1=Y&+_>#Ps33I5kugEpi45s00@+?@RRNx!( z(y&$W<69E6VwYmU5q!te@rAq}-&0iO#Wd!B;Rj~pE96P|k)^W?ev3R7KjGiZ&UeWc z{D-0rsfzagzxW?>N-L!*9HppBdYd1?&$9@0OGo)DoDt}eEBG1?!ZPKHc$jm-yz&}e z!6m|c@@@_;6P86gw}&f)X|!$kaT8&F+N4%)CNG;?^!hiZr&IcS1r%W{jTiR`1`LF;;x4=< z#d%564DP}{x}#rhVH$_flP=DO8rQPp`nmMdz<3@r^L(0C0n6lrSPm~_XYe9cL^)FV z92P!;SEL%qPc responseIndexes = new ArrayList(); //Array is for pages. - String[] text; + List text = new ArrayList(); //Index of message to go back to - int returnMessageIndex; + int returnMessageIndex = 0; - Message() { + public Message() { } @@ -46,11 +46,11 @@ public List getResponseIndexes() { public void setResponseIndexes(List responseIndexes) { this.responseIndexes = responseIndexes; } - public String[] getText() { + public List getText() { return text; } - public void setText(String[] text) { - this.text = text; + public void addText(String text) { + this.text.add(text); } public int getReturnMessageIndex() { return returnMessageIndex; @@ -62,4 +62,43 @@ public void addReturnMessageIndex(int returnMessageIndex) { public void addResponseIndex(int index) { this.responseIndexes.add(index); } + + public String[] CompileMessage() { + //Asset.dat is 0, English.dat is 1 + String output[] = new String[2]; + output[0] = ""; + output[1] = ""; + + //Get responses + if(this.responseIndexes.size()>0) { + output[0] += "Message_" + this.index + "_Responses " + this.responseIndexes.size() + "\n"; + for(int i = 0; i < this.responseIndexes.size(); i++) { + output[0] += "Message_" + this.index + "_Response_" + i + " " + this.responseIndexes.get(i) + "\n"; + } + } + + //Get previous dialogue to go back to + if(this.returnMessageIndex!=0) + output[0] += "Message_" + this.index + "_Prev " + this.returnMessageIndex + "\n"; + + //Get message conditions and rewards + if(this.conditions!=null) { + for(String string : this.conditions.split("\n")) { + output[0] += "Message_" + this.index + "_" + string + "\n"; + } + } + if(this.rewards!=null) { + for(String string : this.rewards.split("\n")) { + output[0] += "Message_" + this.index + "_" + string + "\n"; + } + } + + //Get English text + for(int i = 0; i < text.size(); i++) { + output[1] += "Message_" + this.index + "_Page_" + text.get(i); + } + + + return output; + } } diff --git a/src/dialogueobject/Response.java b/src/dialogueobject/Response.java index dadb372..25e93e2 100644 --- a/src/dialogueobject/Response.java +++ b/src/dialogueobject/Response.java @@ -3,7 +3,7 @@ import java.util.ArrayList; import java.util.List; -public class Response { +class Response { String index; String conditions; @@ -21,7 +21,7 @@ public class Response { List messageIndexes = new ArrayList(); - Response() { + public Response() { } @@ -73,4 +73,41 @@ public List getMessageIndexes() { public void addMessageIndexes(int index) { this.messageIndexes.add(index); } + + public String[] CompileResponse() { + //Asset.dat is 0, English.dat is 1 + String output[] = new String[2]; + output[0] = ""; + output[1] = ""; + + //Get messages to show response for + if(this.messageIndexes.size()>0) { + output[0] += "Response_" + this.index + "_Messages " + this.messageIndexes.size() + "\n"; + for(int i = 0; i < this.messageIndexes.size(); i++) { + output[0] += "Response_" + this.index + "_Message_" + i + " " + this.messageIndexes.get(i) + "\n"; + } + } + + //Get on click + if(this.dialogueID!=null) + output[0] += "Response_" + this.index + "_Dialogue " + this.dialogueID + "\n"; + if(this.questID!=null) + output[0] += "Response_" + this.index + "_Quest " + this.questID + "\n"; + if(this.vendorID!=null) + output[0] += "Response_" + this.index + "_Vendor " + this.vendorID + "\n"; + + //Get conditions and rewards + if(this.conditions!=null) { + for(String string : this.conditions.split("\n")) { + output[0] += "Response_" + this.index + "_" + string + "\n"; + } + } + if(this.rewards!=null) { + for(String string : this.rewards.split("\n")) { + output[0] += "Response_" + this.index + "_" + string + "\n"; + } + } + + return output; + } } diff --git a/src/dialogues/DialoguePanel.java b/src/dialogues/DialoguePanel.java index b360443..cc733e1 100644 --- a/src/dialogues/DialoguePanel.java +++ b/src/dialogues/DialoguePanel.java @@ -1,10 +1,8 @@ package dialogues; import java.awt.BorderLayout; -import java.awt.Component; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; -import java.awt.GridLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ContainerAdapter; @@ -18,12 +16,31 @@ import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; +import javax.swing.JTabbedPane; import javax.swing.JTextField; import javax.swing.ScrollPaneConstants; import filemanagement.LoadDialogue; +import filemanagement.SaveDialogue; +import popups.fileChooser; public class DialoguePanel extends JPanel { + + String GUID; + String dialogueID; + + //Number of messages and responses + int numberOfMessages; + int numberOfResponses; + + //Messages in this dialogue + Message[] messages; + //Responses in this dialogue + Response[] responses; + + //Path where this dialogue was loaded from + String path; + /** * */ @@ -32,9 +49,10 @@ public class DialoguePanel extends JPanel { private final Action actionLoad = new SwingActionLoad(); private final Action actionAddMessage = new SwingActionAddMessage(); private static JTextField textFieldDialogueID; - private static JPanel panelMessages; + static int index; private final Action actionSaveDialogue = new SwingActionSaveDialogue(); - + private static JTabbedPane tabbedPane; + /** * Create the panel. */ @@ -42,26 +60,18 @@ public DialoguePanel() { setLayout(new BorderLayout(0, 0)); JScrollPane scrollPane = new JScrollPane(); + scrollPane.setViewportBorder(null); + scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPane.getVerticalScrollBar().setUnitIncrement(16); add(scrollPane); JPanel panel = new JPanel(); - scrollPane.setViewportView(panel); - GridBagLayout gbl_panel = new GridBagLayout(); - gbl_panel.columnWidths = new int[]{61, 0}; - gbl_panel.rowHeights = new int[]{43, 160, 0, 0, 0, 0}; - gbl_panel.columnWeights = new double[]{1.0, Double.MIN_VALUE}; - gbl_panel.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 1.0, Double.MIN_VALUE}; - panel.setLayout(gbl_panel); + add(panel, BorderLayout.CENTER); + panel.setLayout(new BorderLayout(0, 0)); JPanel panelBasic = new JPanel(); - GridBagConstraints gbc_panelBasic = new GridBagConstraints(); - gbc_panelBasic.insets = new Insets(0, 0, 5, 0); - gbc_panelBasic.fill = GridBagConstraints.BOTH; - gbc_panelBasic.gridx = 0; - gbc_panelBasic.gridy = 0; - panel.add(panelBasic, gbc_panelBasic); + panel.add(panelBasic, BorderLayout.NORTH); GridBagLayout gbl_panelBasic = new GridBagLayout(); gbl_panelBasic.columnWidths = new int[]{91, 0, 0, 0}; gbl_panelBasic.rowHeights = new int[]{0, 0, 0}; @@ -69,12 +79,12 @@ public DialoguePanel() { gbl_panelBasic.rowWeights = new double[]{0.0, 0.0, Double.MIN_VALUE}; panelBasic.setLayout(gbl_panelBasic); - JLabel lblFolderName = new JLabel("Folder name"); - GridBagConstraints gbc_lblFolderName = new GridBagConstraints(); - gbc_lblFolderName.insets = new Insets(0, 0, 5, 5); - gbc_lblFolderName.gridx = 0; - gbc_lblFolderName.gridy = 0; - panelBasic.add(lblFolderName, gbc_lblFolderName); + JLabel lblDialoguePath = new JLabel("Dialogue path"); + GridBagConstraints gbc_lblDialoguePath = new GridBagConstraints(); + gbc_lblDialoguePath.insets = new Insets(0, 0, 5, 5); + gbc_lblDialoguePath.gridx = 0; + gbc_lblDialoguePath.gridy = 0; + panelBasic.add(lblDialoguePath, gbc_lblDialoguePath); textFieldFolderName = new JTextField(); GridBagConstraints gbc_textFieldFolderName = new GridBagConstraints(); @@ -96,7 +106,6 @@ public DialoguePanel() { JLabel lblDialogueId = new JLabel("Dialogue ID"); GridBagConstraints gbc_lblDialogueId = new GridBagConstraints(); - gbc_lblDialogueId.anchor = GridBagConstraints.EAST; gbc_lblDialogueId.insets = new Insets(0, 0, 0, 5); gbc_lblDialogueId.gridx = 0; gbc_lblDialogueId.gridy = 1; @@ -111,71 +120,33 @@ public DialoguePanel() { gbc_textFieldDialogueID.gridy = 1; panelBasic.add(textFieldDialogueID, gbc_textFieldDialogueID); - panelMessages = new JPanel(); - panelMessages.addContainerListener(new ContainerAdapter() { + tabbedPane = new JTabbedPane(JTabbedPane.TOP); + tabbedPane.addContainerListener(new ContainerAdapter() { @Override - public void componentAdded(ContainerEvent arg0) { - for(int i = 0; i < panelMessages.getComponentCount(); i++) - { - ((NewMessage) panelMessages.getComponent(i)).ChangeIndex(i); - } - panelMessages.repaint(); - panelMessages.revalidate(); + public void componentAdded(ContainerEvent e) { + tabbedPane.revalidate(); + tabbedPane.repaint(); } - @Override public void componentRemoved(ContainerEvent e) { - for(int i = 0; i < panelMessages.getComponentCount(); i++) - { - ((NewMessage) panelMessages.getComponent(i)).ChangeIndex(i); - } - panelMessages.repaint(); - panelMessages.revalidate(); + tabbedPane.revalidate(); + tabbedPane.repaint(); } }); - GridBagConstraints gbc_panelMessages = new GridBagConstraints(); - gbc_panelMessages.insets = new Insets(0, 0, 5, 0); - gbc_panelMessages.fill = GridBagConstraints.BOTH; - gbc_panelMessages.gridx = 0; - gbc_panelMessages.gridy = 1; - panel.add(panelMessages, gbc_panelMessages); - panelMessages.setLayout(new GridLayout(0, 1, 0, 10)); + panel.add(tabbedPane, BorderLayout.CENTER); + + JPanel panelButtons = new JPanel(); + panel.add(panelButtons, BorderLayout.SOUTH); + panelButtons.setLayout(new BorderLayout(0, 0)); JButton buttonAddReply = new JButton("New button"); + panelButtons.add(buttonAddReply); buttonAddReply.setAction(actionAddMessage); - GridBagConstraints gbc_buttonAddReply = new GridBagConstraints(); - gbc_buttonAddReply.insets = new Insets(0, 0, 5, 0); - gbc_buttonAddReply.anchor = GridBagConstraints.NORTH; - gbc_buttonAddReply.gridx = 0; - gbc_buttonAddReply.gridy = 2; - panel.add(buttonAddReply, gbc_buttonAddReply); JButton button = new JButton("New button"); + panelButtons.add(button, BorderLayout.SOUTH); button.setAction(actionSaveDialogue); - GridBagConstraints gbc_button = new GridBagConstraints(); - gbc_button.insets = new Insets(0, 0, 5, 0); - gbc_button.gridx = 0; - gbc_button.gridy = 3; - panel.add(button, gbc_button); - - reorganizeGlobalIndex(); } - - static void reorganizeGlobalIndex() { - - int indexResponses = 0; - int indexMessages = 0; - - //Redistribute global index - for(Component message : panelMessages.getComponents()) { - ((NewMessage) message).ChangeIndex(indexMessages++); - if(((NewMessage) message).getResponses()!=null) { - for(Component response : ((NewMessage) message).getResponses()) { - ((NewResponse) response).setGlobalIndex(indexResponses++); - } - } - } - } private class SwingActionLoad extends AbstractAction { /** @@ -187,7 +158,7 @@ public SwingActionLoad() { putValue(SHORT_DESCRIPTION, "Load dialogues"); } public void actionPerformed(ActionEvent e) { - FillFields(LoadDialogue.loadDialogue(textFieldFolderName.getText())); + LoadDialogue(LoadDialogue.loadDialogue(textFieldFolderName.getText())); } } private class SwingActionAddMessage extends AbstractAction { @@ -200,8 +171,7 @@ public SwingActionAddMessage() { putValue(SHORT_DESCRIPTION, "Add a new message."); } public void actionPerformed(ActionEvent e) { - panelMessages.add(new NewMessage(0, null)); - reorganizeGlobalIndex(); + tabbedPane.addTab("Mes#" + 0, null, new Message()); } } private class SwingActionSaveDialogue extends AbstractAction { @@ -214,39 +184,18 @@ public SwingActionSaveDialogue() { putValue(SHORT_DESCRIPTION, "Save the dialogue."); } public void actionPerformed(ActionEvent e) { - Save(); + String path = fileChooser.FileChooser(); + if(path!=null) + SaveDialogue.Save(CompileDialogue(), path); } } - public static void Save() { - //Index 0 is for Asset.dat, Index 1 is for English.dat - String[] output = new String[2]; - - output[1] = ""; - - //Assign type and ID - output[0] = "Type Dialogue\n"; - output[0] += "ID " + textFieldDialogueID.getText() + "\n\n"; - - //Number of messages - output[0] += "Messages " + panelMessages.getComponentCount() + "\n"; - - //Get all message windows - for(Component comp : panelMessages.getComponents()) { - output[0] += ((NewMessage) comp).getValues()[0] + "\n"; - output[1] += ((NewMessage) comp).getValues()[1] + "\n"; - } - - System.out.println(output[0]); - System.out.println(output[1]); - - } - + public void FillFields(String[] values) { //Remove any existing messages etc - panelMessages.removeAll(); + tabbedPane.removeAll(); - //Temp values + //Temporary values int noMessages = 0; //Get number of messages @@ -256,86 +205,164 @@ public void FillFields(String[] values) { //Create new messages for(int i = 0; i < noMessages; i++) { - panelMessages.add(new NewMessage(i, values)); + tabbedPane.add(new Message()); } } - public void OldFillFields(String[][] values) { + private String[] CompileDialogue() { + //Asset.dat is 0, English.dat is 1 + String output[] = new String[2]; + output[0] = ""; + output[1] = ""; - //Temporary values - String[][] messages = null; - String[][] responses = null; - String[] messageResponses = new String[2]; + //Get ID, GUID and set type + output[0] += "GUID " + this.GUID + "\n"; + output[0] += "ID " + this.dialogueID + "\n"; + output[0] += "Type Dialogue\n"; + + + //Get messages and responses + output[0] += "\n" + "Messages " + this.numberOfMessages + "\n\n"; + for(Message mes : messages) { + String[] compiled = mes.CompileMessage(); + output[0] += compiled[0] + "\n"; + output[1] += compiled[1] + "\n"; + } + output[1] += "\n"; + output[0] += "\n" + "Responses " + this.numberOfResponses + "\n\n"; + for(Response res : responses) { + String[] compiled = res.CompileResponse(); + output[0] += compiled[0] + "\n"; + output[1] += compiled[1] + "\n"; + } + + return output; + } + private void LoadDialogue(String values[]) { + + //Matchers to use for everything + Matcher matcher = Pattern.compile("").matcher(values[0]); + Matcher englishMatcher = Pattern.compile("").matcher(values[1]); + + //Get ID and GUID + matcher.reset(); + matcher.usePattern(Pattern.compile("ID ([0-9]+)")); + if(matcher.find()) { + this.dialogueID = matcher.group(1); + textFieldDialogueID.setText(this.dialogueID); + } + matcher.reset(); + matcher.usePattern(Pattern.compile("GUID (.+)")); + if(matcher.find()) + this.GUID = matcher.group(1); //Get number of messages and responses - for(String string : values[0]) { - if(string.toLowerCase().contains("messages ") && !string.toLowerCase().contains("_messages")) { - messages = new String[2][Integer.valueOf(string.split(" ")[1])]; - } - if(string.toLowerCase().contains("responses ") && !string.toLowerCase().contains("_responses")) { - responses = new String[2][Integer.valueOf(string.split(" ")[1])]; - } + matcher.reset(); + matcher.usePattern(Pattern.compile("[^_]+Messages ([0-9]+)")); + if(matcher.find()) { + numberOfMessages = Integer.valueOf(matcher.group(1)); + messages = new Message[numberOfMessages]; + } + matcher.reset(); + matcher.usePattern(Pattern.compile("[^_]+Responses ([0-9]+)")); + if(matcher.find()) { + numberOfResponses = Integer.valueOf(matcher.group(1)); + responses = new Response[numberOfResponses]; + } + + //Generate messages + for(int i = 0; i < numberOfMessages; i++) { + messages[i] = new Message(); + messages[i].setIndex(Integer.toString(i)); + } + //Generate responses + for(int i = 0; i < numberOfResponses; i++) { + responses[i] = new Response(); + responses[i].setIndex(Integer.toString(i)); } - //Replace all content with "" so you can use += - for(int i = 0; i < messages[0].length; i++) { - for(int ii = 0; ii < 2; ii++) { - messages[ii][i] = ""; - } + //Get message conditions + matcher.reset(); + matcher.usePattern(Pattern.compile("Message_([0-9]+)_(Condition.*)")); + while(matcher.find()) { + if(messages[Integer.valueOf(matcher.group(1))].getConditions()==null) + messages[Integer.valueOf(matcher.group(1))].setConditions(""); + messages[Integer.valueOf(matcher.group(1))].setConditions(messages[Integer.valueOf(matcher.group(1))].getConditions() + matcher.group(2) + "\n"); } - //Replace all content with "" so you can use += - for(int i = 0; i < responses[0].length; i++) { - for(int ii = 0; ii < 2; ii++) { - responses[ii][i] = ""; - } + //Get message rewards + matcher.reset(); + matcher.usePattern(Pattern.compile("Message_([0-9]+)_(Reward.*)")); + while(matcher.find()) { + if(messages[Integer.valueOf(matcher.group(1))].getRewards()==null) + messages[Integer.valueOf(matcher.group(1))].setRewards(""); + messages[Integer.valueOf(matcher.group(1))].setRewards(messages[Integer.valueOf(matcher.group(1))].getRewards() + matcher.group(2) + "\n"); + } + //Get message response indexes + matcher.reset(); + matcher.usePattern(Pattern.compile("Message_([0-9]+)_Response_[0-9]+ ([0-9]+)")); + while(matcher.find()) { + messages[Integer.valueOf(matcher.group(1))].addResponseIndex(Integer.valueOf(matcher.group(2))); } - //Iterate Asset data - for(String string : values[0]) { - if(string.toLowerCase().matches("message_[0-9]+_.*")) { - messages[0][Integer.valueOf(string.toLowerCase().split("_")[1])] += string + "\n"; - } - if(string.toLowerCase().matches("response_[0-9]+_.*")) { - responses[0][Integer.valueOf(string.toLowerCase().split("_")[1])] += string + "\n"; - } + //Get message English section + englishMatcher.reset(); + englishMatcher.usePattern(Pattern.compile("Message_([0-9]+)_Page_[0-9]+ (.*)")); + while(englishMatcher.find()) { + messages[Integer.valueOf(englishMatcher.group(1))].addText(englishMatcher.group(2)); } - //Iterate English data - for(String string : values[1]) { - if(string.toLowerCase().matches("message_[0-9]+_page_[0-9]+.*")) { - messages[1][Integer.valueOf(string.toLowerCase().split("_")[1])] += string + "\n"; - } - if(string.toLowerCase().matches("response_[0-9]+.*")) { - responses[1][Integer.valueOf(string.toLowerCase().split("_")[1].split(" ")[0])] = string; - } + + /* + * RESPONSE SECTION + */ + + //Get response conditions + matcher.reset(); + matcher.usePattern(Pattern.compile("Response_([0-9]+)_(Condition.*)")); + while(matcher.find()) { + if(responses[Integer.valueOf(matcher.group(1))].getConditions()==null) + responses[Integer.valueOf(matcher.group(1))].setConditions(""); + responses[Integer.valueOf(matcher.group(1))].setConditions(responses[Integer.valueOf(matcher.group(1))].getConditions() + matcher.group(2) + "\n"); + } + //Get response rewards + matcher.reset(); + matcher.usePattern(Pattern.compile("Response_([0-9]+)_(Reward.*)")); + while(matcher.find()) { + if(responses[Integer.valueOf(matcher.group(1))].getRewards()==null) + responses[Integer.valueOf(matcher.group(1))].setRewards(""); + responses[Integer.valueOf(matcher.group(1))].setRewards(responses[Integer.valueOf(matcher.group(1))].getRewards() + matcher.group(2) + "\n"); + } + //Get messages to show this response for + matcher.reset(); + matcher.usePattern(Pattern.compile("Response_([0-9]+)_Message_[0-9]+ ([0-9]+)")); + while(matcher.find()) { + responses[Integer.valueOf(matcher.group(1))].addMessageIndexes(Integer.valueOf(matcher.group(2)));; } - //Assign responses to messages then create the message. - for(int ii = 0; ii < messages[0].length; ii++) { - Matcher matcher = Pattern.compile(".*message_" + ii + "_responses ([0-9]+).*").matcher(messages[0][ii].toLowerCase().replaceAll("\n", "").replaceAll("\r", "")); - if(matcher.matches()) { - messageResponses[0] = ""; - messageResponses[1] = ""; - } - if(matcher.groupCount()>1) { - for(int i = 0; i < Integer.valueOf(matcher.group(1)); i++) { - matcher = Pattern.compile(".*message_" + ii + "_response_" + i + " ([0-9]+).*").matcher(messages[0][i].toLowerCase().replaceAll("\n", "").replaceAll("\r", "")); - if(matcher.matches()) { - messageResponses[0] += responses[0][Integer.valueOf(matcher.group(1))] + ":::"; - messageResponses[1] += responses[1][Integer.valueOf(matcher.group(1))] + ":::"; - } - } - } - - panelMessages.add(new NewMessage(messages[0][ii], messages[1][ii], messageResponses)); + //Get onClick + matcher.reset(); + matcher.usePattern(Pattern.compile("Response_([0-9]+)_(Quest|Dialogue|Vendor) ([0-9]+)")); + while(matcher.find()) { + if(matcher.group(2).equals("Dialogue")) + responses[Integer.valueOf(matcher.group(1))].setDialogueID(matcher.group(3)); + if(matcher.group(2).equals("Quest")) + responses[Integer.valueOf(matcher.group(1))].setQuestID(matcher.group(3)); + if(matcher.group(2).equals("Vendor")) + responses[Integer.valueOf(matcher.group(1))].setVendorID(matcher.group(3)); } -// for(String string : messages[0]) { -// System.out.println(string); -// System.out.println("____________________________"); -// } -// for(String string : messages[1]) { -// System.out.println(string); -// System.out.println("____________________________"); -// } + //Get response English section + englishMatcher.reset(); + englishMatcher.usePattern(Pattern.compile("Response_([0-9]+) (.*)")); + while(englishMatcher.find()) { + responses[Integer.valueOf(englishMatcher.group(1))].setText(englishMatcher.group(2)); + } + + //Add messages to message panel + for(int i = 0; i < messages.length; i++) { + tabbedPane.addTab("Mes#" + i, messages[i]); + for(int ii = 0; ii < messages[i].getResponseIndexes().size(); ii++) { + messages[i].addResponse(responses[messages[i].getResponseIndexes().get(ii)]); + } + } } } diff --git a/src/dialogues/Message.java b/src/dialogues/Message.java index 3cf666f..30218b6 100644 --- a/src/dialogues/Message.java +++ b/src/dialogues/Message.java @@ -1,48 +1,452 @@ package dialogues; -import java.util.regex.Matcher; -import java.util.regex.Pattern; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; +import java.awt.Font; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.GridLayout; +import java.awt.Insets; +import java.awt.event.ActionEvent; +import java.awt.event.ContainerAdapter; +import java.awt.event.ContainerEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.util.ArrayList; +import java.util.List; -public class Message { +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JPopupMenu; +import javax.swing.JSeparator; +import javax.swing.JTextArea; +import javax.swing.SwingConstants; +import javax.swing.border.BevelBorder; +import javax.swing.border.LineBorder; + +import conditions.conditionsDialog; +import objects.TextPrompt; +import rewards.RewardsDialog; +import javax.swing.JTextField; + +public class Message extends JPanel { + + String index; + String conditions; + String rewards; + + //Indexes in dialogue file for the responses for this message. + List responseIndexes = new ArrayList(); + + //Array is for pages. + List text = new ArrayList(); - private String asset = ""; - private String english = ""; - private int noReplies = 0; - private String[][] replies; - private int index = 0; + //Index of message to go back to + int returnMessageIndex = 0; - public Message(int index, String asset, String english) { + /** + * + */ + private static final long serialVersionUID = 2705985586487282881L; + private JPanel panelResponses; + public Component comp; + private JLabel lblMessage; + private final Action actionOpenConditions = new SwingActionOpenConditions(); + private final Action actionClearCondition = new SwingActionClearCondition(); + private final Action actionOpenRewards = new SwingActionOpenRewards(); + private final Action actionClearRewards = new SwingActionClearRewards(); + private final Action actionAddReply = new SwingActionAddReply(); + private final Action actionRemove = new SwingActionRemove(); + private TextPrompt textPrompt; + private JTextArea textArea; + private boolean hasConditionColor = false; + private boolean hasRewardColor = false; + private JTextField textFieldPrevID; + + /** + * Create the panel. + * @param messageAsset + * @param messageResponses + * @param messageResponsesEnglish + */ + public Message() { + setBorder(new LineBorder(new Color(0, 0, 0))); + comp = this; - this.index = index; + JPopupMenu popupMenu = new JPopupMenu(); + addPopup(this, popupMenu); + + JMenuItem menuItemRemoveMessage = new JMenuItem("New menu item"); + menuItemRemoveMessage.setAction(actionRemove); + popupMenu.add(menuItemRemoveMessage); + GridBagLayout gridBagLayout = new GridBagLayout(); + gridBagLayout.columnWidths = new int[]{0, 0, 0}; + gridBagLayout.rowHeights = new int[]{0, 89, 35, 0, 0}; + gridBagLayout.columnWeights = new double[]{1.0, 1.0, Double.MIN_VALUE}; + gridBagLayout.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE}; + setLayout(gridBagLayout); + + lblMessage = new JLabel("Message #"); + lblMessage.setToolTipText("Separate pages with

"); + lblMessage.setHorizontalAlignment(SwingConstants.CENTER); + lblMessage.setFont(new Font("Tahoma", Font.BOLD, 11)); + GridBagConstraints gbc_lblMessage = new GridBagConstraints(); + gbc_lblMessage.gridwidth = 2; + gbc_lblMessage.insets = new Insets(0, 0, 5, 0); + gbc_lblMessage.gridx = 0; + gbc_lblMessage.gridy = 0; + add(lblMessage, gbc_lblMessage); + + JPanel panelDialogueType = new JPanel(); + GridBagConstraints gbc_panelDialogueType = new GridBagConstraints(); + gbc_panelDialogueType.insets = new Insets(0, 0, 5, 0); + gbc_panelDialogueType.gridwidth = 2; + gbc_panelDialogueType.fill = GridBagConstraints.BOTH; + gbc_panelDialogueType.gridx = 0; + gbc_panelDialogueType.gridy = 1; + add(panelDialogueType, gbc_panelDialogueType); + panelDialogueType.setLayout(new BorderLayout(0, 0)); + + textArea = new JTextArea(); + textPrompt = new TextPrompt("Text shown for this message. Separate pages with

", textArea); + textPrompt.changeAlpha(128); + textArea.setLineWrap(true); + textArea.setToolTipText("Separate pages with

"); + panelDialogueType.add(textArea); + addPopup(textArea, popupMenu); + + JSeparator separator_1 = new JSeparator(); + popupMenu.add(separator_1); + + JMenuItem menuItemConditions = new JMenuItem("New menu item"); + menuItemConditions.setAction(actionOpenConditions); + popupMenu.add(menuItemConditions); + + JMenuItem menuItemClearConditions = new JMenuItem("Clear conditions"); + menuItemClearConditions.setAction(actionClearCondition); + popupMenu.add(menuItemClearConditions); + + JSeparator separator = new JSeparator(); + popupMenu.add(separator); + + JMenuItem menuItemAddRewards = new JMenuItem("New menu item"); + menuItemAddRewards.setAction(actionOpenRewards); + popupMenu.add(menuItemAddRewards); + + JMenuItem menuItemClearRewards = new JMenuItem("New menu item"); + menuItemClearRewards.setAction(actionClearRewards); + popupMenu.add(menuItemClearRewards); + + textFieldPrevID = new JTextField(); + textPrompt = new TextPrompt("Message ID to go back to, usualy doesnt have to be set", textFieldPrevID); + textPrompt.changeAlpha(128); + panelDialogueType.add(textFieldPrevID, BorderLayout.SOUTH); + textFieldPrevID.setColumns(10); + + panelResponses = new JPanel(); + panelResponses.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null)); + panelResponses.addContainerListener(new ContainerAdapter() { + @Override + public void componentAdded(ContainerEvent arg0) { + for(int i = 0; i < panelResponses.getComponentCount(); i++) + { + ((Response) panelResponses.getComponent(i)).ChangeIndex(i+1); + } + + panelResponses.repaint(); + panelResponses.revalidate(); + } + @Override + public void componentRemoved(ContainerEvent e) { + for(int i = 0; i < panelResponses.getComponentCount(); i++) + { + ((Response) panelResponses.getComponent(i)).ChangeIndex(i+1); + } + + panelResponses.repaint(); + panelResponses.revalidate(); + } + }); + GridBagConstraints gbc_panelReplies = new GridBagConstraints(); + gbc_panelReplies.insets = new Insets(0, 0, 5, 0); + gbc_panelReplies.gridwidth = 2; + gbc_panelReplies.fill = GridBagConstraints.BOTH; + gbc_panelReplies.gridx = 0; + gbc_panelReplies.gridy = 2; + add(panelResponses, gbc_panelReplies); + panelResponses.setLayout(new GridLayout(0, 2, 0, 0)); + + JButton buttonAddReply = new JButton("New button"); + buttonAddReply.setAction(actionAddReply); + GridBagConstraints gbc_buttonAddReply = new GridBagConstraints(); + gbc_buttonAddReply.gridwidth = 2; + gbc_buttonAddReply.gridx = 0; + gbc_buttonAddReply.gridy = 3; + add(buttonAddReply, gbc_buttonAddReply); - //Get number of replies - Matcher matcher = Pattern.compile(".*message_" + index + "_responses ([0-9]+).*", Pattern.DOTALL).matcher(asset.toLowerCase()); - if(matcher.matches()) - this.noReplies = Integer.valueOf(matcher.group(1)); - - //Get asset data - for(String string : asset.split("\n")) { - if(string.toLowerCase().contains("message_" + this.index + "_") && !string.toLowerCase().contains("_message_")) - this.asset += string + "\n"; + } + + private class SwingActionAddReply extends AbstractAction { + /** + * + */ + private static final long serialVersionUID = 1736116289006795993L; + public SwingActionAddReply() { + putValue(NAME, "New response"); + putValue(SHORT_DESCRIPTION, "Add a new response."); + } + public void actionPerformed(ActionEvent e) { + panelResponses.add(new Response()); } + } + + private static void addPopup(Component component, final JPopupMenu popup) { + component.addMouseListener(new MouseAdapter() { + public void mousePressed(MouseEvent e) { + if (e.isPopupTrigger()) { + showMenu(e); + } + } + public void mouseReleased(MouseEvent e) { + if (e.isPopupTrigger()) { + showMenu(e); + } + } + private void showMenu(MouseEvent e) { + popup.show(e.getComponent(), e.getX(), e.getY()); + } + }); + } + + int getResponseCount() { + return panelResponses.getComponentCount(); + } + + private class SwingActionRemove extends AbstractAction { + - //Get English data - for(String string : english.split("\n")) { - if(string.toLowerCase().contains("message_" + this.index + "_")) - this.english += string; + /** + * + */ + private static final long serialVersionUID = 2933271674152307091L; + public SwingActionRemove() { + putValue(NAME, "Remove message"); + putValue(SHORT_DESCRIPTION, "Remove this message."); } + public void actionPerformed(ActionEvent e) { + getParent().remove(comp); + } + } + + public Component[] getResponses() { + return panelResponses.getComponents(); + } + + public void ConditionsPresent() { - //Get replies and their global index + if(this.conditions!=null && !hasConditionColor) { + comp.setBackground(new Color(comp.getBackground().getRed() - 30, comp.getBackground().getGreen(), comp.getBackground().getBlue() - 30)); + hasConditionColor = true; + } + else if (this.conditions==null && hasConditionColor){ + comp.setBackground(new Color(comp.getBackground().getRed() + 30, comp.getBackground().getGreen(), comp.getBackground().getBlue() + 30)); + hasConditionColor = false; + } + comp.revalidate(); + comp.repaint(); + } + public void RewardsPresent() { + if(this.rewards!=null && !hasRewardColor) { + comp.setBackground(new Color(comp.getBackground().getRed() - 30, comp.getBackground().getGreen(), comp.getBackground().getBlue() - 30)); + hasRewardColor = true; + } + else if (this.rewards==null && hasRewardColor){ + comp.setBackground(new Color(comp.getBackground().getRed() + 30, comp.getBackground().getGreen(), comp.getBackground().getBlue() + 30)); + hasRewardColor = false; + } + + comp.revalidate(); + comp.repaint(); + } + + //Conditions and rewards actions. + private class SwingActionOpenConditions extends AbstractAction { + /** + * + */ + private static final long serialVersionUID = 1227819414645128804L; + public SwingActionOpenConditions() { + putValue(NAME, "Add conditions"); + putValue(SHORT_DESCRIPTION, "Open the conditions window."); + } + public void actionPerformed(ActionEvent e) { + //Change color to less red + ConditionsPresent(); + + conditions = conditionsDialog.ConditionsDialog(conditions); + + //Change color to more red + ConditionsPresent(); + } + } + private class SwingActionClearCondition extends AbstractAction { + /** + * + */ + private static final long serialVersionUID = -8044852770132039349L; + public SwingActionClearCondition() { + putValue(NAME, "Clear conditions"); + putValue(SHORT_DESCRIPTION, "Clear current conditions for this message."); + } + public void actionPerformed(ActionEvent e) { + String ObjButtons[] = {"Yes","No"}; + int PromptResult = JOptionPane.showOptionDialog(null,"Are you sure?","Are you sure you want to clear conditions?",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE,null,ObjButtons,ObjButtons[0]); + if(PromptResult==0) + { + //Change color to less red + if(conditions!=null) + ConditionsPresent(); + conditions = null; + } + } + } + private class SwingActionOpenRewards extends AbstractAction { + /** + * + */ + private static final long serialVersionUID = 1828029442225506423L; + public SwingActionOpenRewards() { + putValue(NAME, "Open rewards"); + putValue(SHORT_DESCRIPTION, "Open the rewards window."); + } + public void actionPerformed(ActionEvent e) { + //Change color to less green + if(rewards!=null) + RewardsPresent(); + + rewards = RewardsDialog.Dialog(rewards); + + //Change color to more green + if(rewards!=null) + RewardsPresent(); + } + } + private class SwingActionClearRewards extends AbstractAction { + /** + * + */ + private static final long serialVersionUID = -8954594618308736149L; + public SwingActionClearRewards() { + putValue(NAME, "Clear rewards"); + putValue(SHORT_DESCRIPTION, "Clear the rewards for this message."); + } + public void actionPerformed(ActionEvent e) { + String ObjButtons[] = {"Yes","No"}; + int PromptResult = JOptionPane.showOptionDialog(null,"Are you sure you want to clear rewards?","",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE,null,ObjButtons,ObjButtons[0]); + if(PromptResult==0) + { + //Change color to less green + if(rewards!=null) + RewardsPresent(); + rewards = null; + } + } + } + public String getIndex() { + return index; + } + public void setIndex(String index) { + this.index = index; + } + public String getConditions() { + return conditions; + } + public void setConditions(String conditions) { + this.conditions = conditions; + } + public String getRewards() { + return rewards; + } + public void setRewards(String rewards) { + this.rewards = rewards; + } + public List getResponseIndexes() { + return responseIndexes; + } + public void setResponseIndexes(List responseIndexes) { + this.responseIndexes = responseIndexes; + } + public List getText() { + return text; + } + public void addText(String text) { + textArea.setText(textArea.getText() + text); + this.text.add(text); + } + public int getReturnMessageIndex() { + return returnMessageIndex; + } + public void setReturnMessageIndex(int returnMessageIndex) { + textFieldPrevID.setText(Integer.toString(returnMessageIndex)); + this.returnMessageIndex = returnMessageIndex; + } + public void addReturnMessageIndex(int returnMessageIndex) { + + this.returnMessageIndex = returnMessageIndex; + } + public void addResponseIndex(int index) { + this.responseIndexes.add(index); + } + + public String[] CompileMessage() { + //Asset.dat is 0, English.dat is 1 + String output[] = new String[2]; + output[0] = ""; + output[1] = ""; + + //Get message pages + output[0] += "Message_" + this.index + "_Pages " + (textArea.getText().split("

").length) + "\n"; - //Output - if(true) { - System.out.println("Message index " + this.index); - System.out.println("No. reponses " + this.noReplies); - System.out.print("Message asset\n" + this.asset + "\n-----------------\n"); - System.out.print("Message english\n" + this.english + "\n-----------------\n"); - System.out.println("\n\n"); + //Get responses + if(this.responseIndexes.size()>0) { + output[0] += "Message_" + this.index + "_Responses " + this.responseIndexes.size() + "\n"; + for(int i = 0; i < this.responseIndexes.size(); i++) { + output[0] += "Message_" + this.index + "_Response_" + i + " " + this.responseIndexes.get(i) + "\n"; + } } + //Get previous dialogue to go back to + if(this.returnMessageIndex!=0) + output[0] += "Message_" + this.index + "_Prev " + this.returnMessageIndex + "\n"; + + //Get message conditions and rewards + if(this.conditions!=null) { + for(String string : this.conditions.split("\n")) { + output[0] += "Message_" + this.index + "_" + string + "\n"; + } + } + if(this.rewards!=null) { + for(String string : this.rewards.split("\n")) { + output[0] += "Message_" + this.index + "_" + string + "\n"; + } + } + + //Get English text + for(int i = 0; i < text.size(); i++) { + output[1] += "Message_" + this.index + "_Page_" + i + " " + text.get(i); + } + + return output; + } + + public void addResponse(Response response) { + panelResponses.add(response); } } diff --git a/src/dialogues/NewMessage.java b/src/dialogues/NewMessage.java deleted file mode 100644 index 9da3039..0000000 --- a/src/dialogues/NewMessage.java +++ /dev/null @@ -1,483 +0,0 @@ -package dialogues; - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Component; -import java.awt.Font; -import java.awt.GridBagConstraints; -import java.awt.GridBagLayout; -import java.awt.GridLayout; -import java.awt.Insets; -import java.awt.event.ActionEvent; -import java.awt.event.ContainerAdapter; -import java.awt.event.ContainerEvent; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import javax.swing.AbstractAction; -import javax.swing.Action; -import javax.swing.JButton; -import javax.swing.JLabel; -import javax.swing.JMenuItem; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JPopupMenu; -import javax.swing.JSeparator; -import javax.swing.JTextArea; -import javax.swing.SwingConstants; -import javax.swing.border.BevelBorder; -import javax.swing.border.LineBorder; - -import conditions.conditionsDialog; -import objects.TextPrompt; -import rewards.RewardsDialog; - -public class NewMessage extends JPanel { - /** - * - */ - private static final long serialVersionUID = 2705985586487282881L; - private JPanel panelResponses; - public Component comp; - private JLabel lblMessage; - protected String conditions; - private final Action actionOpenConditions = new SwingActionOpenConditions(); - private final Action actionClearCondition = new SwingActionClearCondition(); - private final Action actionOpenRewards = new SwingActionOpenRewards(); - private final Action actionClearRewards = new SwingActionClearRewards(); - private final Action actionAddReply = new SwingActionAddReply(); - private final Action actionRemove = new SwingActionRemove(); - private TextPrompt textPrompt; - private int thisIndex; - private JTextArea textArea; - private String rewards; - - /** - * Create the panel. - * @param messageAsset - * @param messageResponses - * @param messageResponsesEnglish - */ - public NewMessage(int messageIndex, String[] values) { - setBorder(new LineBorder(new Color(0, 0, 0))); - comp = this; - - JPopupMenu popupMenu = new JPopupMenu(); - addPopup(this, popupMenu); - - JMenuItem menuItemRemoveMessage = new JMenuItem("New menu item"); - menuItemRemoveMessage.setAction(actionRemove); - popupMenu.add(menuItemRemoveMessage); - GridBagLayout gridBagLayout = new GridBagLayout(); - gridBagLayout.columnWidths = new int[]{0, 0, 0}; - gridBagLayout.rowHeights = new int[]{0, 89, 35, 0, 0}; - gridBagLayout.columnWeights = new double[]{1.0, 1.0, Double.MIN_VALUE}; - gridBagLayout.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE}; - setLayout(gridBagLayout); - - lblMessage = new JLabel("Message #"); - lblMessage.setToolTipText("Separate pages with

"); - lblMessage.setHorizontalAlignment(SwingConstants.CENTER); - lblMessage.setFont(new Font("Tahoma", Font.BOLD, 11)); - GridBagConstraints gbc_lblMessage = new GridBagConstraints(); - gbc_lblMessage.gridwidth = 2; - gbc_lblMessage.insets = new Insets(0, 0, 5, 0); - gbc_lblMessage.gridx = 0; - gbc_lblMessage.gridy = 0; - add(lblMessage, gbc_lblMessage); - - JPanel panelDialogueType = new JPanel(); - GridBagConstraints gbc_panelDialogueType = new GridBagConstraints(); - gbc_panelDialogueType.insets = new Insets(0, 0, 5, 0); - gbc_panelDialogueType.gridwidth = 2; - gbc_panelDialogueType.fill = GridBagConstraints.BOTH; - gbc_panelDialogueType.gridx = 0; - gbc_panelDialogueType.gridy = 1; - add(panelDialogueType, gbc_panelDialogueType); - panelDialogueType.setLayout(new BorderLayout(0, 0)); - - textArea = new JTextArea(); - textPrompt = new TextPrompt("Text shown for this message. Separate pages with

", textArea); - textPrompt.changeAlpha(128); - textArea.setLineWrap(true); - textArea.setToolTipText("Separate pages with

"); - panelDialogueType.add(textArea); - addPopup(textArea, popupMenu); - - JSeparator separator_1 = new JSeparator(); - popupMenu.add(separator_1); - - JMenuItem menuItemConditions = new JMenuItem("New menu item"); - menuItemConditions.setAction(actionOpenConditions); - popupMenu.add(menuItemConditions); - - JMenuItem menuItemClearConditions = new JMenuItem("Clear conditions"); - menuItemClearConditions.setAction(actionClearCondition); - popupMenu.add(menuItemClearConditions); - - JSeparator separator = new JSeparator(); - popupMenu.add(separator); - - JMenuItem menuItemAddRewards = new JMenuItem("New menu item"); - menuItemAddRewards.setAction(actionOpenRewards); - popupMenu.add(menuItemAddRewards); - - JMenuItem menuItemClearRewards = new JMenuItem("New menu item"); - menuItemClearRewards.setAction(actionClearRewards); - popupMenu.add(menuItemClearRewards); - - panelResponses = new JPanel(); - panelResponses.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null)); - panelResponses.addContainerListener(new ContainerAdapter() { - @Override - public void componentAdded(ContainerEvent arg0) { - for(int i = 0; i < panelResponses.getComponentCount(); i++) - { - ((NewResponse) panelResponses.getComponent(i)).ChangeIndex(i+1); - } - - DialoguePanel.reorganizeGlobalIndex(); - - panelResponses.repaint(); - panelResponses.revalidate(); - } - @Override - public void componentRemoved(ContainerEvent e) { - for(int i = 0; i < panelResponses.getComponentCount(); i++) - { - ((NewResponse) panelResponses.getComponent(i)).ChangeIndex(i+1); - } - - DialoguePanel.reorganizeGlobalIndex(); - - panelResponses.repaint(); - panelResponses.revalidate(); - } - }); - GridBagConstraints gbc_panelReplies = new GridBagConstraints(); - gbc_panelReplies.insets = new Insets(0, 0, 5, 0); - gbc_panelReplies.gridwidth = 2; - gbc_panelReplies.fill = GridBagConstraints.BOTH; - gbc_panelReplies.gridx = 0; - gbc_panelReplies.gridy = 2; - add(panelResponses, gbc_panelReplies); - panelResponses.setLayout(new GridLayout(0, 1, 0, 0)); - - JButton buttonAddReply = new JButton("New button"); - buttonAddReply.setAction(actionAddReply); - GridBagConstraints gbc_buttonAddReply = new GridBagConstraints(); - gbc_buttonAddReply.gridwidth = 2; - gbc_buttonAddReply.gridx = 0; - gbc_buttonAddReply.gridy = 3; - add(buttonAddReply, gbc_buttonAddReply); - - if(values!=null) { - FillFields(messageIndex, values); - } - - } - - private void FillFields(int messageIndex, String values[]) { - //0 is for Asset.dat, 1 is for English.dat - - //Temporary variable - String stringEnglish = ""; - String[][] responses = null; - Integer[] responsesIndex = null; - int addedResponses = 0; - - //Process English string - for(String string : values[1].split("\n")) { - if(string.toLowerCase().contains("message_" + messageIndex + "_page")) { - if(stringEnglish.length()>1) - stringEnglish += "

"; - Matcher matcher = Pattern.compile("Message_[0-9]+_Page_[0-9]+ ").matcher(string); - stringEnglish += matcher.replaceAll(""); - } - } - textArea.setText(stringEnglish); - - //Get message conditions and rewards - for(String string : values[0].split("\n")) { - if(string.toLowerCase().contains("message_" + messageIndex + "_condition")) { - if(conditions==null) - conditions = ""; - conditions += string + "\n"; - } - if(string.toLowerCase().contains("message_" + messageIndex + "_reward")) { - if(rewards==null) - rewards = ""; - rewards += string + "\n"; - } - } - - //Get number of responses - for(String string : values[0].split("\n")) { - if(string.toLowerCase().contains("message_" + messageIndex + "_responses ")) { - responses = new String[2][Integer.valueOf(string.split(" ")[1])]; - responsesIndex = new Integer[Integer.valueOf(string.split(" ")[1])]; - } - if(string.toLowerCase().contains("message_" + messageIndex + "_response_")) { - responsesIndex[addedResponses++] = Integer.valueOf(string.split(" ")[1]); - } - } - - String[] temp = values[0].split("\n"); - - //Get responses content - for(int type = 0; type < 2; type++) { - if(responsesIndex!=null) { - for(int responseNumber = 0; responseNumber < responsesIndex.length; responseNumber++) { - for(int i = 0; i < temp.length; i++) { - if(temp[i].toLowerCase().contains("response_" + responsesIndex[responseNumber]) && !temp[i].toLowerCase().contains("_response_")) { - if(responses[type][responseNumber]==null) - responses[type][responseNumber] = ""; - responses[type][responseNumber] += temp[i] + "\n"; - } - } - } - temp = values[1].split("\n"); - } - } - - //Change appropriate color - if(conditions!=null) { - ConditionsPresent(true); - } - if(rewards!=null) { - RewardsPresent(true); - } - -// if(responses!=null) { -// for(String string : responses[0]) -// System.out.println(string); -// for(String string : responses[1]) -// System.out.println(string); -// } - - //Create responses - if(responses!=null) { - for(int i = 0; i < responses[0].length; i++) { - panelResponses.add(new NewResponse(responses[0][i], responses[1][i])); - } - } - - } - - private class SwingActionAddReply extends AbstractAction { - /** - * - */ - private static final long serialVersionUID = 1736116289006795993L; - public SwingActionAddReply() { - putValue(NAME, "New response"); - putValue(SHORT_DESCRIPTION, "Add a new response."); - } - public void actionPerformed(ActionEvent e) { - panelResponses.add(new NewResponse(null, null)); - } - } - - private static void addPopup(Component component, final JPopupMenu popup) { - component.addMouseListener(new MouseAdapter() { - public void mousePressed(MouseEvent e) { - if (e.isPopupTrigger()) { - showMenu(e); - } - } - public void mouseReleased(MouseEvent e) { - if (e.isPopupTrigger()) { - showMenu(e); - } - } - private void showMenu(MouseEvent e) { - popup.show(e.getComponent(), e.getX(), e.getY()); - } - }); - } - - int getResponseCount() { - return panelResponses.getComponentCount(); - } - - String[] getValues() { - //Index 0 is for Asset.dat, Index 1 is for English.dat - String[] output = new String[2]; - - //Temporary variables - String conditionsOutput = ""; - String rewardsOutput = ""; - String[] messagePages = textArea.getText().split("

"); - - output[1] = ""; - - //Generate English.dat - //Split text by "

". - for(int i = 0; i < messagePages.length; i++) { - output[1] += "Message_" + thisIndex + "_Page_" + i + " " + messagePages[i].replace("\n", "
") + "\n"; - } - - //Set number of message pages and responses - output[0] = "Message_" + thisIndex + "_Pages " + messagePages.length + "\n"; - output[0] += "Message_" + thisIndex + "_Responses " + panelResponses.getComponentCount() + "\n"; - - //Get response globalIndexes - for(int i = 0; i < panelResponses.getComponentCount(); i++) - output[0] += "Message_" + thisIndex + "_Response_" + i + " " + ((NewResponse) panelResponses.getComponent(i)).getGlobalIndex() + "\n"; - - //Get conditions - if(conditions!=null) { - for(String string : conditions.split("\n")) { - conditionsOutput += "Message_" + thisIndex + "_" + string + "\n"; - } - output[0] += conditionsOutput; - } - - //Get rewards - if(rewards!=null) { - for(String string : rewards.split("\n")) { - rewardsOutput += "Message_" + thisIndex + "_" + string + "\n"; - } - output[0] += rewardsOutput; - } - - //Get responses - for(Component comp : panelResponses.getComponents()) { - String[] response = ((NewResponse) comp).getValues(thisIndex); - output[0] += "\n" + response[0]; - output[1] += "\n" + response[1]; - } - - return output; - } - - private class SwingActionRemove extends AbstractAction { - - - /** - * - */ - private static final long serialVersionUID = 2933271674152307091L; - public SwingActionRemove() { - putValue(NAME, "Remove message"); - putValue(SHORT_DESCRIPTION, "Remove this message."); - } - public void actionPerformed(ActionEvent e) { - getParent().remove(comp); - } - } - - public void ChangeIndex(int index) { - lblMessage.setText(" Message #" + (index + 1) + " "); - thisIndex = index; - } - public Component[] getResponses() { - return panelResponses.getComponents(); - } - - public void ConditionsPresent(boolean isPresent) { - - if(isPresent) - comp.setBackground(new Color(comp.getBackground().getRed(), comp.getBackground().getGreen() - 30, comp.getBackground().getBlue() - 30)); - else - comp.setBackground(new Color(comp.getBackground().getRed(), comp.getBackground().getGreen() + 30, comp.getBackground().getBlue() + 30)); - comp.revalidate(); - comp.repaint(); - } - public void RewardsPresent(boolean isPresent) { - if(isPresent) - comp.setBackground(new Color(comp.getBackground().getRed() - 30, comp.getBackground().getGreen(), comp.getBackground().getBlue() - 30)); - else - comp.setBackground(new Color(comp.getBackground().getRed() + 30, comp.getBackground().getGreen(), comp.getBackground().getBlue() + 30)); - comp.revalidate(); - comp.repaint(); - } - - //Conditions and rewards actions. - private class SwingActionOpenConditions extends AbstractAction { - /** - * - */ - private static final long serialVersionUID = 1227819414645128804L; - public SwingActionOpenConditions() { - putValue(NAME, "Add conditions"); - putValue(SHORT_DESCRIPTION, "Open the conditions window."); - } - public void actionPerformed(ActionEvent e) { - //Change color to less red - if(conditions!=null) - ConditionsPresent(false); - - conditions = conditionsDialog.ConditionsDialog(conditions); - - //Change color to more red - if(conditions!=null) - ConditionsPresent(true); - } - } - private class SwingActionClearCondition extends AbstractAction { - /** - * - */ - private static final long serialVersionUID = -8044852770132039349L; - public SwingActionClearCondition() { - putValue(NAME, "Clear conditions"); - putValue(SHORT_DESCRIPTION, "Clear current conditions for this message."); - } - public void actionPerformed(ActionEvent e) { - String ObjButtons[] = {"Yes","No"}; - int PromptResult = JOptionPane.showOptionDialog(null,"Are you sure?","Are you sure you want to clear conditions?",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE,null,ObjButtons,ObjButtons[0]); - if(PromptResult==0) - { - //Change color to less red - if(conditions!=null) - ConditionsPresent(false); - conditions = null; - } - } - } - private class SwingActionOpenRewards extends AbstractAction { - /** - * - */ - private static final long serialVersionUID = 1828029442225506423L; - public SwingActionOpenRewards() { - putValue(NAME, "Open rewards"); - putValue(SHORT_DESCRIPTION, "Open the rewards window."); - } - public void actionPerformed(ActionEvent e) { - //Change color to less green - if(rewards!=null) - RewardsPresent(false); - - rewards = RewardsDialog.Dialog(rewards); - - //Change color to more green - if(rewards!=null) - RewardsPresent(true); - } - } - private class SwingActionClearRewards extends AbstractAction { - /** - * - */ - private static final long serialVersionUID = -8954594618308736149L; - public SwingActionClearRewards() { - putValue(NAME, "Clear rewards"); - putValue(SHORT_DESCRIPTION, "Clear the rewards for this message."); - } - public void actionPerformed(ActionEvent e) { - String ObjButtons[] = {"Yes","No"}; - int PromptResult = JOptionPane.showOptionDialog(null,"Are you sure you want to clear rewards?","",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE,null,ObjButtons,ObjButtons[0]); - if(PromptResult==0) - { - //Change color to less green - if(rewards!=null) - RewardsPresent(false); - rewards = null; - } - } - } -} diff --git a/src/dialogues/NewResponse.java b/src/dialogues/Response.java similarity index 72% rename from src/dialogues/NewResponse.java rename to src/dialogues/Response.java index 3aa8341..ad1a448 100644 --- a/src/dialogues/NewResponse.java +++ b/src/dialogues/Response.java @@ -11,8 +11,8 @@ import java.awt.event.MouseEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.regex.Matcher; -import java.util.regex.Pattern; +import java.util.ArrayList; +import java.util.List; import javax.swing.AbstractAction; import javax.swing.Action; @@ -22,15 +22,32 @@ import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPopupMenu; +import javax.swing.JSeparator; import javax.swing.JTextArea; import javax.swing.JTextField; +import javax.swing.border.BevelBorder; +import javax.swing.border.LineBorder; import conditions.conditionsDialog; import objects.TextPrompt; import rewards.RewardsDialog; -import javax.swing.JSeparator; -public class NewResponse extends JPanel { +public class Response extends JPanel { + + String index; + String conditions; + String rewards; + + //On click actions + String dialogueID; + String vendorID; + String questID; + + //Text to show on the button + String text; + + //Messages to only show this response for + List messageIndexes = new ArrayList(); /** * @@ -41,7 +58,6 @@ public class NewResponse extends JPanel { private JLabel lblResponseIndex; private final Action actionRemove = new SwingActionRemove(); private final Action actionOpenConditions = new SwingActionOpenConditions(); - private String conditions; private final Action actionClearCondition = new SwingActionClearCondition(); private JTextField textFieldDialogueID; private JTextField textFieldQuestID; @@ -49,13 +65,15 @@ public class NewResponse extends JPanel { private TextPrompt textPrompt; private final Action actionOpenRewards = new SwingActionOpenRewards(); private final Action actionClearRewards = new SwingActionClearRewards(); - private String rewards; private int globalIndex; + private boolean hasConditionColor = false; + private boolean hasRewardColor = false; /** * Create the panel. * @param response */ - public NewResponse(String responseAsset, String responseEnglish) { + public Response() { + setBorder(new LineBorder(new Color(0, 0, 0))); comp = this; JPopupMenu popupMenu = new JPopupMenu(); @@ -73,9 +91,9 @@ public NewResponse(String responseAsset, String responseEnglish) { GridBagLayout gridBagLayout = new GridBagLayout(); gridBagLayout.columnWidths = new int[]{0, 0}; - gridBagLayout.rowHeights = new int[]{0, 11, 85, 0}; + gridBagLayout.rowHeights = new int[]{0, 11, 30, 0}; gridBagLayout.columnWeights = new double[]{1.0, Double.MIN_VALUE}; - gridBagLayout.rowWeights = new double[]{0.0, 0.0, 1.0, Double.MIN_VALUE}; + gridBagLayout.rowWeights = new double[]{0.0, 0.0, 0.0, Double.MIN_VALUE}; setLayout(gridBagLayout); lblResponseIndex = new JLabel("Response #"); @@ -154,6 +172,7 @@ public NewResponse(String responseAsset, String responseEnglish) { textAreaReply = new JTextArea(); textPrompt = new TextPrompt("Text shown for this button.", textAreaReply); textPrompt.changeAlpha(128); + textAreaReply.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null)); textAreaReply.setToolTipText("Separate pages with

"); GridBagConstraints gbc_textAreaReply = new GridBagConstraints(); gbc_textAreaReply.fill = GridBagConstraints.BOTH; @@ -181,104 +200,9 @@ public NewResponse(String responseAsset, String responseEnglish) { public void propertyChange(PropertyChangeEvent arg0) { panelOnClick.setBackground(getBackground()); } - }); - - if(responseAsset!=null && responseEnglish!=null) { - FillFields(responseAsset, responseEnglish); - } - + }); } - private void FillFields(String responseAsset, String responseEnglish) { - //Matcher - Matcher matcher; - - //Get response conditions, rewards and other info in assets - for(String string : responseAsset.split("\n")) { - if(Pattern.compile("response_[0-9]+_condition.*", Pattern.DOTALL).matcher(string.toLowerCase()).matches()) { - if(conditions==null) - conditions = ""; - conditions += string + "\n"; - } - if(Pattern.compile("response_[0-9]+_reward.*", Pattern.DOTALL).matcher(string.toLowerCase()).matches()) { - if(rewards==null) - rewards = ""; - rewards += string + "\n"; - } - if(string.toLowerCase().contains("reponse_[0-9]+_dialogue")) { - textFieldDialogueID.setText(string.split(" ")[1]); - } - if(string.toLowerCase().contains("reponse_[0-9]+_quest")) { - textFieldQuestID.setText(string.split(" ")[1]); - } - if(string.toLowerCase().contains("reponse_[0-9]+_vendor")) { - textFieldVendorID.setText(string.split(" ")[1]); - } - } - - //Change appropriate color - if(conditions!=null) { - ConditionsPresent(true); - } - if(rewards!=null) { - RewardsPresent(true); - } - - //Get English values - for(String string : responseEnglish.split("\n")) { - if(string.toLowerCase().contains("response_")) { - matcher = Pattern.compile("Response_[0-9]+ ").matcher(string); - textAreaReply.setText(matcher.replaceAll("")); - } - } - - } - - public String[] getValues(int messageIndex) - { - //Index 0 is Asset.dat, Index 1 is English.dat - String[] output = new String[2]; - output[0] = ""; - - //Temporary strings - String rewardsOutput = null; - String conditionsOutput = null; - - //Add lines if conditions exist - if(conditions!=null) { - conditionsOutput = ""; - for(String string : conditions.split("\n")) { - conditionsOutput += "Response_" + globalIndex + "_" + string + "\n"; - } - } - //Add lines if rewards exist - if(rewards!=null) { - rewardsOutput = ""; - for(String string : rewards.split("\n")) { - rewardsOutput += "Response_" + globalIndex + "_" + string + "\n"; - } - } - - //Save onClick - if(textFieldDialogueID.getText().length()>0) - output[0] += "Response_" + globalIndex + "_Dialogue " + textFieldDialogueID.getText() + "\n"; - if(textFieldQuestID.getText().length()>0) - output[0] += "Response_" + globalIndex + "_Quest " + textFieldQuestID.getText() + "\n"; - if(textFieldVendorID.getText().length()>0) - output[0] += "Response_" + globalIndex + "_Vendor " + textFieldVendorID.getText() + "\n"; - - //Save rewards and conditions - if(conditions!=null) - output[0] += conditionsOutput + "\n"; - if(rewards!=null) - output[0] += rewardsOutput + "\n"; - - //Get English.dat - output[1] = "Response_" + globalIndex + " " + textAreaReply.getText().replaceAll("\n", "") + "\n"; - - return output; - } - private class SwingActionRemove extends AbstractAction { private static final long serialVersionUID = -1993521655404817699L; public SwingActionRemove() { @@ -322,20 +246,29 @@ public void setGlobalIndex(int index) { globalIndex = index; } - public void ConditionsPresent(boolean isPresent) { + public void ConditionsPresent() { - if(isPresent) - comp.setBackground(new Color(comp.getBackground().getRed(), comp.getBackground().getGreen() - 30, comp.getBackground().getBlue() - 30)); - else - comp.setBackground(new Color(comp.getBackground().getRed(), comp.getBackground().getGreen() + 30, comp.getBackground().getBlue() + 30)); + if(this.conditions!=null && !hasConditionColor) { + comp.setBackground(new Color(comp.getBackground().getRed() - 30, comp.getBackground().getGreen(), comp.getBackground().getBlue() - 30)); + hasConditionColor = true; + } + else if (this.conditions==null && hasConditionColor){ + comp.setBackground(new Color(comp.getBackground().getRed() + 30, comp.getBackground().getGreen(), comp.getBackground().getBlue() + 30)); + hasConditionColor = false; + } comp.revalidate(); comp.repaint(); } - public void RewardsPresent(boolean isPresent) { - if(isPresent) + public void RewardsPresent() { + if(this.rewards!=null && !hasRewardColor) { comp.setBackground(new Color(comp.getBackground().getRed() - 30, comp.getBackground().getGreen(), comp.getBackground().getBlue() - 30)); - else + hasRewardColor = true; + } + else if (this.rewards==null && hasRewardColor){ comp.setBackground(new Color(comp.getBackground().getRed() + 30, comp.getBackground().getGreen(), comp.getBackground().getBlue() + 30)); + hasRewardColor = false; + } + comp.revalidate(); comp.repaint(); } @@ -354,13 +287,13 @@ public SwingActionOpenConditions() { public void actionPerformed(ActionEvent e) { //Change color to less red if(conditions!=null) - ConditionsPresent(false); + ConditionsPresent(); conditions = conditionsDialog.ConditionsDialog(conditions); //Change color to more red if(conditions!=null) - ConditionsPresent(true); + ConditionsPresent(); } } private class SwingActionClearCondition extends AbstractAction { @@ -380,7 +313,7 @@ public void actionPerformed(ActionEvent e) { { //Change color to less red if(conditions!=null) - ConditionsPresent(false); + ConditionsPresent(); conditions = null; } } @@ -397,13 +330,13 @@ public SwingActionOpenRewards() { public void actionPerformed(ActionEvent e) { //Change color to less green if(rewards!=null) - RewardsPresent(false); + RewardsPresent(); rewards = RewardsDialog.Dialog(rewards); //Change color to more green if(rewards!=null) - RewardsPresent(true); + RewardsPresent(); } } private class SwingActionClearRewards extends AbstractAction { @@ -422,9 +355,103 @@ public void actionPerformed(ActionEvent e) { { //Change color to less green if(rewards!=null) - RewardsPresent(false); + RewardsPresent(); rewards = null; } } } + public String getIndex() { + return index; + } + public void setIndex(String index) { + this.index = index; + } + public String getConditions() { + return conditions; + } + public void setConditions(String conditions) { + ConditionsPresent(); + this.conditions = conditions; + } + public String getRewards() { + return rewards; + } + public void setRewards(String rewards) { + RewardsPresent(); + this.rewards = rewards; + } + public String getDialogueID() { + return dialogueID; + } + public void setDialogueID(String dialogueID) { + textFieldDialogueID.setText(dialogueID); + this.dialogueID = dialogueID; + } + public String getVendorID() { + return vendorID; + } + public void setVendorID(String vendorID) { + textFieldVendorID.setText(vendorID); + this.vendorID = vendorID; + } + public String getQuestID() { + return questID; + } + public void setQuestID(String questID) { + textFieldQuestID.setText(questID); + this.questID = questID; + } + public String getText() { + return text; + } + public void setText(String text) { + textAreaReply.setText(text); + this.text = text; + } + public List getMessageIndexes() { + return messageIndexes; + } + public void addMessageIndexes(int index) { + this.messageIndexes.add(index); + } + + public String[] CompileResponse() { + //Asset.dat is 0, English.dat is 1 + String output[] = new String[2]; + output[0] = ""; + output[1] = ""; + + //Get messages to show response for + if(this.messageIndexes.size()>0) { + output[0] += "Response_" + this.index + "_Messages " + this.messageIndexes.size() + "\n"; + for(int i = 0; i < this.messageIndexes.size(); i++) { + output[0] += "Response_" + this.index + "_Message_" + i + " " + this.messageIndexes.get(i) + "\n"; + } + } + + //Get on click + if(this.dialogueID!=null) + output[0] += "Response_" + this.index + "_Dialogue " + this.dialogueID + "\n"; + if(this.questID!=null) + output[0] += "Response_" + this.index + "_Quest " + this.questID + "\n"; + if(this.vendorID!=null) + output[0] += "Response_" + this.index + "_Vendor " + this.vendorID + "\n"; + + //Get conditions and rewards + if(this.conditions!=null) { + for(String string : this.conditions.split("\n")) { + output[0] += "Response_" + this.index + "_" + string + "\n"; + } + } + if(this.rewards!=null) { + for(String string : this.rewards.split("\n")) { + output[0] += "Response_" + this.index + "_" + string + "\n"; + } + } + + //Get response button text + output[1] += "Reponse_" + this.index + " " + textAreaReply.getText(); + + return output; + } } diff --git a/src/filemanagement/SaveDialogue.java b/src/filemanagement/SaveDialogue.java index 350e6b0..a1f4371 100644 --- a/src/filemanagement/SaveDialogue.java +++ b/src/filemanagement/SaveDialogue.java @@ -1,10 +1,24 @@ package filemanagement; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; + public class SaveDialogue { - public SaveDialogue(String[] values) { - - + public static void Save(String[] values, String path) { + try { + BufferedWriter writer = new BufferedWriter(new FileWriter(new File(path + "/Asset.dat"))); + writer.write(values[0]); + writer.close(); + writer = new BufferedWriter(new FileWriter(new File(path + "/English.dat"))); + writer.write(values[1]); + writer.close(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } } } diff --git a/src/popups/fileChooser.java b/src/popups/fileChooser.java new file mode 100644 index 0000000..a024bd2 --- /dev/null +++ b/src/popups/fileChooser.java @@ -0,0 +1,16 @@ +package popups; + +import javax.swing.JFileChooser; + +public class fileChooser { + + public static String FileChooser() { + JFileChooser chooser = new JFileChooser(); + chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + int returnVal = chooser.showOpenDialog(null); + if(returnVal == JFileChooser.APPROVE_OPTION) { + return chooser.getSelectedFile().getAbsolutePath(); + } + return null; + } +} diff --git a/src/windows/Test.java b/src/windows/Test.java index d526f94..22046b3 100644 --- a/src/windows/Test.java +++ b/src/windows/Test.java @@ -1,12 +1,27 @@ package windows; -import dialogueobject.Dialogue; +import javax.swing.JFileChooser; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; public class Test { - public static void main(String[] args) - { - new Dialogue("C:\\Users\\frane\\Desktop\\Bundles\\NPCs\\Dialogues\\Commander\\Commander_Welcome"); - } -} + public static void main(String[] args){ + + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException + | UnsupportedLookAndFeelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + }; + + JFileChooser chooser = new JFileChooser(); + chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + int returnVal = chooser.showOpenDialog(null); + if(returnVal == JFileChooser.APPROVE_OPTION) { + String path = chooser.getSelectedFile().getAbsolutePath(); + } + } +} \ No newline at end of file diff --git a/src/windows/Window.java b/src/windows/Window.java index 83306b4..6b6a3bb 100644 --- a/src/windows/Window.java +++ b/src/windows/Window.java @@ -223,20 +223,10 @@ public void windowClosing(WindowEvent we) contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(0, 0, 0, 0)); setContentPane(contentPane); - GridBagLayout gbl_contentPane = new GridBagLayout(); - gbl_contentPane.columnWidths = new int[]{116, 300, 0}; - gbl_contentPane.rowHeights = new int[]{540, 0}; - gbl_contentPane.columnWeights = new double[]{0.0, 1.0, Double.MIN_VALUE}; - gbl_contentPane.rowWeights = new double[]{1.0, Double.MIN_VALUE}; - contentPane.setLayout(gbl_contentPane); + contentPane.setLayout(new BorderLayout(0, 0)); JPanel selectorPanel = new JPanel(); - GridBagConstraints gbc_selectorPanel = new GridBagConstraints(); - gbc_selectorPanel.insets = new Insets(0, 0, 0, 5); - gbc_selectorPanel.fill = GridBagConstraints.BOTH; - gbc_selectorPanel.gridx = 0; - gbc_selectorPanel.gridy = 0; - contentPane.add(selectorPanel, gbc_selectorPanel); + contentPane.add(selectorPanel, BorderLayout.WEST); GridBagLayout gbl_selectorPanel = new GridBagLayout(); gbl_selectorPanel.columnWidths = new int[]{11, 0}; gbl_selectorPanel.rowHeights = new int[]{116, 35, 35, 0, 35, 35, 0}; @@ -340,8 +330,6 @@ public void actionPerformed(ActionEvent arg0) { selectorPanel.add(buttonVendors, gbc_buttonVendors); JButton buttonDialogues = new JButton("Dialogues"); - buttonDialogues.setEnabled(false); - buttonDialogues.setVisible(false); buttonDialogues.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { for(Component panel : panelEditors.getComponents()) @@ -404,11 +392,7 @@ public void actionPerformed(ActionEvent e) { // selectorPanel.add(buttonQuests, gbc_buttonQuests); // panelEditors = new JPanel(); - GridBagConstraints gbc_editorsPanel = new GridBagConstraints(); - gbc_editorsPanel.fill = GridBagConstraints.BOTH; - gbc_editorsPanel.gridx = 1; - gbc_editorsPanel.gridy = 0; - contentPane.add(panelEditors, gbc_editorsPanel); + contentPane.add(panelEditors); panelEditors.setLayout(new CardLayout(0, 0)); panelExplorer = new JPanel();