BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Native PC port of Final Fantasy Crystal Chronicles: Echoes of Time (DS) by static recompilation. Bring your own ROM: the game is built on your PC, nothing of the game is included. Windows and Linux. Alpha.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A native PC port of Final Fantasy Crystal Chronicles: Echoes of Time (Nintendo DS, 2009), made by statically recompiling the game: its ARM code is translated to C and compiled on your PC, not emulated.
Download the latest alpha for Windows or Linux (a Windows zip or a Linux AppImage; you bring your own ROM).
Project page: https://jonathandc64.github.io/FFCCEOT-Recomp/
Status: alpha. The game boots and plays from the title screen into the field, with sound, saves and online play. It has been played through the opening areas, not the whole game, so expect rough edges: see Alpha notes and the roadmap.
This project contains no game code or data. The program asks for your own dump of the game on first launch, checks it, and builds everything it needs locally.
| Region | Code | Dump | SHA-1 |
|---|---|---|---|
| USA | CFIE | Final Fantasy Crystal Chronicles - Echoes of Time (USA) (En,Fr,Es).nds | 1df23d5a3a655bdd587c360b581202931d0f66e1 |
| Europe | CFIP | Final Fantasy Crystal Chronicles - Echoes of Time (Europe) (En,Fr,De,Es).nds | 18f7004f74c83feba40f003641ec00571e52a301 |
The Japanese version is not supported. Each version keeps its own save (cfie.sav, cfip.sav); a USA save also loads in
the European game. The game's language (Settings, Game) is English by default; the USA version has English, French and Spanish, the
European one adds German.
ffcc.exe..AppImage executable (chmod +x) and run it. It needs glibc 2.35 or newer (Steam Deck: run it
from desktop mode).The start screen tells you when a newer release is out (it asks GitHub once at start and sends nothing but the program's name and version; turn it off in Settings, Interface). It never downloads anything by itself: the Download button opens the release page.
The program is unsigned, so Windows SmartScreen or your antivirus may warn about it the first time, and about the
game module it builds. Saves and settings live in %APPDATA%\FFCCEOT-Recomp\EchoesOfTime (Linux:
~/.local/share/FFCCEOT-Recomp/EchoesOfTime); put a file named portable.txt next to the program (next to the
.AppImage on Linux) to keep them in a data folder beside it instead.
| DS button | Keyboard | Gamepad (Nintendo positions) |
|---|---|---|
| D-pad | Arrow keys | D-pad, left stick |
| A / B / X / Y | X / Z / S / A | Right / bottom / top / left face button |
| L / R | Q / W | Shoulder buttons |
| Start / Select | Enter / Right Shift | Start / Back |
| Touch screen | Mouse | (not needed: the game plays with buttons) |
Every DS button and the screen actions can be rebound on the Controls page of the settings, which names buttons for the connected controller. With analog movement (on in single-player by default) your character walks the way the stick points, slower when it is pushed less; in multiplayer it needs every player on this PC version, so choose "Single-player and multiplayer" there (with a DS or another emulator in the room, everyone stays on the eight directions). The right stick opens a radial of the six spell gems: point at one, then hold X to cast (the number keys 1 to 6 do the same). The company logos before the title screen are skipped.
Hotkeys: F1 (or R + Start on a gamepad) opens the settings menu over the game, which keeps running without input so online play stays in sync; F2 (left stick click) swaps the screens, F3 (right stick click) shows or hides the picture-in-picture, F4 moves the side screen of the main + side layout, F5 switches the renderer, F6/F7 lower or raise the resolution, F8 cycles the filter, F9 cycles the 3D frame rate, F10 cycles the layout and F11 toggles borderless fullscreen. The menu works with the mouse, the keyboard (arrows, Enter, Q/E for tabs) or a gamepad (D-pad or stick, right face button to change, shoulders for tabs). The Settings window ends with an About tab: version, licence and credits.
This is an early build: please report problems from the in-game menu or on the issue tracker.
Everything in the settings can also be set for one run. Run ffcc --help for the list; the main options are
--layout single|main-side|stacked|side|windows, --side-align top|middle|bottom, --swap-screens,
--no-second-screen, --renderer software|opengl, --scale auto|1..16, --filter nearest|linear|sharp,
--texture-smoothing off|smooth|sharp, --stable-textures, --better-polygons, --display-rate, --no-interpolate,
--pacing variable --rate-cap <fps>, --aspect 16:9, --hud-edges, --hud-scale 50..200, --fullscreen,
--analog-movement off|single-player|multiplayer, --no-skip-logos, --prelaunch (show the start screen even with a
ROM given), --toolchain <dir> (the compiler to build with) and --data-dir <dir>. The program has no console window
of its own: started from a terminal it prints there, but the terminal does not wait for it.
settings.ini, the save, logs/ffcc.log. On the start screen,
Settings → Game files → Open data folder opens it.Most people want a release package. To build the program yourself:
What you need
vcvars64.bat, so the compiler finds the MSVC headers.<format>), plus the X11 or Wayland, EGL, ALSA and
PulseAudio development packages SDL3 needs (the list is in .github/workflows/build.yml).Build the program (no ROM needed; this is what a release contains)
git clone --recursive https://github.com/JonathanDC64/FFCCEOT-Recomp.git
cd FFCCEOT-Recomp # in an existing clone: git submodule update --init
cmake --preset release # Linux: cmake --preset linux-release
cmake --build --preset release # Linux: cmake --build --preset linux-release
ctest --preset release # the unit tests (8)
build/release/game/ffcc.exe # Linux: build/linux-release/game/ffcc
Run it and the start screen asks for your ROM, then builds the game on your PC exactly as a player's copy does. It needs
a compiler: it looks in <program>/toolchain, then on your PATH (--toolchain <dir> names one; on Windows
C:/Program Files/LLVM/bin is tried too).
Build the game into the build folder (for development: faster to iterate, and it runs the recompiler as part of the build)
cmake --preset release -DFFCC_ROM="path/to/your/dump.nds"
cmake --build --preset release
build/release/game/ffcc.exe "path/to/your/dump.nds"
The recompiler (ntr-recomp) turns the ROM into C in build/ (never committed) and the game is compiled from it as
cfie_game.dll (.so on Linux) next to the program. Only addresses and names from the game live in the repository
(game/config/cfie for the USA version, game/config/cfip for the European one); no game code or data is ever committed, and a copyright guard keeps it that way:
python tools/check_no_game_data.py --install-hook # once, before your first commit
Release packages are made by python tools/package.py windows and python tools/package.py linux (the Linux one runs
in Docker): see docs/PACKAGING.md.
Where things are
| Folder | What |
|---|---|
recompiler/ | ntr-recomp: ARM decoder, function discovery and the C emitter |
runtime/ | The hardware model around melonDS, the guest CPU and OS model, video, audio |
game/ | The program: window, settings, input, the UI (game/src/ui), setup from a ROM, game/config (symbols and hooks) |
common/ | Code shared by the recompiler and the runtime |
third_party/ | melonDS (a submodule, patched at configure time) and the build files for the other libraries |
tools/ | The packager, the copyright guard, scenario and UI screenshot scripts, ROM info |
tests/ | Unit tests, the UI smoke test and the recompiler's differential tests against Unicorn (tests/difftest) |
Testing. --input-script <file> plays scripted input, one step per line (<frame> press A+Up [frames],
<frame> touch x,y [frames], <frame> stick x,y [frames] and <frame> rstick x,y [frames] in percent,
<frame> shot file.png, <frame> quit; +N as the frame means N frames after the previous step). Automated runs should
not touch your own files: --save-file <copy.sav> uses another save file, --read-only-save never writes the save,
--no-settings neither reads nor writes settings.ini, and --unpaced runs as fast as possible. To record a problem and
replay it with timings and frame hashes, see docs/TESTING.md.
Issues and pull requests are welcome. Install the copyright guard first (see above): it refuses a commit that contains
anything of the game. Please run the build and ctest before you open a pull request.
This project stands on other people's work. Each component keeps its own licence; the full list with versions and what each is used for is in third_party/README.md.
The user interface is a port of Dusklight's (the PC port of Twilight
Princess), which is released under CC0: its UI framework (src/dusk/ui) and stylesheets (res/rml) are the basis of
game/src/ui and game/ui/res/rml, with our own colours, fonts and settings. How Dusklight embeds RmlUi
(aurora's integration, MIT) is the model for our ui/host.cpp. Thank you to the
Dusklight and aurora authors.
Libraries and code we build on
Online play uses the community's revival servers: Kaeru WFC (on Wiimmfi) and WiiLink WFC.
Prior art and research: ndsrecomp, N64Recomp, XenonRecomp, ds-decomp, khdays-port, and the TCRF contributors for their notes on the game.
Final Fantasy Crystal Chronicles: Echoes of Time is © Square Enix. This project is not affiliated with or endorsed by Square Enix or Nintendo. Licensed under GPL-3.0-or-later; see LICENSE.