(Scrap) Visual Studio C++ 2012, standard header files are missing.

https://social.msdn.microsoft.com/Forums/vstudio/en-US/a987f4fa-676f-4fda-ab69-2c6bcc2684c3/visual-studio-c-2012-standard-header-files-are-missing?forum=vssetup

Advertisements

Factorio & OpenRCT2-OpenMusic Children of the Regiment(not completed)

youtube :

blueprint:

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

유니티 게임 한글화, 한글 패치 제작에 관한 강좌 작성 예정

현재 유니티로 제작된 게임의 한글화 방법과 한글 패치 제작 강좌를 업데이트하고 있습니다.


안녕하십니까, 낙원전자입니다.

슬라임 랜처, 봄버 크루를 한글화, 한글 패치를 제작한 경험을 토대로 유니티 게임을 한글화하는 강좌를 작성해보려 합니다. 강좌는 조금씩 시간이 되는 대로 업로드 할 예정입니다. 그 전에 본인이 직접 한글 패치를 만들어 보고 싶은데 방법을 모르겠다 하시는 분 있으시면, 한글 패치 툴을 제작하는 것을 도와드리면서 강좌에 추가할 예시를 더하고자 합니다.

본인이 유니티 게임의 한글 패치를 제작하고 싶은데 방법을 모르겠다 하시는분은 본 글의 댓글로 질문을 남겨주시면 답변해드리겠습니다.

감사합니다.

봄버 크루의 한글화 패치에 관한 선행 조사

안녕하십니까, 낙원전자입니다.

봄버 크루라는 게임을 한글화 하고싶어서 이것저것 건들여보았고, 슬라임 랜처를 한글화하면서 얻는 기술을 접목시켜 제가 슬라임 랜처의 한글패치를 처음 배포했을 때 버전에 따라서 패치를 새로 만들어주어야하는 것이 아니라 패치 프로그램 스스로 업데이트에 적응하여 패치를 할 수 있는 단계까지 왔습니다.

본 패치 프로그램 및 소스 코드만 있더라도 그 누구나 봄버 크루의 한글 패치를 제작할 수 있는 상태입니다.

그래서, 제가 한글화를 들어가기 전에 봄버 크루의 한글화를 팀 단위로 할지, 제가 개인적으로 진행할지에 대해서 선행 수요 조사를 하려고합니다. 참여 의사를 밝히고 싶은 분께선 12월 22일까지 본 글에 댓글을 남겨주시면되며, 참여하려는 분이 많으시면 공동으로, 적으시면 저 혼자 진행하는 것으로 하겠습니다.

감사합니다.

ps. 본 한글화는 제작사와 아무 관련이 없으며, 제가 개인적으로 진행하는 것입니다.

ps2. 현재 패치 프로그램과 소스코드를 보시려는 분께선 이 주소로 가시기 바랍니다 : https://github.com/dmc31a42/BomberCrewKoreanPatcher

슬라임 랜처 한글패치에 관한 공지사항

안녕하십니까.

긴 공백기간이 지나고 최근 슬라임 랜처 한글패치는 슬라임 랜처 버전에 관계없이 잘 적용되는 단계까지 왔습니다. 제가 예전부터 공언했던 슬라임 랜처 0.6버전 이후로 추가된 텍스트에 대한 번역, 이전에 번역됬던 번역들에 대한 검수를 지금부터 시작하려합니다.

하기전에 하시려는 인원이 많은지 먼저 수요조사를 해보고, 인원이 많다 싶으면 공동으로 진행하는 것으로, 인원이 적다 싶으면 단독으로 진행하는 것으로 방향을 정하려합니다.

하시고 싶은 의향이 있으신분은 본 글의 댓글로 알려주시면 감사하겠습니다. 집계일은 12월 22으로 생각하고 있습니다.

한글 패치의 다운에 관한 것은 이 주소로 : https://docs.google.com/spreadsheets/d/175KLg0m5yh3XhRbRDq1ddU8dybkCKo7bwHpcyfu5mFc
한글 패치 소스 코드를 보고 싶으신 분은 이 주소로 : https://github.com/dmc31a42/SlimeRancherKoreanPatcher
가시면 됩니다. 소스 코드에 대한 질문도 받고 있으니 다른 게임을 한글화하시려는 분들께선 참고하여주시면 감사하겠습니다.

 

슬라임 랜처 한글패치에 관하여

안녕하십니까. 예전에 슬라임랜처 한글패치 팀의 주도자 역할을 했던 DevilMayCry31a42입니다.
그동안 슬라임랜처도 정식발매했지만, 제가 바쁘게 이리저리 치이다보니 한글 패치 유지보수가 게을러 졌습니다.
이로 인해 많은 분들이 한글패치가 업데이트될때마다 혼란을 겪으셨으신 것에 대해서 죄송합니다.

