Jump to content

Packaged Mac App


Recommended Posts

  • 1 month later...
  • Replies 61
  • Created
  • Last Reply

Top Posters In This Topic

Dude... when I saw it I was like... WHOA! Specular maps add a nice shine. And the research stuff is nice. I do have one question. Can keep the app update by replacing the mods/public folder with newer versions? Or will that break the app?

Edit: An error at start up about wrong chipset (supposed to be Intel HD 3000) but I dont see any consequences or such during gameplay.

Link to comment
Share on other sites

  • 3 months later...

I wonder how much effort it would take to go the Overgrowth route and have an auto-updater (if you haven't pre-ordered the game yet, it's valuable just to see all of the things they're doing right).

I would definitely like an auto-updater for 0 A.D. (y) No idea how it would work for Macs though, you can't really change an app bundle, or shouldn't anyway especially if we start signing the bundle. Maybe mod data would go in Library/Application Settings, the first time you run the app it could download the latest data, future updates would be incremental. If the engine changes, it would need to download a new app bundle. This would require a significant change in how we distribute the game.

Of course if we do auto-updating, the bigger problem is getting it to work with multiplayer.

Link to comment
Share on other sites

I'm not sure that you can't change an app bundle. They act just like folders (i.e. /Users/../Applications/0AD.app/Contents/Resources). I think this is how Wolfire does it.

Google does it as well with their Chrome app. But the problem is code signing. From OS X Mountain Lion on, applications that are not from the App Store or signed cannot be installed on a Mac, unless the user has changed her default security settings. I guess changing an App Bundle would break this signing, which is probably based on a signature of the contents. If this is true, there could be a way around by having the 0 A.D. app being very simple, namely just an updater that puts everything, including the actual runtime application in /User/name/Library/Application Support/0ad/ and run it from there. The first time it gets started it will simply download everything, and as soon as that is done it acts as a shortcut to the real application.

Link to comment
Share on other sites

  • 2 weeks later...

Some notes about playing 0ad alpha 11 from my new MacBook Pro Retina.

I think these thing happen to me it's caused because the Retina Display resolutions.

First of all, my System info log extracted by the game and stored in MyUserFolder/Application Support/0ad/log/

(generated 2012-09-08 09:27:08 UTC)

OS : Darwin 12.1.0 (Darwin Kernel Version 12.1.0: Tue Aug 14 13:29:55 PDT 2012; root:xnu-2050.9.2~1/RELEASE_X86_64)

CPU : x86_64, Intel Core i7-3720QM @ 2.60GHz (1x8x1), 2.59 GHz

Memory : 2048 MiB; 582 MiB free

Graphics Card : NVIDIA NVIDIA GeForce GT 650M OpenGL Engine

OpenGL Drivers : 2.1 NVIDIA-8.0.51; OpenGL 2.1 NVIDIA-8.0.51

Video Mode : 1440x900:32

Sound Card : Unknown

Sound Drivers : Unknown

OpenGL Extensions:

GL_ARB_color_buffer_float

GL_ARB_depth_buffer_float

GL_ARB_depth_clamp

GL_ARB_depth_texture

GL_ARB_draw_buffers

GL_ARB_draw_elements_base_vertex

GL_ARB_draw_instanced

GL_ARB_fragment_program

GL_ARB_fragment_program_shadow

GL_ARB_fragment_shader

GL_ARB_framebuffer_object

GL_ARB_framebuffer_sRGB

GL_ARB_half_float_pixel

GL_ARB_half_float_vertex

GL_ARB_imaging

GL_ARB_instanced_arrays

GL_ARB_multisample

GL_ARB_multitexture

GL_ARB_occlusion_query

GL_ARB_pixel_buffer_object

GL_ARB_point_parameters

GL_ARB_point_sprite

GL_ARB_provoking_vertex

GL_ARB_seamless_cube_map

GL_ARB_shader_objects

GL_ARB_shader_texture_lod

GL_ARB_shading_language_100

GL_ARB_shadow

GL_ARB_sync

GL_ARB_texture_border_clamp

GL_ARB_texture_compression

GL_ARB_texture_compression_rgtc

GL_ARB_texture_cube_map

GL_ARB_texture_env_add

GL_ARB_texture_env_combine

GL_ARB_texture_env_crossbar

GL_ARB_texture_env_dot3

GL_ARB_texture_float

GL_ARB_texture_mirrored_repeat

GL_ARB_texture_non_power_of_two

GL_ARB_texture_rectangle

GL_ARB_texture_rg

GL_ARB_transpose_matrix

GL_ARB_vertex_array_bgra

GL_ARB_vertex_blend

GL_ARB_vertex_buffer_object

GL_ARB_vertex_program

GL_ARB_vertex_shader

GL_ARB_window_pos

GL_EXT_abgr

GL_EXT_bgra

GL_EXT_bindable_uniform

GL_EXT_blend_color

GL_EXT_blend_equation_separate

GL_EXT_blend_func_separate

GL_EXT_blend_minmax

GL_EXT_blend_subtract

GL_EXT_clip_volume_hint

GL_EXT_compiled_vertex_array

GL_EXT_depth_bounds_test

GL_EXT_draw_buffers2

GL_EXT_draw_range_elements

GL_EXT_fog_coord

GL_EXT_framebuffer_blit

GL_EXT_framebuffer_multisample

GL_EXT_framebuffer_multisample_blit_scaled

GL_EXT_framebuffer_object

GL_EXT_framebuffer_sRGB

GL_EXT_geometry_shader4

GL_EXT_gpu_program_parameters

GL_EXT_gpu_shader4

GL_EXT_multi_draw_arrays

GL_EXT_packed_depth_stencil

GL_EXT_packed_float

GL_EXT_provoking_vertex

GL_EXT_rescale_normal

GL_EXT_secondary_color

GL_EXT_shadow_funcs

GL_EXT_stencil_two_side

GL_EXT_stencil_wrap

GL_EXT_texture_array

GL_EXT_texture_compression_dxt1

GL_EXT_texture_compression_s3tc

GL_EXT_texture_env_add

GL_EXT_texture_filter_anisotropic

GL_EXT_texture_integer

GL_EXT_texture_lod_bias

GL_EXT_texture_mirror_clamp

GL_EXT_texture_rectangle

GL_EXT_texture_shared_exponent

GL_EXT_texture_sRGB

GL_EXT_texture_sRGB_decode

GL_EXT_timer_query

GL_EXT_transform_feedback

GL_EXT_vertex_array_bgra

GL_APPLE_aux_depth_stencil

GL_APPLE_client_storage

GL_APPLE_element_array

GL_APPLE_fence

GL_APPLE_float_pixels

GL_APPLE_flush_buffer_range

GL_APPLE_flush_render

GL_APPLE_object_purgeable

GL_APPLE_packed_pixels

GL_APPLE_pixel_buffer

GL_APPLE_rgb_422

GL_APPLE_row_bytes

GL_APPLE_specular_vector

GL_APPLE_texture_range

GL_APPLE_transform_hint

GL_APPLE_vertex_array_object

GL_APPLE_vertex_array_range

GL_APPLE_vertex_point_size

GL_APPLE_vertex_program_evaluators

GL_APPLE_ycbcr_422

GL_ATI_separate_stencil

GL_ATI_texture_env_combine3

GL_ATI_texture_float

GL_ATI_texture_mirror_once

GL_IBM_rasterpos_clip

GL_NV_blend_square

GL_NV_conditional_render

GL_NV_depth_clamp

GL_NV_fog_distance

GL_NV_fragment_program_option

GL_NV_fragment_program2

GL_NV_light_max_exponent

GL_NV_multisample_filter_hint

GL_NV_point_sprite

GL_NV_texgen_reflection

GL_NV_vertex_program2_option

GL_NV_vertex_program3

GL_SGIS_generate_mipmap

GL_SGIS_texture_edge_clamp

GL_SGIS_texture_lod

SMBIOS:

Second thing:

- I only can see a part of the main menu page. That's what i see, marked with the stripe of a rectangle.

http://imageshack.us...admainmenu.jpg/

- In the main menu page, I can't push buttons of the menu positioning the mouse cursors above the button. To select/push a button on the main menu page the cursor must be in the same x coordinate as the button but with y coordinate lower, taking the origin in the lower left corner. It's so weird move into the differente menu pages with these way of work.

* I try to start a scenario thinking these things could be solved in but i can push the 'start game' button. And trying to go back in the menu, to the main menu page and i can't. It's not possible use keys to move in the menu, ESC to go backwards and and tab to move between buttons ???

* I need to turn off my mac to leave the game.

- Third thing. I see there are graphical options that are choosable changing some boolean vars. I see this configuration file (default.cfg in 0ad.app package) and read the instructions. I read that to apply my personal settings i need to create a file called local.cfg in MyUserFolder/Application Support/0ad/config/ but i do this to change the game resolution to something compatible with the Retina (default in Retina Display is 2880x1400) and write only two lines: xres=1440 and yres= 900 but the game log when I re-run the game tell me that nothing really happen. The game log only changes the xres and yres resolution when i change it in the default.cfg file from 0, 0 to 1440, 900.

- Fourth thing. Sound play good. Nice work.

mainlog.html

0 A.D. Main log

Loading config file "config/default.cfg"

Loaded config string "windowed" = "false"

Loaded config string "pauseonfocusloss" = "true"

Loaded config string "xres" = "1440"

Loaded config string "yres" = "900"

Loaded config string "bpp" = "0"

Loaded config string "fancywater" = "true"

Loaded config string "shadows" = "true"

Loaded config string "shadowpcf" = "true"

Loaded config string "vsync" = "false"

Loaded config string "particles" = "true"

Loaded config string "silhouettes" = "true"

Loaded config string "showsky" = "false"

Loaded config string "nos3tc" = "false"

Loaded config string "noautomipmap" = "true"

Loaded config string "novbo" = "false"

Loaded config string "noframebufferobject" = "false"

Loaded config string "nohwcursor" = "false"

Loaded config string "force_s3tc_enable" = "true"

Loaded config string "renderpath" = "default"

Loaded config string "preferglsl" = "false"

Loaded config string "gentangents" = "false"

Loaded config string "smoothlos" = "false"

Loaded config string "materialmgr.quality" = "0.0"

Loaded config string "materialmgr.PARALLAX_DIST.max" = "150"

Loaded config string "materialmgr.PARALLAX_HQ_DIST.max" = "75"

Loaded config string "materialmgr.PARALLAX_VHQ_DIST.max" = "0"

Loaded config string "forcealphatest" = "false"

Loaded config string "gpuskinning" = "false"

Loaded config string "userreport.url" = "http://feedback.wildfiregames.com/report/upload/v1/"

Loaded config string "skycolor" = "0 0 0"

Loaded config string "sound.mastergain" = "0.9"

Loaded config string "sound.musicgain" = "0.2"

Loaded config string "sound.ambientgain" = "0.6"

Loaded config string "sound.actiongain" = "0.7"

Loaded config string "sound.bufferCount" = "50"

Loaded config string "sound.bufferSize" = "98304"

Loaded config string "view.scroll.speed" = "120.0"

Loaded config string "view.scroll.speed.modifier" = "1.05"

Loaded config string "view.rotate.x.speed" = "1.2"

Loaded config string "view.rotate.x.min" = "28.0"

Loaded config string "view.rotate.x.max" = "60.0"

Loaded config string "view.rotate.x.default" = "35.0"

Loaded config string "view.rotate.y.speed" = "2.0"

Loaded config string "view.rotate.y.speed.wheel" = "0.45"

Loaded config string "view.rotate.y.default" = "0.0"

Loaded config string "view.rotate.speed.modifier" = "1.05"

Loaded config string "view.drag.speed" = "0.5"

Loaded config string "view.zoom.speed" = "256.0"

Loaded config string "view.zoom.speed.wheel" = "32.0"

Loaded config string "view.zoom.min" = "50.0"

Loaded config string "view.zoom.max" = "200.0"

Loaded config string "view.zoom.default" = "120.0"

Loaded config string "view.zoom.speed.modifier" = "1.05"

Loaded config string "view.pos.smoothness" = "0.1"

Loaded config string "view.zoom.smoothness" = "0.4"

Loaded config string "view.rotate.x.smoothness" = "0.5"

Loaded config string "view.rotate.y.smoothness" = "0.3"

Loaded config string "view.near" = "2.0"

Loaded config string "view.far" = "4096.0"

Loaded config string "view.fov" = "45.0"

Loaded config string "view.height.smoothness" = "0.5"

Loaded config string "view.height.min" = "16"

Loaded config string "hotkey.exit" = "Alt+F4"

Loaded config string "hotkey.exit" = "Ctrl+Break"

Loaded config string "hotkey.leave" = "Escape"

Loaded config string "hotkey.pause" = "Pause"

Loaded config string "hotkey.screenshot" = "F2"

Loaded config string "hotkey.bigscreenshot" = "Shift+F2"

Loaded config string "hotkey.togglefullscreen" = "Alt+Return"

Loaded config string "hotkey.screenshot.watermark" = "K"

Loaded config string "hotkey.wireframe" = "Alt+W"

Loaded config string "hotkey.silhouettes" = "Alt+S"

Loaded config string "hotkey.showsky" = "Alt+Z"

Loaded config string "hotkey.camera.reset" = "H"

Loaded config string "hotkey.camera.follow" = "F"

Loaded config string "hotkey.camera.zoom.in" = "Plus"

Loaded config string "hotkey.camera.zoom.in" = "Equals"

Loaded config string "hotkey.camera.zoom.in" = "NumPlus"

Loaded config string "hotkey.camera.zoom.out" = "Minus"

Loaded config string "hotkey.camera.zoom.out" = "NumMinus"

Loaded config string "hotkey.camera.zoom.wheel.in" = "WheelUp"

Loaded config string "hotkey.camera.zoom.wheel.out" = "WheelDown"

Loaded config string "hotkey.camera.rotate.up" = "Ctrl+UpArrow"

Loaded config string "hotkey.camera.rotate.up" = "Ctrl+W"

Loaded config string "hotkey.camera.rotate.down" = "Ctrl+DownArrow"

Loaded config string "hotkey.camera.rotate.down" = "Ctrl+S"

Loaded config string "hotkey.camera.rotate.cw" = "Ctrl+LeftArrow"

Loaded config string "hotkey.camera.rotate.cw" = "Ctrl+A"

Loaded config string "hotkey.camera.rotate.cw" = "Q"

Loaded config string "hotkey.camera.rotate.ccw" = "Ctrl+RightArrow"

Loaded config string "hotkey.camera.rotate.ccw" = "Ctrl+D"

Loaded config string "hotkey.camera.rotate.ccw" = "E"

Loaded config string "hotkey.camera.rotate.wheel.cw" = "Shift+WheelUp"

Loaded config string "hotkey.camera.rotate.wheel.cw" = "MouseX1"

Loaded config string "hotkey.camera.rotate.wheel.ccw" = "Shift+WheelDown"

Loaded config string "hotkey.camera.rotate.wheel.ccw" = "MouseX2"

Loaded config string "hotkey.camera.pan" = "MouseMiddle"

Loaded config string "hotkey.camera.pan" = "ForwardSlash"

Loaded config string "hotkey.camera.left" = "A"

Loaded config string "hotkey.camera.left" = "LeftArrow"

Loaded config string "hotkey.camera.right" = "D"

Loaded config string "hotkey.camera.right" = "RightArrow"

Loaded config string "hotkey.camera.up" = "W"

Loaded config string "hotkey.camera.up" = "UpArrow"

Loaded config string "hotkey.camera.down" = "S"

Loaded config string "hotkey.camera.down" = "DownArrow"

Loaded config string "hotkey.camera.scroll.speed.increase" = "Ctrl+Shift+S"

Loaded config string "hotkey.camera.scroll.speed.decrease" = "Ctrl+Alt+S"

Loaded config string "hotkey.camera.rotate.speed.increase" = "Ctrl+Shift+R"

Loaded config string "hotkey.camera.rotate.speed.decrease" = "Ctrl+Alt+R"

Loaded config string "hotkey.camera.zoom.speed.increase" = "Ctrl+Shift+Z"

Loaded config string "hotkey.camera.zoom.speed.decrease" = "Ctrl+Alt+Z"

Loaded config string "hotkey.console.toggle" = "BackQuote"

Loaded config string "hotkey.console.toggle" = "F9"

Loaded config string "hotkey.copy" = "Ctrl+C"

Loaded config string "hotkey.paste" = "Ctrl+V"

Loaded config string "hotkey.cut" = "Ctrl+X"

Loaded config string "hotkey.selection.add" = "Shift"

Loaded config string "hotkey.selection.milonly" = "Alt"

Loaded config string "hotkey.selection.remove" = "Ctrl"

Loaded config string "hotkey.selection.idleworker" = "Period"

Loaded config string "hotkey.selection.idlewarrior" = "Comma"

Loaded config string "hotkey.selection.offscreen" = "Alt"

Loaded config string "hotkey.selection.group.select.0" = "0"

Loaded config string "hotkey.selection.group.save.0" = "Ctrl+0"

Loaded config string "hotkey.selection.group.add.0" = "Shift+0"

Loaded config string "hotkey.selection.group.select.1" = "1"

Loaded config string "hotkey.selection.group.save.1" = "Ctrl+1"

Loaded config string "hotkey.selection.group.add.1" = "Shift+1"

Loaded config string "hotkey.selection.group.select.2" = "2"

Loaded config string "hotkey.selection.group.save.2" = "Ctrl+2"

Loaded config string "hotkey.selection.group.add.2" = "Shift+2"

Loaded config string "hotkey.selection.group.select.3" = "3"

Loaded config string "hotkey.selection.group.save.3" = "Ctrl+3"

Loaded config string "hotkey.selection.group.add.3" = "Shift+3"

Loaded config string "hotkey.selection.group.select.4" = "4"

Loaded config string "hotkey.selection.group.save.4" = "Ctrl+4"

Loaded config string "hotkey.selection.group.add.4" = "Shift+4"

Loaded config string "hotkey.selection.group.select.5" = "5"

Loaded config string "hotkey.selection.group.save.5" = "Ctrl+5"

Loaded config string "hotkey.selection.group.add.5" = "Shift+5"

Loaded config string "hotkey.selection.group.select.6" = "6"

Loaded config string "hotkey.selection.group.save.6" = "Ctrl+6"

Loaded config string "hotkey.selection.group.add.6" = "Shift+6"

Loaded config string "hotkey.selection.group.select.7" = "7"

Loaded config string "hotkey.selection.group.save.7" = "Ctrl+7"

Loaded config string "hotkey.selection.group.add.7" = "Shift+7"

Loaded config string "hotkey.selection.group.select.8" = "8"

Loaded config string "hotkey.selection.group.save.8" = "Ctrl+8"

Loaded config string "hotkey.selection.group.add.8" = "Shift+8"

Loaded config string "hotkey.selection.group.select.9" = "9"

Loaded config string "hotkey.selection.group.save.9" = "Ctrl+9"

Loaded config string "hotkey.selection.group.add.9" = "Shift+9"

Loaded config string "hotkey.session.kill" = "Delete"

Loaded config string "hotkey.session.garrison" = "Ctrl"

Loaded config string "hotkey.session.queue" = "Shift"

Loaded config string "hotkey.session.batchtrain" = "Shift"

Loaded config string "hotkey.session.massbarter" = "Shift"

Loaded config string "hotkey.session.unloadtype" = "Shift"

Loaded config string "hotkey.session.deselectgroup" = "Ctrl"

Loaded config string "hotkey.session.rotate.cw" = "RightBracket"

Loaded config string "hotkey.session.rotate.ccw" = "LeftBracket"

Loaded config string "hotkey.timewarp.fastforward" = "Space"

Loaded config string "hotkey.timewarp.rewind" = "Backspace"

Loaded config string "hotkey.fps.toggle" = "Alt+F"

Loaded config string "hotkey.session.devcommands.toggle" = "Alt+D"

Loaded config string "hotkey.session.gui.toggle" = "Alt+G"

Loaded config string "hotkey.menu.toggle" = "F10"

Loaded config string "hotkey.timeelapsedcounter.toggle" = "F12"

Loaded config string "hotkey.session.showstatusbars" = "Tab"

Loaded config string "hotkey.chat" = "Return"

Loaded config string "hotkey.teamchat" = "T"

Loaded config string "hotkey.text.delete.left" = "Ctrl+Backspace"

Loaded config string "hotkey.text.delete.right" = "Ctrl+Del"

Loaded config string "hotkey.text.move.left" = "Ctrl+LeftArrow"

Loaded config string "hotkey.text.move.right" = "Ctrl+RightArrow"

Loaded config string "hotkey.profile.toggle" = "F11"

Loaded config string "hotkey.profile.save" = "Shift+F11"

Loaded config string "hotkey.profile2.enable" = "F11"

Loaded config string "profiler2.http.autoenable" = "false"

Loaded config string "profiler2.gpu.autoenable" = "false"

Loaded config string "profiler2.gpu.arb.enable" = "true"

Loaded config string "profiler2.gpu.ext.enable" = "true"

Loaded config string "profiler2.gpu.intel.enable" = "true"

Loaded config string "hotkey.quicksave" = "Shift+F5"

Loaded config string "hotkey.quickload" = "Shift+F8"

Loaded config string "joystick.enable" = "false"

Loaded config string "joystick.deadzone" = "8192"

Loaded config string "joystick.camera.pan.x" = "0"

Loaded config string "joystick.camera.pan.y" = "1"

Loaded config string "joystick.camera.rotate.x" = "3"

Loaded config string "joystick.camera.rotate.y" = "2"

Loaded config string "joystick.camera.zoom.in" = "5"

Loaded config string "joystick.camera.zoom.out" = "4"

Loading config file "config/local.cfg"

Loaded config string "xres" = "1440"

Loaded config string "yres" = "900"

Loaded config string "preferglsl" = "true"

Loading config file "config/user.cfg"

Loaded config string "userreport.enabledversion" = "0"

Loaded config string "userreport.id" = "d28e9c3581ceea36"

CRenderer::Open: depth bits 24

CRenderer::Open: stencil bits 8

CRenderer::Open: alpha bits 8

Engine exited successfully on 2012-09-08 at 11:27:15 with 205 message(s), 0 error(s) and 0 warning(s).

I think these could help future develops.

Edited by memmaker650
Link to comment
Share on other sites

The retina display issue is a known problem, at this point we believe it's an SDL bug, it's hard to test without a retina display though :( Try running the game in windowed mode instead by setting windowed=true, that should work.

Ok, your solution proposed works fine, now i can play de game and see all the main menu page.

But to allow windowed mode i need to change the value in the default.cfg and not in the Application Support file.

If you need to test something in the Retina please tell me and I will do it and bring you back de logs or data you want.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...