emulator: Julius type: standalone core_classification: game_engine source: "https://github.com/bvschaik/julius" upstream: "https://github.com/bvschaik/julius" profiled_date: "2026-10-17" source_commit: "33c777019b2640b847b73815c3b4344cf7bd9576" core_version: "1.7.0" display_name: "Caesar III (Julius)" cores: - "julius" systems: - "caesar3" notes: | Open-source reimplementation of Impressions Games' Caesar III engine. It reads every graphic, text, sound and scenario from an installed copy of the game; nothing is bundled. The data directory is the command-line argument. pre_init() makes it the base path and runs game_pre_init(); a missing directory shows "Julius requires the original files from Caesar 3" and exits (ref: src/platform/julius.c:488-501, 580-586). File lookups are case-corrected inside that directory. Startup loads, in order, the text and message files c3.eng and c3_mm.eng (c3.rus and c3_mm.rus as the alternative pair) (ref: src/game/game.c:48-63, src/core/lang.c:141-165), the central climate graphics c3.sg2 and c3.555, the barbarian enemy graphics goths.sg2 and goths.555, and c3_model.txt (ref: src/game/game.c:79-104). Any of them missing aborts init. The_empire.555 is loaded with the climate graphics; a wrong size is logged and the game continues (ref: src/core/image.c:283-293, 323). The other climates, enemies, sounds, videos and scenario maps are opened from the same directory on demand. Recalbox lists Caesar III under roms/ports/Caesar3 with c3.exe as the entry and patches config and save paths into /recalbox/share. files: - name: "caesar3/" type: directory path: "caesar3/" system: "caesar3" category: game_data required: true description: "Caesar III install directory" source_ref: "src/platform/julius.c:488-501" note: "Given on the command line; every game file is opened by name inside it." - name: "c3.eng" path: "caesar3/c3.eng" system: "caesar3" category: game_data required: true description: "Caesar III interface text" source_ref: "src/core/lang.c:23, 74-80, 141-165" note: "Rejected when outside MIN_TEXT_SIZE..MAX_TEXT_SIZE. c3.rus replaces it on a Russian install." - name: "c3_mm.eng" path: "caesar3/c3_mm.eng" system: "caesar3" category: game_data required: true description: "Caesar III message text" source_ref: "src/core/lang.c:24, 129-150, 160-165" note: "Loaded as a pair with c3.eng; c3_mm.rus replaces it on a Russian install." - name: "c3.sg2" path: "caesar3/c3.sg2" system: "caesar3" category: game_data required: true description: "Main graphics index, central climate" source_ref: "src/core/image.c:48-52, 295-306, src/game/game.c:83-86" - name: "c3.555" path: "caesar3/c3.555" system: "caesar3" category: game_data required: true description: "Main graphics bitmaps, central climate" source_ref: "src/core/image.c:53-57, 314-317, src/game/game.c:83-86" - name: "goths.sg2" path: "caesar3/goths.sg2" system: "caesar3" category: game_data required: true description: "Barbarian enemy graphics index" source_ref: "src/core/image.c:79, 667-675, src/game/game.c:87-90" - name: "goths.555" path: "caesar3/goths.555" system: "caesar3" category: game_data required: true description: "Barbarian enemy graphics bitmaps" source_ref: "src/core/image.c:101, 681-684, src/game/game.c:87-90" - name: "c3_model.txt" path: "caesar3/c3_model.txt" system: "caesar3" category: game_data required: true description: "Building cost and desirability model" source_ref: "src/building/model.c:83-88, src/game/game.c:101-104" - name: "The_empire.555" path: "caesar3/The_empire.555" system: "caesar3" category: game_data required: false description: "Empire map bitmap" source_ref: "src/core/image.c:68, 283-293" note: "A short read is logged and the empire map stays blank."