Giter Site home page Giter Site logo

rajko-horvat / openciv1 Goto Github PK

View Code? Open in Web Editor NEW
198.0 15.0 11.0 13.53 MB

Open source rewrite of the original Civilization Game designed by Sid Meier and Bruce Shelley in year 1991

License: MIT License

C# 100.00%
4x 4x-strategy-game civilization civilization-games game remake remake-games retro retro-game retrogaming

openciv1's Introduction

About

OpenCiv1 project is an open source rewrite of Civilization game designed by Sid Meier and Bruce Shelley in year 1991.

  • The OpenCiv1 uses .NET 8 and Avalonia UI framework and is OS independent. It is currently compatible with desktops: Windows, Linux and MacOSX.
  • Windows OS Linux OS MacOSX OS

  • The game logic is Based on original DOS Civilization game version 475.05 disassembly.
  • The game is still very popular and easy to play. But the obsoletness of DOS or Windows 16-bit platform and the bugs that have never been fixed are hindering the popularity of the game.
  • The news, discussions about this project and releases are published regularly on Civilization Fanatics Forum page

Copyright considerations

The available code is not a full working copy of the game. To run OpenCiv1 you are legally required to own your own copy of the DOS Civilization game. This is the reason that not a single file from the original game is included in this GitHub repository as they are copyrighted.

The part of the game assembly code is emulated with Virtual CPU, and the rest of the code has been rewritten from scratch until all of the code is replaced with new copyright free code. The other resources (like graphics, music and text) will also be completely replaced with copyright free resources before publishing the complete game.

Dependencies

  • .NET 8
  • Visual C++ 2015-2019 redistributable (on some Windows machines)

How to install release version of OpenCiv1

The files from the Release should be copied directly into installed and working DOS Civilization game directory.

How to compile the code (.NET 8 SDK required)

If you want to compile the code, it is assumed that:

  • You are using Visual Studio 2022 (or equivalent).
  • For debugging you have installed DOS Civilization game at 'c:\Dos\Civ1\', or at '~/Dos/Civ1/' if you are using Linux (uppercase files!). It is where its home directory resides (Images, palettes, text and save games are loaded/saved there, for now).
  • For Release mode it is expected that OpenCiv1 and it's dependencies (for simlicity) are put directly into directory with resource files, for example: 'c:\Dos\Civ1\', '~/Dos/Civ1/' or any other path.
Compile with CLI method:

Current status

The game is in working state, but you have to legally own the Original game (the .txt, .pic and .pal files have to be present).

Keyboard shortcuts:

  • Alt + D - Enable / Disable the Debug mode (Shift-56)
  • Alt + P - Pause / Resume game
  • Alt + 1 - Show / Hide Screen 1
  • Alt + 2 - Show / Hide Screen 2
  • Alt + 3 - Show / Hide Screen 3

Help needed

All contributions are welcome.

For this stage of code rewrite, the programmings skills needed are:

Project milestones

The goal is to completely rewrite the code (first stage), fix the bugs and port the code to a modern platform (second stage).

Milestones for a first stage

  • Reaching the initial playability of the game (passed),
  • Rewrite of the game code, functionalities and features (in progress...),
  • Archive the game code.

Planned milestones for a second stage

What will change in the new version:

  • Porting to HTML5 platform (Web interface, online gaming),
  • Graphics (the new graphics will be as close as possible to the spirit of the original version),
  • Music/Sounds (the new music/sounds will be as close as possible to the spirit of the original version),
  • Some text where appropriate,
  • Design (Map zoom functionality, some small updates, also some dialogs will be slightly different),
  • Multilanguage capability,
  • Multiplayer capability,
  • Cheat capability,
  • Plugin capability (can override rules, graphics and music/sounds).
What will stay the same:
  • Original game rules and logic (except for established bugs),
  • Overall look and feel of the original game.

Screenshots of the OpenCiv1 game

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 7 Screenshot 8 Screenshot 9 Screenshot 10 Screenshot 11 Screenshot 12 Screenshot 13 Screenshot 14

openciv1's People

Contributors

maximilien-noal avatar rajko-horvat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openciv1's Issues

Right click city improvement shows incorrect description

In city view when right click an improvement the wrong civilopedia description is shown.

For Palace get "None" (screenshot below) and for barracks get "Palace", so I expect is an off by one error. All the units I checked were correct.

Screenshot_2024-01-07_11-49-54

IndexOutOfRangeException on Earth map with Mongols (Temporary fix)

I got an IndexOutOfRangeException at this line:

this.oCPU.AX.Word = (ushort)this.oParent.GameState.Players[this.oCPU.AX.Word].Continents[this.oCPU.ReadUInt16(this.oCPU.DS.Word, 0x6548)].Strategy;

this.oCPU.AX.Word is 8 and this.oParent.GameState.Players is length 8 (max index 7) so overflows. I was able to consistently trigger this state with Mongols on Earth in the second turn.

Stack trace

Loaded assembly: /home/debian/code/OpenCiv1/bin/Debug/OpenCiv1.exe
Loaded assembly: /usr/lib/mono/gac/System.Windows.Forms/4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll [External]
Loaded assembly: /usr/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll [External]
Loaded assembly: /usr/lib/mono/gac/System.Drawing/4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll [External]
Loaded assembly: /usr/lib/mono/gac/Accessibility/4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll [External]
Loaded assembly: /usr/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll [External]
Thread started:  #2
Thread started:  #3
Loaded assembly: /usr/lib/mono/gac/System.Configuration/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll [External]
Loaded assembly: /usr/lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll [External]
Thread started: <Thread Pool> #4
Thread started: <Thread Pool> #5
Thread started: <Thread Pool> #6
Thread started: <Thread Pool> #7
Loaded assembly: Microsoft.GeneratedCode [External]
Thread finished: <Thread Pool> #6
Thread finished: <Thread Pool> #5
Thread finished: <Thread Pool> #7
Thread finished: <Thread Pool> #4
Thread started: <Thread Pool> #8
Thread started: <Thread Pool> #9
Thread started: <Thread Pool> #10
Thread started: <Thread Pool> #11
Thread started: <Thread Pool> #12
Thread started: <Thread Pool> #13

