From 83056ab7effa222fdb7512ebbac65d4a0109e30d Mon Sep 17 00:00:00 2001 From: "sigonasr2, Sig, Sigo" Date: Tue, 5 Jul 2022 18:19:49 +0000 Subject: [PATCH] It's Co-authored-by: sigonasr2 --- Java/scripts/build.sh | 10 +- Java/scripts/build2.sh | 17 ++ Java/scripts/filelist | 3 + Java/scripts/jar.sh | 6 +- Java/scripts/jar2.sh | 17 ++ Java/scripts/md5 | 9 +- Java/scripts/release.sh | 36 ++-- Java/scripts/zip.sh | 14 ++ bin/JavaProjectTemplate.jar | Bin 8133 -> 0 bytes manifest | 1 + sig | 8 +- src/sig/JavaProjectTemplate.java | 21 --- src/sig/MultiRando.java | 7 + src/sig/engine/Color.java | 38 ---- src/sig/engine/Edge.java | 33 ---- src/sig/engine/Panel.java | 314 ------------------------------- src/sig/engine/Point.java | 32 ---- utils/.updateDirectories | 1 + utils/main.sh | 2 +- utils/md5 | 4 +- 20 files changed, 112 insertions(+), 461 deletions(-) create mode 100644 Java/scripts/build2.sh create mode 100644 Java/scripts/jar2.sh create mode 100644 Java/scripts/zip.sh delete mode 100644 bin/JavaProjectTemplate.jar create mode 100644 manifest delete mode 100644 src/sig/JavaProjectTemplate.java create mode 100644 src/sig/MultiRando.java delete mode 100644 src/sig/engine/Color.java delete mode 100644 src/sig/engine/Edge.java delete mode 100644 src/sig/engine/Panel.java delete mode 100644 src/sig/engine/Point.java diff --git a/Java/scripts/build.sh b/Java/scripts/build.sh index 613d20e..c5b6b67 100755 --- a/Java/scripts/build.sh +++ b/Java/scripts/build.sh @@ -5,5 +5,13 @@ javac -source ${SOURCE_VERSION} -target ${TARGET_VERSION} -Xlint:unchecked -cp $ printf "\n\n\nRunning Program...\n\n" ORIGINAL_LOC=$(pwd) cd $OUT_DIR -java -cp .:../lib/bin -Djava.library.path="${LIBRARY_PATH}" ${MAIN_CLASS} "$@" +if java ${CUSTOM_PARAMS} -cp .:../lib/bin/ -XX:+UseZGC -Djava.library.path="${LIBRARY_PATH}" ${MAIN_CLASS} "$@"; then + ${ORIGINAL_LOC}/${LANGUAGE}/scripts/clean.sh + exit +fi +if java ${CUSTOM_PARAMS} -cp .:../lib/bin/ -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Djava.library.path="${LIBRARY_PATH}" ${MAIN_CLASS} "$@"; then + ${ORIGINAL_LOC}/${LANGUAGE}/scripts/clean.sh + exit +fi +java ${CUSTOM_PARAMS} -cp .:../lib/bin/ -XX:+PrintCommandLineFlags -Djava.library.path="${LIBRARY_PATH}" ${MAIN_CLASS} "$@" ${ORIGINAL_LOC}/${LANGUAGE}/scripts/clean.sh \ No newline at end of file diff --git a/Java/scripts/build2.sh b/Java/scripts/build2.sh new file mode 100644 index 0000000..53fe062 --- /dev/null +++ b/Java/scripts/build2.sh @@ -0,0 +1,17 @@ +#Builds and runs the project for Windows. +#Java +source ${LANGUAGE}/scripts/version_info +javac -source ${SOURCE_VERSION} -target ${TARGET_VERSION} -Xlint:unchecked -cp ${CLASS_PATH_WINDOWS} -d ${OUT_DIR} ${PROJECT_DIR}/*.java +printf "\n\n\nRunning Program...\n\n" +ORIGINAL_LOC=$(pwd) +cd $OUT_DIR +if java ${CUSTOM_PARAMS} -cp ".;../lib/bin/" -XX:+UseZGC "-Djava.library.path=${LIBRARY_PATH}" ${MAIN_CLASS} "$@"; then + ${ORIGINAL_LOC}/${LANGUAGE}/scripts/clean.sh + exit +fi +if java ${CUSTOM_PARAMS} -cp ".;../lib/bin/" -XX:+UnlockExperimentalVMOptions -XX:+UseZGC "-Djava.library.path=${LIBRARY_PATH}" ${MAIN_CLASS} "$@"; then + ${ORIGINAL_LOC}/${LANGUAGE}/scripts/clean.sh + exit +fi +java ${CUSTOM_PARAMS} -cp ".;../lib/bin/" -XX:+PrintCommandLineFlags "-Djava.library.path=${LIBRARY_PATH}" ${MAIN_CLASS} "$@" +${ORIGINAL_LOC}/${LANGUAGE}/scripts/clean.sh \ No newline at end of file diff --git a/Java/scripts/filelist b/Java/scripts/filelist index 455d98e..9e5004d 100644 --- a/Java/scripts/filelist +++ b/Java/scripts/filelist @@ -1,7 +1,10 @@ +build2.sh build.sh clean.sh commit.sh +jar2.sh jar.sh release.sh update.sh version_info +zip.sh diff --git a/Java/scripts/jar.sh b/Java/scripts/jar.sh index d201c59..61d1759 100755 --- a/Java/scripts/jar.sh +++ b/Java/scripts/jar.sh @@ -5,13 +5,13 @@ rm -Rf bin/* javac -source ${SOURCE_VERSION} -target ${TARGET_VERSION} -Xlint:unchecked -cp ${CLASS_PATH} -d ${OUT_DIR} ${PROJECT_DIR}/${PROJECT_NAME}.java printf "\n\n\nGenerating Manifest...\n\n" touch manifest -echo "Main-Class: ${MAIN_CLASS}" >> manifest +echo "Main-Class: ${MAIN_CLASS}" > manifest printf "\n\n\nCreating Jar...\n\n" ORIGINAL_LOC=$(pwd) cd ${OUT_DIR} jar cfm ${PROJECT_NAME}.jar ${ORIGINAL_LOC}/manifest sig jar uf ${PROJECT_NAME}.jar -C ../lib/bin/ . printf "\n\n\nRunning Program...\n\n" -java -cp .:../lib/bin -Djava.library.path="${LIBRARY_PATH}" -jar ${PROJECT_NAME}.jar "$@" -../${LANGUAGE}/scripts/clean.sh +java ${CUSTOM_PARAMS} -cp .:../lib/bin -Djava.library.path="${LIBRARY_PATH}" -jar ${PROJECT_NAME}.jar "$@" +${ORIGINAL_LOC}/${LANGUAGE}/scripts/clean.sh cd .. diff --git a/Java/scripts/jar2.sh b/Java/scripts/jar2.sh new file mode 100644 index 0000000..9167bb8 --- /dev/null +++ b/Java/scripts/jar2.sh @@ -0,0 +1,17 @@ +#Builds a runnable jar file using ${MAIN_CLASS} as an entry point and then runs the newly generated jar for Windows. +#Java +source ${LANGUAGE}/scripts/version_info +rm -Rf bin/* +javac -source ${SOURCE_VERSION} -target ${TARGET_VERSION} -Xlint:unchecked -cp ${CLASS_PATH_WINDOWS} -d ${OUT_DIR} ${PROJECT_DIR}/${PROJECT_NAME}.java +printf "\n\n\nGenerating Manifest...\n\n" +touch manifest +echo "Main-Class: ${MAIN_CLASS}" > manifest +printf "\n\n\nCreating Jar...\n\n" +ORIGINAL_LOC=$(pwd) +cd ${OUT_DIR} +jar cfm ${PROJECT_NAME}.jar ${ORIGINAL_LOC}/manifest sig +jar uf ${PROJECT_NAME}.jar -C ../lib/bin/ . +printf "\n\n\nRunning Program...\n\n" +java ${CUSTOM_PARAMS} -cp .;../lib/bin "-Djava.library.path=${LIBRARY_PATH}" -jar ${PROJECT_NAME}.jar "$@" +${ORIGINAL_LOC}/${LANGUAGE}/scripts/clean.sh +cd .. diff --git a/Java/scripts/md5 b/Java/scripts/md5 index 6ae0752..b2c3eed 100644 --- a/Java/scripts/md5 +++ b/Java/scripts/md5 @@ -1,6 +1,9 @@ -build.sh:22308eae5fd9c88aa16fef54cf03ae21 - +build2.sh:b1c6b7c6b2eb19ba54be6824bda8805b - +build.sh:5df470d49036bf7565493739aeebeaa8 - clean.sh:668a2f9b568c55f6a044a509315032f6 - commit.sh:5e4448db9ad48e72ec3a1ff4f5763b41 - -jar.sh:343cf505530401fb696296bc25a9b090 - -release.sh:b1b62203411b18d0fec1db3dc2e5a061 - +jar2.sh:7977fc138ee5db798d08c34734f0be93 - +jar.sh:821d5a109324d405f05c35c4bb129375 - +release.sh:027178aa6da76180401a188d8f03af64 - update.sh:3be721658983183efa395984acd96b03 - +zip.sh:273f5a83b80a8e54022d60514dfeec0a - diff --git a/Java/scripts/release.sh b/Java/scripts/release.sh index 0f7389c..fca8c4b 100644 --- a/Java/scripts/release.sh +++ b/Java/scripts/release.sh @@ -1,14 +1,28 @@ -#Creates a zip file containing all project contents. +#Use ./sig release to create a custom installer based on OS. #Java source ${LANGUAGE}/scripts/version_info -TARGET_FILE="${PROJECT_NAME}_${RELEASE_VERSION}.zip" FILES=$(cat ${LANGUAGE}/scripts/.package.files) -echo "Creating Package $TARGET_FILE..." -for f in $FILES -do - zip -ur $TARGET_FILE $f -done -echo "Complete!" -echo "" -echo "" -echo "" \ No newline at end of file +if [ "$1" = "windows" ];then + echo "Creating a package for Windows..." + echo "Not implemented yet." +elif [ "$1" = "mac" ];then + echo "Creating a package for Mac..." + echo "Not implemented yet." +elif [ "$1" = "linux" ];then + echo "Creating a package for Linux..." + cd .. + mkdir -vp RabiCloneOut/in + for f in $FILES + do + cp -Rv --parents $PROJECT_NAME/$f RabiCloneOut/in + done + jpackage --verbose --input RabiCloneOut/in/RabiClone --main-jar bin/RabiClone.jar --main-class sig.RabiClone --type app-image --dest RabiCloneOut + cp -Rv RabiCloneOut/RabiClone/lib/app/* RabiCloneOut/RabiClone + jpackage --verbose --app-image RabiCloneOut/RabiClone --name RabiClone + rm -Rfv RabiCloneOut + cd RabiClone + echo "Done!" +else + echo "Usage: " + echo " ./sig release " +fi \ No newline at end of file diff --git a/Java/scripts/zip.sh b/Java/scripts/zip.sh new file mode 100644 index 0000000..4de5b1a --- /dev/null +++ b/Java/scripts/zip.sh @@ -0,0 +1,14 @@ +#Create a zip folder containing all dependencies. For quick release. +#Java +source ${LANGUAGE}/scripts/version_info +TARGET_FILE="${PROJECT_NAME}_${RELEASE_VERSION}.zip" +FILES=$(cat ${LANGUAGE}/scripts/.package.files) +echo "Creating Package $TARGET_FILE..." +for f in $FILES +do + zip -ur $TARGET_FILE $f +done +echo "Complete!" +echo "" +echo "" +echo "" \ No newline at end of file diff --git a/bin/JavaProjectTemplate.jar b/bin/JavaProjectTemplate.jar deleted file mode 100644 index 37133e2c71f4be13a732f86dd70340dc9c36b8e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8133 zcmb7J1yCK^vc-bCI{|__1a}DT?j#52;I6@f1b3GNJ2(V)3GVLh?jAV6Pu{)%-P~LM zy{g|+Q#Do7-MeQ`ckiyXl;xmdup!{#;USWu>eV5B69fnt2n7jsQ6?EhNtWk92nc8h zWjQ$bUm8$mtmCI*>Pl+eKkqfq?jmTAY$Vg z+>1yUrIF8z_&u?Qs;IGt4>8MQz%#8yzeWFFabnPX;Whgig~iYNSDc6t5I~UZza+9y#dede$G7*p7fho=FATTx z@2xuB4re~y?DZ)@uv`px3)m89v)OyWmQZ6h7_XNjkVxRnVmm4YJ<JK+sVZ_G7N7R$xfW5mpXL0}TQ0Nwk&*&V)5w?z#4{d$EUQw5~3|o+4^XoDKg$ z0GBAtj66huSMBWm%6`K9>8fHs+&lVrq&DT41e%M6?btXPWjsu{FB*wCBQYu_Xwk54}k@$O$hG&l+y_-Bk`0xP?k< zF;n7`KiqeZb#tJ*g$p{!juFH#LXmm!g$Opyi_Ol+H-I8!0#PenP?MJ=5bUV$ARj*l zeiKpo;>TxJ`MI-3BhDo5GTiA+l;a|S>W$OB)F?rOq)P-rNawK^O}ZG@g%|SFL|?;( zg|W7JO7pZKjm9|p!9W+qlSfsoWT>^~z%F(6*g^Q)fY6f!!F5nyX-{YTD4Y9o0k%p|_7d3;PwWf_o<^G8NUW|5(`KzE7p zgMZ`aFF=d%!KB$lTBx(bgqojYBl{kx^R4Ny$ra~9B}@}oTc(RC;ywOQIJ;72uvFWm zXS3pZlv}rAxN2(yp8@9u`b}cXF^Pu|_zcZwJfB!x2l+SynXRlIQY1c!9S^|?_fu*?&F=Agt@t<;! zpX1SldrO4CFfYf!&kk*R@9tTITB5#q;ZEs_ z`rc-mi|U>Fje}J!e0FqVgt!7d`#Rc*?rY6O-6un5o33O(Y6q^t-=jgc-{{|7vOXI? zo_Tm|Jwgewp7TSKJ&Z@JJ&p$oyCXdBclmC%gByr^G0)8*UzmtqD66AQZY!4`Lx-b~ zP6HX0nt&C#pbm)d5a!Tz-d_lLOh1Txujb4;mbcNMwVcOZ!d%kKB+n`FT!?cnT}mri zKMl33#zc&&z0tRhbTi|oryUg}Ds!LfEfxD(=VNNqwdum3$y{D$S7c|a+FzkS#j&8x z-prS@U+XS7hyxxe(Iq-e$E_%_v0cA7?ybQ&Qm37~)1)zKsnytWFA-iPIjX|Fv7P^r z?;#%brjAq3fW;jX+xciA%(=L_UfhBjZEC-ICQ{RlzSTgjHqUd4#Bp$9qKwt&jj0WN ztSmQ(uM9@!lAWZ|L|nj&sc zWaN?;r>@A9TNt42NEl>pC_peas)et|mNvqm#n1qxixSITUY=fRU6rlxou&Cquw-g# zrM4niX`OKd7{D2%rx(^@OV%%5FGYX;!L*>=x7({7JyQ3T23HB#Ta-t|9#w>IR`-_V zXaWDM-(tWqOJ`<^VCYicvPXJudPr#}ahlzRiodJ|vR7_3&Yhxi^6>T61&-Ab5&K0s zkYPb$$B})sY%ALS4gp{zutF{t`N%jqI0LJYzO~pwCAss&ZV)SLeI`qVW9Hray|#c- zE3fcEACQl{^8w6KTcuFI>+N8koT!pwWHp~2NmER;nR>h&YZbe+gn1_0Th(eAW*~go z-7-~yQ|Gi7ZNg3%8uh8kIik^0nOrv!-n=Op@xc*8A>ZSRodlyL)hJ#twXL!umV-5W zrH)8|NMpj1I;m-jG=goq-w9NC=M1$ge1l}t+$JB^+|Y0*tl3I`i%H5`+qvY#J#rC46!ZLDN(w?e~0cUi-P`rf*vcw#y*F3q}-4wP05 zQpuJmQs;^{eao%85Lq-TpDmS{UI0oj7SkZ4H!7y*>{8#O;kZ0;N%Ym0ae= zOV>t_><$sTu!muiFEC!BilBw6Eg-&;MXL8 zMMcbbXKT?Fsl|r&Lk;1r4SniEJsc9|2{d}(9KeOvEp>b&l&XNNZLIT&j)P#~v+_Pi zKSO!KI2T@7>3dI)qbAPexq9X#w~bO{v%#awzD8yf?;v^x!ckoFQ_F@V>$J`zlQerx z3B8PEOr?Ujm8R`TnzLYaDMq$K+aCuzF4%~O+`-6)r6`rFFyYdRRdFt}N$w$3oOTJ- zjS8ehj|6&+Ms^(ApPI;5XVT49k`cK*-bR^^$6R!e6|6I`S|~gs3`CnB#_KR-o}LWo zW-fL!Zc7SOvtq1?c`SQRP1W>Fhdn%ud04?(C4PzC>U>krS&dnqbWM%fC?$C3X98Oi zac-%QkD0y`iilbw7|6hD03c%c2z4Sa)TBu}T#8ROL!i*PJXrk*Z#TKvB*sS^hAA*) zxO`>;S-0?>XV94YFlgk6L(?-{-+hO`w8qqn+Nu&7!Sx#SgU?KFYekcitlV94$um`n zvrsZEIeOq){s(&&L&0(Sy=_vx?usA+P}j%sM;s0l=T6wf1j*7c>gxrJq4H33Zqz#c zZJgr53IYCClA!8SuDp#(T4~KV9(6X)&4!Z%XRZ0DT8`Q}8$i5(;!Rx_9EbbCU{84C z#&CCh+=@%0b@H+$mvCkyRXT;alx)Ijlnqv$OIr5=({&hrtpUKZX935w=1#AZOUBr| z)Ft&@aUb8$c3EU-kmZfJK$Hhv-VtZ)fimUk4=s9ZE{HsmTkIwEI8 zqSF=;45W$=RtGxSp+y>gk=H%YQ3ApD^Nr&oU$ zp{Y6-m2p38vfxp{XkMb8$) ziYt#flzYsLEsJpGZCO{XlESxT#xpHo#C_kO*X3|wttCVo2~)v0H;dgsR>EMmBIx_Epc7zujj0?4;Y7iDLb(~5g)Dh ztDt_AcFVilLvCB?0Jv>y&|U)9CUUNmDMC~hL+rO-y9mMW^?C$u8Rm%*XA!i2;fwMe zoC|T#$GbBI8v={Wv2GpZ#s&+IyX!<@!B}QnCYwBgP7lhXI*lb{@y8DA6&Vy)KJq7B zHGQ?>6027mG#Sv)oXBa7>b|5JSxW8%Ko=e+qmF5I?8E)Gp8K$8JHMkh)O1RfAz_ux zH8YQ(lPT@IL-f&n9nc#^_}kruxSlQU&dPVKx!bz4&YR z2ZuK0ludoi@Z6;a=h~^Wu1P5itJ00r?g?KpahDltqW2q-7MB z0QjKx?@V>mTReoF<2U;;Sb~dvCxP{-d`hk2b4@&kl)<+4hJ2#dtz>GMS3}*e9#vGS zu=;utPDXb#6skf~^nK1bGh+$%j3fvKP4YxTgURNhttbL9k2SVD#rEcjmB%`bmsWK*>t z9;G@%VF!Q1lUhz2C462?@+71oN)T*2)7$%zvMtAz^#c`V*v12Pu>aDujQfm30%`Jk z$J(YVKeOw^l4B2)`83((88heYa(E#JFnD++-*B`bsmTr{^<;4;vA!+@d@=zpR(?jF zE#1weCVA;q6y87!k;p3CI>znq)26c($FXaUx#I0M2RZ)2caX-&nR+4m6DRR9^s$%$!_WuEf1@M5eU~C93s? zVNW~bJ0wnEIM}S*6(qz?Ay1RMQn#v@&pL*v~cg z9O%Dp4~;4&A;tC?4Kac)90StwC5!G@lST%{6q1s63wE(_hY^xsohE&C!bz|zuehzU zKT$Z_Du!Bx?Yu^i>+0Fq{A4k2pj&wNFm4Z#O;fOtI^fH>X``r6t`n@Y zPYCQb(Wy2GSC$8%0_X7LZk@Qc%9e}dM{=^t#|wKNmTmqpP~A6-%Mr|V;GX1IsrbEE z`0)te=fseSD!iqxRmu-;HF!OMidEhK4b)OzKNsg1RA9Q1@NRG``4zk-zkS5rZpamy zQRImA$Q+xds|~6a&qmk-T1QFO(?X0d3zYe{wF63@nXlVz((^~eCh}(GiXOA6!XB#A zt$ZV$LV97Oy;Z)_h-#YUw^MoSXgLaCVkUT;V_brz+vNfz4bmz0=1*Im;ZR&{L& zW1JAgvsfW=by|YOXa+Z2)4`QK3>9vw;_ljx6m7YBTXmek17;i z8{SLLuZ&*AR&Tru{XUA#v+yt8Q*_t>+UuH4?(j~Q&iGyC?ETt%%HeprE%=As`8)fr zWb^}akA1T`5d}uL&voh``sR^*zIwH*m?!(Vgq%^AwMO{d<<+B?qzVt zv8$f&K&#j=2CI9Vb8x~|lw6%V)xz5qQnw7Kf}3{*H1h5rM5yHmqOb}oLqn|wDJas0VdpSt(@=XIqhAb5cd z?u?JQODam&`&c__D@ubW8_Qm>H%lzkUl8_m_o^MN){xkgPxrYjZab7cEGj(#yju9$2J8XDZNdaT^>R_81J#eeUDm{6)jtOKGuwe z_D!y^>Z6yI#zKs_0RWFfbpMuIQ=@JwHJqk(C!#4+MX8^oONd*|V#zE}po@39*HK$u ze%@5-lU~ku@xFFU$Fm?_aW2PDA)kE^+ye06RlH(IcT9uXJEg zxhCqcmLj7%^IHaPuJH;%MgT!#2vhfovd{8Y`Qf?MH}3s7-5o;r z#ncI$WF05ubLBbh@`jt`Y4&aNVP12Rkue1pE4BVDBohLoixns^uJ2k+J%_Z+&hCef zQJhNox0h-|yMkjXt)?E*bANQ-+sJ42Vxt=`;#c%yYbwC+gdjqBEG>!$`FGUaR^`ms zo{V&9>IYK*(SxNTx738PMAd>ZIWe|0c$xSRaDeP)#dL)#YAOXFKqFtWVOA7Nv231t z;B09p$#7bTMr~adnqp{609KRT3iq{)3cxoS-@1H`44;Shjh`)Grsv_C+OFbmsr9MW z`*CmrP?HJxil|_&VU%(}>Bn95%d1~-2$P(gcn&%Q#4_<8aLE6SGyVhR5Vy0obNmD4 zFo+*gQWM4QZI@eGnl${tjP^=5f&2Qhkb)L5$A(Us?p3z5w#;`>(ll4m2WkBV$F0@w zhKWRnY&J;*Ni41M&!I?ow)%}uxi5YgW2yW>-JrX>m8+3d4i59hr}i^pD4vi6JlhD5 ziNFh4&*uJ=5Bf&>u9U+F7^pcBGLjK&Jt=0xteX)G5jv6qY<<$~y97uPB@q(bNpCHv zJU6dR4s;4=%D&^s1m;!~00G#dTXrK)muNT^zqN~;x;bE0 zx9xCH(<%y#GWVveIE)b`Sk2#bwWQ=o+zK^J!~tWmz%#RaMUN%cM^}v@Bd= za2{W_gW6|t?3)e=)b(nxKQ0!W*SMit;Rf84@Dx~C@_2nQR^<07`>!A2WWf`VI(AM09Iyrx-0;-ncW{kXI2?!N>!BqPK+)L2D zo+y;OA{(GdkO3kLwsFA5H{7d5%oBPGU?x6p=%?7Dh$ilu}@iikv3;_ij4r$7`D&{T7_9Ck8DpP;<#@l7j>E&wBh1ucH%{=_8sf9`PhK6v0Q28 z&}c*BV9JFpCuaVS7>RM+ht@>Cass3%-5KY1kq5ErPdZ_QXLsrTxHSWaU8}w~z2BbB zc#g+cst*qHrT5hVS>Dz*`cKQ?=t1a&ykVKJ@^1{CvA%@3Y zT{Ek)QySo7S;v~1aO_k_e|(5H>syC9pkj;`cPmOd=!-g%m*rt=k|)7Kpc~CsR8m`e z{qduai)WhW3ixwiX}1ow&lmfyDvKtrYb~?%F9ksBDGSXl^70Lz;okKv$ieOgQJ*NV zLR{JVUn%z8Nrjf|CzAdACzAbtw{D!j1Jn{G=6`Y`k!pHssw&veb+mB%=pYZ7W(yst zxP%qTqIXP)C85k{ie1(pLZmK;gPoku8_mE-g156)Bi+;2<7oTuuceA>QA6HVf}oGu zZktY@PWqB7Aj;QO;9GgH-oeC2lV$^Azk-}*sy;Y1dx&an} z-#+t0Me`2KS7qRYR#H&9u`zcYSy>Uzs$*2UyqEPRTH7Oc_{MwhmsKO)XygDO%68E%0+3cO`iLetBqF8asi<{XWwcF zswLKy6((>`=u1V+%AU$r>ucP;JNi&u9nntWU8SM+*ub)PTh5Aegd7_?16;Mo=KP_& ze(gI$Z4X}axz3}!2Kz%muIQi7ovAccF_T>H$4G?;$|ld|=Q5uJe1)@*ICqF^%Y_rl zso47RdQ(loxd%((ep8KXBJ=fqL>4u;`CVBkM7SvCr*h63xi?3Uw~@YqFH98Wrp*XX zB-iepTfWW7^-F-EB~7diG+P%M_%RWh(p(|{j6;kMMsWik!l9sq!CLO>7uB^mPs99Y zLltx5(|1iiagzn)Ie?630apKbo}Jos$sw+7P%z{H&@glC_;%ozI5{~CegepXTKznV296gI@)Yw3Tv z)L(S#-{s%@=`ZqCS?=$qztfw)$kx9^@aN;dO@E_ae|bQJ_|G)xUmkXTKK?<9{(a5g z>8)S1=wAW{`G>`SBuW3<;=lN?zeMNfUj179-|X1mWB7fh{53iLB?131{EIF7=idE( ze*WEu#m}w$ZSmh`(SQ2*y+QunM+e^DeEfFq{?o_rsqw3o{w0)zfAjHIV^x-W1^Y`4 P;pZjxGj(kK^&kERZcKWB diff --git a/manifest b/manifest new file mode 100644 index 0000000..7c17694 --- /dev/null +++ b/manifest @@ -0,0 +1 @@ +Main-Class: sig.MultiRando diff --git a/sig b/sig index e4830e8..abc80f0 100755 --- a/sig +++ b/sig @@ -1,11 +1,15 @@ -export AUTO_UPDATE=true +export AUTO_UPDATE=false source utils/define.sh -define PROJECT_NAME "JavaProjectTemplate" +define PROJECT_NAME "MultiRando" define PROJECT_DIR "src/sig" define MAIN_CLASS "sig.${PROJECT_NAME}" define OUT_DIR "bin" +define LIBRARY_PATH "../lib" +define CLASS_PATH "${PROJECT_DIR}/..:lib/bin" +define CLASS_PATH_WINDOWS "${PROJECT_DIR}/..;lib/bin" +define CUSTOM_PARAMS "" define LANGUAGE "Java" source utils/main.sh \ No newline at end of file diff --git a/src/sig/JavaProjectTemplate.java b/src/sig/JavaProjectTemplate.java deleted file mode 100644 index ac5ae34..0000000 --- a/src/sig/JavaProjectTemplate.java +++ /dev/null @@ -1,21 +0,0 @@ -package sig; - -import javax.swing.JFrame; -import sig.engine.Panel; - -public class JavaProjectTemplate { - public static final String PROGRAM_NAME="Sig's Java Project Template"; - public static void main(String[] args) { - JFrame f = new JFrame(PROGRAM_NAME); - Panel p = new Panel(f); - - p.init(); - - f.add(p); - f.setSize(1280,720); - f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - f.setVisible(true); - - p.render(); - } -} diff --git a/src/sig/MultiRando.java b/src/sig/MultiRando.java new file mode 100644 index 0000000..3f2a2d8 --- /dev/null +++ b/src/sig/MultiRando.java @@ -0,0 +1,7 @@ +package sig; + +public class MultiRando { + public static void main(String[] args) { + System.out.println("Hello World!"); + } +} diff --git a/src/sig/engine/Color.java b/src/sig/engine/Color.java deleted file mode 100644 index 3a6bde7..0000000 --- a/src/sig/engine/Color.java +++ /dev/null @@ -1,38 +0,0 @@ -package sig.engine; - -public class Color { - int r,g,b,a; - - final static public Color BLACK = new Color(0,0,0); - final static public Color RED = new Color(204,0,0); - final static public Color GREEN = new Color(78,154,6); - final static public Color YELLOW = new Color(196,160,0); - final static public Color BLUE = new Color(114,159,207); - final static public Color MAGENTA = new Color(117,80,123); - final static public Color CYAN = new Color(6,152,154); - final static public Color WHITE = new Color(211,215,207); - final static public Color BRIGHT_BLACK = new Color(85,87,83); - final static public Color BRIGHT_RED = new Color(239,41,41); - final static public Color BRIGHT_GREEN = new Color(138,226,52); - final static public Color BRIGHT_YELLOW = new Color(252,233,79); - final static public Color BRIGHT_BLUE = new Color(50,175,255); - final static public Color BRIGHT_MAGENTA = new Color(173,127,168); - final static public Color BRIGHT_CYAN = new Color(52,226,226); - final static public Color BRIGHT_WHITE = new Color(255,255,255); - - public Color(int r, int g, int b) { - this(r,g,b,255); - } - - public Color(int r, int g, int b,int a) { - super(); - this.r = r; - this.g = g; - this.b = b; - this.a = a; - } - - public int getColor() { - return (a<<24)+(r<<16)+(g<<8)+b; - } -} diff --git a/src/sig/engine/Edge.java b/src/sig/engine/Edge.java deleted file mode 100644 index 867937e..0000000 --- a/src/sig/engine/Edge.java +++ /dev/null @@ -1,33 +0,0 @@ -package sig.engine; - -public class Edge { - Point a,b; - int min_y; - int max_y; - int min_x; - int max_x; - double x_of_min_y; - double inverse_slope; - public Edge(Point a, Point b) { - super(); - this.a = a; - this.b = b; - min_y=Math.min(a.y, b.y); - max_y=Math.max(a.y, b.y); - min_x=Math.min(a.x, b.x); - max_x=Math.max(a.x, b.x); - if (a.y==min_y) { - x_of_min_y=a.x; - } else { - x_of_min_y=b.x; - } - - inverse_slope=(double)(a.x-b.x)/(a.y-b.y); - } - @Override - public String toString() { - return "Edge [a=" + a + ", b=" + b + ", min_y=" + min_y + ", max_y=" + max_y + ", min_x=" + min_x + ", max_x=" - + max_x + ", x_of_min_y=" + x_of_min_y + ", inverse_slope=" + inverse_slope + "]"; - } - -} diff --git a/src/sig/engine/Panel.java b/src/sig/engine/Panel.java deleted file mode 100644 index 2f558f7..0000000 --- a/src/sig/engine/Panel.java +++ /dev/null @@ -1,314 +0,0 @@ -package sig.engine; -import java.awt.Graphics; -import java.awt.GraphicsConfiguration; -import java.awt.GraphicsEnvironment; -import java.awt.Image; -import java.awt.Toolkit; -import java.awt.image.ColorModel; -import java.awt.image.MemoryImageSource; -import java.util.ArrayList; -import java.util.List; - -import javax.swing.JFrame; -import javax.swing.JPanel; - -import sig.JavaProjectTemplate; - -public class Panel extends JPanel implements Runnable { - JFrame window; - public int pixel[]; - public int width=1280; - public int height=720; - final int CIRCLE_PRECISION=32; - final int OUTLINE_COL=Color.BRIGHT_WHITE.getColor(); - private Thread thread; - private Image imageBuffer; - private MemoryImageSource mImageProducer; - private ColorModel cm; - int scanLine=0; - int nextScanLine=0; - double x_offset=0; - double y_offset=0; - int frameCount=0; - long lastSecond=0; - int lastFrameCount=0; - - public Panel(JFrame f) { - super(true); - this.window=f; - thread = new Thread(this, "MyPanel Thread"); - } - - /** - * Get Best Color model available for current screen. - * @return color model - */ - protected static ColorModel getCompatibleColorModel(){ - GraphicsConfiguration gfx_config = GraphicsEnvironment. - getLocalGraphicsEnvironment().getDefaultScreenDevice(). - getDefaultConfiguration(); - return gfx_config.getColorModel(); - } - - /** - * Call it after been visible and after resizes. - */ - public void init(){ - cm = getCompatibleColorModel(); - int screenSize = width * height; - if(pixel == null || pixel.length < screenSize){ - pixel = new int[screenSize]; - } - if(thread.isInterrupted() || !thread.isAlive()){ - thread.start(); - } - mImageProducer = new MemoryImageSource(width, height, cm, pixel,0, width); - mImageProducer.setAnimated(true); - mImageProducer.setFullBufferUpdates(true); - imageBuffer = Toolkit.getDefaultToolkit().createImage(mImageProducer); - } - - @Override - public void paintComponent(Graphics g) { - super.paintComponent(g); - // perform draws on pixels - render(); - // ask ImageProducer to update image - mImageProducer.newPixels(); - // draw it on panel - g.drawImage(this.imageBuffer, 0, 0, this); - - - if (window!=null&&System.currentTimeMillis()-lastSecond>=1000) { - window.setTitle(JavaProjectTemplate.PROGRAM_NAME+" - FPS: "+(frameCount-lastFrameCount)); - lastFrameCount=frameCount; - lastSecond=System.currentTimeMillis(); - } - frameCount++; - } - - /** - * Overrides ImageObserver.imageUpdate. - * Always return true, assuming that imageBuffer is ready to go when called - */ - @Override - public boolean imageUpdate(Image image, int a, int b, int c, int d, int e) { - return true; - } - /** - * Do your draws in here !! - * pixel is your canvas! - */ - public /* abstract */ void render(){ - int[] p = pixel; // this avoid crash when resizing - //a=h/w - - for (int x=0;x edges_sorted = new ArrayList(); - for (int i=0;i=edges[i].min_y) { - edges_sorted.add(j,edges[i]); - inserted=true; - break; - } - } - if (!inserted) { - edges_sorted.add(edges[i]); - } - } - } - } - //System.out.println(edges_sorted); - List active_edges = new ArrayList(); - scanLine = edges_sorted.get(0).min_y-1; - nextScanLine = scanLine+1; - do { - for (int i=0;i=0) { - Draw(p,index,col.getColor()); - } - } - } - List new_active_edges = new ArrayList(); - for (int i=0;ie.x_of_min_y) { - new_active_edges.add(j,e); - inserted=true; - break; - } - } - if (!inserted) { - new_active_edges.add(e); - } - } - active_edges=new_active_edges; - GetNextScanLineEdges(edges_sorted, active_edges); - } - while (active_edges.size()>0); - } - - private void GetNextScanLineEdges(List edges_sorted, List active_edges) { - if (scanLine==nextScanLine) { - for (int i=0;iscanLine) { - nextScanLine=e.min_y; - break; - } - } - } - } - - public void Draw(int[] canvas,int index, int col) { - int alpha = col>>>24; - if (alpha==0) { - return;} - else - if (alpha==255) { - canvas[index]=col; - } else { - float ratio=alpha/255f; - int prev_col=canvas[index]; - int prev_r=(prev_col&0xFF); - int prev_g=(prev_col&0xFF00)>>>8; - int prev_b=(prev_col&0xFF0000)>>>16; - int r=(col&0xFF); - int g=(col&0xFF00)>>>8; - int b=(col&0xFF0000)>>>16; - - int new_r=(int)(ratio*r+(1-ratio)*prev_r); - int new_g=(int)(ratio*g+(1-ratio)*prev_g); - int new_b=(int)(ratio*b+(1-ratio)*prev_b); - - canvas[index]=new_r+(new_g<<8)+(new_b<<16)+(col&0xFF000000); - } - } - - @Override - public void run() { - while (true) { - // request a JPanel re-drawing - repaint(); - //System.out.println("Repaint "+frameCount++); - //try {Thread.sleep(1);} catch (InterruptedException e) {} - } - } -} \ No newline at end of file diff --git a/src/sig/engine/Point.java b/src/sig/engine/Point.java deleted file mode 100644 index b848018..0000000 --- a/src/sig/engine/Point.java +++ /dev/null @@ -1,32 +0,0 @@ -package sig.engine; - -public class Point { - int x,y; - - public Point(int x, int y) { - super(); - this.x = x; - this.y = y; - } - - public int getX() { - return x; - } - - public void setX(int x) { - this.x = x; - } - - public int getY() { - return y; - } - - public void setY(int y) { - this.y = y; - } - - @Override - public String toString() { - return "Point(" + x + "," + y + ")"; - } -} diff --git a/utils/.updateDirectories b/utils/.updateDirectories index e4dde11..0c078d1 100644 --- a/utils/.updateDirectories +++ b/utils/.updateDirectories @@ -1,3 +1,4 @@ Java/ +C/ scripts/ utils/ \ No newline at end of file diff --git a/utils/main.sh b/utils/main.sh index d299d6b..0a4c92a 100644 --- a/utils/main.sh +++ b/utils/main.sh @@ -25,4 +25,4 @@ if [ -z "$1" ] exit fi -./$LANGUAGE/scripts/$1.sh "${*:2}" \ No newline at end of file +./$LANGUAGE/scripts/$1.sh "${@:2}" \ No newline at end of file diff --git a/utils/md5 b/utils/md5 index baa339d..b8c2ada 100644 --- a/utils/md5 +++ b/utils/md5 @@ -1,4 +1,4 @@ define.sh:3ecab0dffe2adfb950f3eb7c7061b750 - -main.sh:d3d1bd0b56d8114eb7479964227f8576 - +main.sh:4e6e9f0650ec790ce2c4364db94f0caa - search.sh:81d08f5ff48e8a44b5f68387d426da05 - -.updateDirectories:0ede00461e947494545e694040787b3f - +.updateDirectories:fa5e95db12be22ae8aed7ecbc560e38c -