Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat.req. Win binary #576

Open
necros2k7 opened this issue Aug 24, 2019 · 51 comments
Open

Feat.req. Win binary #576

necros2k7 opened this issue Aug 24, 2019 · 51 comments

Comments

@necros2k7
Copy link

subj

@JanSimek
Copy link
Contributor

JanSimek commented Sep 23, 2019

Travis should be able to automatically create Windows binaries from tagged commits and upload them to Github releases. I could look into it if @alexeevdv agrees?

@alexeevdv
Copy link
Contributor

I approve

@burner1024
Copy link

I had appveyor builds kind of working, but no one seemed to show any interest.

@alexeevdv
Copy link
Contributor

It is more like no one had time for that :) Can you make pull request with necessary changes?

@burner1024
Copy link

It will likely need to be updated first.

More importantly, the question asked a year ago still stands - did anyone successfully compile and run 0.3.1 or develop? Because the build I had was immediately crashing both under Wine and natively.

@necros2k7
Copy link
Author

I had appveyor builds kind of working, but no one seemed to show any interest.
cant see em, can you reupload?

@burner1024
Copy link

burner1024 commented Sep 24, 2019

Code is in appveyor branch, builds are here.

@necros2k7
Copy link
Author

Artifacts older than 6 months are deleted. Anyone have a copy? ) Ah, it`s mockery.)

@burner1024
Copy link

I've relaunched the build.

@FakelsHub
Copy link

Нет ничего проще, чем потратить 10-30 мин времени и выложить рабочию версию скомпилированного проекта, нет, начинаются очередные танцы с бубнами вокруг автоматизации :-)

@alexeevdv
Copy link
Contributor

Если это так просто, то скомпилируй и выложи. У меня нет рабочего Windows окружения под рукой и ради единичного билда настраивать его нет ни времени ни желания

@FakelsHub
Copy link

Так я бы не просил два года назад это, если бы знал как эту гору кода скомпилировать.
Тут у вас все на каких то батник-технологиях завязано :-)

@alexeevdv
Copy link
Contributor

На винде самое сложное это поставить все нужные зависимости. Все остально просто. Т.к. я виндой не пользуюсь, то и автоматизировать это у меня займет кучу времени. Пусть лучше сделает тот кто этим пользуется

@burner1024
Copy link

Мне вообще непонятно о чем идет обсуждение.

На винде самое сложное это поставить все нужные зависимости. Все остально просто. Т.к. я виндой не пользуюсь, то и автоматизировать это у меня займет кучу времени. Пусть лучше сделает тот кто этим пользуется

Я тоже не пользуюсь.

It is more like no one had time for that :) Can you make pull request with necessary changes?

This is just an excuse. Those who have interest make time. Those who don't make excuses. (Applies to any activity, not just opensource software development.)
Not that I blame anyone for not having interest - but it's better to call things what they are.

Нет ничего проще, чем потратить 10-30 мин времени и выложить рабочию версию скомпилированного проекта, нет, начинаются очередные танцы с бубнами вокруг автоматизации :-)

Ну я выкладывал. И сейчас выложена. Насколько я вижу, код компилируется но падает при запуске. За год с лишним никто не удосужился проверить так это или нет. Пока это не прояснено, я не вижу смысла делать пулл реквест - может быть, проблема в билде. Надо разобраться.

Так я бы не просил два года назад это, если бы знал как эту гору кода скомпилировать.
Тут у вас все на каких то батник-технологиях завязано :-)

Буквально .appveyor.yml это список cmd команд. Выполняешь их и проект компилируется.

@JanSimek
Copy link
Contributor

I have an older laptop running Windows, so I'll check tonight ;-)

@phobos2077
Copy link
Contributor

Тут у вас все на каких то батник-технологиях завязано :-)

Кросс-платформенная разработка на С++ она такая. Это не sfall под одну винду собирать))

@JanSimek
Copy link
Contributor

@burner1024 you were correct. The Appveyor build crashes immediately when run on Windows.

I managed to compile falltergeist in Visual Studio and the game window opens, but then it crashes on the sdl mixer initialization and then on img_init, so I guess I screwed up the dependencies somehow. I used sdl 2.0.10 and sdl_mixer and sdl_image 2.0.4

@necros2k7
Copy link
Author

Jan can ya share it so we can test it too?

@burner1024
Copy link

@JanSimek which version did you complile? Same as Appveyor? If not, both problems could be in the code itself.

@JanSimek
Copy link
Contributor

I used conan packages from the bincrafters repository.

Good news is that it was really a dependency issue and Falltergeist runs on Windows without any code changes. After I replaced sdl2_image 2.0.5 from conan with the official build it runs fine. So the question is what is the difference between the two.

@necros2k7
Copy link
Author

JanSimek - pls upload build

@JanSimek
Copy link
Contributor

@necros2k7 wait for the AppVeyor build. It is an unbelievably painful experience compiling stuff on Windows

I've submitted a bug report for the sdl2_image conan package. Hopefully, they will either fix the bug or tell me what I am doing wrong.

@FakelsHub
Copy link

@JanSimek, you said that everything is already working, just give us what we want)
And write a little instruction on how to assemble it in Visial Studio.

@JanSimek
Copy link
Contributor

JanSimek commented Sep 28, 2019

@FakelsHub well, I promised myself that I won't be a sadomasochist and run Windows ever again, but your PRO editor saved me a lot of time (it runs under linux as well) so I guess I should return the favour: falltergeist-win-x64.zip

If you need any help compiling the project then I can reached at the Falltergeist discord channel.

@FakelsHub
Copy link

favour: falltergeist-win-x64.zip

:( need x32

alexeevdv added a commit that referenced this issue Oct 3, 2019
Update conan dependencies and add Windows compilation guide. Refs #576
@FakelsHub
Copy link

FakelsHub commented Oct 16, 2019

You could add dependencies manually but it is easier to use Conan.
(or open and build the solution in Visual Studio instead of running the devenv command)

I do not understand what is "Conan" and how to cook it. :)
@JanSimek Can you upload ready files from VS falltergeist.sln and falltergeist.vcxproj ?

@burner1024
Copy link

I do not understand what is "Conan" and how to cook it. :)

Менеджер пакетов с++. Просто пишешь что откуда брать.

@JanSimek
Copy link
Contributor

JanSimek commented Oct 17, 2019

@FakelsHub Well, you cannot use Conan anyway until this issue with sdl_image is fixed. I will attach my Visual Studio solution to this message in the evening (you'll need to add 32bit dependencies), but you really do not need it. CMake will generate VS project for you. There is a detailed Windows compilation guide on the wiki which walks you through the entire process step-by-step.

VS solution: vs2019.zip

@FakelsHub
Copy link

falltergeist-win-x64.zip

something that does not work. :(

[INFO] Loading config from C:\Users\User\AppData\Roaming/falltergeist/config.ini

[INFO] [INI] start parsing config file.
[DEBUG] [INI] start section: `audio`
[DEBUG] [INI] integer value found for property `buffer_size`: 512
[DEBUG] [INI] boolean value found for property `enabled`: true
[DEBUG] [INI] double value found for property `master_volume`: 1
[DEBUG] [INI] string value found for property `music_path`: data/sound/music/
[DEBUG] [INI] double value found for property `music_volume`: 1
[DEBUG] [INI] double value found for property `sfx_volume`: 1
[DEBUG] [INI] double value found for property `voice_volume`: 1
[DEBUG] [INI] start section: `game`
[DEBUG] [INI] boolean value found for property `display_fps`: true
[DEBUG] [INI] boolean value found for property `display_mouse_position`: true
[DEBUG] [INI] boolean value found for property `force_location`: false
[DEBUG] [INI] string value found for property `init_location`: klamall
[DEBUG] [INI] boolean value found for property `worldmap_fullscreen`: false
[DEBUG] [INI] start section: `logger`
[DEBUG] [INI] boolean value found for property `colors`: true
[DEBUG] [INI] string value found for property `level`: info
[DEBUG] [INI] start section: `preferences`
[DEBUG] [INI] double value found for property `brightness`: 1
[DEBUG] [INI] integer value found for property `combat_difficulty`: 1
[DEBUG] [INI] boolean value found for property `combat_looks`: false
[DEBUG] [INI] boolean value found for property `combat_messages`: true
[DEBUG] [INI] integer value found for property `combat_speed`: 0
[DEBUG] [INI] boolean value found for property `combat_taunts`: false
[DEBUG] [INI] integer value found for property `game_difficulty`: 1
[DEBUG] [INI] boolean value found for property `item_highlight`: false
[DEBUG] [INI] boolean value found for property `language_filter`: false
[DEBUG] [INI] double value found for property `mouse_sensitivity`: 1
[DEBUG] [INI] boolean value found for property `player_speedup`: false
[DEBUG] [INI] boolean value found for property `running`: false
[DEBUG] [INI] boolean value found for property `subtitles`: false
[DEBUG] [INI] boolean value found for property `target_highlight`: false
[DEBUG] [INI] double value found for property `text_delay`: 0
[DEBUG] [INI] integer value found for property `violence_level`: 2
[DEBUG] [INI] start section: `video`
[DEBUG] [INI] boolean value found for property `fullscreen`: false
[DEBUG] [INI] integer value found for property `height`: 480
[DEBUG] [INI] integer value found for property `scale`: 0
[DEBUG] [INI] integer value found for property `width`: 640
[INFO] Looking for Fallout data files
[INFO] Searching in directory: D:\falltergeist\ master.dat [FOU
ND]
[INFO] Searching in directory: D:\falltergeist\ critter.dat [FO
UND]
[INFO] [VIDEO] Renderer initialization - [OK]
[INFO] [GAME] Falltergeist 0.4.0 (Windows)
[INFO] [GAME] Opensource Fallout 2 game engine
[INFO] [RENDERER] SDL_CreateWindow 640x480x32 - [OK]
[INFO] [RENDERER] Init OpenGL - [OK]
[INFO] [RENDERER] Using OpenGL 3.1
[INFO] [RENDERER] Renderer: Intel(R) HD Graphics 3000
[INFO] [RENDERER] Version string: 3.1.0 - Build 9.17.10.4229
[INFO] [RENDERER] Vendor: Intel
[INFO] [RENDERER] Render path: OpenGL 2.1
[INFO] [RENDERER] Init GLEW - [OK]
[INFO] [RENDERER] Using GLEW 2.1.0
[INFO] [RENDERER] Extensions:
[INFO] [RENDERER] GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_blend_color G
L_EXT_abgr GL_EXT_texture3D GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array
 GL_SGIS_texture_edge_clamp GL_SGIS_generate_mipmap GL_EXT_draw_range_elements G
L_SGIS_texture_lod GL_EXT_rescale_normal GL_EXT_packed_pixels GL_EXT_texture_edg
e_clamp GL_EXT_separate_specular_color GL_ARB_multitexture GL_EXT_texture_env_co
mbine GL_EXT_bgra GL_EXT_blend_func_separate GL_EXT_secondary_color GL_EXT_fog_c
oord GL_EXT_texture_env_add GL_ARB_texture_cube_map GL_ARB_transpose_matrix GL_A
RB_texture_env_add GL_IBM_texture_mirrored_repeat GL_EXT_multi_draw_arrays GL_NV
_blend_square GL_ARB_texture_compression GL_3DFX_texture_compression_FXT1 GL_EXT
_texture_filter_anisotropic GL_ARB_texture_border_clamp GL_ARB_point_parameters
GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_env_crossbar G
L_EXT_texture_compression_s3tc GL_ARB_shadow GL_ARB_window_pos GL_EXT_shadow_fun
cs GL_EXT_stencil_wrap GL_ARB_vertex_program GL_EXT_texture_rectangle GL_ARB_fra
gment_program GL_EXT_stencil_two_side GL_ATI_separate_stencil GL_ARB_vertex_buff
er_object GL_EXT_texture_lod_bias GL_ARB_occlusion_query GL_ARB_fragment_shader
GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_non_power_of_tw
o GL_ARB_vertex_shader GL_NV_texgen_reflection GL_ARB_point_sprite GL_ARB_fragme
nt_program_shadow GL_EXT_blend_equation_separate GL_ARB_depth_texture GL_ARB_tex
ture_rectangle GL_ARB_draw_buffers GL_ARB_color_buffer_float GL_ARB_half_float_p
ixel GL_ARB_texture_float GL_ARB_pixel_buffer_object GL_EXT_framebuffer_object G
L_ARB_draw_instanced GL_ARB_half_float_vertex GL_ARB_occlusion_query2 GL_EXT_dra
w_buffers2 GL_WIN_swap_hint GL_EXT_texture_sRGB GL_ARB_multisample GL_EXT_packed
_float GL_EXT_texture_shared_exponent GL_ARB_texture_rg GL_ARB_texture_compressi
on_rgtc GL_NV_conditional_render GL_EXT_texture_swizzle GL_ARB_sync GL_ARB_frame
buffer_sRGB GL_EXT_packed_depth_stencil GL_ARB_depth_buffer_float GL_EXT_transfo
rm_feedback GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_ARB_frameb
uffer_object GL_EXT_texture_array GL_EXT_texture_integer GL_ARB_map_buffer_range
 GL_EXT_texture_snorm GL_INTEL_performance_queries GL_ARB_copy_buffer GL_ARB_sam
pler_objects GL_NV_primitive_restart GL_ARB_seamless_cube_map GL_ARB_uniform_buf
fer_object GL_ARB_depth_clamp GL_ARB_vertex_array_bgra GL_ARB_shader_bit_encodin
g GL_ARB_draw_buffers_blend GL_ARB_texture_query_lod GL_ARB_explicit_attrib_loca
tion GL_ARB_draw_elements_base_vertex GL_ARB_instanced_arrays GL_ARB_fragment_co
ord_conventions GL_EXT_gpu_program_parameters GL_ARB_texture_buffer_object_rgb32
 GL_ARB_compatibility GL_ARB_texture_rgb10_a2ui GL_ARB_vertex_type_2_10_10_10_re
v GL_ARB_timer_query GL_INTEL_map_texture GL_ARB_vertex_array_object GL_ARB_prov
oking_vertex
[INFO] [RENDERER] Loading default shaders
[INFO] Looking for Falltergeist data files
[INFO] Searching in directory: D:\falltergeist\/data/movies.lst
 [FOUND]
[INFO] [RENDERER] Loading shader D:\falltergeist\/data/shaders/
21/default.fp
[INFO] [RENDERER] Loading shader D:\falltergeist\/data/shaders/
21/default.vp
[INFO] [RENDERER] Loading shader D:\falltergeist\/data/shaders/
21/sprite.fp
[INFO] [RENDERER] Loading shader D:\falltergeist\/data/shaders/
21/sprite.vp
[ERROR] [RENDERER] Failed to compile shader: 'ERROR: 0:24: 'const 3-component ve
ctor of float' : cannot declare arrays of this qualifier
ERROR: 0:24: 'const' :  non-matching types (using implicit conversion) for const
 initializer
ERROR: 0:33: 'const 3-component vector of float' : cannot declare arrays of this
 qualifier
ERROR: 0:33: 'const' :  non-matching types (using implicit conversion) for const
 initializer
ERROR: 0:41: 'const 3-component vector of float' : cannot declare arrays of this
 qualifier
ERROR: 0:41: 'const' :  non-matching types (using implicit conversion) for const
 initializer
ERROR: 0:51: 'const 3-component vector of float' : cannot declare arrays of this
 qualifier
ERROR: 0:51: 'const' :  non-matching types (using implicit conversion) for const
 initializer
ERROR: 0:60: 'const 3-component vector of float' : cannot declare arrays of this
 qualifier
ERROR: 0:60: 'const' :  non-matching types (using implicit conversion) for const
 initializer
ERROR: 0:128: 'assign' :  cannot convert from 'float' to '3-component vector of
float'
ERROR: 0:134: 'assign' :  cannot convert from 'float' to '3-component vector of
float'
ERROR: 0:140: 'assign' :  cannot convert from 'float' to '3-component vector of
float'
ERROR: 0:146: 'assign' :  cannot convert from 'float' to '3-component vector of
float'
ERROR: 0:152: 'assign' :  cannot convert from 'float' to '3-component vector of
float'
[CRITICAL] Failed to compile shader.

VS solution: vs2019.zip

thank

@FakelsHub
Copy link

FakelsHub commented Oct 20, 2019

@burner1024 у тебя получилось это запустить?
я вчера целый день трахался с этими исходниками, в итоге скомпилоровалось, но exe не запускается пишет "ошибка памяти ля-ля-тополя", никаких сраных логов не создается чтобы посмотреть в чем проблема, вот что за сраный движок. :)
на трех разных системах win7 32/64 + winXp мне это не удалось запустить.

[INFO] [RENDERER] Loading default shaders
[INFO] Looking for Falltergeist data files
[INFO] Searching in directory: D:\falltergeist_\/data/movies.lst [FOUND]
[INFO] [RENDERER] Loading shader D:\falltergeist_\/data/shaders/21/default.fp
[INFO] [RENDERER] Loading shader D:\falltergeist_\/data/shaders/21/default.vp
[INFO] [RENDERER] Loading shader D:\falltergeist_\/data/shaders/21/sprite.fp
[INFO] [RENDERER] Loading shader D:\falltergeist_\/data/shaders/21/sprite.vp
[ERROR] [RENDERER] Failed to compile shader: '(24) : error C7516: OpenGL does not allow constant arrays
(33) : error C7516: OpenGL does not allow constant arrays
(41) : error C7516: OpenGL does not allow constant arrays
(51) : error C7516: OpenGL does not allow constant arrays
(60) : error C7516: OpenGL does not allow constant arrays
[CRITICAL] Failed to compile shader.

Нужно исправлять что-то в шейдерах.

@burner1024
Copy link

burner1024 commented Oct 20, 2019

То что я компилировал год назад у меня падало при запуске. То, что @JanSimek выложил (компилированная 64 битная версия), запускается, но падает при начале новой игры. Но это я под вайном пробую.

@JanSimek
Copy link
Contributor

JanSimek commented Oct 20, 2019

That's strange - the binary I compiled on Windows runs on my 64bit Arch linux under Wine without a problem. I use Nvidia drivers.

@FakelsHub
Copy link

FakelsHub commented Oct 21, 2019

@JanSimek
How did you build the zlibstat.lib library, what configuration did you choose?
I have with it there are problems when run falltergeist.exe

UPD: earned cheer!!! zlibstat.lib need to build with ZlibStatReleaseWithoutAsm configuration.

@FakelsHub
Copy link

FakelsHub commented Oct 21, 2019

Old video cards that don't have support OpenGL 3.2, with shader files version 2.1 there are problems.

@FakelsHub
Copy link

FakelsHub commented Oct 21, 2019

@burner1024
Вобщем думал, что движок реально сделан процентов на 30%, если судить по версии.
Но по факту сделано очень мало тянет на 10-15%, тупо ходишь по карте, косяков немеряно.
в общем долбимся в старый оригинальный движок) этому еще лет 10 надо до завершения.

@burner1024
Copy link

есть вроде еще какие-то имплементации, можно их посмотреть.

@FakelsHub
Copy link

есть вроде еще какие-то имплементации, можно их посмотреть.

Недавно узнал о Vault13 но там вроде еще меньше, если судить по количеству коммитов.

@burner1024
Copy link

кто-то там еще прямо в браузер пилит https://osgameclones.com/ тут список есть.

@alexeevdv
Copy link
Contributor

alexeevdv commented Oct 21, 2019

этому еще лет 10 надо до завершения.

А может и больше. Болтать же не мешки ворочать, правильно? )

@FakelsHub
Copy link

FakelsHub commented Oct 21, 2019

кто-то там еще прямо в браузер пилит https://osgameclones.com/ тут список есть.

Браузерки - ну это несерьезно.

@FakelsHub
Copy link

А может и больше. Болтать же не мешки ворочать, правильно? )

В текущем темпе да вообще еще больше, 10 лет а может и меньше, это если кто-то подключится) и начнет писать движок.

@FakelsHub
Copy link

Я так и непонял, что такое appveyor.yml это удаленная компиляция?

@JanSimek
Copy link
Contributor

JanSimek commented Oct 21, 2019

Я так и непонял, что такое appveyor.yml это удаленная компиляция?

Yes, it's like Travis CI, but mainly used for Windows builds. There is a Discord Discord available..

@FakelsHub
Copy link

but mainly used for Windows builds.

and where it stores the compiled file, something I do not see it in the repository.

@JanSimek
Copy link
Contributor

and where it stores the compiled file, something I do not see it in the repository.

Once we get it to work it will store compiled binaries in the Releases tab here on the Github project page, but we first need to either fix this conan issue with sdl_image library or use vcpkg instead.

@FakelsHub
Copy link

@alexeevdv

Болтать же не мешки ворочать, правильно? )

Ну давай займемся мешками)
Где я с тобой могу поговорить о мешках? а то есть некоторые мне не понятные в коде мешки (зачем они там, и почему), и хочется их просто удалить.
Надесь "на поболтать" у вас время найдется? :)

@alexeevdv
Copy link
Contributor

Меня не сложно найти в интернете. Ссылка на дискорд есть на главной странице этого репозитория Discord

@667bdrm
Copy link
Contributor

667bdrm commented Jul 23, 2020

Here is my windows x64 local build instructions variant:

  1. Install Conan from conan.io
  2. Install Microsoft C++ Build Tools from https://visualstudio.microsoft.com/visual-cpp-build-tools/ or Microsoft Visual Studio with C++ SDK.
  3. Prepare developer environment shell. Run x64 Native Tools Command Prompt for VS 2019 or prepare own shell:

for /f "tokens=1 delims=" %%i in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\installer\vswhere.exe" -products * -latest -requires Microsoft.Component.MSBuild -find **\Build\vcvars64.bat') do set VCVARS64=%%i

call "%VCVARS64%"

  1. Open falltergeist root folder in command shell
  2. Run the following shell command:

conan profile new vs --detect
conan profile update settings.build_type=Debug vs

  1. Add SDL repository:

conan remote add bincrafters "https://api.bintray.com/conan/bincrafters/public-conan"

  1. Install dependencies running the following:

mkdir build
cd build
conan install .. --profile vs --build missing

  1. Generate makefiles:

cmake .. -G "Visual Studio 16 2019" -A x64

  1. Build falltergeist:

msbuild falltergeist.sln -p:Configuration=Debug

@667bdrm
Copy link
Contributor

667bdrm commented Jul 24, 2020

@JanSimek, I see that .appveyor.yml have no references to conan. Does that mean that windows version using vcpkg instead of conan for dependencies? Trying to figure out why my local windows build (built by updated steps above based on readme) crashing and see, that build based on conan dependencies using statically linked sdl, etc, while AppVeyor build using dynamic linking. Tried to use the debugger, but it stops on statically linked sdl code.

falltergeist-win-crash.txt

@JanSimek
Copy link
Contributor

Yes, for all I know the conan build is still broken because of this bug: bincrafters/community#981

They supposedly fixed it, but then @s7jones also reported that it's still crashing, so I used vcpkg for the appveyor build instead (see #476 (comment))

@667bdrm
Copy link
Contributor

667bdrm commented Jul 25, 2020

Thank You, was able to build working windows version using vcpkg dependencies with Visual Studio 16 2019 standalone build tools.

Note: when I tried to run downloaded artifact from AppVeyor, I've found that installer installs only falltergeist.exe and data to program files, no dlls. Maybe needs to update AppVeyor script to include dlls (sdl, glew, etc).

@necros2k7 necros2k7 changed the title win binary pls Feat.req. Win binary Sep 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants