From c127fee6b4448d79d98d48c9522e69b608a383d4 Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Sun, 20 Jul 2014 15:15:29 +0200 Subject: [PATCH] Adds battery status icon to NTOS - Laptops now have status icon which shows status of their internal battery. - Adds support for "status bar" - allows more status icons in future (such as, network connection? time? whatever), status bar icons should be 16x16px --- code/WorkInProgress/computer3/NTOS.dm | 28 ++++++++++++++++++++++ code/WorkInProgress/computer3/computer.dm | 10 ++++++++ icons/NTOS/battery_icons/batt_100.gif | Bin 0 -> 102 bytes icons/NTOS/battery_icons/batt_20.gif | Bin 0 -> 200 bytes icons/NTOS/battery_icons/batt_40.gif | Bin 0 -> 123 bytes icons/NTOS/battery_icons/batt_5.gif | Bin 0 -> 279 bytes icons/NTOS/battery_icons/batt_60.gif | Bin 0 -> 122 bytes icons/NTOS/battery_icons/batt_80.gif | Bin 0 -> 120 bytes icons/NTOS/battery_icons/batt_none.gif | Bin 0 -> 132 bytes 9 files changed, 38 insertions(+) create mode 100644 icons/NTOS/battery_icons/batt_100.gif create mode 100644 icons/NTOS/battery_icons/batt_20.gif create mode 100644 icons/NTOS/battery_icons/batt_40.gif create mode 100644 icons/NTOS/battery_icons/batt_5.gif create mode 100644 icons/NTOS/battery_icons/batt_60.gif create mode 100644 icons/NTOS/battery_icons/batt_80.gif create mode 100644 icons/NTOS/battery_icons/batt_none.gif diff --git a/code/WorkInProgress/computer3/NTOS.dm b/code/WorkInProgress/computer3/NTOS.dm index f6dc2697a8..86157dcc1c 100644 --- a/code/WorkInProgress/computer3/NTOS.dm +++ b/code/WorkInProgress/computer3/NTOS.dm @@ -165,6 +165,8 @@
"} + + dat += generate_status_bar() var/list/files = list_files() if(current) dat +=window(current.name,buttonbar(),filegrid(files)) @@ -176,6 +178,32 @@ usr << browse(dat, "window=\ref[computer];size=670x510") onclose(usr, "\ref[computer]") + // STATUS BAR + // Small 16x16 icons representing status of components, etc. + // Currently only used by battery icon + // TODO: Add more icons! +/datum/file/program/ntos/proc/generate_status_bar() + var/dat = "" + + // Battery level icon + switch(computer.check_battery_status()) + if(-1) + dat += "" + if(0 to 5) + dat += "" + if(6 to 20) + dat += "" + if(21 to 40) + dat += "" + if(41 to 60) + dat += "" + if(61 to 80) + dat += "" + if(81 to 100) + dat += "" + dat += "
" + return dat + /datum/file/program/ntos/Topic(href, list/href_list) if(!interactable() || ..(href,href_list)) return diff --git a/code/WorkInProgress/computer3/computer.dm b/code/WorkInProgress/computer3/computer.dm index 093f7b5ed7..456bdf3d71 100644 --- a/code/WorkInProgress/computer3/computer.dm +++ b/code/WorkInProgress/computer3/computer.dm @@ -449,6 +449,16 @@ overlays += kb name = initial(name) + " (orange screen of death)" + //Returns percentage of battery charge remaining. Returns -1 if no battery is installed. + proc/check_battery_status() + if (battery) + var/obj/item/weapon/cell/B = battery + return round(B.charge / (B.maxcharge / 100)) + else + return -1 + + + /obj/machinery/computer3/wall_comp name = "terminal" icon = 'icons/obj/computer3.dmi' diff --git a/icons/NTOS/battery_icons/batt_100.gif b/icons/NTOS/battery_icons/batt_100.gif new file mode 100644 index 0000000000000000000000000000000000000000..72f04cff011a353076cd9852efe5c5df001ecd3e GIT binary patch literal 102 zcmZ?wbhEHb6krfwSjYeZ2M!!y_yJ-l{^#~{4GDI33~)8lGhk)}3H@Z@;V8o`~8mN8UgOeK45?30}8s6s?U^!%(;54gqN#`n&>~jVt=hOql7rmaovElU; Y?bfyvJpCum7}{O%PxVSwVPLQZ08WTN_y7O^ literal 0 HcmV?d00001 diff --git a/icons/NTOS/battery_icons/batt_40.gif b/icons/NTOS/battery_icons/batt_40.gif new file mode 100644 index 0000000000000000000000000000000000000000..5d03a30c18ec5c9a219d559d492b584d01eb848b GIT binary patch literal 123 zcmZ?wbhEHb6krfw*u($=2M!!aNJ#kc1I&RDivPL&TtkAL9RpmA^bD98f#QlkSva{E zSQvCbYCzfwU>9}5^V=8D%%-BhY>C8T}5D?ewRX3RPLp1*rL L3p`}h7#OSpBbp+A literal 0 HcmV?d00001 diff --git a/icons/NTOS/battery_icons/batt_5.gif b/icons/NTOS/battery_icons/batt_5.gif new file mode 100644 index 0000000000000000000000000000000000000000..eddcc6ae824ddf8bb5414f485778c83c81404cfd GIT binary patch literal 279 zcmZ?wbhEHb6krfwIK%(~KNuJi5)yv=U^sB#09XJ-DE{a6a}5c0b_{Se(lcOY1PT3Q z;WT1kWzYf1gS0a+Yeek2^UuJGbJgCmMulDf8;;ecEX_%g6w7!u^UVvc0_*iU%N_^6 z|G$p~n`RrJ=5-HFYDi05X*_FqpIdBE=tmbq+n&S2>>z2g)7t5X28VNC2 F0|2HGVM+i1 literal 0 HcmV?d00001 diff --git a/icons/NTOS/battery_icons/batt_60.gif b/icons/NTOS/battery_icons/batt_60.gif new file mode 100644 index 0000000000000000000000000000000000000000..2a159b8e3c3c94aad428598ed1936c45cfa78b85 GIT binary patch literal 122 zcmZ?wbhEHb6krfw*u($=2M!!aNJ#kc1I&RDivPL&TtkAL9RpmA^bD98f#QlkSva{E zSQvCbYCzfwUq0t*;2;>5d@H%^U@(9Evfr**rj{yYBom@Zwyxw~X;%wLJ5JN|gvr>7T7i6IV6e+_$Rd(43WtHP(L* KBp5IIU8$qpxpmZTq=44OUKoeN)`nw7qaZSx1AvYVF- W=D$C3x}e9UHB~9oYJM*ZgEasEPbRJa literal 0 HcmV?d00001