From 3eb1fe98cdfb3314482d9acdbf83173f274dd502 Mon Sep 17 00:00:00 2001 From: Song Minjae Date: Wed, 4 Jan 2017 22:46:51 +0900 Subject: [PATCH] sprite updates Former-commit-id: a52e024a231e54e7e837b7c717606f4f0d187758 Former-commit-id: fcdb5a9e12802c9671bea24481c94a8876dfd418 --- assets/graphics/gui/.gitattributes | 1 + assets/graphics/sprites/test_player.png | Bin 22315 -> 22220 bytes assets/graphics/sprites/test_player_glow.png | Bin 21301 -> 20912 bytes src/net/torvald/terrarum/StateInGame.kt | 2 +- .../terrarum/concurrent/ThreadParallel.kt | 34 +++++------------- src/net/torvald/terrarum/ui/MessageWindow.kt | 33 +++++------------ 6 files changed, 19 insertions(+), 51 deletions(-) create mode 100644 assets/graphics/gui/.gitattributes diff --git a/assets/graphics/gui/.gitattributes b/assets/graphics/gui/.gitattributes new file mode 100644 index 000000000..ca82ef549 --- /dev/null +++ b/assets/graphics/gui/.gitattributes @@ -0,0 +1 @@ +*.{psd,tga,ogg} filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/assets/graphics/sprites/test_player.png b/assets/graphics/sprites/test_player.png index 805eed58b4b6b787b014ef31d7794d14f2c6bf7f..58fff107f295833400e49b4f9ab5bdf8ad3d1817 100644 GIT binary patch delta 3739 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 diff --git a/assets/graphics/sprites/test_player_glow.png b/assets/graphics/sprites/test_player_glow.png index 2d9df20f031536506377ab0868372549d509648d..bd76c80e79e0530d0f6f3e47005112ad21189887 100644 GIT binary patch delta 2187 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 delta 2579 zcma)+YdF)31IMXEVw;#txeY0tWiyk@sN>R5$w4&VQ7Jih&%rZ8G&HZjk9JesE zkd~TD%Kdh9Ovt^+%>KPUZ~otx-{<)}-xr_f`PLK*Hk1k0h=Cw_aHI}g$G}MkX^7G_ zMCefDL3;lw>u!Ry55jNb^w4O;Z3O(RF6t~?2c?UId+DQZ!qEt{_ib-)gPSNc8lxTI z7ieQ+XhoKmsvDGO6;k_uC`zpi`ah!-jC5}uQ+5Y&NEGEYN@=q?102z{GXK*lVyr5w zw_0I1D6!+gx8C;LqZa8Z@T(aL%5mxO3d(rN2+xBoWsyCRJgzwA$I{4U&)4VG<;-gY zPgtfYheGU&q}(m@j&6@W4Bx)?oQ_#Ap<%a>Bq<+s)ZjuJzxo>RnLivH7t|Tdp36Oz zK#=uaY+)Layec&5fT;v*7r&j?l0EQ1rUau*wbziuOEd>HAF0B9VOK86HKleWcQOyX zn!^04=4f43EhDeg(LFkP%e13xsmZfIJ!?{6A*aUxD+2XH&3##?)qf=Tk2q|kLNrss ztM<+zVLYnWh%$A(-K)6;%Qm)ofgci!OwoLKAXJ}|Tv!AU#9>Zbyu&CkJEVqzb;dds z5}?e;R8l(=*EIiYR}uu8D)5(_@O~kbO%EQID*3z>KgVFCzO;g>c!8?t{9*@`_WZGU2#vN*w?`U3zCYw~)*7 zOxOC4@*HFOo9Hm}^sZT^LSkWgW#$&IysO)9Y(8#sB_ZRmxzMVr->3d<<5PY6GMs{p z1ZqK9zVH@XGTPhZdViyq^ycsa7oAv})p4Q9W$2?IeXhr^u@BK(f+Vs{yDSH%H0WvD2Q-Ef*d8t_Ij%J(Frxd8^52 z_9j;>U99YWxXjnVV#Aez&qVjb!4JAKJ=S1$&SMrU9=J5cBkOrOk3u=I7@!wHr*+ah(IC27(o4)S6UT6uimP4Q%RriAHq*bX7%VTqVNr{cK~>;gMK-@YU+q>G+?oKaqVT_i2U^!=3?q>HXi3d-^% zGSrBeP$_}cIBuMhT}Va3Ka4?nHC}bb%y7EC8N7&oF7Ku zoq=)wCGL!Lhc8DBrPslQr}(}lJy%*=_yH$P@r?(B7+}1}J~`L;r2dsLqVaTc^#ATh#fxZ1IHjp2pEV>7E2brh@jb1(woXldJs`F|>zK=G9<)6L^Qj z-xFG|DgrhXmGX^M{;lN+txoi5CrdJVE6I5bxrOEv<`A5WDXu(`S;mI;lAigIN))>KA7v zK9&r1?ivJr%T~oKPoKr=+dYQ$D87>a%MVMDtdcJTcWw`y*oSPQp~W>|kW1<0H}^I4!5AjqYpgfp7zp zXbSLZ({cVgneO{m#5s-Z-zcm7$D2|wyO!8qL@1u9ceBkv_34{M8qho6zr&v96Sw!H z;-BBECnf~VtIHI;Jj@uvY!4@dwRJ_J0~EV8jZR!uRB5LNo!Lts zJ6gAuoAV_~H z&;MSo&QX|cXwAvzpS9YpbQ~Ri>M-6XnmMo4CF=ee(jy7xYPvm$kVJ?U%3@-b6cTw> z-NU_uees&@r;{!VDd?#G`}R$^hc9(+Z(WHg?D9j9=~^M$mxTHXeZtieyfMh9=gTQP dZr^YP = Array(POOL_SIZE, { null }) - - /** - * Map array of Runnable objects to thread pool. - * @param prefix : will name each thread as "Foo-1" - * @param runnables : vararg - */ - fun mapAll(prefix: String, runnables: Array) { - if (runnables.size != POOL_SIZE) - throw RuntimeException("Thread pool argument size mismatch. If you have four cores, you must use four runnables.") - - for (i in 0..runnables.size) - pool[i] = Thread(runnables[i], "$prefix-$i") - } + private val pool: Array = Array(Terrarum.THREADS, { null }) /** * Map Runnable object to certain index of the thread pool. @@ -34,18 +18,18 @@ object ThreadParallel { pool[index] = Thread(runnable, "$prefix-$index") } - /** - * Fill the thread pool with NULL value. - */ - fun purge() { - for (i in 0..POOL_SIZE) - pool[i] = null - } - /** * Start all thread in the pool. If the thread in the pool is NULL, it will simply ignored. */ fun startAll() { pool.forEach { it?.start() } } + + /** + * Primitive locking + */ + fun allFinished(): Boolean { + pool.forEach { if (it?.state != Thread.State.TERMINATED) return false } + return true + } } \ No newline at end of file diff --git a/src/net/torvald/terrarum/ui/MessageWindow.kt b/src/net/torvald/terrarum/ui/MessageWindow.kt index b63dffea1..16cc09f94 100644 --- a/src/net/torvald/terrarum/ui/MessageWindow.kt +++ b/src/net/torvald/terrarum/ui/MessageWindow.kt @@ -31,14 +31,14 @@ constructor(override var width: Int, isBlackVariant: Boolean) : UICanvas { init { if (!isBlackVariant) { - segmentLeft = Image("./assets/graphics/gui/message_twoline_white_left.png"); - segmentRight = Image("./assets/graphics/gui/message_twoline_white_right.png"); - segmentBody = Image("./assets/graphics/gui/message_twoline_white_body.png"); + segmentLeft = Image("./assets/graphics/gui/message_twoline_white_left.tga") + segmentRight = Image("./assets/graphics/gui/message_twoline_white_right.tga") + segmentBody = Image("./assets/graphics/gui/message_twoline_white_body.tga") } else { - segmentLeft = Image("./assets/graphics/gui/message_twoline_black_left.png") - segmentRight = Image("./assets/graphics/gui/message_twoline_black_right.png") - segmentBody = Image("./assets/graphics/gui/message_twoline_black_body.png") + segmentLeft = Image("./assets/graphics/gui/message_black_left.tga") + segmentRight = Image("./assets/graphics/gui/message_black_right.tga") + segmentBody = Image("./assets/graphics/gui/message_black_body.tga") } uiFont = GameFontWhite() height = segmentLeft!!.height @@ -55,34 +55,17 @@ constructor(override var width: Int, isBlackVariant: Boolean) : UICanvas { } override fun render(gc: GameContainer, g: Graphics) { - // using the texture - /*blendDisable() - - drawSegments(g) - g.setDrawMode(Graphics.MODE_ALPHA_MAP) + blendNormal() drawSegments(g) g.font = uiFont - - g.setDrawMode(Graphics.MODE_NORMAL) + for (i in 0..Math.min(messagesList.size, MESSAGES_DISPLAY) - 1) { g.color = fontCol g.drawString(messagesList[i], (messageWindowRadius + 4).toFloat(), (messageWindowRadius + GLYPH_HEIGHT * i).toFloat()) } - blendNormal()*/ - - // scroll-like, kinda Microsoft-y blendNormal() - g.color = Color(0f, 0f, 0f, 0.7f) - g.fillRect(0f, 0f, width.toFloat(), height.toFloat()) - g.color = Color(1f, 1f, 1f, 0.5f) - g.fillRect(0f, 0f, 2f, height.toFloat()) - g.fillRect(width - 2f, 0f, 2f, height.toFloat()) - for (i in 0..Math.min(messagesList.size, MESSAGES_DISPLAY) - 1) { - g.color = fontCol - g.drawString(messagesList[i], (messageWindowRadius + 4).toFloat(), (messageWindowRadius + GLYPH_HEIGHT * i).toFloat()) - } } override fun processInput(gc: GameContainer, delta: Int, input: Input) {