/* * Scol Voyager * * Author : The Scol Team : http://www.scolring.org/ * * This file is a part of the Scol Voyager * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place - Suite 330, Boston, MA 02111-1307, USA, or go to * http://www.gnu.org/copyleft/lesser.txt * * For others informations, please contact us from http://www.scolring.org/ * */ proto getSO3about = fun [] [S S];; proto getSO3AboutInfo = fun [] [S S S S S S S S];; proto getSO3AboutRender = fun [] [I I I I I I I I I I];; proto getSO3AboutRendering = fun [] S;; proto getSO3AboutMultiSampling = fun [] S;; proto getSO3AboutQuadBuffer = fun [] I;; proto getM3dAboutMode = fun [] I;; var so3dloaded = 0;; var m3dloaded = 0;; fun loadAbout ()= if ((_test_exist "SO3SceneCreate") && (!so3dloaded)) then ( _load "lib/locked/voyager/aboutokso3.pkg"; set so3dloaded = 1 ) else ( _load "lib/locked/voyager/aboutkoso3.pkg"; set so3dloaded = 1 ); if ((_test_exist "MX3createSession") && (!m3dloaded)) then ( _load "lib/locked/voyager/aboutokm3d.pkg"; set m3dloaded = 1 ) else ( _load "lib/locked/voyager/aboutkom3d.pkg"; set m3dloaded = 1 ); 0;; fun getInfosAbout ()= _fooSList _hostIPall; let strextr _getpack _checkpack sVersionFile -> v in let getInfo v "name" -> name in let getInfo v "update" -> upd in let getSO3about -> [so31 so32] in let getSO3AboutInfo -> [cpuvendor cpuname np ram os cgdev cgdriv dx] in let getSO3AboutRender -> [_ nonpowtext nonpowtextlim automm cubemp geo vertex frgm txtz ffun] in let osInfos -> [os1 os2 os3 os4] in let memoryInfos -> [_ ram ramav _ ramp ramv _ _] in let memoryMinMax -> [mram Mram] in let _releaseBuild -> [b1 b2] in sprintf "Scol : - version : %s (%s - %d) - version : %s Last update : %s - path : %s - network : - - ip : %s - - proxy auto : %s sock version : %s sock auth : %s - Log : %s echo : %s win : %s - 3D : - - SO3Engine %s Ogre : %s - - - Vendor CPU Name : %s CPU Name : %s Number of processors : %s - - - RAM : %s OS : %s - - - Graphic device : %s Graphic driver : %s DirectX : %s - - - Rendering : %s - - - Multisampling supported modes : %s - - - Quad buffer : %d - - - Non power texture : %d Non power texture limited : %d Auto mipmap : %d Cube mapping : %d Geometry : %d Vertex : %d Fragment : %d Texture compression : %d Fixed functions : %d - - Legacy Mode : %d OS : - Version : %s - Info 1 : %s - Info 2 : %s - Info 3 : %s - RAM : %d RAM available : %d max process : %d virtual : %d - RAM used min : %d max : %d Scol builder : %s %s " [_versionname btime _versiondate _version name upd getScolPath // network _hostIP _getress "AutodetectProxy" _getress "SocksVer" _getress"Socks5Authentication" // LOG getInfo strextr _loadusmini nil "log" getInfo strextr _loadusmini nil "echo" getInfo strextr _loadusmini nil "logwin" // 3D SO3 so31 so32 cpuvendor cpuname np ram os cgdev cgdriv dx getSO3AboutRendering getSO3AboutMultiSampling getSO3AboutQuadBuffer nonpowtext nonpowtextlim automm cubemp geo vertex frgm txtz ffun // 3D M3D getM3dAboutMode // OS os1 os2 os3 os4 ram ramav ramp ramv mram Mram // BUILDER b1 b2 ];; fun dsAbout (win)= _DSwindow win; 0;; fun cbDsAbout (o, u)= let u -> [win fBold fPlain] in ( dsAbout win; _DSfont fBold; _DSfont fPlain; 0 );; fun cbClipBoardAbout (o, i)= _SETclipBoardData i; 0;; fun cbTeamAbout (o, u)= _openbrowserhttp "http://redmine.scolring.org/projects/scol/wiki/The_development_team"; 0;; fun dsObjChildAbout2 (l)= if l == nil then 0 else let hd l -> [h _ t] in if !strcmp t "OBJTYPBUTTON" then ( _DSbutton _OBJgetFromSys h nil; dsObjChildAbout2 tl l ) else if !strcmp t "OBJTYPTEXT" then ( _DStext _OBJgetFromSys h nil; dsObjChildAbout2 tl l ) else dsObjChildAbout2 tl l;; fun dsObjChildAbout (child)= let _OBJinfos child -> [_ _ _ _ _ _ _ l _ _] in dsObjChildAbout2 l;; fun childAbout (child, s)= dsObjChildAbout child; if !strcmp s "AB" then let _GETwindowSizePosition child -> [w h _ _] in let getInfosAbout -> i in ( _CRtext chn0 child 5 5 w-10 ((h-15)/2)-25 ET_AVSCROLL|ET_ALIGN_CENTER loc_get "ABOUT_AB1"; _CRtext chn0 child 5 5+(((h-15)/2)-25) w-10 (h-15)/2 ET_AVSCROLL|ET_DOWN i; _CBbutton _CRbutton chn0 child 5 h-25 w-10 20 0 loc_get "COPY_CLIPBOARD" @cbClipBoardAbout i; 0 ) else if !strcmp s "CREDITS" then let _GETwindowSizePosition child -> [w h _ _] in ( _CRtext chn0 child 5 5 w-10 h-10-25 ET_VSCROLL|ET_ALIGN_CENTER loc_get "ABOUT_CREDITS"; _CBbutton _CRbutton chn0 child 5 h-25 w-10 20 0 loc_get "SCOL_TEAM_URL" @cbTeamAbout 0; 1 ) else nil;; fun paintAbout (p)= let p -> [t fBold fPlain] in if t == nil then 0 else let hd t -> [win s flag] in let _GETwindowSizePosition win -> [w h _ _] in ( _CLRwindow win; _TXTout win if flag then fBold else fPlain w/2 (3*h)/4 TD_CENTER|TD_BASELINE 0 loc_get s; paintAbout [tl t fBold fPlain] );; fun cbPaintAbout (o, u)= let u -> [win tabs fBold fPlain] in paintAbout [tabs fBold fPlain]; 0;; fun findTabAbout (tabs, win)= if tabs == nil then nil else let hd tabs -> [o _ _] in if win == o then hd tabs else findTabAbout tl tabs win;; fun disableTabsAbout (l)= if l == nil then 0 else ( mutate hd l <- [_ _ 0]; disableTabsAbout tl l );; fun cbTabClickAbout (o, u, x, y, btn)= let u -> [win child tabs] in let findTabAbout tabs o -> t in let t -> [_ s _] in ( disableTabsAbout tabs; mutate t <- [_ _ 1]; childAbout child s; _PAINTwindow win; 0 );; fun crAbout ()= loadAbout; let [300 500 5 20] -> [w h m hb] in let 2 -> ntab in let (w-((ntab+1)*m)) / ntab -> wtab in let _GETscreenSize -> [ws hs] in let _CRwindow chn0 nil (ws/2)-(w/2) (hs/2)-(h/2) w h WN_MINBOX|WN_TOPMOST loc_get "AB" -> win in let _CRwindow chn0 win m m wtab hb WN_CHILDINSIDE "" -> tabAbout in let _CRwindow chn0 win (2*m)+wtab m wtab hb WN_CHILDINSIDE "" -> tabCredit in let _CRwindow chn0 win m hb+(2*m) w-(2*m) h-(4*m)-(2*hb) WN_CHILDINSIDE "" -> child in let _CRbutton chn0 win m h-m-hb w-(2*m) hb 0 loc_get "CLOSE" -> bClose in let _CRfont chn0 14 0 FF_WEIGHT "Arial" -> fBold in let _CRfont chn0 14 0 0 "Arial" -> fPlain in let [tabAbout "AB" 1] :: [tabCredit "CREDITS" 0] :: nil -> tabs in ( _CBbutton bClose @cbDsAbout [win fBold fPlain]; _CBwinClick tabAbout @cbTabClickAbout [win child tabs]; _CBwinClick tabCredit @cbTabClickAbout [win child tabs]; _CBwinPaint win @cbPaintAbout [win tabs fBold fPlain]; childAbout child "AB"; 0 );;