約 4,299,258 件
https://w.atwiki.jp/minikappa/pages/16.html
import java.applet.Applet; import java.awt.*; import java.io.*; import java.awt.event.*; // イベント処理に必要 public class Test extends Applet { double x,y; public void init() { this.setBackground(Color.white); } }
https://w.atwiki.jp/arashix/pages/26.html
ソースコード実験場として使わせて頂きます 基本的には僕の大好きなC言語を使わせて頂きまあああああぁぁぁぁぁす!! 【つかいかた】 検討中
https://w.atwiki.jp/soscomp/pages/126.html
htmlコード html head meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" title 簡単掲示板 /title /head body h3 簡単掲示板にようこそ! /h3 br br 書き込みに使用するハンドルネームを入力してください。 br form method="GET" action="bbs2.cgi" ハンドルネーム : input type="text" name="hn" input type="submit" value="開始" /form br /body /html CGIコード #!/usr/bin/ruby print "Content-type text/html; charaset=euc-jp\n\n" $KCODE = "e" require "cgi" cgi = CGI.new coment = cgi["coment"] hn = cgi["hn"] fo = open("logfile2.txt","a") if(coment != "") fo.print "#{hn}:#{coment}\n hr \n" end fo.close fo = open("logfile2.txt","r") log = fo.readlines fo.close print EOS html head meta http-equiv="Content-Type" content="text/html; charaset=EUC-JP" title 簡易チャット掲示板 /title /head body h3 簡易チャット掲示板です! けして荒らさないでください。 /h3 p align="right" a href="bbs2.cgi" 更新 /a /p form method="GET" action="bbs2.cgi" コメント: input type="text" name="coment" size="50" input type="hidden" name="hn" value="#{hn}" input type="submit" value="送信" /form br EOS log.each do |ele| print ele end print EOS /body /html EOS webrickコード
https://w.atwiki.jp/chapati4it/pages/509.html
eclipseのパッケージエクスプローラなどに、インターネットなどで公開されているソースをコピペすると、自動的にソースコードにしてくれる機能があります。 手順 1.例えば、以下のソースコードをクリップボードにコピーします。 package java.hellow.sample; public class HellowJava { public static void main(String[] args) { System.out.println("Hellow Java!!"); } } 2.パッケージエクスプローラのソースディレクトリに貼り付け 3.ソースコードが出来ました! ちゃんとパッケージのディレクトリも作成してくれるすごい機能です。
https://w.atwiki.jp/is01rebuild/pages/84.html
ソースコード (2.3 Gingerbread) Android 2.3 (Gingerbread) for IS01 のソースコードを下記サイトで公開しました。 Android 2.3 (Gingerbread) for SHARP IS01 (SourceForge.JP) 現在はDebugコード付きのコードをアップしています。 コメントはこのページか SourceForge.JPのサイト でいただければと思います。 Android 2.3 (Gingerbread) for SHARP IS01 TopPage (SourceForge.JP) 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/maingames/pages/47.html
!DOCTYPE html html prefix="og http //ogp.me/ns# fb http //www.facebook.com/2008/fbml mixi http //mixi-platform.com/ns# gr http //gree.jp/ns" lang="ja" dir="ltr" head title ホモによるホモのためのゲーム部屋 @Wiki - トップページ /title meta charset="UTF-8" meta property="og title" content="ホモによるホモのためのゲーム部屋 @Wiki - トップページ" / link rel="start" href="/maingames/" / link rel="stylesheet" type="text/css" href="http //www41.atwiki.jp/_skin/base_128n.css?v=20130721" media="all" / style type="text/css" media="screen" !-- body,html { margin 0 !important; padding 0 !important; } .box { zoom 100%; } .box after { clear both; content "."; display block; height 0; visibility hidden; } .hidden { display none; } .disableLink { color #777 !important; cursor default !important; display block !important; line-height 1.2 !important; margin 0 !important; padding 3px 1em !important; white-space nowrap !important; } div.headBar { background-color #e8e8e8 !important; border 2px solid !important; border-color #f0f0f0 #c8c8c8 #c8c8c8 #f0f0f0 !important; color #000000 !important; font-family "MS Sans Serif", Arial, sans-serif !important; font-size 13px !important; font-style normal !important; font-weight normal !important; line-height 1.2 !important; margin 0 !important; padding 4px 2px 4px 2px !important; text-align left !important; text-decoration none !important; } div.headBar a { background transparent none repeat scroll 0% !important; font-weight normal !important; line-height 1.2 !important; text-align left !important; text-decoration none !important; } div.headBar a.headmenuButton { border 1px solid #e8e8e8 !important; color #000000 !important; color #000000 !important; cursor default !important; font-family "MS Sans Serif", Arial, sans-serif !important; font-size 13px !important; font-style normal !important; font-weight normal !important; left 0px; line-height 1.2 !important; margin 1px !important; padding 2px 6px 2px 6px !important; position relative !important; text-align left !important; text-decoration none !important; top 0px; z-index 30; } div.headBar a.headmenuButton hover, div.headBar ul li a.haeder_ul hover { background-color transparent !important; border-color #f0f0f0 #909090 #909090 #f0f0f0 !important; color #000000 !important; } div.headBar a.headmenuButtonActive, div.headBar a.headmenuButtonActive hover { background-color #2c8bec !important; border-color #a6a6a6 #f0f0f0 #f0f0f0 #a6a6a6 !important; color #ffffff !important; left 1px; top 1px; } div.headmenu { background-color #e8e8e8 !important; border 2px solid !important; border-color #f0f0f0 #c8c8c8 #c8c8c8 #f0f0f0 !important; color #000000 !important; font-family "MS Sans Serif", Arial, sans-serif !important; font-size 13px !important; font-style normal !important; font-weight normal !important; left 0px; line-height 1.2 !important; margin 0 !important; padding 0px 1px 1px 0px !important; position absolute; text-align left !important; text-decoration none !important; top 0px; visibility hidden; z-index 31; } div.headmenu a.headmenuItem { color #000000 !important; color #000000 !important; cursor default !important; display block; font-family "MS Sans Serif", Arial, sans-serif !important; font-size 13px !important; font-style normal !important; font-weight normal !important; line-height 1.2 !important; margin 0 !important; padding 3px 1em !important; text-decoration none !important; white-space nowrap !important; } div.headmenu a.headmenuItem img{ display inline !important; vertical-align middle !important; border 0 !important; padding 0 !important; margin 0 .5em 0 0 !important; } div.headmenu a.headmenuItem span.headmenuItemArrow{ margin-right -.75em !important; } div.headmenu a.headmenuItem span.headmenuItemText { margin-right -.75em !important; margin-left 0 !important; padding-left 0 !important; } div.headmenu a.headmenuItem hover, div.headmenu a.headmenuItemHighlight { background-color #2c8bec !important; color #ffffff !important; } div.headmenu div.headmenuItemSep { border-bottom 1px solid #f0f0f0 !important; border-top 1px solid #909090 !important; margin 4px 2px !important; padding 0 !important; } div.headBar ul { line-height 26px !important; list-style-image none !important; list-style-position outside !important; list-style-type none !important; margin 0 !important; padding 0pt !important; position absolute !important; right 0pt !important; top 0px !important; } * html div.headBar ul li a.haeder_ul { top 6px !important; } div.headBar ul li { background-image none !important; background-position 0 !important; background-repeat no-repeat !important; float left !important; line-height 26px !important; list-style-image none !important; list-style-type none !important; margin 0pt !important; padding 0pt !important; position relative !important; } div.headBar ul li a.haeder_ul { border 1px solid #e8e8e8 !important; color #000000 !important; color #000000 !important; cursor default !important; font-size 13px !important; font-style normal !important; font-weight normal !important; left 0px; margin 1px !important; padding 2px 6px 2px 6px !important; position relative !important; top 0px; z-index 30; } div.headBar ul li a.haeder_ul active { background-color #2c8bec !important; color #ffffff !important; } div.headBar ul li a.mooter_link { margin-right .2em !important; } div.headBar ul li a.mooter_link img{ vertical-align middle !important; } div.headBar ul li form { display inline !important; line-height 25px !important; margin 0pt !important; padding 0pt !important; } div.headBar ul li input { display inline !important; font-size 13px !important; margin 0 !important; padding 0 !important; margin-right .2em !important; } div.headBar ul li input.submit { background ButtonFace !important; border 2px outset ButtonFace !important; color ButtonTex !importantt; cursor default !important; font-weight normal !important; line-height normal !important; padding 0px 3px !important; text-align center !important; white-space pre !important; } div#headBarWrapper{ display block !important; margin 0 !important; padding 0 !important; } hr { border 1px solid transparent; border-bottom 1px solid #999; padding 0px; height 0px; } .pl-l-level-1{margin-left 16px;padding-left 16px;}.pl-l-level-2{margin-left 32px;padding-left 32px;}.pl-l-level-3{margin-left 48px;padding-left 48px;} /style link rel="search" type="application/opensearchdescription+xml" title="ホモによるホモのためのゲーム部屋 @Wiki検索" href="http //www41.atwiki.jp/maingames/opensearch.xml" / link rel="alternate" type="application/x-wiki" title="トップページ を編集する" href="http //www41.atwiki.jp/maingames/editx/24.html" / link rel="canonical" href="http //www41.atwiki.jp/maingames/pages/24.html" / link rel="alternate" media="only screen and (max-width 640px)" href="http //www41.atwiki.jp/maingames/sp/pages/24.html" / link rel="alternate" media="handheld" href="http //www41.atwiki.jp/maingames/m/pages/24.html" / meta property="og description" content=" この@wikiって何? このWikiではホモゲーマーたちがおススメするゲームを自由に紹介したり投稿した動画を紹介したりするんだゾ (ホモじゃなくても良いです、ハイ) 自分のゲーム専用Twitterア..." / meta property="mixi description" content=" この@wikiって何? このWikiではホモゲーマーたちがおススメするゲームを自由に紹介したり投稿した動画を紹介したりするんだゾ (ホモじゃなくても良いです、ハイ) 自分のゲーム専用Twitterア..." / meta property="og site_name" content="ホモによるホモのためのゲーム部屋 @Wiki" / meta property="og type" content="website" / meta property="og url" content="http //www41.atwiki.jp/maingames/pages/24.html" / meta property="og title" content="ホモによるホモのためのゲーム部屋 @Wiki - トップページ" / meta property="mixi title" content="ホモによるホモのためのゲーム部屋 @Wiki - トップページ" / meta property="mixi device-smartphone" content="http //www41.atwiki.jp/maingames/m/pages/24.html?guid=on" / meta property="mixi device-mobile" content="http //www41.atwiki.jp/maingames/m/pages/24.html?guid=on" / meta property="mixi device-docomo" content="http //www41.atwiki.jp/maingames/m/pages/24.html?guid=on" / meta property="mixi device-au" content="http //www41.atwiki.jp/maingames/m/pages/24.html?guid=on" / meta property="mixi device-softbank" content="http //www41.atwiki.jp/maingames/m/pages/24.html?guid=on" / meta property="gr feature_phone_url" content="http //www41.atwiki.jp/maingames/m/pages/24.html?guid=on" / meta property="gr smart_phone_url" content="http //www41.atwiki.jp/maingames/m/pages/24.html?guid=on" / meta property="fb app_id" content="107996179302361" / meta name="description" content="ホモによるホモのためのゲーム部屋 @Wiki - トップページ - この@wikiって何? このWikiではホモゲーマーたちがおススメするゲームを自由に紹介したり投稿した動画を紹介したりするんだゾ (ホモじゃなくても良いです、ハイ) 自分のゲーム専用Twitterア..." / !-- MTQuMTMzLjE5Ny4yMw== -- style type="text/css/" media="print" !-- @media print{div#headBarWrapper,div.headBar,div#hb_fileMenu,div#hb_editMenu,div#hb_viewMenu,div#hb_toolsMenu,div#hb_helpMenu,div#hb_socialMenu,div#hb_rssMenu,div#hb_toolsMenu2,div#hb_toolsMenu3,div#ads,div.ads,div#ad,div#body_footer,div#footer,div#menuarea,div#editmenu{display none}} -- /style style type="text/css" media="screen" !-- ads,#left-ads,#ads,.ads{visibility visible !important; display block !important;}#ad{visibility visible !important; display block !important;} /style link rel="alternate" href="http //www41.atwiki.jp/maingames/rss10_new.xml" type="application/rss+xml" title="ホモによるホモのためのゲーム部屋 @Wiki 新規作成ページRSS" / link rel="alternate" href="http //www41.atwiki.jp/maingames/rss10.xml" type="application/rss+xml" title="ホモによるホモのためのゲーム部屋 @Wiki 更新ページRSS" / link rel="mixi-check-alternate" media="mixi-device-mobile" type="text/html" href="http //www41.atwiki.jp/maingames/m/pages/24.html" / !--[if lt IE 9] !-- script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js" /script !-- ![endif]-- !--[if gte IE 9] !-- script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js" /script !-- ![endif]-- script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-migrate/1.2.1/jquery-migrate.min.js" /script script type="text/javascript" var atwiki_j$ = jQuery; /script script type="text/javascript" !-- (function($) { function addOnEvent(event,func) { if( window.addEventListener ) { addOnEvent = function(event , func ) { if( event == "load") { var event = "DOMContentLoaded"; } window.addEventListener(event, func, false); }; } else { addOnEvent = function(event , func ) { if ( event == "load") { (function(w,fn) { var d = w.document, done = false; var init = function () { if (!done) { done = true; fn(); } }; // polling for no errors (function () { try { // throws errors until after ondocumentready d.documentElement.doScroll( left ); } catch (e) { setTimeout(arguments.callee, 50); return; } // no errors, fire init(); })(); // trying to always fire before onload d.onreadystatechange = function() { if (d.readyState == complete ) { d.onreadystatechange = null; init(); } }; })(window,func); } else { window.attachEvent("on" + event , func); } }; } addOnEvent(event,func); } function settext( place, text ){ if ( typeof place.textContent != "undefined" ) { place.textContent = text; } else { place.innerText = text; } } function getrecent(){ this.param = function( content ) { this.key = content.id.split("_")[0]; } this.sethtml = function( getcontent, setpoint ) { $.each( setpoint, function(key,value){ var setid = value.id.split("_")[0]; if ( typeof getcontent[setid].errormsg != "undefined" ) { settext( value, getcontent[setid].errormsg ); } else { var inserttag = ""; $.each( getcontent[setid], function( k,v ){ inserttag += " p class=\"plugin_recent_day\" "+k+" /p "; inserttag += " div class=\"plugin_recent_day_div\" "; inserttag += " ul class=\"plugin_recent_ul\" "; $.each( v, function( k,v2 ){ inserttag += " li a "; inserttag += "href=\"http //www41.atwiki.jp/maingames/pages/"+v2.pageid+".html\" title=\""+v2.pagename+" ( "+v2.old+" )\" "+v2.pagename+" /a /li " }); inserttag += " /ul /div "; }); value.innerHTML = inserttag;; } }); } } function getonline(){ this.param = function( content ) { this.alive = content.id.split("_")[0].replace("alive",""); } this.sethtml = function( getcontent, setpoint ) { $.each( setpoint, function(k,v){ var setid = v.id.split("_")[0]; if ( typeof getcontent[setid].errormsg != "undefined" ) { settext( v, getcontent[setid].errormsg ); } else { settext( v, getcontent[setid] ); } }); } } function getcounter(){ this.param = function( content ) { this.key = content.id.split("_")[0]; this.nocurrent = content.id.split("_")[1]; } this.sethtml = function( getcontent, setpoint ) { $.each( setpoint, function(k,v){ var type = v.title.split(" ")[0]; var setid = v.id.split("_")[0]; if ( typeof getcontent[setid].errormsg != "undefined" ) { settext( v, getcontent[setid].errormsg ); } else { settext( v, getcontent[setid][type] ); } }); } } function setplugin( classlist ) { var replacelist = {}, pluginlist = {}, params = {}; var classlist = ".plugin_recent,.online,.counter"; pluginlist["recent"] = new getrecent(); pluginlist["online"] = new getonline(); pluginlist["counter"] = new getcounter(); $(classlist).each(function(index){ var classname = this.className.replace("plugin_", "").replace(/_/g,""); var itemkey = this.id.split("_")[0]; if ( typeof params[classname] == "undefined" ) { params[classname] = {}; replacelist[classname] = []; } if ( typeof params[classname][itemkey] == "undefined" ) { params[classname][itemkey] = new pluginlist[classname].param(this); } replacelist[classname].push(this); }); $.ajax({ url "/_ajax/setplugin/maingames", dataType "json", data params, type "POST", success function(data){ if ( typeof data.errormsg != "undefined" ) { $.each(replacelist, function(k,v){ $.each($(v), function(k2, v2){ settext( v2, data.errormsg ); }); }); } else { $.each(data, function(k,v){ if ( typeof v.errormsg != "undefined" ) { var errmsg = v.errormsg; $.each( replacelist[k], function(k2,v2){ settext( v2, errmsg ); }); } else { pluginlist[k].sethtml( v, replacelist[k] ); } }); } }, error function(XMLHttpRequest, textStatus, errorThrown){ $.each(replacelist, function(k,v){ $.each($(v), function(k2, v2){ settext( v2, "取得に失敗しました。リロードして下さい。" ); }); }); } }); } addOnEvent("load",setplugin); addOnEvent("load",function() { $(document).ajaxComplete(function(event, XMLHttpRequest, options){ var nav = $( #right-ads ); var offset = nav.offset(); var navstyle = { text-align "center", display "block", visibility "visible"}; var navWH = nav.height(); var navWW = nav.width(); var flag = false; var WH = $(window).height(); var WW = $(window).width(); var timer2 = false; var rightadsok = true; var menubarsize = $( #menubar2 ).width(); nav.width(menubarsize); $(window).resize(function() { WH = $(window).height(); WW = $(window).width(); nav.removeAttr("style"); nav.css(navstyle); nav.width(menubarsize); offset = nav.offset(); if(flag offset != null) { moveads(); } }); function moveads() { // スクロールトップの位置が基準値より大きければ、 if( rightadsok ( WH navWH || WW navWW ) $(window).scrollTop() offset.top -40) { if( typeof left_offset != undefined ) { nav.css({position "fixed", top "40px", left (left_offset - $(window).scrollLeft()) + "px"}); } else {nav.css({position "fixed", top "40px", left (offset.left - $(window).scrollLeft()) + "px"}); } if (!flag) { nav.after($( div / ,{style width 160px;height 600px })); flag = true; } } else { nav.removeAttr("style"); nav.css(navstyle); nav.width(menubarsize); if (flag) { nav.next("div").remove(); flag = false; } } } if(offset != null) { $(window).scroll( moveads ); } }); }); })(atwiki_j$); //-- /script script type="text/javascript" setTimeout(function(){var e=document.getElementsByTagName("head")[0]||document.documentElement;var t=document.createElement("script");t.type="text/javascript";t.src="/_js/social_button_min20150107.js";e.appendChild(t)},0) /script script type="text/javascript" $(function() { var atwiki_escape_j$ = ; if($.fn.socialbutton == undefined){ atwiki_escape_j$ = $; $ = atwiki_j$; } if($.fn.socialbutton!= undefined){ $( #at_social_links2 .mixi_check ).socialbutton( mixi_check , { key 29989eebcfcfa722eb371303f024e7a2402f3c54 }); $( #at_social_links2 .gree ).socialbutton( gree_sf ); } if(atwiki_escape_j$ != ){ $ = atwiki_escape_j$; } }); /script script type= text/javascript var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; (function() { var gads = document.createElement( script ); gads.async = true; gads.type = text/javascript ; var useSSL = https == document.location.protocol; gads.src = (useSSL ? https http ) + //www.googletagservices.com/tag/js/gpt.js ; var node = document.getElementsByTagName( script )[0]; node.parentNode.insertBefore(gads, node); })(); /script script type= text/javascript googletag.cmd.push(function() { googletag.defineSlot( /9160377/wiki_user_160_600 , [160, 600], div-gpt-ad-wiki_user_160_600 ).addService(googletag.pubads()); googletag.defineSlot( /9160377/atwiki_300_250_left_bottom_own , [300, 250], div-gpt-ad-atwiki_300_250_left_bottom_own ).addService(googletag.pubads()); googletag.defineSlot( /9160377/atwiki_300_250_right_bottom_own , [300, 250], div-gpt-ad-atwiki_300_250_right_bottom_own ).addService(googletag.pubads()); googletag.pubads().setTargeting("wikiid","maingames"); googletag.pubads().setTargeting("tpl-style","tpl-2014"); googletag.pubads().enableSingleRequest(); googletag.enableServices(); }); /script !--[if lt IE 9] script src="http //html5shim.googlecode.com/svn/trunk/html5.js" /script script window.html5 || document.write( script src="/_js/html5.js" /scr + ipt ); /script ![endif]-- style type="text/css" /* ![CDATA[ */ html,body{ min-width 870px; position relative; } .ddsmoothmenu{ background #414141; /*background of menu bar (default state)*/ width 100%; } #globalNav #globalNav , #globalNavRight { text-align left; font 13px/1.231 arial,helvetica,clean,sans-serif; font-size small; font x-small; } #globalNavRight .ddsmoothmenu ul{ z-index 100; margin 0; padding 0; list-style-type none; list-style-image none; background none; } /*Top level list items*/ .ddsmoothmenu ul li{ position relative; display inline; float left; margin 0; padding 0; background none; list-style none outside none; } /*Top level menu link items style*/ .ddsmoothmenu ul li a{ display block; background #414141; /*background of menu items (default state)*/ background-image none; padding 5px 10px 4px 10px; color #2d2b2b; text-decoration none; } .ddsmoothmenu span.disabled{ display block; background #2d2d2d; color #888; padding 5px; text-decoration none; } html .ddsmoothmenu ul li a{ /*IE6 hack to get sub menu links to behave correctly*/ display inline-block; } .ddsmoothmenu ul li a link, .ddsmoothmenu ul li a visited{ color white; } .ddsmoothmenu ul li a.selected{ /*CSS class that s dynamically added to the currently active menu items LI A element*/ background black; color white; } .ddsmoothmenu ul li a hover{ background black; /*background of menu items during onmouseover (hover state)*/ color white; } /*1st sub level menu*/ .ddsmoothmenu ul li ul{ position absolute; left 0; display none; /*collapse all sub menus to begin with*/ visibility hidden; } /*Sub level menu list items (undo style from Top level List Items)*/ .ddsmoothmenu ul li ul li{ display list-item; float none; list-style none outside none; } .ddsmoothmenu ul li ul li.sep{ border-bottom 1px solid #666; } /*All subsequent sub menu levels vertical offset after 1st level sub menu */ .ddsmoothmenu ul li ul li ul{ top 0; } /* Sub level menu links style */ .ddsmoothmenu ul li ul li a{ font normal 13px Verdana; width 230px; /*width of sub menus*/ padding 5px; margin 0; border-top-width 0; display inline-block; } /* Holly Hack for IE \*/ html .ddsmoothmenu{height 1%;} /*Holly Hack for IE7 and below*/ #globalNav .ddsmoothmenu .at_header_search_box{ padding-left 5px;padding-top 1px; } #globalNav .ddsmoothmenu .at_header_search_box *{ display inline-block; } #globalNav .ddsmoothmenu .at_header_search_box input[type=text]{ color black; padding 2px 4px; border 1px solid #CCCCCC; margin 0; } #globalNav .ddsmoothmenu .at_header_search_box input[type=submit]{ color black; padding 2px 4px; border 1px solid #CCCCCC; margin 0; } #globalNav .ddsmoothmenu .downarrowclass{ position absolute; top 10px; right 7px; } #globalNav .ddsmoothmenu .rightarrowclass{ position absolute; top 8px; right 5px; } #globalNav .ddsmoothmenu ul li a.disabled, #globalNav .ddsmoothmenu ul li a.disabled link, #globalNav .ddsmoothmenu ul li a.disabled visited, #globalNav .ddsmoothmenu ul li a.disabled hover, #globalNav .ddsmoothmenu ul li a.disabled active{ color #888; background #2d2d2d; cursor default; } /* ######### CSS for shadow added to sub menus ######### */ .ddshadow{ /*shadow for NON CSS3 capable browsers*/ position absolute; left 0; top 0; width 0; height 0; background silver; } .toplevelshadow{ /*shadow opacity for NON CSS3 capable browsers. Doesn t work in IE*/ opacity 0.8; } #at_social_links #at_social_links div{ float right; padding-left 5px; } #at_social_links .mixi_check img{ vertical-align baseline; } #at_social_links2 #at_social_links2 div{ float left; padding-right 7px; padding-bottom 5px; } #at_social_links2 .mixi_check img{ vertical-align baseline; } #atwiki jp-top{ width 0; height 0; } .at_h_clearfix { zoom 1; } .at_h_clearfix before, .at_h_clearfix after { display table; content ""; } .at_h_clearfix after { clear both; } /* ]] */ /style script src="/_js/atheadbar.js?v=20110818" type="text/javascript" /script script type="text/javascript" ddsmoothmenu.init({ mainmenuid "globalNav", orientation h , classname ddsmoothmenu , customtheme ["#2d2d2d", "#4c4c4c"], contentsource "markup", diffx 0 }); ddsmoothmenu.init({ mainmenuid "globalNavRight", orientation h , classname ddsmoothmenu , customtheme ["#2d2d2d", "#4c4c4c"], contentsource "markup", diffx 17 }); function onw(tUrl){ //Open New Window window.open(tUrl, _blank , width=700,height=700,resizable=1,scrollbars=1,location=1 ); return false; } function formClear(targetElement){ if(targetElement.value == targetElement.defaultValue){ targetElement.value = ""; } } /script /head body id="atwiki-jp" div id="fb-root" /div a id="atwiki-jp-top" style="display inline;line-height 0;border none;margin 0;padding 0;" /a div id="globalNav" class="ddsmoothmenu at_h_clearfix" ul id="globalNav_outer" li class="globalNav_first" a href="#" style="padding-right 23px;" @メニュー img style="border 0pt none;" class="downarrowclass" src="http //cdn41.atwikiimg.com/_img/down2.gif" width="11" / /a ul li class="normal" a href="http //www41.atwiki.jp/maingames/new" 新規ページ作成 /a /li li class="sep" a href="#" 新規ページ作成(その他) /a ul li class="sep" a href="http //www41.atwiki.jp/maingames/copy2/24.html" このページをコピーして新規ページ作成 /a /li li class="sep" a href="http //www41.atwiki.jp/maingames/copy/" このウィキ内の別ページをコピーして新規ページ作成 /a /li li class="sep" a href="http //www41.atwiki.jp/maingames/upmake/" アップロードファイルから新規ページ作成 /a /li li class="sep" a href="http //www41.atwiki.jp/maingames/webquote/" 他のホームページから引用して新規ページ作成 /a /li li class="sep" a href="http //www41.atwiki.jp/maingames/bbsquote/" スレッド式掲示板から引用して新規ページ作成 /a /li /ul /li li class="sep" a href="http //atwiki.jp/l/" アットウィキで新規ウィキ作成 /a /li /ul /li li class="globalNav_first" a href="#" style="padding-right 23px;" 編集 img style="border 0pt none;" class="downarrowclass" src="http //cdn41.atwikiimg.com/_img/down2.gif" width="11" / /a ul li class="normal" a href="http //www41.atwiki.jp/maingames/editx/24.html" ページ編集 /a /li li class="sep" a href="http //www41.atwiki.jp/maingames/editxx/24.html" メニュー非表示でページ編集 /a /li li class="normal" a href="http //www41.atwiki.jp/maingames/renamex/24.html" ページ名変更 /a /li li class="normal" a href="http //www41.atwiki.jp/maingames/chmod/24.html" ページの閲覧/編集権限変更 /a /li li class="sep" a href="http //www41.atwiki.jp/maingames/chkind/24.html" ページの編集モード変更 /a /li li class="normal" a href="http //www41.atwiki.jp/maingames/upload/24.html" このページにファイルをアップロード /a /li li class="sep" a class="disabled" href="#" このウィキにファイルをアップロード /a /li li class="normal" a href="/maingames/edit/%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC?flag=onlymain" メニューを編集 /a /li li class="normal" a href="/maingames/edit/%E5%8F%B3%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC?flag=onlymain" 右メニューを編集 /a /li /ul /li li class="globalNav_first" a href="#" style="padding-right 23px;" 表示 img style="border 0pt none;" class="downarrowclass" src="http //cdn41.atwikiimg.com/_img/down2.gif" width="11" / /a ul li class="normal" a href="http //www41.atwiki.jp/maingames/diffx/24.html" 最新版変更点 (差分) /a /li li class="sep" a href="http //www41.atwiki.jp/maingames/backupx/24/list.html" 編集履歴 (バックアップ) /a /li li class="normal" a href="http //www41.atwiki.jp/maingames/ref/24.html" リンク元 /a /li li class="sep" a href="http //www41.atwiki.jp/maingames/trackback/24.html" トラックバック /a /li li class="normal" a href="http //www41.atwiki.jp/maingames/list" このウィキの全ページ一覧 /a /li li class="normal" a href="http //www41.atwiki.jp/maingames/?cmd=backup amp;action=list" 編集履歴のあるページ一覧 /a /li li class="sep" a href="http //www41.atwiki.jp/maingames/tag" このウィキのタグ一覧 /a /li li class="normal" a href="/maingames/rss10.xml" img src="http //img.atwiki.jp/_skin/h/feed.png" alt="このwikiの更新情報RSS" / このwikiの更新情報RSS /a /li li class="normal" a class="headmenuItem" href="/maingames/rss10_new.xml" img src="http //img.atwiki.jp/_skin/h/feed.png" alt="このwikiの新着ページRSS" / このwikiの新着ページRSS /a /li /ul /li li class="globalNav_first" a href="#" style="padding-right 23px;" ツール img style="border 0pt none;" class="downarrowclass" src="http //cdn41.atwikiimg.com/_img/down2.gif" width="11" / /a ul li class="sep" a href="/maingames/search" このウィキ内を検索 /a /li li class="sep" a href="/maingames/contact" このウィキの管理者に連絡 /a /li li class="normal" a href="/maingames/jsparts" @wikiパーツ /a ul li class="sep" a href="/maingames/jsparts" @wikiパーツ:あなたのサイトにWikiデータを簡単表示! /a /li li class="sep" a href="/maingames/jsparts/recent" 最近更新したページの一覧を表示する /a /li li class="sep" a href="/maingames/jsparts/newcreate" 最近作成したページの一覧を表示する /a /li li class="sep" a href="/maingames/jsparts/search" このwiki内を検索するフォームを表示する /a /li li class="sep" a href="/maingames/jsparts/tagcloud" このwikiのタグクラウドを表示する /a /li li class="sep" a href="/maingames/jsparts/autolink" 自動リンク辞書を利用する /a /li /ul /li li class="sep" a href="http //atwiki.jp/tools/" target="_blank" @wiki便利ツール /a ul li class="sep" a href="/maingames/jsparts" @wikiパーツ:あなたのサイトにウィキデータを簡単表示! /a /li li class="sep" a href="http //atwiki.jp/matome/" target="_blank" まとめサイト作成支援ツール /a /li li class="sep" a href="http //atwiki.jp/tools/rssmaker.html" target="_blank" RSSかんたん作成 /a /li li class="sep" a href="http //atwiki.jp/tools/rssnavimaker.html" target="_blank" 興味キーワードをチェック!!(RSSナビ) /a /li li class="sep" a href="http //atwiki.jp/tools/blogrssmaker.html" target="_blank" いろんなblogのRSSかんたん作成ページ /a /li li class="sep" a href="http //atwiki.jp/tools/a.php" target="_blank" アマゾン商品検索(簡単アフィリエイト) /a /li li class="sep" a href="http //atwiki.jp/tools/quote.html" target="_blank" ウィキに株式情報(日本)を表示 /a /li li class="sep" a href="http //atwiki.jp/tools/quote2.html" target="_blank" ウィキに株式情報(中国)を表示 /a /li li class="sep" a href="http //atwiki.jp/tools/html.html" target="_blank" かんたんHTML直接入力 /a /li li class="sep" a href="http //atwiki.jp/tools/qa.html" target="_blank" Q amp;Aサイトかんたん連携作成 /a /li li class="sep" a href="http //atwiki.jp/tools/kawase.html" target="_blank" ウィキに為替情報を表示 /a /li li class="sep" a href="http //atwiki.jp/tools/hatena.html" target="_blank" はてなアンテナと簡単連携 /a /li /ul /li li class="sep" a href="http //atwiki.jp/wiki/" @wiki ホットワード /a /li li class="sep" a href="http //atwiki.jp/wikisearch/" @wiki 全体検索 /a /li li class="normal" a href="http //desk.atfreaks.com/tickets/form/inquiry?iurl=http%3A%2F%2Fwww41.atwiki.jp%2Fmaingames%2F" target="_blank" このページを通報・違反報告する /a /li /ul /li li class="globalNav_first" a href="#" style="padding-right 23px;" ヘルプ img style="border 0pt none;" class="downarrowclass" src="http //cdn41.atwikiimg.com/_img/down2.gif" width="11" / /a ul li class="sep" a href="http //www1.atwiki.jp/guide/" ご利用ガイド /a /li li class="sep" a href="http //www1.atwiki.jp/wpmode_guide" ワープロモードご利用ガイド /a /li li class="sep" a href="http //www33.atwiki.jp/atwikibeginner" 初心者ガイド /a /li li class="sep" a href="http //www3.atchs.jp/atwikisupport/" @wiki助け合い掲示板 /a /li li class="sep" a href="http //atwiki.jp/l/" wiki(ウィキ)って何? /a /li li class="normal" a href="http //www1.atwiki.jp/guide/pages/21.html" 良くある質問集 /a /li li class="normal" a href="http //www1.atwiki.jp/guide/pages/32.html" プラグイン一覧 /a /li li class="normal" a href="http //www1.atwiki.jp/guide/pages/20.html" 編集モードの違いについて /a /li li class="normal" a href="http //www1.atwiki.jp/guide/pages/18.html" 不具合や障害を見つけたら /a /li li class="normal" a href="http //www1.atwiki.jp/guide/pages/36.html" 管理・設定マニュアル /a /li /ul /li li class="at_header_search_box" form style="" method="get" action="http //www41.atwiki.jp/maingames/" input type="hidden" name="cmd" value="search" / input type="text" id="s" value="wiki内検索" style="width 7em;" name="keyword" onfocus="formClear(this)" / input type="submit" value="検索" style="" / /form /li /ul /div div id="globalNavRight" class="ddsmoothmenu at_h_clearfix" ul li class="normal" a href="http //www41.atwiki.jp/maingames/contributor" title="このウィキに参加" style="visibility visible !important;" rel="nofollow" このウィキに参加 /a /li li class="normal" a href="http //www41.atwiki.jp/maingames/login/24.html" title="ログイン" style="visibility visible !important;" rel="nofollow" ログイン /a /li /ul /div !-- /Head Bar -- div id="atwiki-jp-bg2" div id="container" div id="header" class="box" a href="/maingames/" id="atwiki-jp-bg1" /a h1 a href="/maingames/" ホモによるホモのためのゲーム部屋 @Wiki /a /h1 /div div id="wrapper" class="box" div id="menubar" class="menu" !--@@@@@-- h3 id="id_f3d245b0" a href="http //www41.atwiki.jp/maingames/pages/32.html" メニューだゾ /a /h3 ul li a href="http //www41.atwiki.jp/maingames/pages/38.html" title="ゲーム紹介 (5d)" ゲーム紹介 /a /li li a href="http //www41.atwiki.jp/maingames/pages/37.html" title="ゲーム動画 (5d)" ゲーム動画 /a /li li a href="http //www41.atwiki.jp/maingames/pages/9.html" title="ゲーム画像 (2d)" ゲーム画像 /a /li li a href="http //www41.atwiki.jp/maingames/pages/39.html" title="招待系URL (5d)" 招待系URL /a /li li a href="http //www41.atwiki.jp/maingames/pages/40.html" title="アカウント紹介 (5d)" アカウント紹介 /a /li li a href="http //www41.atwiki.jp/maingames/pages/30.html" title="雑談部屋 (5d)" 雑談部屋 /a /li li a href="http //www41.atwiki.jp/maingames/pages/45.html" title="質問部屋 (5d)" 質問部屋 /a /li li a href="http //www41.atwiki.jp/maingames/pages/25.html" title="禁止事項 (5d)" 禁止事項 /a /li /ul br / hr / h3 id="id_9938e0bd" a href="http //www41.atwiki.jp/maingames/pages/32.html" その他要望など /a /h3 ul li a href="http //www41.atwiki.jp/maingames/pages/42.html" title="要望受付 (5d)" 要望受付 /a /li li a href="http //www41.atwiki.jp/maingames/pages/43.html" title="スパム対処 (5d)" スパム対処 /a /li li a href="http //www41.atwiki.jp/maingames/contributor" このWikiに参加したい /a /li /ul br / hr / h3 id="id_e5c39878" a href="http //www41.atwiki.jp/maingames/pages/32.html" 更新履歴 /a /h3 div class="plugin_recent" id="c0c7c76d30bd3dcaefc96f40275bdc0a_1" 取得中です。 /div hr / h3 id="id_f8ef721b" カウンター /h3 table tr class="atwiki_tr_odd atwiki_tr_1" !--0-0-- td style="" 現在 /td !--0-1-- td style="" span class="online" id="alive600_1" - /span 人 /td /tr tr class="atwiki_tr_even atwiki_tr_2" !--1-0-- td style="" 今日 /td !--1-1-- td style="" span class="counter" id="c4040d622dfdc82441d3e5898d2b0ea4_0_1" title="today トップページ" - /span 人 /td /tr tr class="atwiki_tr_odd atwiki_tr_3" !--2-0-- td style="" 昨日 /td !--2-1-- td style="" span class="counter" id="c4040d622dfdc82441d3e5898d2b0ea4_0_2" title="yesterday トップページ" - /span 人 /td /tr tr class="atwiki_tr_even atwiki_tr_4" !--3-0-- td style="" 合計 /td !--3-1-- td style="" span style="font-weight bold;" !--@@@@@-- span class="counter" id="c4040d622dfdc82441d3e5898d2b0ea4_0_3" title="total トップページ" - /span 人 /span /td /tr /table br / hr / /div div id="menubar2" class="menu" !--@@@@@-- hr / h3 id="id_f8ef721b" カウンター /h3 table tr class="atwiki_tr_odd atwiki_tr_1" !--0-0-- td style="" 現在 /td !--0-1-- td style="" span class="online" id="alive600_2" - /span 人 /td /tr tr class="atwiki_tr_even atwiki_tr_2" !--1-0-- td style="" 今日 /td !--1-1-- td style="" span class="counter" id="c4040d622dfdc82441d3e5898d2b0ea4_0_4" title="today トップページ" - /span 人 /td /tr tr class="atwiki_tr_odd atwiki_tr_3" !--2-0-- td style="" 昨日 /td !--2-1-- td style="" span class="counter" id="c4040d622dfdc82441d3e5898d2b0ea4_0_5" title="yesterday トップページ" - /span 人 /td /tr tr class="atwiki_tr_even atwiki_tr_4" !--3-0-- td style="" 合計 /td !--3-1-- td style="" span style="font-weight bold;" !--@@@@@-- span class="counter" id="c4040d622dfdc82441d3e5898d2b0ea4_0_6" title="total トップページ" - /span 人 /span /td /tr /table br / hr / br / h3 id="id_be20f28d" 更新履歴 /h3 div class="plugin_recent" id="98f13708210194c475687be6106a3b84_2" 取得中です。 /div br / hr / br / div align="center" id="right-ads" style="text-align center; display block !important; visibility visible !important;" !-- __dfp_div-gpt-ad-wiki_user_160_600-160-600 -- div id= div-gpt-ad-wiki_user_160_600 style= width 160px; height 600px; script type= text/javascript googletag.cmd.push(function() { googletag.display( div-gpt-ad-wiki_user_160_600 ); }); /script /div /div /div div id="contents" h2 id="pagetitle" a href="http //www41.atwiki.jp/maingames/pages/24.html" title="トップページ (4d)" トップページ /a /h2 div id="wikibody" class="box" !--@@@@@-- img border="0" width="700" style="width 700px;" title="" alt="" src="http //cdn41.atwikiimg.com/maingames/?plugin=ref serial=16 w=700" / hr / br / h4 id="id_442f0d63" この@wikiって何? /h4 br / div このWikiではホモゲーマーたちがおススメするゲームを自由に紹介したり投稿した動画を紹介したりするんだゾ /div br / div (ホモじゃなくても良いです、ハイ) /div br / div 自分のゲーム専用Twitterアカウントやフェイスブック(個人情報が載っているものは避ける)なんかも紹介してホラ /div br / div というわけでホモたちで楽しく自由にWikiを作り上げって欲しいんだゾ /div br / div ただし荒らしは禁物、ルールとマナーを守って欲しいんだなぁ(戒め) /div br / div ちなみに管理人はROBOCRAFTやモンストなんかが好きなんだゾ /div br / h2 id="id_5fe34dfd" 管理人のTwitterだゾ、 /h2 div フォローしてね(小声) /div br / a class="twitter-timeline" data-chrome=" " data-related=""href="https //twitter.com/monsutoomega" data-widget-id="589315462879531008" @monsutoomega からのツイート /a script !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http /.test(d.location)? http https ;if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+" //platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs"); /script /div div id="ads" br / div class="at_h_clearfix" div style="float left;padding 10px 3px;" !-- __dfp_div-gpt-ad-atwiki_300_250_left_bottom_own-300-250 -- div id= div-gpt-ad-atwiki_300_250_left_bottom_own style= width 300px; height 250px; script type= text/javascript googletag.cmd.push(function() { googletag.display( div-gpt-ad-atwiki_300_250_left_bottom_own ); }); /script /div /div div style="float left;padding 10px 3px;" !-- __dfp_div-gpt-ad-atwiki_300_250_right_bottom_own-300-250 -- div id= div-gpt-ad-atwiki_300_250_right_bottom_own style= width 300px; height 250px; script type= text/javascript googletag.cmd.push(function() { googletag.display( div-gpt-ad-atwiki_300_250_right_bottom_own ); }); /script /div /div /div /div div id="body_footer" div id= at_social_links2 class= at_h_clearfix div class= twitter a href="https //twitter.com/share" class="twitter-share-button" data-url="http //www41.atwiki.jp/maingames/pages/24.html" data-text="ホモによるホモのためのゲーム部屋 @Wiki - トップページ #atwiki " data-lang="ja" ツイート /a /div div class= hatena a href="http //b.hatena.ne.jp/entry/http //www41.atwiki.jp/maingames/pages/24.html" class="hatena-bookmark-button" data-hatena-bookmark-title="ホモによるホモのためのゲーム部屋 @Wiki - トップページ" data-hatena-bookmark-layout="simple-balloon" title="このエントリーをはてなブックマークに追加" img src="http //b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border none;" / /a /div div class= mixi_check /div div class= gree /div div class= facebook_like div class="fb-like" data-href="http //www41.atwiki.jp/maingames/pages/24.html" data-send="false" data-layout="button_count" data-width="90" data-show-faces="true" /div /div div class= google_plusone div class="g-plusone" data-size="medium" /div /div /div div class="fb-comments" data-href="http //www41.atwiki.jp/maingames/pages/24.html" numposts="10" width="500" /div /div div class="attach" div id="attach" 添付ファイル ul li a href="/maingames?cmd=upload amp;act=open amp;pageid=24 amp;file=Top%E7%94%BB.jpg" Top画.jpg /a /li /ul /div /div div class="footnote" /div /div /div div id="footer" hr / div id="recommend" !-- google_ad_section_start(weight=ignore) -- div style="font-size 8px;" PR | a href="http //atmatome.jp/" まとめアットウィキ /a | a href="http //game-yoyaku.atwiki.jp/" 新着ゲームの事前予約-予約@ウィキ /a | /div !-- google_ad_section_end -- /div !-- google_ad_section_start(weight=ignore) -- a id="atwiki-jp-bottom" href="http //atwiki.jp/" title="@wiki - 無料レンタルウィキサービス" @wiki - 無料レンタルウィキサービス /a | a href="http //atwiki.jp/policy.html" title="@wikiのプライバシーポリシー" プライバシーポリシー /a | a href="http //www41.atwiki.jp/maingames/ref/24.html" リンク元 /a | a href="http //www41.atwiki.jp/maingames/trackback/24.html" トラックバック /a !-- google_ad_section_end -- /div /div /div div id="extraDiv1" span /span /div div id="extraDiv2" span /span /div div id="extraDiv3" span /span /div div id="extraDiv4" span /span /div div id="extraDiv5" span /span /div div id="extraDiv6" span /span /div script /script /body /html
https://w.atwiki.jp/1524/pages/36.html
CharacterData.h /**********************************************************************************/ /*!@file @briefオブジェクトを管理するクラス @author柴田 大輔 @date2005/03/23 $Revision $ ******************************************************************************/ #ifndef _CHARACTER_DATA_H #define _CHARACTER_DATA_H #include "../OgLib/OG.h" class CharacterData { protected MODEL_HANDLE _mesh;// モデルハンドル D3DXVECTOR3 _position;// 位置 float _hp;// HP float _direction; // 向き float _velocity;// 移動速度 float _attack_vel; // 攻撃速度 int _attack; // 攻撃力 public // コンストラクタ CharacterData( const char* x_file, float hp, D3DXVECTOR3 pos ); // デストラクタ virtual ~CharacterData(); // 移動 virtual void Move( void ) = 0; // 描画 virtual void Draw( void ) = 0; // HPの取得&設定 virtual float GetHP( void ) const {return _hp;} virtual void SetHP( float hp ) {_hp = hp;} // 位置の取得&設定 virtual D3DXVECTOR3 GetPosition( void ) const {return _position;} virtual void SetPosition( D3DXVECTOR3 pos ) {_position = pos;} // 向きの取得&設定 virtual float GetDirection( void ) const {return _direction;} virtual void SetDirection( float dir ) {_direction = dir;} // 移動速度の取得&設定 virtual float GetVelocity( void ) const {return _velocity;} virtual void SetVelocity( float vel ) {_velocity = vel;} // 攻撃速度の取得&設定 virtual float GetAttackVel( void ) const {return _attack_vel;} virtual void SetAttackVel( float at_vel ) {_attack_vel = at_vel;} // 攻撃の取得&設定 virtual float GetAttack( void ) const {return _attack;} virtual void SetAttack( float at_vel ) {_attack_vel = at_vel;} }; #endif CharacterData.cpp /**********************************************************************************/ /*!@file @briefオブジェクトを管理するクラス @author柴田 大輔 @date2005/03/23 $Revision $ ******************************************************************************/ #include "stdafx.h" #include "Object.h" /**************************************************************/ /*! コンストラクタ 初期化処理 @paramなし @return 生成したシーンのポインタ **********************************************************/ Object Object( const char* x_file, float hp, D3DXVECTOR3 pos ) _mesh(NULL)// モデルハンドル , _hp(hp)// HP , _position(pos)// 位置 , _direction(0.0f)// 向き , _velocity(0.0f)// 移動速度 , _attack_vel(0.0f)// 攻撃速度 { // モデルの読み込み if (_mesh == NULL ) { _mesh = OG_RequestLoadModel( x_file ); } } /**************************************************************/ /*! デストラクタ 解放処理 @paramなし @return 生成したシーンのポインタ **********************************************************/ Object ~Object() { } ページ分けるかzipのリンク貼った方がいいんじゃね…? -- 花烏風月 (2009-05-22 01 46 26) 名前 コメント
https://w.atwiki.jp/ppsspp-tips/pages/40.html
macOS/ソースコードからビルドする 概要 macOS に PPSSPP インストールしようと思っても、公式サイトでは「自分でビルドしてね!」とだけ書かれていて配布されていなかったり、ネットにも情報が少なかったので個人的にまとめてみました。macOS で PPSSPP をインストールする方法は、以下の 3 通りあります。 【オススメ】ソースコードからビルドする メリット:公式リポジトリなので安心安全。最新バージョンを使える。 デメリット:導入が面倒。リポジトリをクローンするために 3GB くらい容量を使う。 Homebrew パッケージをインストールする メリット:ビルドよりは導入が簡単。最新バージョンを使える。 デメリット:FFmpeg にバグがあり(ソース)、オープニングなどで強制終了してしまう。回避策あり。 OpenEmu など、PPSSPP のフロントエンドをインストールする 別のエミュレータになるので、このサイトでは解説しません。 メリット:この中で導入が一番簡単。 デメリット:PPSSPP のバージョンが少し古い。詳細設定を変更できない。チートを使用できない。 ネットで検索するとv1.6.3の macOS 用ビルドがあちこちに転がっていますが、バージョンが古く、ソースコードに悪意ある変更を加えられている可能性もあるため(ソース)、おすすめしません。 この記事ではソースコードからビルドする方法を說明します。記事を書くにあたって、公式リポジトリのBuilding for macOS - Build instructions | GitHubを参考にさせていただきました。ありがとうございます。 この記事の動作環境 macOS Catalina 10.15.7 iMac (21.5-inch, Late 2012, x86_64) zsh v5.8 (x86_64-apple-darwin19.6.0) Xcode Command Line Tools v2373 Homebrew v3.1.5 Git v2.31.1 Python v3.9.4 ご覧のように、管理人の iMac は古すぎるため「Intel(x86_64)版 macOS Big Sur」にアップデートできません。この記事の内容を「Intel(x86_64)版 macOS Big Sur」、または「Apple Silicon(ARM64) 版 macOS Big Sur」で検証してくださる方がいらっしゃればとても助かります。 必要なもの macOS Mojave 10.14 以上 Homebrew が対応していないため(ソース)。 macOS Big Sur 11.0 macOS Catalina 10.15 macOS Mojave 10.14 Xcode Command Line Tools Homebrew をインストールするために必要。 必要なのは Xcode Command Line Tools のみなので、Xcode 本体をインストールする必要はありません。 Homebrew 依存関係にあるパッケージをインストールするために必要。 依存関係にあるパッケージ sdl2 cmake libzip qt5 snappy ビルドに必要なソフトウェア Git Python 3 導入手順 1. Xcode Command Line Tools をインストールする Xcode Command Line Tools は Xcode に付随してインストールされるため、一見 Xcode も必要と思われがちですが、実際は Xcode Command Line Tools だけインストールすることも可能です。Xcode は 約 11GB とかなりファイルサイズが大きいため、不要であれば Xcode Command Line Tools のみインストールすることをおすすめします。 Launchpad その他 ターミナルを開く xcode-select --installをコピペしてEnter ポップアップが表示されるので、「インストール」をクリック Xcode Command Line Tools を再インストール・アップデートする なんだかごちゃごちゃしてしまったので再インストールしたい場合や、brew doctorから「新しいアップデートが利用できるよ」と通知された場合は、以下の手順で強制的に再インストール・アップデートできます。(2)で中断することでアンインストールすることもできます。 Launchpad その他 ターミナルを開く sudo rm -rf /Library/Developer/CommandLineToolsをコピペしてEnter 管理者のパスワードを入力してEnter 注意:一見何も入力されていないように見えますが、内部では正常に入力されています。 xcode-select --installコピペしてEnter ポップアップが表示されるので、「インストール」をクリック 2. Homebrew をインストールする Launchpad その他 ターミナルを開く Homebrew 公式サイトにアクセス Install Homebrew クリップボードのアイコンをクリック ターミナルにペーストしてEnter 処理が終了するまで待つ brew doctorをコピペしてEnter Your system is ready to brew.:この表示が出力されれば問題ありません。 警告が出力された場合は、指示に従って問題を一つずつ解消してください。 Homebrew とは Homebrew(ホームブルー)とは、macOS または Linux 用の有名なパッケージマネージャーです。Apple Store の CLI 版のようなもので、CLI、GUI 問わずアプリを一元管理(検索・インストール・アンインストール・アップデート)できます。macOS のアプリの大半は、Homebrew からインストールできます。詳しくはググってください。 よく使うコマンド一覧 brew list:インストールされているパッケージの一覧を表示 brew list | fgrep 検索したいパッケージ名の一部 :インストールされているパッケージからパッケージを検索 brew search 検索したいパッケージ名の一部 :パッケージリストからパッケージを検索 パッケージのアップデート brew update:Homebrew 本体とパッケージリストを最新のものに更新 brew outdated:更新可能なパッケージを一覧表示 brew upgrade:更新可能なパッケージをアップデート このコマンドだけ実行しても自動的にbrew updateが実行されます。 パッケージのインストール・アンインストール brew install パッケージ名 :指定したパッケージをインストール brew uninstall パッケージ名 :指定したパッケージをアンインストール brew doctor:Homebrew にエラーや不整合がないか確認 Your system is ready to brew.:この表示が出力されれば問題ありません。 警告やアップデートの通知が出力された場合は、指示に従って問題を一つずつ解消してください。 3. PPSSPP 依存関係パッケージをインストールする Launchpad その他 ターミナルを開く brew upgradeをコピペしてEnter brew install sdl2 cmake libzip qt5 snappyをコピペしてEnter 処理が終了するまで待つ 4. ビルドに必要なソフトウェアをインストールする 公式サイトからインストーラをダウンロードする方法もありますが、Homebrew からインストールするほうが簡単に管理できるので、こちらがおすすめです。 4-1. Python 3 をインストールする Launchpad その他 ターミナルを開く brew install python3をコピペしてEnter 処理が終了するまで待つ 4-2. 【任意】Git をインストールする 実は Xcode Command Line Tools をインストールしたときに Git も付随してインストールされています。しかし少しバージョンが古いため、Homebrew から新規インストールすることをおすすめします。もちろんスキップしても問題ありません。 Launchpad その他 ターミナルを開く git --versionをコピペしてEnter デフォルトでインストールされている Git のバージョンを確認。 brew install gitをコピペしてEnter 処理が終了するまで待つ ターミナルを再起動 デフォルトの古い Git から Homebrew でインストールした Git に切り替えるため。 git --versionをコピペしてEnter バージョンが上がっていることを確認。 5. ソースコードをビルドする 5-1. リモートリポジトリをクローンする 約 3GB とリポジトリのサイズが大きいため、安定した Wi-Fi 環境などで実行することをおすすめします。今回は分かりやすいように「デスクトップ」にクローンしてみます。もちろん、他のフォルダでも構いません。 Launchpad その他 ターミナルを開く cd ~/desktopをコピペしてEnter git clone --recurse-submodules https //github.com/hrydgard/ppsspp.gitをコピペしてEnter 補足:Git で公式リポジトリからソースコードをクローン(ダウンロード) 処理が終了するまで待つ 5-2. クローンしたソースコードをビルドする iMac 2012 年モデル(Core i5 3330S)で 10 分程度かかりました。現行のモデルだともっと早くビルドが完了すると思います。 Launchpad その他 ターミナルを開く cd ~/desktop/ppssppをコピペしてEnter ./b.sh --qtbrewをコピペしてEnter 処理が終了するまで待つ ビルドが完了すると、ppsspp/buildフォルダ内にPPSSPPQt.appが生成されます。 【トラブル】ビルドに失敗する場合 Homebrew などで FFmpeg をインストールしていると発生するようです。FFmpeg は PPSSPP の Homebrew パッケージをインストールすると、依存関係パッケージとしてインストールされます。こちらの Issueにも上がっているので、そちらも確認してみてください。 brew unlinkを使って FFmpeg を一時的に無効化します。 Launchpad その他 ターミナルを開く brew unlink ffmpegをコピーしてEnter (5-2)の手順に従ってビルドする ビルドが終わったらbrew link ffmpegをコピーてEnter 6. PPSSPP を起動する ターミナルから起動する ターミナルから起動すると、PPSSPP のデバッグログが出力されます。 Launchpad その他 ターミナルを開く ~/desktop/ppsspp/build/ppssppqt.appをコピペして Enter 他のフォルダにクローンした場合は、/ppssppまでを読み替えてください。 Qt 版ではなく SDL 版をビルドした場合は、~/desktop/ppsspp/build/ppssppsdl.appになります。 7. アプリのエイリアスを「アプリケーション」フォルダにコピペ PPSSPP を起動するためにいちいちppsspp/buildフォルダを開くのは面倒なので、アプリのエイリアス(Windows で言うショートカット)を作成し、「アプリケーション」フォルダにコピペしましょう。こうすることで、Launchpad 上にも表示されるようになるため起動しやすくなります。 ppsspp/buildフォルダを開く PPSSPPQt.appを右クリックして「エイリアスを作成する」をクリック 作成されたPPSSPPQt.appのエイリアスを「アプリケーション」フォルダにコピペ buildフォルダ内のPPSSPPQt.appのエイリアス右クリックして「ゴミ箱に入れる」をクリック 「アプリケーション」フォルダ内のPPSSPPQt.appのエイリアスをPPSSPPQt.appにリネーム 保守作業 PPSSPP をアップデートする ローカルリポジトリを最新のものに更新して、ソースコードをビルドし直します。 Launchpad その他 ターミナルを開く cd ~/desktop/ppssppをコピペしてEnter git pull --rebase https //github.com/hrydgard/ppsspp.gitをコピペしてEnter git submodule update --init --recursiveをコピペしてEnter (5-2)の手順に従ってビルドする PPSSPP をアンインストールする ローカルリポジトリを削除し、依存関係パッケージをアンインストールします。不要なら Python はアンインストール。Git は最新バージョンを維持するため、Homebrew は色々と便利なため、アンインストールせず残しておくといいかと思います。この作業で設定やセーブデータなどは削除されません。 1.「アプリケーション」フォルダのエイリアスを削除 Finder を開く 左のサイドバーから「アプリケーション」をクリック 一覧からPPSSPPQt.appを右クリックして「ゴミ箱に入れる」をクリック Dock のゴミ箱を右クリックして「ゴミ箱を空にする」をクリック 2. ローカルリポジトリを削除 Finder を開く リポジトリをクローンしたフォルダまで移動 「ppsspp」フォルダを右クリックして「ゴミ箱に入れる」をクリック Dock のゴミ箱を右クリックして「ゴミ箱を空にする」をクリック 3. 依存関係パッケージをアンインストールする Launchpad その他 ターミナルを開く brew uninstall sdl2 cmake libzip qt5 snappyをコピペしてEnter brew autoremoveをコピペしてEnter 4. Python 3 をアンインストールする Launchpad その他 ターミナルを開く brew uninstall python3をコピペしてEnter brew autoremoveをコピペしてEnter 5. Git をアンインストールする Launchpad その他 ターミナルを開く brew uninstall gitをコピペしてEnter brew autoremoveをコピペしてEnter 6. Homebrew をアンインストールする Launchpad その他 ターミナルを開く /bin/bash -c $(curl -fsSL https //raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh) をコピペしてEnter ソース:How do I uninstall Homebrew - FAQ | Homebrew Documentation Homebrew の指示に従う 7. Xcode Command Line Tools をアンインストール Launchpad その他 ターミナルを開く sudo rm -rf /Library/Developer/CommandLineToolsをコピペしてEnter 管理者のパスワードを入力してEnter メモ 「memstick」フォルダのパス v1.11.3では、以下のパスに「memstick」フォルダが作成されます。v1.12からは保存場所が変更されるかもしれません(ソース)。 ~/.config/ppsspp └─ PSP ├─ PPSSPP_STATE ├─ SAVEDATA └─ SYSTEM ├─ controls.ini └─ ppsspp.ini ~はホームディレクトリ(/Users/ ユーザ名 )を指します。詳しくは、祝入学・Mac で役立つ基礎の基礎(2) 「~」の意味は? - 新・OS X ハッキング!(259) | マイナビニュースを参照してください。 macOS や Linux 上では、先頭に「.」がついたファイルとフォルダは隠しファイルとして扱われます。このため、通常は Finder 上に表示されません。Finder から隠しフォルダにアクセスする方法は 2 種類あります。よくアクセスするなら、サイドバーなどにピン留めしておくと便利かもしれません。 A. 隠しファイルの表示を有効にする Finder を開く /Users/ ユーザ名 または/ユーザ/ ユーザ名 まで移動する Cmd+Shift+.を押す 隠しファイル・フォルダの表示が有効になります。非表示に戻したい場合はもう一度押してください。 B. 「フォルダへ移動」を使う Finder を開く メニューバー 移動 「フォルダへ移動...」をクリック 「フォルダの場所を入力 」と表示されるので、~/.config/ppssppをコピペしてEnter PPSSPPQt と PPSSPPSDL メニューバーの項目の数 Qt 版は Windows 版とほとんど同じ操作ができます。 UI の大きさ Vulkan のサポート Homebrew 経由で PPSSPP をインストールすると SDL 版がインストールされます。ビルドする場合は 、引数によってどちらをビルドするか選べます。./b.shに--qtbrewを追加すれば Qt 版、追加しなければ SDL 版がビルドされます。すでにどちらかをビルドしていて、ビルドするバージョンを切り替えたい場合は、先にbuildフォルダを削除してください。 Launchpad その他 ターミナルを開く cd ~/desktop/ppssppをコピペしてEnter rm -rf buildをコピペしてEnter ./b.shまたは./b.sh --qtbrewをコピペしてEnter 参考リンク Xcode ダウンロードとリソース - Xcode | Apple Developer 最小要件 - Xcode サポート | Apple Developer macOS を Mojave にあげた後に Homebrew を使うとエラーが出る問題 | gotohayato.com Git pull | サル先生の Git 入門【プロジェクト管理ツール Backlog】 Homebrew Homebrew macOS Requirements - Installation | Homebrew Documentation How do I uninstall Homebrew - FAQ | Homebrew Documentation autoremove - brew man-page (command documentation) | Homebrew Documentation unlink - brew man-page (command documentation) | Homebrew Documentation PPSSPP Building for macOS - Build instructions | GitHub Issues - label "Platform-specific (Mac OS X)" | GitHub Empty macOS Dev-Latest build - Issue #11799 | GitHub PPSSPP builds problem - Issue #12788 | GitHub Universal Binary for Apple Silicon - Issue #13708 | GitHub Relocate folders on a Mac? - Issue #13919 | GitHub No PPSSPP v1.9 for macOS ?? | forums.ppsspp.org
https://w.atwiki.jp/mi_ic2/pages/131.html
逆コンパイル バージョン: industrialcraft-2-2.2.828-experimental 概要 逆コンパイルとは、ソースコードから実行可能コード・中間コード・別のプログラミング言語のソースコードなどを生成するコンパイルの逆の処理で、そのような生成されたコードから元となるソースコードを生成する処理である。 プログラミング言語は、基本的に機械が実際に実行するまでの間のどこかで、人間が読むための形式(通常はテキスト形式)を分析する構文解析の過程を経なければならない。構文解析後のデータをどのように扱うかは言語によって異なるが、そのまま実行したり(インタプリタ型言語)、再び構文解析を行うコストを省略するために中間コードや直接OSが実行できる実行可能コードの形で一旦保存しておいたり(コンパイル型言語)する。構文解析には付属して意味解析などのより高等な解析を行う場合もある。 現在(2017年11月)のJavaは、ソースコードをJavaバイトコードと呼ばれる中間コードにコンパイル(javacでのコンパイル)したのち、実行直前に実行可能コードにコンパイル(JITコンパイラでのコンパイル)して、それを実行させるという二度手間(機械語の解析を含めると三度手間)のコンパイル形態を持っている。このうち、JITコンパイラは当初は存在しなかった(バイトコードを解析しながら実行するインタプリタ型だった)らしいが、実行速度の面で新たに加えられた。MinecraftのMODの配布形式であるJARは、バイトコードであるclassファイルといくつかのその他のメタなファイルをZIP圧縮して拡張子を変えた奴である。どうせランタイムが必要ならソースコードの状態で配れよとか言わない。 ソースコード ――[javac]―→ バイトコード(中間コード) ――[JITコンパイラ]―→ 実行可能コード ――[CPU]―→ 実行 .java .class≒.jar [人間が読める] [============ファイルの状態で存在する============] [========機械が実行できる========] [==========OSに依存する=========] Javaにおける逆コンパイル Javaにおける逆コンパイルは専らJavaバイトコード(.class≒.jar)からJavaソースコード(.java)への変換であり、Javaにおける通常のコンパイル(javacおよびjar)の逆の変換を行うものである。この段階の処理は特定のOSに依存した実行ファイル(Windowsの場合は.exeファイルなど)は関与せず、そのためJavaのコンパイルおよび逆コンパイルではプログラマーはOSごとの違いを無視して作業を行うことができる。 この逆コンパイルという処理はJavaにおいては意外なほど簡単であり、Pleiades Eclipseに標準でくっついてきていたりする。そのため、Javaをコンパイルする際には基本的にソースコードが筒抜けになると考えておいた方が良い。 Minecraft(Forge)における逆コンパイル Minecraft界隈での逆コンパイルもJavaにおける逆コンパイルと同様で、バイトコードをソースコードに変換するものである。ただし、Minecraftでは難読化というプログラムを逆コンパイルから守る処理によって、単に逆コンパイルしただけではソースコードをまともに編集できない。 プログラミングではデータを格納する変数や動作を表す関数といったものに名前を付けて利便性を高めている。このような物の名前はJavaではバイトコードの段階でも維持され、プログラマー同士が互いのプログラムを理解するのに一役買っているが、難読化はこの名前を破壊しプログラマーのやる気を削ぐことで配布物を改造や解析などから守っている。 Minecraft Forgeでは、Moddingの際に難読化済みの名前に再び意味のある名前を付けることで難読化対策をしている。そして、ユーザーの実行環境のMinecraftは難読化されているため、意味のある名前のMODのバイトコードを難読化して配布している(Modding界隈では無印(難読化あり)とdev版(難読化なし)であり、IC2Expにも存在する)。 本サイトでは、ソースコードが見当たらないJavaプログラムについてソースコードと言ったら、実際に開発者の手元にあるソースコードではなく逆コンパイルして得られたJavaソースコード(略して逆コンパイルコード)を指すものとする。 Jarの逆コンパイル環境を整える 特に逆コンパイル対策がされていないJarファイルは、EclipseやJD-GUIといった様々なツールからソースコードが見れる(JD-GUIならインストールしてD D(ドラッグアンドドロップ)で済むので初心者でも割と簡単に見れる読解できるかは謎)が、ここではfernflowerを使う。これはどうやらMinecraft Forgeでも使われているようだ。 以下ではWindows 10/PowerShell/日本語環境でのインストールについて解説する。 Fernflowerの入手 OSにJava(JRE)をインストールしてPathが通っていることを確認する 自前のJREを使いたい場合はそれでもいい それこそMinecraftのランチャーが引っ張ってくる奴でも行ける https //github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engineからソースコードをZIPでダウンロードする なんか検索だとhttps //github.com/fesh0r/fernflowerの方が上にくる 解凍したフォルダに入り、build.gradleのあるフォルダでコマンドラインを起動 フォルダをShift+右クリックからでも起動できる .\gradlew jarと実行 ここについて詳しくはGradleで調べてほしい ただしプログラミング初心者の状態から挑むとかなり修羅の道 はプロンプトという既に画面に表示されている記号を表すで、キーボードから打ち込むものではない build/libsにfernflower.jarが出来上がる Fernflowerの実行 fernflower.jarとIC2Expのdev版のjarを同一フォルダに置いてPowerShellから以下を実行。 java -jar .\fernflower.jar .\industrialcraft-2-2.2.828-experimental-dev.jar src 結果、srcフォルダにソースコードが出力される。 バッチファイルの作成(Windows前提) このまま常にコマンドからfernflower.jarを呼び出してもいいが、できれば最低でもD Dで実行したいのでバッチファイルを作る。 どこかしらに次のようなフォルダを作る decompile fernflower.jar fernflower.bat (以下の内容) java -jar %~dp0fernflower.jar %1 %~dp0decompile mkdir %~dpn1-src cd /d %~dpn1-src jar xf %~dp0decompile\%~nx1 del %~dp0decompile\%~nx1 pause これで、fernflower.batに対してjarファイルをドロップするとjarファイルと同じフォルダに逆コンパイルされたコードが入ったフォルダが生成されるようになった。 レジストリの設定(Windows前提) このまま常にバッチファイルにドロップしてもいいが、できれば右クリックしたらこの場所にソースを生成するコマンドが欲しい。そこで、一連の動作を行うバッチファイルを作りレジストリを操作してJarファイルに関連付ける。 レジストリエディタを起動する Windowsキー+R→rededitで呼べる HKEY_CLASSES_ROOT\jarfile\shellに飛ぶ Javaをインストールしていないと無いと思う、もしかしたら作ってもいいかも キーHKEY_CLASSES_ROOT\jarfile\shell\open\commandを作る (既定)のデータを さきほどのfernflower.batのフルパス名 %1 にする 適当なJarファイルを右クリックしてdecompileという項目が増えていれば成功。 逆コンパイルコードの読み方 ここまでで様々なJarを逆コンパイルして.javaファイルの入ったフォルダが入手できるようになっているので、実際にdev版のIC2Expをダウンロードしてソースコードを得る。ここではソースコードを読みやすくするためのいくつかの点について触れる。 IDEによる支援 結局のところとりあえず読むならIDEを入れた方が早い。EclipseのJava版かUltimate版をダウンロードし、新規プロジェクトないしForgeプロジェクトを使って、srcフォルダに逆コンパイルコードをぶち込んでしまおう。 JarをJD-GUIに読み込ませてもコードハイライトや定義へのジャンプ機能など様々なことができるが、ソースのフォーマット(成形)やより高度な検索はIDEを使うのが良い。一応実行もできる。 ファイル差分 別Verとの差分をとる場合、公式の更新履歴が信用できない場合は独自にコード差分をとることもできる。Mercurial(バージョン管理システム)のGUI(TurtoiseHG)上でコミットしてしまうのが分かりやすくて高機能か。 外部リンク GregTech6 http //gregtech.overminddl1.com/com/gregoriust/gregtech/gregtech_1.7.10/index.html#Downloads IC2Exp http //ic2api.player.to 8080/job/IC2_experimental/
https://w.atwiki.jp/ieyasutes/pages/93.html
aad め