Unhandled Exception:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at OpenCiv1.Segment_1d12.F0_1d12_0045 (System.Int16 cityID, System.Int16 flag) [0x16b6c] in /home/debian/code/OpenCiv1/Segments/Segment_1d12.cs:3617 
  at OpenCiv1.Segment_1ade.F0_1ade_0006 (System.Int16 playerID) [0x003df] in /home/debian/code/OpenCiv1/Segments/Segment_1ade.cs:61 
  at OpenCiv1.Segment_1238.F0_1238_0092 () [0x008e0] in /home/debian/code/OpenCiv1/Segments/Segment_1238.cs:173 
  at OpenCiv1.Segment_11a8.F0_11a8_0008_Main () [0x00805] in /home/debian/code/OpenCiv1/Segments/Segment_11a8.cs:152 
  at OpenCiv1.OpenCiv1.Start () [0x01947] in /home/debian/code/OpenCiv1/OpenCiv1.cs:390 
  at OpenCiv1.MainForm.GameThread () [0x00032] in /home/debian/code/OpenCiv1/MainForm.cs:589 
  at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00014] in <d636f104d58046fd9b195699bcb1a744>:0 
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in <d636f104d58046fd9b195699bcb1a744>:0 
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <d636f104d58046fd9b195699bcb1a744>:0 
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x0002b] in <d636f104d58046fd9b195699bcb1a744>:0 
  at System.Threading.ThreadHelper.ThreadStart () [0x00008] in <d636f104d58046fd9b195699bcb1a744>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at OpenCiv1.Segment_1d12.F0_1d12_0045 (System.Int16 cityID, System.Int16 flag) [0x16b6c] in /home/debian/code/OpenCiv1/Segments/Segment_1d12.cs:3617 
  at OpenCiv1.Segment_1ade.F0_1ade_0006 (System.Int16 playerID) [0x003df] in /home/debian/code/OpenCiv1/Segments/Segment_1ade.cs:61 
  at OpenCiv1.Segment_1238.F0_1238_0092 () [0x008e0] in /home/debian/code/OpenCiv1/Segments/Segment_1238.cs:173 
  at OpenCiv1.Segment_11a8.F0_11a8_0008_Main () [0x00805] in /home/debian/code/OpenCiv1/Segments/Segment_11a8.cs:152 
  at OpenCiv1.OpenCiv1.Start () [0x01947] in /home/debian/code/OpenCiv1/OpenCiv1.cs:390 
  at OpenCiv1.MainForm.GameThread () [0x00032] in /home/debian/code/OpenCiv1/MainForm.cs:589 
  at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00014] in <d636f104d58046fd9b195699bcb1a744>:0 
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in <d636f104d58046fd9b195699bcb1a744>:0 
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <d636f104d58046fd9b195699bcb1a744>:0 
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x0002b] in <d636f104d58046fd9b195699bcb1a744>:0 
  at System.Threading.ThreadHelper.ThreadStart () [0x00008] in <d636f104d58046fd9b195699bcb1a744>:0 

Trouble running the release version

  1. I suggest adding a note in Readme that the contents of the original game should be placed in C:\DOS\CIV, otherwise it won't work
  2. After doing that and placing exe and fonts file in the folder, I get this error:

image

Not an issue…

…but a praise - thank you for that :) looking forward to new features by the way :)

Move to .NET Core 8 ?

Hi !

Using the latest .NET would make this cross platform and enable more contributions from people who do not use Windows.

I'm curious, what would be the main issues preventing that, and would you accept such a PR ?

Crash on Mac - Mono .NET on Mac doesn't work properly with 64 bit version

Probably not worth trying to support Mac at this time, but anyway I got the following error immediately starting OpenCiv1 on Macbook Air M1 with Visual Studio 17.6.7:

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               mono-sgen64 [8841]
Path:                  /Library/Frameworks/Mono.framework/Versions/6.12.0/bin/mono
Identifier:            mono-sgen64
Version:               ???
Code Type:             X86-64 (Translated)
Parent Process:        VisualStudio [8674]
Responsible:           VisualStudio [8674]
User ID:               501

Date/Time:             2023-12-31 09:16:18.9078 -0500
OS Version:            macOS 14.2.1 (23C71)
Report Version:        12
Anonymous UUID:        A82B91F0-07E7-2842-B234-B96C6C6D0EE0

Sleep/Wake UUID:       5E25C0D0-43E2-4995-8784-1B3CA9FAFAFC

Time Awake Since Boot: 26000 seconds
Time Since Wake:       2376 seconds

System Integrity Protection: enabled

Notes:
PC register does not match crashing frame (0x0 vs 0x7FF892AD6A78)

Crashed Thread:        0  tid_103  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGABRT)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000011
Exception Codes:       0x0000000000000001, 0x0000000000000011

Termination Reason:    Namespace SIGNAL, Code 6 Abort trap: 6
Terminating Process:   mono-sgen64 [8841]

VM Region Info: 0x11 is not in any region.  Bytes before following region: 140722857312239
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      mapped file              7ffc97ec0000-7ffcc08d8000 [650.1M] r-x/r-x SM=COW  ...t_id=e31fb63b

Application Specific Information:
abort() called


Error Formulating Crash Report:
PC register does not match crashing frame (0x0 vs 0x7FF892AD6A78)

Thread 0 Crashed:: tid_103 Dispatch queue: com.apple.main-thread
0   ???                           	    0x7ff892ad6a78 ???
1   libsystem_kernel.dylib        	    0x7ff80251e7a2 __pthread_kill + 10
2   libsystem_pthread.dylib       	    0x7ff802556f30 pthread_kill + 262
3   libsystem_c.dylib             	    0x7ff802475a49 abort + 126
4   mono-sgen64                   	       0x102aecade mono_post_native_crash_handler + 14 (mini-posix.c:1169)
5   mono-sgen64                   	       0x102a844a4 mono_handle_native_crash + 468 (mini-exceptions.c:3437)
6   mono-sgen64                   	       0x102ae67f6 altstack_handle_and_restore + 230 (exceptions-amd64.c:879)
7   SkyLight                      	    0x7ff807dd42c3 SLDisplayBounds + 23
8   ???                           	       0x112a9004c ???
9   ???                           	       0x10bc345ab ???
10  mono-sgen64                   	       0x1029e1352 mono_jit_runtime_invoke + 2354 (mini-runtime.c:3217)
11  mono-sgen64                   	       0x102bf27e2 do_runtime_invoke + 60 (object.c:3052) [inlined]
12  mono-sgen64                   	       0x102bf27e2 mono_runtime_try_invoke + 146 (object.c:3161)
13  mono-sgen64                   	       0x102bf1408 mono_runtime_class_init_full + 872 (object.c:551)
14  mono-sgen64                   	       0x1029d8d5c mono_jit_compile_method_inner + 1228 (mini.c:4206)
15  mono-sgen64                   	       0x1029dc8aa mono_jit_compile_method_with_opt + 2682 (mini-runtime.c:2475)
16  mono-sgen64                   	       0x102a86f2e common_call_trampoline + 1390 (mini-trampolines.c:635)
17  mono-sgen64                   	       0x102a86970 mono_magic_trampoline + 96 (mini-trampolines.c:775)
18  ???                           	       0x10ba00393 ???
19  ???                           	       0x112a8e9a3 ???

