Replies: 10 comments 14 replies
-
Hello, these are not build errors. The build succeeds at 100% without errors. The gcc compiler has different set of diagnostics enabled by default on linux, windows and macos. The observed compiler warnings are false positives, wrong assumptions made by the compiler. GitHub Actions builds are available here that you can try out without building the source code yourself. There are asset files in the assets folder of the source tree that you may have skipped to copy to your M.A.X. installation folder when you followed the build instructions. The last sentence in the guide does not explicitly say what to copy where, sorry for that. The linux deb installer from the Actions page installs the assets so you do not need to copy anything manually if you use it. It does not install any dependencies though. If the language file is missing, the game executable terminates at startup. Probably this is what you observe. The localization module executes at the static global object initialization step of the C++ run-time initialization. At that time the SDL library is not yet initialized and SDL's logging services to the standard output are not available. I agree that user feedback on why the executable terminates prematurely would be useful. I will try to find a solution to that. I will also check whether I could add an install command to the cmake configuration file which would be able to copy the appropriate assets together with the executable, and dependent dynamic link libraries on select platforms, to the user provided installation folder where M.A.X. v1.04 resides. On why there are no releases on the front page, please read the latest blog entry or this discussion thread, thanks. If the provided feedback resolves your issue, please close the bug report. |
Beta Was this translation helpful? Give feedback.
-
Thank you DOS/32A used, but not fixed |
Beta Was this translation helpful? Give feedback.
-
Could you attach your save file? |
Beta Was this translation helpful? Give feedback.
-
The reported linux specific segmentation faults and file system problems are resolved on latest master. I cannot analyze the DOSBox issue further without the requested saved game file. Based on the screenshot the DOS/32A DPMI server reports an unhandled division by zero exception. State of the art static analysis tools ran on the current M.A.X. Port source code did not report division by zero related findings. I will close the bug report in a couple days. |
Beta Was this translation helpful? Give feedback.
-
Thank you. Sorry for delay. DOSBox seems error gone. Maybe because small movements in end of turn or this connected that DOS/32A and unchecking improved graphics was used not from the beggining, but after error appeared. #160 https://github.com/klei1984/max/actions/runs/4058197103 runs game. Now I see my saves OK. Open included save. Seems everything OK, but end of turn and crash |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
The reported crash is resolved on latest master. |
Beta Was this translation helpful? Give feedback.
-
Hello @segatrade , I converted the bug report into a discussion. I tried to elaborate on each of your points on game design ideas. Supreme Commander is one of my all time favorites that realized everything I wished to have in M.A.X. 1. Truly different factions, energy shields, 3D terrain, nice particle effects that leave impact on battle field, epic scale level battles, seamless high resolution zoom, scripting capabilities, ability to implement mods and new units by end users, and a well designed campaign game. Oh well... M.A.X. will never come close to SC :( My only priority goal for M.A.X. Port for the time being is to make it stable and even that goal is far far away. |
Beta Was this translation helpful? Give feedback.
-
You know so much about M.A.X.1 and M.A.X.2 as part of dev team
Lore often not too much important. Atmosphere in M.A.X.1 and M.A.X.2 is nice from visual and music.
Yeah. AI is weak in middle and endgame. It's even cannot handle all free mineral and gold deposit. I thought that AI doesn't research, but just several times slower than me (+20% approx, when I had in the end +100% almost to everything) I like that Infiltrator can control unit only one. So not big sense. But possible to acquire sheevat (I turned on Autofire threats to get Sheevat constructor). But seems their units don't have serious benefits vs human. Biobombs worser than missiles. Generals/commander doesn't benefit for human units. Seems harder to play with sheevat, but maybe next time I will try
Thank you very much! |
Beta Was this translation helpful? Give feedback.
-
Hello, is it possible to make a flight effect with bullets like in missilent for artelerie and air defense? it looks more spectacular. |
Beta Was this translation helpful? Give feedback.
-
Operating System
Linux
M.A.X. Port Version
latest
Source of bug?
What is the issue you encountered?
builded maxrun like here https://klei1984.github.io/max/build/ today, but it doesn't run not from terminal, not direct. also got errors in build
[ 86%] Building CXX object CMakeFiles/maxrun.dir/src/paths.cpp.o
/home/usr0/max/src/screendump.cpp: In function ‘int screendump_pcx(int, int, unsigned char*, unsigned char*)’:
/home/usr0/max/src/screendump.cpp:61:30: warning: ‘MAX’ directive writing 3 bytes into a region of size between 1 and 4096 [-Wformat-overflow=]
61 | sprintf(filename, "%sMAX%4.4i.PCX", ResourceManager_FilePathGameInstall, file_index);
| ^~~
/home/usr0/max/src/screendump.cpp:61:16: note: ‘sprintf’ output between 12 and 4114 bytes into a destination of size 4096
61 | sprintf(filename, "%sMAX%4.4i.PCX", ResourceManager_FilePathGameInstall, file_index);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 87%] Building CXX object CMakeFiles/maxrun.dir/src/threatmap.cpp.o
[ 88%] Building CXX object CMakeFiles/maxrun.dir/src/main.cpp.o
[ 89%] Building CXX object CMakeFiles/maxrun.dir/src/aiattack.cpp.o
[ 89%] Building CXX object CMakeFiles/maxrun.dir/src/adjustrequest.cpp.o
[ 89%] Building CXX object CMakeFiles/maxrun.dir/src/terrainmap.cpp.o
/home/usr0/max/src/inifile.cpp: In member function ‘void IniSettings::Init()’:
/home/usr0/max/src/inifile.cpp:245:25: warning: format not a string literal and no format arguments [-Wformat-security]
245 | fprintf(fp, format_string);
| ^~~~~~~~~~~~~
/home/usr0/max/src/gamesetupmenu.cpp: In member function ‘void GameSetupMenu::LoadMissionDescription()’:
/home/usr0/max/src/gamesetupmenu.cpp:343:25: warning: ‘%s’ directive writing up to 4095 bytes into a region of size 100 [-Wformat-overflow=]
343 | sprintf(file_name, "%sdescr%i.%s", ResourceManager_FilePathText, game_file_number,
| ^~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/usr0/max/src/gamesetupmenu.cpp:343:12: note: ‘sprintf’ output 8 or more bytes (assuming 4103) into a destination of size 100
343 | sprintf(file_name, "%sdescr%i.%s", ResourceManager_FilePathText, game_file_number,
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
344 | SaveLoadMenu_SaveFileTypes[game_file_type]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/usr0/max/src/textfile.cpp: In member function ‘void TextItem::FatalError(const char*)’:
/home/usr0/max/src/textfile.cpp:44:12: warning: format not a string literal and no format arguments [-Wformat-security]
44 | SDL_Log(string.GetCStr());
| ~~~~~~~^~~~~~~~~~~~~~~~~~
/home/usr0/max/src/textfile.cpp: In member function ‘void SmartTextfileReader::FatalError(const char*, ...)’:
/home/usr0/max/src/textfile.cpp:593:12: warning: format not a string literal and no format arguments [-Wformat-security]
593 | SDL_Log(message.GetCStr());
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
/home/usr0/max/src/game_manager.cpp: In function ‘void GameManager_MenuClickChatGoalButton()’:
/home/usr0/max/src/game_manager.cpp:3831:31: warning: ‘descr’ directive writing 5 bytes into a region of size between 1 and 4096 [-Wformat-overflow=]
3831 | sprintf(file_path, "%sdescr%i.%s", ResourceManager_FilePathText, GameManager_GameFileNumber,
| ^~~~~
/home/usr0/max/src/game_manager.cpp:3831:16: note: ‘sprintf’ output 8 or more bytes (assuming 4103) into a destination of size 4096
3831 | sprintf(file_path, "%sdescr%i.%s", ResourceManager_FilePathText, GameManager_GameFileNumber,
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3832 | SaveLoadMenu_SaveFileTypes[game_file_type]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 90%] Linking CXX executable maxrun
[100%] Built target maxrun
Anything to add?
Ubuntu 22.04.01
Maybe it's good to publish latest build release
Beta Was this translation helpful? Give feedback.
All reactions