이러한 문제를 해결하기 위하여 슬라임 랜처 한글패치에 큰 변화가 있을 예정입니다.

1) 슬라임랜처 데이터를 분석해서 각 버전에 맞게 패치 파일이 자동으로 수정되는 기능
2) 한글 번역 작업물을 인터넷에서 자동으로 다운받아 패치에 반영하는 기능
3) 1,2의 기능으로, 슬라임랜처의 버전이 올라감에 상관없이 원본 패치를 실행하기만 하면 오류없이 패치되는 기능
4) 한글 번역 작업물에서 기여자 부분 제거

1,2,3번에 대하여 이번주말까지 작업을 할 예정이며, 이 패치를 기반으로 0.5.0버전 이후 번역과 총 검수를 하고 패치에 사용된 소스와 방법등을 공개한 뒤 본 패치를 제 손에서 떠나보내려합니다.

검수 시작 예정
9월 25일(월)
검수자 신청 : 스팀 그룹 ‘Slime Rancher Korean’ http://steamcommunity.com/groups/slimerancherkorean 으로 와서 댓글로 신청을 해주시기 바랍니다. 위의 기능 수정 후 일괄적으로 확인할 예정입니다.

라즈베리파이 LIRC 활용 #1

서론

이번에는 A리모컨에서 신호를 받으면 똑같은 기능을 하는 B리모컨의 버튼을 송신하는 node.js 앱을 만들어보고, 재부팅했을 때에도 항상 돌아가게 서비스로 만드는 방법을 알아보도록 하겠습니다.

개발 환경

pi@raspberrypi:~ $ node –version
v4.2.1

pi@raspberrypi:~ $ forever –version
v0.15.3

pi@raspberrypi:~ $ forever-service –version
forever-service version 0.5.10

0.5.10

 

lirc_node

lirc_node는 node에서 lirc를 다루기 위한 모듈입니다. node.js가 설치되어있지 않다면 외부 블로그의 글 http://blog.xcoda.net/86 을 참고하여 설치를 하고 npm을 통해 lirc_node를 설치합니다.

pi@raspberrypi:~ $ npm install lirc_node
lirc_node@0.0.4 node_modules/lirc_node

그리고 새로운 node.js 프로젝트 파일을 생성하고 합니다.(저는 lirc_server.js로 짓겠습니다) 그리고 아래의 내용 중에서 ‘TIENA-custom’이 A 리모컨이고 ‘BRITZ-T3400’이 B 리모컨입니다. A 리모컨의 버튼 입력을 B 리모컨의 신호로 송신하는 코드입니다.

pi@raspberrypi:~ $ nano lirc_server.js
lirc_node = require(‘lirc_node’)

lirc_node.init();
lirc_node.addListener(function(data){
console.log(“Received ” + data.key + ” from remote ” + data.remote);
if(data.remote == ‘TIENA-custom‘){
lirc_node.irsend.send_once(‘BRITZ-T3400‘,data.key);
console.log(“Sending ” + data.key + ” to remote BRITZ-T3400″);
}
});

저장하고 텍스트 에디터를 종료한다음 실제로 실행해봅시다. 실행을 하면 아무것도 나타나지 않지만 리모컨으로 입력을 주면 반응합니다.

pi@raspberrypi:~ $ node lirc_server.js
Received KEY_VOLUMEUP from remote TIENA-custom
Sending KEY_VOLUMEUP to remote BRITZ-T3400
Received KEY_VOLUMEDOWN from remote TIENA-custom
Sending KEY_VOLUMEDOWN to remote BRITZ-T3400
Received KEY_MUTE from remote TIENA-custom
Sending  KEY_MUTE to remote BRITZ-T3400

실제로 송신하고 있는지는 휴대폰 카메라를 켜서 적외선 LED을 매우 근접해서 비추고 있으면 적외선이 나오는 것이 보라색 빛으로 나타나는 것으로 확인할 수 있습니다.

forever-service

이러한 리모컨 전달 앱은 라즈베리파이가 껐다 켜져도 시작할 수 있어야 쓸모가 있습니다. node.js 프로젝트를 서비스처럼 활용하기 위하여 forever-service 모듈이 있습니다. npm로 -g 옵션으로 /usr/lib/node_modules에 설치되도록 그리고 관리자 권한으로 forever-service와 종속 모듈인 forever을 forever, forever-service 순서대로 설치합니다.

pi@raspberrypi:~ $ sudo npm install forever -g
npm WARN optional dep failed, continuing fsevents@1.1.2
/usr/local/bin/forever -> /usr/local/lib/node_modules/forever/bin/forever
forever@0.15.3 /usr/local/lib/node_modules/forever
├── object-assign@3.0.0
├── path-is-absolute@1.0.1
├── colors@0.6.2
├── clone@1.0.2
├── timespan@2.3.0
├── optimist@0.6.1 (wordwrap@0.0.3, minimist@0.0.10)
├── cliff@0.1.10 (eyes@0.1.8, colors@1.0.3)
├── nssocket@0.5.3 (eventemitter2@0.4.14, lazy@1.0.11)
├── prettyjson@1.2.1 (colors@1.1.2, minimist@1.2.0)
├── winston@0.8.3 (cycle@1.0.3, async@0.2.10, stack-trace@0.0.10, eyes@0.1.8, isstream@0.1.2, pkginfo@0.3.1)
├── utile@0.2.1 (async@0.2.10, deep-equal@1.0.1, ncp@0.4.2, i@0.3.5, mkdirp@0.5.1, rimraf@2.6.2)
├── shush@1.0.0 (strip-json-comments@0.1.3, caller@0.0.1)
├── nconf@0.6.9 (ini@1.3.4, async@0.2.9, optimist@0.6.0)
├── flatiron@0.4.3 (director@1.2.7, optimist@0.6.0, prompt@0.2.14, broadway@0.3.6)
└── forever-monitor@1.7.1 (minimatch@3.0.4, ps-tree@0.0.3, broadway@0.3.6, chokidar@1.7.0)

pi@raspberrypi:~ $ sudo npm install forever-service -g
npm WARN deprecated swig@1.4.2: This package is no longer maintained
/usr/local/bin/forever-service -> /usr/local/lib/node_modules/forever-service/bin/forever-service
/usr/local/bin/get-forever-config -> /usr/local/lib/node_modules/forever-service/bin/get-forever-config
forever-service@0.5.10 /usr/local/lib/node_modules/forever-service
├── commander@2.3.0
├── async@0.9.2
├── shelljs@0.3.0
├── walker@1.0.7 (makeerror@1.0.11)
└── swig@1.4.2 (optimist@0.6.1, uglify-js@2.4.24)

node.js 앱을 서비스로 등록하기 위해서는 ‘sudo forever-service install -s node소스파일.js 서비스이름’ 과 같이 입력합니다. node소스파일.js는 소스의 경로(상대경로든 절대경로든 상관없습니다.) 서비스이름은 ‘/etc/init.d/서비스이름’ 할 때 그 이름입니다. 저는 소스파일이름과 서비스이름을 같게 쓰겠습니다.

pi@raspberrypi:~ $ sudo forever-service install -s lirc_server.js lirc_server
forever-service version 0.5.10

Platform – Raspbian GNU/Linux 9 (stretch)
foreverpath not found
lirc_server provisioned successfully

Commands to interact with service lirc_server
Start – “sudo service lirc_server start”
Stop – “sudo service lirc_server stop”
Status – “sudo service lirc_server status”
Restart – “sudo service lirc_server restart”

forever-service 모듈이 알아서 운영체제를 찾고 그에 맞추어 설정파일을 만들어줍니다. 어떻게 서비스를 시작/종료/상태확인/재시작을 하는지 명령어를 알려줍니다.

그리고, 이 서비스가 라즈베리파이가 부팅될 때 자동으로 실행되게 하기 위해 systemctl 명령어로 등록을 해줍니다.

pi@raspberrypi:~ $ sudo systemctl enable lirc_server
lirc_server.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable lirc_server

그리고 마지막으로 한가지 더 해야할 것이 있습니다. 기본적으로 forever-service로 만든 서비스는 터미널, GUI같이 그래픽이 불러져야 자동으로 시작합니다. 이를 라즈베리파이가 켜지기만 하면 자동으로 실행되기 위해서 아래의 파일을 삭제해줍니다. 강조 표시되어있는 부분을 본인이 만든 서비스이름으로 바꾸면 됩니다.

pi@raspberrypi:~ $ sudo rm /run/systemd/generator.late/graphical.target.wants/lirc_server.service

이제 재부팅해서 라즈베리파이에 터미널로 접속하지 않고도 A 리모컨의 버튼을 누르면 적외선 LED에서 불 빛이 나는지 확인해봅시다. 완전히 켜질때까지 시간이 조금 걸리니 1~2분 정도의 여유를 가지고 테스트 해보세요.

서비스를 삭제할 때

‘sudo systemctl disable 서비스이름‘ -> ‘sudo forever-service delete 서비스이름‘ 순서로 실행하면 삭제됩니다.