Native iPhone port of Factorio 2.0.77

Run the original macOS ARM64 game code on iOS:
- tools/retarget.py: header-only Mach-O retargeting to an iOS dylib
- platform/native: UIKit host and macOS API shims (AppKit for SDL's
  Cocoa backend, CoreGraphics displays, CoreAudio device, Metal device
  properties, Wuffs PNG decoding, Steam and peripheral stubs)
- touch, overlay, iOS keyboard and hardware keyboard input
- tools/build_native.py: build, sign, install, data copy, launch
- docs: build guide, controls, architecture

Also includes the earlier static-translation research (ARM64 -> WASM ->
native) under docs/research, runtime/, tests/ and tools/.

No game files are included; the build reads them from a local install.
This commit is contained in:
SashaGoncharov19 committed 2026-10-23 15:27:58 +04:00
commit 51d085e865
89 files changed
+7999

No files matched your search

+14
View File
@@ -0,0 +1,14 @@
#ifndef FACTORIO_DESERIALISER_BRIDGE_H
#define FACTORIO_DESERIALISER_BRIDGE_H
#include "version_bridge.h"
typedef struct {
FactorioMapVersion version;
unsigned allocations, reads, target_capacity;
uint64_t heap_bytes, stream_cursor;
int owns_target;
} FactorioDeserialiserProbe;
/* Initialize a fresh original deserializer from a nine-byte version prefix.
* 0 success; 1 short input; 2 invalid; 5 heap exhaustion; 6 unsupported service;
* 7 original version-error branch. No output commits on failure. */
int factorio_deserialiser_probe(const uint8_t *prefix, size_t length, FactorioDeserialiserProbe *out);
#endif