Thread 1:: com.apple.rosetta.exceptionserver
0   runtime                       	    0x7ff7fff80294 0x7ff7fff7c000 + 17044

Thread 2:: SGen worker
0   ???                           	    0x7ff892ad6a78 ???
1   libsystem_kernel.dylib        	    0x7ff80251a5ce __psynch_cvwait + 10
2   libsystem_pthread.dylib       	    0x7ff80255776b _pthread_cond_wait + 1211
3   mono-sgen64                   	       0x102cb0b1e mono_os_cond_wait + 19 (mono-os-mutex.h:219) [inlined]
4   mono-sgen64                   	       0x102cb0b1e get_work + 33 (sgen-thread-pool.c:165) [inlined]
5   mono-sgen64                   	       0x102cb0b1e thread_func + 542 (sgen-thread-pool.c:196)
6   libsystem_pthread.dylib       	    0x7ff802557202 _pthread_start + 99
7   libsystem_pthread.dylib       	    0x7ff802552bab thread_start + 15

Thread 3:: Finalizer
0   ???                           	    0x7ff892ad6a78 ???
1   libsystem_kernel.dylib        	    0x7ff8025179aa semaphore_wait_trap + 10
2   mono-sgen64                   	       0x102c5d6da mono_os_sem_wait + 11 (mono-os-semaphore.h:84) [inlined]
3   mono-sgen64                   	       0x102c5d6da mono_coop_sem_wait + 37 (mono-coop-semaphore.h:41) [inlined]
4   mono-sgen64                   	       0x102c5d6da finalizer_thread + 618 (gc.c:965)
5   mono-sgen64                   	       0x102c1bc4d start_wrapper_internal + 67 (threads.c:1233) [inlined]
6   mono-sgen64                   	       0x102c1bc4d start_wrapper + 813 (threads.c:1308)
7   libsystem_pthread.dylib       	    0x7ff802557202 _pthread_start + 99
8   libsystem_pthread.dylib       	    0x7ff802552bab thread_start + 15

Thread 4:: Debugger agent
0   ???                           	    0x7ff892ad6a78 ???
1   libsystem_kernel.dylib        	    0x7ff80251b13a __recvfrom + 10
2   mono-sgen64                   	       0x102b39a0e socket_transport_recv + 94 (debugger-agent.c:1156)
3   mono-sgen64                   	       0x102b28406 transport_recv + 57 (debugger-agent.c:1578) [inlined]
4   mono-sgen64                   	       0x102b28406 debugger_thread + 358 (debugger-agent.c:10196)
5   mono-sgen64                   	       0x102c1bc4d start_wrapper_internal + 67 (threads.c:1233) [inlined]
6   mono-sgen64                   	       0x102c1bc4d start_wrapper + 813 (threads.c:1308)
7   libsystem_pthread.dylib       	    0x7ff802557202 _pthread_start + 99
8   libsystem_pthread.dylib       	    0x7ff802552bab thread_start + 15

Thread 5:
0   runtime                       	    0x7ff7fff9e94c 0x7ff7fff7c000 + 141644


Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000000000000  rcx: 0x0000000000000000  rdx: 0x0000000000000000
  rdi: 0x00007fae32032800  rsi: 0x0000000203282240  rbp: 0x3d3d3d3d3d3d3d3d  rsp: 0x0000000309ca7f58
   r8: 0x0000000309ca85c8   r9: 0x3d3d3d3d3d3d3d3d  r10: 0x0000000000000000  r11: 0x3d3d3d3d3d3d3d3d
  r12: 0x0000000000000103  r13: 0x00007fae32804fe0  r14: 0x0000000203282240  r15: 0x0000000000000016
  rip: <unavailable>       rfl: 0x0000000000000287
 tmp0: 0xffffffffffffffff tmp1: 0x00007ff892ad6a4c tmp2: 0x00007ff80251e798


Binary Images:
       0x2031d6000 -        0x203275fff dyld (*) <ab17bf63-259b-3b48-8d70-863166a2191c> /usr/lib/dyld
       0x112805000 -        0x1128cefff libmono-native-compat.0.dylib (*) <aab44b67-849c-3757-87a3-fafa31b03cbf> /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/libmono-native-compat.0.dylib
       0x110a5a000 -        0x110adffff libgdiplus.0.dylib (*) <60ad36e8-3001-3c45-941a-c8d1448e8835> /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/libgdiplus.0.dylib
       0x110de1000 -        0x110ec9fff libglib-2.0.0.dylib (*) <b19cba49-7ef5-3eaa-a13a-1e3abf19ddaa> /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/libglib-2.0.0.dylib
       0x110939000 -        0x110947fff libintl.8.dylib (*) <c313f1e2-0a71-332e-81f5-215c9103c309> /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/libintl.8.dylib
       0x1112e3000 -        0x1113f4fff libcairo.2.dylib (*) <f4f02d32-bd68-359f-8e28-8a5e5bbe21d3> /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/libcairo.2.dylib
       0x111daa000 -        0x112115fff libpixman-1.0.dylib (*) <a801cbea-e141-3ee1-99f0-4f8287c45330> /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/libpixman-1.0.dylib
       0x111027000 -        0x1110b2fff libtiff.5.dylib (*) <58e236fa-2132-39c6-a3c6-c95a86cb2417> /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/libtiff.5.dylib
       0x110bb8000 -        0x110c07fff libjpeg.8.dylib (*) <48baed82-0be3-3e4b-87bd-31815f8c058d> /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/libjpeg.8.dylib
       0x11096f000 -        0x110977fff libgif.4.1.6.dylib (*) <86e44891-1bc4-353d-afb8-01561892fb81> /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/libgif.4.1.6.dylib
       0x110c92000 -        0x110cd0fff libfontconfig.1.dylib (*) <5f4dd15a-a147-3e57-a49d-fd1189baf90a> /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/libfontconfig.1.dylib
       0x1117b9000 -        0x11186afff libfreetype.6.dylib (*) <0a652936-3b31-3b42-a9d4-94db335ea570> /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/libfreetype.6.dylib
       0x110d43000 -        0x110d71fff libpng14.14.dylib (*) <e89791af-55d0-356e-87be-535b2c2d6a7d> /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/libpng14.14.dylib
       0x11117c000 -        0x1111adfff libexpat.1.6.7.dylib (*) <f6b18c03-5e44-3dda-85d8-468511afc927> /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/libexpat.1.6.7.dylib
    0x7ff7fff7c000 -     0x7ff7fffabfff runtime (*) <c4c97159-5c72-3e75-ba2d-d6ca98ea626f> /usr/libexec/rosetta/runtime
       0x10b4b0000 -        0x10b503fff libRosettaRuntime (*) <7af8ba1e-5c4d-393d-99cd-92566f60c450> /Library/Apple/*/libRosettaRuntime
       0x1029cd000 -        0x102dacfff mono-sgen64 (*) <63e752db-b3e0-3b6f-bda8-339243be6362> /Library/Frameworks/Mono.framework/Versions/6.12.0/bin/mono-sgen64
               0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???
    0x7ff802516000 -     0x7ff802550ff7 libsystem_kernel.dylib (*) <9927a0a9-dfa8-3ffa-88d8-62055f37a137> /usr/lib/system/libsystem_kernel.dylib
    0x7ff802551000 -     0x7ff80255cfff libsystem_pthread.dylib (*) <a9ba8a53-d774-3fe9-8bde-64187bff7ea9> /usr/lib/system/libsystem_pthread.dylib
    0x7ff8023f6000 -     0x7ff80247dfff libsystem_c.dylib (*) <29a0020e-3766-39df-80fe-9aa731847daa> /usr/lib/system/libsystem_c.dylib
    0x7ff807b02000 -     0x7ff807f59ffa com.apple.SkyLight (1.600.0) <2c47c41f-ba8a-3c0a-8ff7-e7eeb2895115> /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=433.7M resident=0K(0%) swapped_out_or_unallocated=433.7M(100%)
Writable regions: Total=1.1G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.1G(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Activity Tracing                   256K        1 
ColorSync                          232K       28 
CoreGraphics                         8K        1 
Kernel Alloc Once                    8K        1 
MALLOC                           934.2M       27 
MALLOC guard page                  192K       12 
Rosetta Arena                     4096K        2 
Rosetta Generic                   5960K     1487 
Rosetta IndirectBranch             768K        2 
Rosetta JIT                      128.0M        1 
Rosetta Return Stack               120K       12 
Rosetta Thread Context             120K       12 
STACK GUARD                          4K        1 
Stack                             13.0M        7 
Stack Guard                       56.1M        6 
VM_ALLOCATE                       28.6M       94 
VM_ALLOCATE (reserved)            8276K        8         reserved VM address space (unallocated)
__DATA                            15.8M      297 
__DATA_CONST                      11.0M      177 
__DATA_DIRTY                       465K       93 
__FONT_DATA                        2352        1 
__LINKEDIT                       195.9M       21 
__OBJC_RO                         71.1M        1 
__OBJC_RW                         2166K        2 
__TEXT                           237.8M      314 
dyld private memory                260K        2 
mapped file                        7.4G      494 
shared memory                      804K       14 
unshared pmap                     5808K        4 
===========                     =======  ======= 
TOTAL                              9.1G     3122 
TOTAL, minus reserved VM space     9.0G     3122 



-----------
Full Report
-----------

{"app_name":"mono-sgen64","timestamp":"2023-12-31 09:16:37.00 -0500","app_version":"","slice_uuid":"63e752db-b3e0-3b6f-bda8-339243be6362","build_version":"","platform":1,"share_with_app_devs":1,"is_first_party":1,"bug_type":"309","os_version":"macOS 14.2.1 (23C71)","roots_installed":0,"incident_id":"180C933C-509B-4EDD-83F4-999F931B7DF5","name":"mono-sgen64"}
{
  "uptime" : 26000,
  "procRole" : "Foreground",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookAir10,1",
  "coalitionID" : 7111,
  "osVersion" : {
    "train" : "macOS 14.2.1",
    "build" : "23C71",
    "releaseType" : "User"
  },
  "captureTime" : "2023-12-31 09:16:18.9078 -0500",
  "codeSigningMonitor" : 1,
  "incident" : "180C933C-509B-4EDD-83F4-999F931B7DF5",
  "pid" : 8841,
  "translated" : true,
  "cpuType" : "X86-64",
  "roots_installed" : 0,
  "bug_type" : "309",
  "procLaunch" : "2023-12-31 09:16:12.4837 -0500",
  "procStartAbsTime" : 627099828339,
  "procExitAbsTime" : 627252953495,
  "procName" : "mono-sgen64",
  "procPath" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/bin\/mono",
  "parentProc" : "VisualStudio",
  "parentPid" : 8674,
  "coalitionName" : "com.microsoft.visual-studio",
  "crashReporterKey" : "A82B91F0-07E7-2842-B234-B96C6C6D0EE0",
  "responsiblePid" : 8674,
  "responsibleProc" : "VisualStudio",
  "codeSigningID" : "mono-sgen64-5555494463e752dbb3e03b6fbda8339243be6362",
  "codeSigningTeamID" : "UBF8T346G9",
  "codeSigningFlags" : 570491649,
  "codeSigningValidationCategory" : 6,
  "codeSigningTrustLevel" : 4294967295,
  "wakeTime" : 2376,
  "sleepWakeUUID" : "5E25C0D0-43E2-4995-8784-1B3CA9FAFAFC",
  "sip" : "enabled",
  "vmRegionInfo" : "0x11 is not in any region.  Bytes before following region: 140722857312239\n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      UNUSED SPACE AT START\n--->  \n      mapped file              7ffc97ec0000-7ffcc08d8000 [650.1M] r-x\/r-x SM=COW  ...t_id=e31fb63b",
  "exception" : {"codes":"0x0000000000000001, 0x0000000000000011","rawCodes":[1,17],"type":"EXC_BAD_ACCESS","signal":"SIGABRT","subtype":"KERN_INVALID_ADDRESS at 0x0000000000000011"},
  "termination" : {"flags":0,"code":6,"namespace":"SIGNAL","indicator":"Abort trap: 6","byProc":"mono-sgen64","byPid":8841},
  "vmregioninfo" : "0x11 is not in any region.  Bytes before following region: 140722857312239\n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      UNUSED SPACE AT START\n--->  \n      mapped file              7ffc97ec0000-7ffcc08d8000 [650.1M] r-x\/r-x SM=COW  ...t_id=e31fb63b",
  "asi" : {"libsystem_c.dylib":["abort() called"]},
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 0,
  "threads" : [{"threadState":{"flavor":"x86_THREAD_STATE","rbp":{"value":4412750543122677053},"r12":{"value":259},"rosetta":{"tmp2":{"value":140703167539096},"tmp1":{"value":140705589455436},"tmp0":{"value":18446744073709551615}},"rbx":{"value":0},"r8":{"value":13049169352},"r15":{"value":22},"r10":{"value":0},"rdx":{"value":0},"rdi":{"value":140386140104704},"r9":{"value":4412750543122677053},"r13":{"value":140386148306912},"rflags":{"value":647},"rax":{"value":0},"rsp":{"value":13049167704},"r11":{"value":4412750543122677053},"rcx":{"value":0},"r14":{"value":8642896448,"symbolLocation":0,"symbol":"_main_thread"},"rsi":{"value":8642896448,"symbolLocation":0,"symbol":"_main_thread"}},"id":260183,"triggered":true,"name":"tid_103","queue":"com.apple.main-thread","frames":[{"imageOffset":140705589455480,"imageIndex":17},{"imageOffset":34722,"symbol":"__pthread_kill","symbolLocation":10,"imageIndex":18},{"imageOffset":24368,"symbol":"pthread_kill","symbolLocation":262,"imageIndex":19},{"imageOffset":522825,"symbol":"abort","symbolLocation":126,"imageIndex":20},{"imageOffset":1178334,"sourceLine":1169,"sourceFile":"mini-posix.c","symbol":"mono_post_native_crash_handler","imageIndex":16,"symbolLocation":14},{"imageOffset":750756,"sourceLine":3437,"sourceFile":"mini-exceptions.c","symbol":"mono_handle_native_crash","imageIndex":16,"symbolLocation":468},{"imageOffset":1153014,"sourceLine":879,"sourceFile":"exceptions-amd64.c","symbol":"altstack_handle_and_restore","imageIndex":16,"symbolLocation":230},{"imageOffset":2958019,"symbol":"SLDisplayBounds","symbolLocation":23,"imageIndex":21},{"imageOffset":4608032844,"imageIndex":17},{"imageOffset":4492314027,"imageIndex":17},{"imageOffset":82770,"sourceLine":3217,"sourceFile":"mini-runtime.c","symbol":"mono_jit_runtime_invoke","imageIndex":16,"symbolLocation":2354},{"symbol":"do_runtime_invoke","inline":true,"imageIndex":16,"imageOffset":2250722,"symbolLocation":60,"sourceLine":3052,"sourceFile":"object.c"},{"imageOffset":2250722,"sourceLine":3161,"sourceFile":"object.c","symbol":"mono_runtime_try_invoke","imageIndex":16,"symbolLocation":146},{"imageOffset":2245640,"sourceLine":551,"sourceFile":"object.c","symbol":"mono_runtime_class_init_full","imageIndex":16,"symbolLocation":872},{"imageOffset":48476,"sourceLine":4206,"sourceFile":"mini.c","symbol":"mono_jit_compile_method_inner","imageIndex":16,"symbolLocation":1228},{"imageOffset":63658,"sourceLine":2475,"sourceFile":"mini-runtime.c","symbol":"mono_jit_compile_method_with_opt","imageIndex":16,"symbolLocation":2682},{"imageOffset":761646,"sourceLine":635,"sourceFile":"mini-trampolines.c","symbol":"common_call_trampoline","imageIndex":16,"symbolLocation":1390},{"imageOffset":760176,"sourceLine":775,"sourceFile":"mini-trampolines.c","symbol":"mono_magic_trampoline","imageIndex":16,"symbolLocation":96},{"imageOffset":4490003347,"imageIndex":17},{"imageOffset":4608027043,"imageIndex":17}]},{"id":260185,"name":"com.apple.rosetta.exceptionserver","threadState":{"flavor":"x86_THREAD_STATE","rbp":{"value":9908489551872},"r12":{"value":4386125800,"region":"<translation info unavailable>"},"rosetta":{"tmp2":{"value":0},"tmp1":{"value":128690105114387},"tmp0":{"value":0}},"rbx":{"value":128690105114387},"r8":{"value":2307},"r15":{"value":5972692992},"r10":{"value":0},"rdx":{"value":0},"rdi":{"value":0},"r9":{"value":24339},"r13":{"value":4484848512},"rflags":{"value":514},"rax":{"value":268451845},"rsp":{"value":0},"r11":{"value":17},"rcx":{"value":17314086914},"r14":{"value":140705725008552},"rsi":{"value":2616}},"frames":[{"imageOffset":17044,"imageIndex":14}]},{"id":260186,"name":"SGen worker","threadState":{"flavor":"x86_THREAD_STATE","rbp":{"value":161},"r12":{"value":0},"rosetta":{"tmp2":{"value":140703167522244},"tmp1":{"value":140705589455436},"tmp0":{"value":18446744073709551615}},"rbx":{"value":0},"r8":{"value":140703167779277,"symbolLocation":0,"symbol":"_pthread_psynch_cond_cleanup"},"r15":{"value":0},"r10":{"value":0},"rdx":{"value":0},"rdi":{"value":0},"r9":{"value":161},"r13":{"value":4294967552},"rflags":{"value":658},"rax":{"value":260},"rsp":{"value":0},"r11":{"value":0},"rcx":{"value":0},"r14":{"value":13049708544},"rsi":{"value":0}},"frames":[{"imageOffset":140705589455480,"imageIndex":17},{"imageOffset":17870,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":18},{"imageOffset":26475,"symbol":"_pthread_cond_wait","symbolLocation":1211,"imageIndex":19},{"symbol":"mono_os_cond_wait","inline":true,"imageIndex":16,"imageOffset":3029790,"symbolLocation":19,"sourceLine":219,"sourceFile":"mono-os-mutex.h"},{"symbol":"get_work","inline":true,"imageIndex":16,"imageOffset":3029790,"symbolLocation":33,"sourceLine":165,"sourceFile":"sgen-thread-pool.c"},{"imageOffset":3029790,"sourceLine":196,"sourceFile":"sgen-thread-pool.c","symbol":"thread_func","imageIndex":16,"symbolLocation":542},{"imageOffset":25090,"symbol":"_pthread_start","symbolLocation":99,"imageIndex":19},{"imageOffset":7083,"symbol":"thread_start","symbolLocation":15,"imageIndex":19}]},{"id":260188,"name":"Finalizer","threadState":{"flavor":"x86_THREAD_STATE","rbp":{"value":0},"r12":{"value":13051817672},"rosetta":{"tmp2":{"value":4604286144},"tmp1":{"value":140705589455432},"tmp0":{"value":18446744073709551615}},"rbx":{"sourceLine":130,"value":4341955174,"sourceFile":"mono-threads-state-machine.c","symbol":"check_thread_state","symbolLocation":118},"r8":{"value":4342285110},"r15":{"value":4343019488,"symbolLocation":0,"symbol":"mono_profiler_state"},"r10":{"sourceLine":130,"value":4341955174,"sourceFile":"mono-threads-state-machine.c","symbol":"check_thread_state","symbolLocation":118},"rdx":{"value":0},"rdi":{"value":13051817672},"r9":{"value":0},"r13":{"value":4342952280,"symbolLocation":0,"symbol":"finalizer_sem"},"rflags":{"value":663},"rax":{"value":14},"rsp":{"value":140386156718104},"r11":{"value":4343019488,"symbolLocation":0,"symbol":"mono_profiler_state"},"rcx":{"value":4341955316},"r14":{"value":140386156718080},"rsi":{"value":4343019488,"symbolLocation":0,"symbol":"mono_profiler_state"}},"frames":[{"imageOffset":140705589455480,"imageIndex":17},{"imageOffset":6570,"symbol":"semaphore_wait_trap","symbolLocation":10,"imageIndex":18},{"symbol":"mono_os_sem_wait","inline":true,"imageIndex":16,"imageOffset":2688730,"symbolLocation":11,"sourceLine":84,"sourceFile":"mono-os-semaphore.h"},{"symbol":"mono_coop_sem_wait","inline":true,"imageIndex":16,"imageOffset":2688730,"symbolLocation":37,"sourceLine":41,"sourceFile":"mono-coop-semaphore.h"},{"imageOffset":2688730,"sourceLine":965,"sourceFile":"gc.c","symbol":"finalizer_thread","imageIndex":16,"symbolLocation":618},{"symbol":"start_wrapper_internal","inline":true,"imageIndex":16,"imageOffset":2419789,"symbolLocation":67,"sourceLine":1233,"sourceFile":"threads.c"},{"imageOffset":2419789,"sourceLine":1308,"sourceFile":"threads.c","symbol":"start_wrapper","imageIndex":16,"symbolLocation":813},{"imageOffset":25090,"symbol":"_pthread_start","symbolLocation":99,"imageIndex":19},{"imageOffset":7083,"symbol":"thread_start","symbolLocation":15,"imageIndex":19}]},{"id":260189,"name":"Debugger agent","threadState":{"flavor":"x86_THREAD_STATE","rbp":{"value":0},"r12":{"value":0},"rosetta":{"tmp2":{"value":140703167525168},"tmp1":{"value":140705589455436},"tmp0":{"value":18446744073709551615}},"rbx":{"value":0},"r8":{"value":140386140076032},"r15":{"value":0},"r10":{"value":0},"rdx":{"value":11},"rdi":{"value":4342143216},"r9":{"value":0},"r13":{"value":0},"rflags":{"value":646},"rax":{"value":4},"rsp":{"value":0},"r11":{"value":0},"rcx":{"value":0},"r14":{"value":11},"rsi":{"value":13053926304}},"frames":[{"imageOffset":140705589455480,"imageIndex":17},{"imageOffset":20794,"symbol":"__recvfrom","symbolLocation":10,"imageIndex":18},{"imageOffset":1493518,"sourceLine":1156,"sourceFile":"debugger-agent.c","symbol":"socket_transport_recv","imageIndex":16,"symbolLocation":94},{"symbol":"transport_recv","inline":true,"imageIndex":16,"imageOffset":1422342,"symbolLocation":57,"sourceLine":1578,"sourceFile":"debugger-agent.c"},{"imageOffset":1422342,"sourceLine":10196,"sourceFile":"debugger-agent.c","symbol":"debugger_thread","imageIndex":16,"symbolLocation":358},{"symbol":"start_wrapper_internal","inline":true,"imageIndex":16,"imageOffset":2419789,"symbolLocation":67,"sourceLine":1233,"sourceFile":"threads.c"},{"imageOffset":2419789,"sourceLine":1308,"sourceFile":"threads.c","symbol":"start_wrapper","imageIndex":16,"symbolLocation":813},{"imageOffset":25090,"symbol":"_pthread_start","symbolLocation":99,"imageIndex":19},{"imageOffset":7083,"symbol":"thread_start","symbolLocation":15,"imageIndex":19}]},{"id":260196,"frames":[{"imageOffset":141644,"imageIndex":14}],"threadState":{"flavor":"x86_THREAD_STATE","rbp":{"value":18446744073709551615},"r12":{"value":0},"rosetta":{"tmp2":{"value":0},"tmp1":{"value":0},"tmp0":{"value":0}},"rbx":{"value":0},"r8":{"value":0},"r15":{"value":0},"r10":{"value":0},"rdx":{"value":13054496768},"rdi":{"value":0},"r9":{"value":0},"r13":{"value":0},"rflags":{"value":531},"rax":{"value":13055033344},"rsp":{"value":409604},"r11":{"value":0},"rcx":{"value":11267},"r14":{"value":0},"rsi":{"value":0}}}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 8642191360,
    "size" : 655360,
    "uuid" : "ab17bf63-259b-3b48-8d70-863166a2191c",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4605366272,
    "size" : 827392,
    "uuid" : "aab44b67-849c-3757-87a3-fafa31b03cbf",
    "path" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/lib\/libmono-native-compat.0.dylib",
    "name" : "libmono-native-compat.0.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4574257152,
    "size" : 548864,
    "uuid" : "60ad36e8-3001-3c45-941a-c8d1448e8835",
    "path" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/lib\/libgdiplus.0.dylib",
    "name" : "libgdiplus.0.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4577955840,
    "size" : 954368,
    "uuid" : "b19cba49-7ef5-3eaa-a13a-1e3abf19ddaa",
    "path" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/lib\/libglib-2.0.0.dylib",
    "name" : "libglib-2.0.0.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4573073408,
    "size" : 61440,
    "uuid" : "c313f1e2-0a71-332e-81f5-215c9103c309",
    "path" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/lib\/libintl.8.dylib",
    "name" : "libintl.8.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4583206912,
    "size" : 1122304,
    "uuid" : "f4f02d32-bd68-359f-8e28-8a5e5bbe21d3",
    "path" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/lib\/libcairo.2.dylib",
    "name" : "libcairo.2.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4594507776,
    "size" : 3588096,
    "uuid" : "a801cbea-e141-3ee1-99f0-4f8287c45330",
    "path" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/lib\/libpixman-1.0.dylib",
    "name" : "libpixman-1.0.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4580339712,
    "size" : 573440,
    "uuid" : "58e236fa-2132-39c6-a3c6-c95a86cb2417",
    "path" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/lib\/libtiff.5.dylib",
    "name" : "libtiff.5.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4575690752,
    "size" : 327680,
    "uuid" : "48baed82-0be3-3e4b-87bd-31815f8c058d",
    "path" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/lib\/libjpeg.8.dylib",
    "name" : "libjpeg.8.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4573294592,
    "size" : 36864,
    "uuid" : "86e44891-1bc4-353d-afb8-01561892fb81",
    "path" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/lib\/libgif.4.1.6.dylib",
    "name" : "libgif.4.1.6.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4576583680,
    "size" : 258048,
    "uuid" : "5f4dd15a-a147-3e57-a49d-fd1189baf90a",
    "path" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/lib\/libfontconfig.1.dylib",
    "name" : "libfontconfig.1.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4588277760,
    "size" : 729088,
    "uuid" : "0a652936-3b31-3b42-a9d4-94db335ea570",
    "path" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/lib\/libfreetype.6.dylib",
    "name" : "libfreetype.6.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4577308672,
    "size" : 192512,
    "uuid" : "e89791af-55d0-356e-87be-535b2c2d6a7d",
    "path" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/lib\/libpng14.14.dylib",
    "name" : "libpng14.14.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4581736448,
    "size" : 204800,
    "uuid" : "f6b18c03-5e44-3dda-85d8-468511afc927",
    "path" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/lib\/libexpat.1.6.7.dylib",
    "name" : "libexpat.1.6.7.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 140703128076288,
    "size" : 196608,
    "uuid" : "c4c97159-5c72-3e75-ba2d-d6ca98ea626f",
    "path" : "\/usr\/libexec\/rosetta\/runtime",
    "name" : "runtime"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4484431872,
    "size" : 344064,
    "uuid" : "7af8ba1e-5c4d-393d-99cd-92566f60c450",
    "path" : "\/Library\/Apple\/*\/libRosettaRuntime",
    "name" : "libRosettaRuntime"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4338798592,
    "size" : 4063232,
    "uuid" : "63e752db-b3e0-3b6f-bda8-339243be6362",
    "path" : "\/Library\/Frameworks\/Mono.framework\/Versions\/6.12.0\/bin\/mono-sgen64",
    "name" : "mono-sgen64"
  },
  {
    "size" : 0,
    "source" : "A",
    "base" : 0,
    "uuid" : "00000000-0000-0000-0000-000000000000"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703167504384,
    "size" : 241656,
    "uuid" : "9927a0a9-dfa8-3ffa-88d8-62055f37a137",
    "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
    "name" : "libsystem_kernel.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703167746048,
    "size" : 49152,
    "uuid" : "a9ba8a53-d774-3fe9-8bde-64187bff7ea9",
    "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
    "name" : "libsystem_pthread.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703166324736,
    "size" : 557056,
    "uuid" : "29a0020e-3766-39df-80fe-9aa731847daa",
    "path" : "\/usr\/lib\/system\/libsystem_c.dylib",
    "name" : "libsystem_c.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703257600000,
    "CFBundleShortVersionString" : "1.600.0",
    "CFBundleIdentifier" : "com.apple.SkyLight",
    "size" : 4554747,
    "uuid" : "2c47c41f-ba8a-3c0a-8ff7-e7eeb2895115",
    "path" : "\/System\/Library\/PrivateFrameworks\/SkyLight.framework\/Versions\/A\/SkyLight",
    "name" : "SkyLight"
  }
],
  "sharedCache" : {
  "base" : 140703163334656,
  "size" : 21474836480,
  "uuid" : "aa32606f-3f8a-36dc-89ab-9c1bd7bf3104"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=433.7M resident=0K(0%) swapped_out_or_unallocated=433.7M(100%)\nWritable regions: Total=1.1G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.1G(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nActivity Tracing                   256K        1 \nColorSync                          232K       28 \nCoreGraphics                         8K        1 \nKernel Alloc Once                    8K        1 \nMALLOC                           934.2M       27 \nMALLOC guard page                  192K       12 \nRosetta Arena                     4096K        2 \nRosetta Generic                   5960K     1487 \nRosetta IndirectBranch             768K        2 \nRosetta JIT                      128.0M        1 \nRosetta Return Stack               120K       12 \nRosetta Thread Context             120K       12 \nSTACK GUARD                          4K        1 \nStack                             13.0M        7 \nStack Guard                       56.1M        6 \nVM_ALLOCATE                       28.6M       94 \nVM_ALLOCATE (reserved)            8276K        8         reserved VM address space (unallocated)\n__DATA                            15.8M      297 \n__DATA_CONST                      11.0M      177 \n__DATA_DIRTY                       465K       93 \n__FONT_DATA                        2352        1 \n__LINKEDIT                       195.9M       21 \n__OBJC_RO                         71.1M        1 \n__OBJC_RW                         2166K        2 \n__TEXT                           237.8M      314 \ndyld private memory                260K        2 \nmapped file                        7.4G      494 \nshared memory                      804K       14 \nunshared pmap                     5808K        4 \n===========                     =======  ======= \nTOTAL                              9.1G     3122 \nTOTAL, minus reserved VM space     9.0G     3122 \n",
  "legacyInfo" : {
  "threadTriggered" : {
    "name" : "tid_103",
    "queue" : "com.apple.main-thread"
  }
},
  "logWritingSignature" : "826de283db3c2709ddec086f7901f8e116b7d68d",
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "62745b8e85854550ad70b6e4",
      "factorPackIds" : {
        "SIRI_TTS_DEVICE_TRAINING" : "6539d7f333b9b7499c6f1b63"
      },
      "deploymentId" : 240000073
    },
    {
      "rolloutId" : "5fb4245a1bbfe8005e33a1e1",
      "factorPackIds" : {

      },
      "deploymentId" : 240000021
    }
  ],
  "experiments" : [

  ]
},
  "reportNotes" : [
  "PC register does not match crashing frame (0x0 vs 0x7FF892AD6A78)"
]
}

Model: MacBookAir10,1, BootROM 10151.61.4, proc 8:4:4 processors, 8 GB, SMC 
Graphics: Apple M1, Apple M1, Built-In
Display: Color LCD, 2560 x 1600 Retina, Main, MirrorOff, Online
Memory Module: LPDDR4, Hynix
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x4378), wl0: Aug 26 2023 17:55:53 version 18.20.439.0.7.8.163 FWID 01-f9b9247b
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB31Bus
Thunderbolt Bus: MacBook Air, Apple Inc.

Errors with Earth map

I am testing the latest version on OSX and custom maps work fine.

However with Earth the map is a giant block of grassland:

Screenshot 2024-03-08 at 8 53 17 PM

And this is not regular grassland:

Screenshot 2024-03-08 at 8 53 43 PM

The grassland is so fertile it produces a population + improvement + pollution every turn - could make for an interesting game! Save game is attached if anyone is interested.

This was with Zulu. I tried again as Aztec/Mongol and the start position is at sea:

Screenshot 2024-03-08 at 8 59 31 PM

CIVIL0.zip

Resources files not found in Release mode

I find running with Debug mode works fine but for Release the resource files can't be found:
screenshot-release

This file does exist at ~/Dos/Civ1/

In case relevant this is with MonoDevelop on Linux.

Enemy cities randomly disappearing

Describe the bug
After ending the turn, enemy cities sometimes disappear

To Reproduce
Steps to reproduce the behavior:

  1. Load the following save:
    CIVIL0.zip
  2. End the turn.
  3. Notice that Berlin disappears.

All players are put on the same continent

All of the players are put at the same continent at the beginning of game.
The bug is expected to be fixed after all game structures are mapped properly (November 2023).

Unable to harvest a city square

Describe the bug
Unable to select the Fish square in the city to get 2 Food and 3 Trade.

To Reproduce

  1. Load the save:
    CIVIL0.zip
  2. Go to city screen of city named Izibia
  3. Mouse-click on fish

Log file too big

Log file made by this error is 3 GB large. Consequently I can't open it in notepad++ let alone notepad.

Edit: After I deleted the log file and repeated the error, the size of the log.txt is only 80 MB (it's still too large to be uploaded on github). Does the log fill after each game session?

About my own copies of the DOS Civilization game

Describe the bug
Tried both of my backups versions
Both have SP256.PAL not SP257.PAL
Got error all the time:
Missing resource file ~\OpenCiv1-Alpha7-win-x64\SP257.PAL. Please ensure that the file exists at
specified path.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '~\OpenCiv1-Alpha7-win-x64'
  2. Click on 'OpenCiv1.exe'
  3. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
image

Desktop (please complete the following information):

  • OS: [Windows 11]
  • Version [Build 22631]

Additional context
Version available by URL https://archive.org/details/CIVILIZATION_201902 worked fine however

So NOT every owned copy works

Boarding a ship makes the first built unit go on sentry

Describe the bug
When boarding any ship with any unit, the first unit that your civilization has built (if still alive) goes on sentry (gets a gray silhouettes).

To Reproduce
Steps to reproduce the behavior:

  1. Start the game
  2. Build a Militia
  3. Discover MapMaking
  4. Build a Trieme
  5. Board the Trieme with another Militia
  6. The first-built Militia goes on sentry

Desktop (please complete the following information):

  • OS: Debian 12, Linux 6.1.76-1
  • Version: OpenCiv1-Alpha7-linux-x64

Unknown 0x11 interrupt at startup

I'm running on linux and using mono.

I'm getting this error when starting the application:

[ERROR] FATAL UNHANDLED EXCEPTION: System.Exception: Unknown 0x11 interrupt
  at Disassembler.CPU.INT (System.Byte value) [0x005a1] in /home/markus/code/OpenCiv1/CPU/CPU.cs:1971 
  at OpenCiv1.Segment_1000.F0_1000_066a () [0x002bf] in /home/markus/code/OpenCiv1/Segments/Segment_1000.cs:977 
  at OpenCiv1.Segment_11a8.F0_11a8_02a4 () [0x001f4] in /home/markus/code/OpenCiv1/Segments/Segment_11a8.cs:404 
  at OpenCiv1.Overlay_2.F2_0000_0000 () [0x001b8] in /home/markus/code/OpenCiv1/Segments/Overlay_2.cs:46 
  at OpenCiv1.Segment_11a8.F0_11a8_0008_Main () [0x0012a] in /home/markus/code/OpenCiv1/Segments/Segment_11a8.cs:42 
  at OpenCiv1.OpenCiv1.Start () [0x0110a] in /home/markus/code/OpenCiv1/OpenCiv1.cs:445 
  at OpenCiv1.Program.Main () [0x00009] in /home/markus/code/OpenCiv1/Program.cs:38 

PS. Is there anything stopping the application to be upgraded to .net 6 for better support on linux?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.