AGS Engine

Further development of AGS engine

Feature Issue: Port to Allegro 5?

Pages: [1]

BigMc

  • AGSer
  • Posts: 281
« on: 03 Oct 2012, 14:17 »
I'm opening this issue to discuss whether it is a good idea to port the engine to Allegro 5.

AGS currently uses Allegro 4, which is "on life support" and has the following limitations, which are all addressed by Allegro 5:

  • Does not work on Mac OS X 10.7 and later. (Forum)
  • No sub-pixel accuracy. (Comparison, Forum)
  • AGS includes 3rd party addons for Allegro 4 that are not supported anymore (alfont, almp3, alogg, apeg). It would be nice to use maintained libraries instead.

Allegro 5 is maintained, has a revised API and includes all the useful addons that only existed as 3rd party addons for Allegro 4 (5.0 doesn't have the video addon yet, but 5.1 seems to have it).
On the other hand, porting would be some work (see Porting_from_A4_to_A5).

What do you think?
« Last Edit: 03 Oct 2012, 14:20 by BigMc »

Crimson Wizard

  • AGSer
  • Posts: 8,454
« Reply #1 on: 04 Oct 2012, 11:42 »
Beforehand this requires hiding all allegro calls behind interfaces.
I started doing this by making Bitmap interface, but there's still some work to do: finish wrapping graphics in general, then wrap device drivers (mouse and keyboard). Maybe something else, that I forgot.
That's pretty possible, but will take some time. I believe it MUST be done before changing libraries.

BigMc

  • AGSer
  • Posts: 281
« Reply #2 on: 06 Oct 2012, 03:34 »
Don't forget that all calls to alfont, almp3, alogg and apeg would also have to be replaced.

I was curious how often Allegro is called, so I got a list of symbols exported by Allegro
Add spoiler tag for Hidden:
acquire_bitmap
acquire_screen
active_dialog
active_menu
add_clip_rect
adjust_sample
al_assert
al_ffblk_get_size
al_findclose
al_findfirst
al_findnext
al_trace
alert3
alert
allegro_404_char
allegro_errno
allegro_error
allegro_exit
allegro_icon
allegro_id
allegro_message
allocate_voice
append_filename
apply_matrix
apply_matrix_f
apply_quat
arc
bestfit_color
bitmap_color_depth
bitmap_mask_color
black_palette
blit
bmp_read24
bmp_read_line
bmp_unwrite_line
bmp_write24
bmp_write_line
broadcast_dialog_message
calc_spline
calibrate_joystick
calibrate_joystick_name
canonicalize_filename
centre_dialog
check_cpu
circle
circlefill
clear_bitmap
clear_keybuf
clear_scene
clear_to_color
clear_zbuffer
clip3d
clip3d_f
close_fli
color_map
config_is_hooked
cpu_capabilities
cpu_family
cpu_model
cpu_vendor
create_bitmap
create_bitmap_ex
create_blender_table
create_color_table
create_datafile_index
create_light_table
create_lzss_pack_data
create_lzss_unpack_data
create_rgb_table
create_sample
create_scene
create_sub_bitmap
create_sub_zbuffer
create_system_bitmap
create_trans_table
create_video_bitmap
create_zbuffer
cross_product
cross_product_f
d_bitmap_proc
d_box_proc
d_button_proc
d_check_proc
d_clear_proc
d_ctext_proc
d_edit_proc
d_icon_proc
d_keyboard_proc
d_list_proc
d_menu_proc
d_radio_proc
d_rtext_proc
d_shadow_box_proc
d_slider_proc
d_text_list_proc
d_text_proc
d_textbox_proc
d_yield_proc
deallocate_voice
default_palette
delete_file
desktop_color_depth
desktop_palette
destroy_bitmap
destroy_compiled_sprite
destroy_datafile_index
destroy_font
destroy_gfx_mode_list
destroy_midi
destroy_rle_sprite
destroy_sample
destroy_scene
destroy_zbuffer
detect_digi_driver
detect_midi_driver
dialog_message
digi_card
digi_driver
digi_input_card
digi_input_driver
digi_oss
digi_recorder
disable_hardware_cursor
do_arc
do_circle
do_dialog
do_ellipse
do_line
do_menu
do_uconvert
dot_product
dot_product_f
draw_character
draw_character_ex
draw_compiled_sprite
draw_gouraud_sprite
draw_lit_rle_sprite
draw_lit_sprite
draw_rle_sprite
draw_sprite
draw_sprite_ex
draw_sprite_h_flip
draw_sprite_v_flip
draw_sprite_vh_flip
draw_trans_rle_sprite
draw_trans_sprite
drawing_mode
ellipse
ellipsefill
empty_string
enable_hardware_cursor
enable_triple_buffer
exists
extract_font_range
fade_from
fade_from_range
fade_in
fade_in_range
fade_interpolate
fade_out
fade_out_range
fastline
file_exists
file_select
file_select_ex
file_size
file_size_ex
file_time
find_allegro_resource
find_datafile_object
find_dialog_focus
fix_filename_case
fix_filename_slashes
fixacos
fixadd
fixasin
fixatan2
fixatan
fixceil
fixcos
fixdiv
fixfloor
fixhypot
fixmul
fixsin
fixsqrt
fixsub
fixtan
fixtof
fixtoi
fixtorad_r
fixup_datafile
fli_bitmap
fli_bmp_dirty_from
fli_bmp_dirty_to
fli_frame
fli_pal_dirty_from
fli_pal_dirty_to
fli_palette
fli_timer
floodfill
flush_config_file
font
font_has_alpha
font_vtable_color
font_vtable_mono
font_vtable_trans
for_each_file
for_each_file_ex
free_audio_stream_buffer
free_config_entries
free_lzss_pack_data
free_lzss_unpack_data
freeze_mouse_flag
ftofix
generate_332_palette
generate_optimized_palette
get_align_matrix
get_align_matrix_f
get_audio_stream_buffer
get_camera_matrix
get_camera_matrix_f
get_clip_rect
get_clip_state
get_color
get_color_conversion
get_color_depth
get_compiled_sprite
get_config_argv
get_config_float
get_config_hex
get_config_id
get_config_int
get_config_string
get_config_text
get_datafile_property
get_desktop_resolution
get_display_switch_mode
get_executable_name
get_extension
get_file_encoding
get_filename
get_filename_encoding
get_font_range_begin
get_font_range_end
get_font_ranges
get_gfx_mode
get_gfx_mode_list
get_gfx_mode_type
get_hardware_volume
get_midi_length
get_mixer_bits
get_mixer_buffer_length
get_mixer_channels
get_mixer_frequency
get_mixer_quality
get_mixer_voices
get_mouse_mickeys
get_palette
get_palette_range
get_refresh_rate
get_rle_sprite
get_rotation_matrix
get_rotation_matrix_f
get_rotation_quat
get_scaling_matrix
get_scaling_matrix_f
get_sound_input_cap_bits
get_sound_input_cap_parm
get_sound_input_cap_rate
get_sound_input_cap_stereo
get_transformation_matrix
get_transformation_matrix_f
get_translation_matrix
get_translation_matrix_f
get_uformat
get_vector_rotation_matrix
get_vector_rotation_matrix_f
get_vector_rotation_quat
get_volume
get_x_rotate_matrix
get_x_rotate_matrix_f
get_x_rotate_quat
get_y_rotate_matrix
get_y_rotate_matrix_f
get_y_rotate_quat
get_z_rotate_matrix
get_z_rotate_matrix_f
get_z_rotate_quat
geta32
geta
geta_depth
getb15
getb16
getb24
getb32
getb8
getb
getb_depth
getg15
getg16
getg24
getg32
getg8
getg
getg_depth
getpixel
getr15
getr16
getr24
getr32
getr8
getr
getr_depth
gfx_capabilities
gfx_driver
gfx_mode_select
gfx_mode_select_ex
gfx_mode_select_filter
grab_font_from_bitmap
gui_bg_color
gui_button_proc
gui_ctext_proc
gui_edit_proc
gui_fg_color
gui_font_baseline
gui_get_screen
gui_list_proc
gui_menu_draw_menu
gui_menu_draw_menu_item
gui_mg_color
gui_mouse_b
gui_mouse_focus
gui_mouse_x
gui_mouse_y
gui_mouse_z
gui_set_screen
gui_shadow_box_proc
gui_strlen
gui_text_list_proc
gui_textout
gui_textout_ex
hook_config_section
hsv_to_rgb
identity_matrix
identity_matrix_f
identity_quat
init_dialog
init_menu
initialise_joystick
install_allegro
install_int
install_int_ex
install_joystick
install_keyboard
install_keyboard_hooks
install_mouse
install_param_int
install_param_int_ex
install_sound
install_sound_input
install_timer
is_color_font
is_compatible_font
is_inside_bitmap
is_linear_bitmap
is_memory_bitmap
is_mono_font
is_planar_bitmap
is_relative_filename
is_same_bitmap
is_screen_bitmap
is_sub_bitmap
is_system_bitmap
is_trans_font
is_video_bitmap
is_windowed_mode
itofix
joy
joystick_driver
joystick_none
key
key_led_flag
key_shifts
keyboard_callback
keyboard_driver
keyboard_lowlevel_callback
keyboard_needs_poll
keyboard_ucallback
keypressed
line
list_config_entries
list_config_sections
load_bios_font
load_bitmap
load_bitmap_font
load_bmp
load_bmp_pf
load_dat_font
load_datafile
load_datafile_callback
load_datafile_object
load_datafile_object_indexed
load_font
load_grx_font
load_grx_or_bios_font
load_joystick_data
load_lbm
load_midi
load_midi_patches
load_pcx
load_pcx_pf
load_sample
load_tga
load_tga_pf
load_txt_font
load_voc
load_voc_pf
load_wav
load_wav_pf
lock_bitmap
lock_midi
lock_sample
lzss_read
lzss_write
make_absolute_filename
make_relative_filename
make_trans_font
makeacol32
makeacol
makeacol_depth
makecol15
makecol15_dither
makecol16
makecol16_dither
makecol24
makecol32
makecol8
makecol
makecol_depth
masked_blit
masked_stretch_blit
matrix_mul
matrix_mul_f
matrix_to_quat
merge_fonts
midi_card
midi_digmid
midi_driver
midi_input_card
midi_input_driver
midi_loop_end
midi_loop_start
midi_meta_callback
midi_msg_callback
midi_oss
midi_out
midi_pause
midi_pos
midi_recorder
midi_resume
midi_seek
midi_sysex_callback
midi_time
mouse_b
mouse_callback
mouse_driver
mouse_needs_poll
mouse_on_screen
mouse_pos
mouse_sprite
mouse_w
mouse_x
mouse_x_focus
mouse_y
mouse_y_focus
mouse_z
mousedrv_none
need_uconvert
next_fli_frame
normalize_vector
normalize_vector_f
num_joysticks
object_message
offer_focus
open_fli
open_memory_fli
os_multitasking
os_revision
os_type
os_version
override_config_data
override_config_file
pack_fclose
pack_fclose_chunk
pack_feof
pack_ferror
pack_fgets
pack_fopen
pack_fopen_chunk
pack_fopen_vtable
pack_fputs
pack_fread
pack_fseek
pack_fwrite
pack_get_userdata
pack_getc
pack_igetl
pack_igetw
pack_iputl
pack_iputw
pack_mgetl
pack_mgetw
pack_mputl
pack_mputw
pack_putc
pack_ungetc
packfile_password
palette_color
persp_project
persp_project_f
pivot_scaled_sprite
pivot_scaled_sprite_lit
pivot_scaled_sprite_trans
pivot_scaled_sprite_v_flip
pivot_scaled_sprite_v_flip_lit
pivot_scaled_sprite_v_flip_trans
pivot_sprite
pivot_sprite_lit
pivot_sprite_trans
pivot_sprite_v_flip
pivot_sprite_v_flip_lit
pivot_sprite_v_flip_trans
play_audio_stream
play_fli
play_looped_midi
play_memory_fli
play_midi
play_sample
poll_joystick
poll_keyboard
poll_mouse
poll_scroll
polygon3d
polygon3d_f
polygon
polygon_z_normal
polygon_z_normal_f
pop_config_state
popup_dialog
position_dialog
position_mouse
position_mouse_w
position_mouse_z
push_config_state
put_backslash
putpixel
qscale_matrix
qscale_matrix_f
qtranslate_matrix
qtranslate_matrix_f
quad3d
quad3d_f
quat_mul
quat_slerp
quat_to_matrix
radtofix_r
read_sound_input
readkey
reallocate_voice
rect
rectfill
register_assert_handler
register_bitmap_file_type
register_datafile_object
register_font_file_type
register_sample_file_type
register_trace_handler
register_uformat
release_bitmap
release_screen
release_voice
reload_config_texts
remove_display_switch_callback
remove_int
remove_joystick
remove_keyboard
remove_mouse
remove_param_int
remove_sound
remove_sound_input
remove_timer
render_scene
replace_extension
replace_filename
request_refresh_rate
request_scroll
request_video_bitmap
reserve_voices
reset_fli_variables
rest
rest_callback
retrace_count
retrace_proc
rgb_map
rgb_to_hsv
rotate_scaled_sprite
rotate_scaled_sprite_lit
rotate_scaled_sprite_trans
rotate_scaled_sprite_v_flip
rotate_scaled_sprite_v_flip_lit
rotate_scaled_sprite_v_flip_trans
rotate_sprite
rotate_sprite_lit
rotate_sprite_trans
rotate_sprite_v_flip
rotate_sprite_v_flip_lit
rotate_sprite_v_flip_trans
save_bitmap
save_bmp
save_bmp_pf
save_joystick_data
save_pcx
save_pcx_pf
save_sample
save_tga
save_tga_pf
scancode_to_ascii
scancode_to_name
scare_mouse
scare_mouse_area
scene_gap
scene_polygon3d
scene_polygon3d_f
screen
scroll_screen
select_mouse_cursor
select_palette
seqbuf_dump
set_add_blender
set_allegro_resource_path
set_alpha_blender
set_blender_mode
set_blender_mode_ex
set_burn_blender
set_clip
set_clip_rect
set_clip_state
set_close_button_callback
set_color
set_color_blender
set_color_conversion
set_color_depth
set_config_data
set_config_file
set_config_float
set_config_hex
set_config_id
set_config_int
set_config_string
set_dialog_color
set_difference_blender
set_display_switch_callback
set_display_switch_mode
set_dissolve_blender
set_dodge_blender
set_file_encoding
set_filename_encoding
set_gfx_mode
set_hardware_volume
set_hue_blender
set_invert_blender
set_keyboard_rate
set_leds
set_luminance_blender
set_mixer_quality
set_mouse_cursor_bitmap
set_mouse_range
set_mouse_speed
set_mouse_sprite
set_mouse_sprite_focus
set_multiply_blender
set_palette
set_palette_range
set_projection_viewport
set_saturation_blender
set_screen_blender
set_sound_input_source
set_trans_blender
set_ucodepage
set_uformat
set_volume
set_volume_per_voice
set_window_close_button
set_window_close_hook
set_window_title
set_write_alpha_blender
set_zbuffer
show_mouse
show_os_cursor
show_video_bitmap
shutdown_dialog
shutdown_menu
simulate_keypress
simulate_ukeypress
solid_mode
spline
start_sound_input
stop_audio_stream
stop_midi
stop_sample
stop_sound_input
stretch_blit
stretch_sprite
system_driver
system_none
system_xwin
text_height
text_length
text_mode
textout
textout_centre
textout_centre_ex
textout_ex
textout_justify
textout_justify_ex
textout_right
textout_right_ex
textprintf
textprintf_centre
textprintf_centre_ex
textprintf_ex
textprintf_justify
textprintf_justify_ex
textprintf_right
textprintf_right_ex
three_finger_flag
timer_can_simulate_retrace
timer_driver
timer_is_using_retrace
timer_simulate_retrace
timerdrv_unix_pthreads
transpose_font
triangle3d
triangle3d_f
triangle
uatof
uconvert
uconvert_size
ucwidth
ugetat
ugetc
ugetx
ugetxc
uinsert
uisdigit
uisok
uisspace
unload_datafile
unload_datafile_object
unscare_mouse
unselect_palette
uoffset
update_dialog
update_menu
ureadkey
uremove
usetat
usetc
usprintf
ustrchr
ustrcmp
ustrerror
ustricmp
ustrlen
ustrlwr
ustrncmp
ustrnicmp
ustrpbrk
ustrrchr
ustrsize
ustrsizez
ustrstr
ustrtod
ustrtok
ustrtok_r
ustrtol
ustrupr
ustrzcat
ustrzcpy
ustrzncat
ustrzncpy
uszprintf
utolower
utoupper
uvszprintf
uwidth
uwidth_max
vector_length
vector_length_f
voice_check
voice_get_frequency
voice_get_pan
voice_get_position
voice_get_volume
voice_ramp_volume
voice_set_echo
voice_set_frequency
voice_set_pan
voice_set_playmode
voice_set_position
voice_set_priority
voice_set_tremolo
voice_set_vibrato
voice_set_volume
voice_start
voice_stop
voice_stop_frequency_sweep
voice_stop_pan_sweep
voice_stop_volumeramp
voice_sweep_frequency
voice_sweep_pan
vsync
xor_mode
xwin_set_window_name
yield_timeslice

And checked how many lines there are in Engine that contain one of these words:
Add spoiler tag for Hidden:
./obsolete/acgfx_unused.cpp: 10
./media/video/video.cpp: 2
./media/audio/soundcache.cpp: 6
./media/audio/clip_mystaticmp3.h: 1
./media/audio/clip_mymidi.h: 1
./media/audio/audio.cpp: 14
./media/audio/clip_mydumbmod.cpp: 2
./media/audio/clip_mywave.h: 1
./media/audio/clip_mystaticmp3.cpp: 1
./media/audio/clip_mymp3.cpp: 3
./media/audio/clip_mywave.cpp: 12
./media/audio/soundclip.h: 1
./media/audio/clip_myogg.cpp: 4
./media/audio/clip_myogg.h: 1
./media/audio/clip_myjgmod.h: 1
./media/audio/soundclip.cpp: 3
./media/audio/clip_mymidi.cpp: 13
./media/audio/clip_mystaticogg.cpp: 2
./media/audio/clip_mydumbmod.h: 1
./media/audio/clip_mymp3.h: 1
./media/audio/clip_myjgmod.cpp: 1
./media/audio/clip_mystaticogg.h: 1
./media/audio/sound.cpp: 11
./ac/sprite.cpp: 6
./ac/drawingsurface.cpp: 13
./ac/drawingsurface.h: 3
./ac/global_gui.cpp: 2
./ac/region.cpp: 3
./ac/global_character.cpp: 1
./ac/record.cpp: 9
./ac/button.cpp: 4
./ac/overlay.h: 1
./ac/global_object.cpp: 10
./ac/global_character.h: 1
./ac/global_palette.cpp: 2
./ac/room.cpp: 19
./ac/listbox.cpp: 10
./ac/label.cpp: 4
./ac/walkbehind.cpp: 1
./ac/topbarsettings.h: 2
./ac/tree_map.cpp: 6
./ac/character.cpp: 14
./ac/gamestate.cpp: 2
./ac/draw.h: 6
./ac/global_game.cpp: 18
./ac/draw.cpp: 39
./ac/screen.cpp: 5
./ac/display.cpp: 24
./ac/invwindow.cpp: 3
./ac/string.h: 1
./ac/file.cpp: 10
./ac/global_region.cpp: 2
./ac/event.cpp: 7
./ac/overlay.cpp: 3
./ac/display.h: 2
./ac/game.cpp: 20
./ac/character.h: 1
./ac/global_drawingsurface.cpp: 13
./ac/global_display.cpp: 6
./ac/tree_map.h: 1
./ac/dialog.cpp: 12
./ac/gamestate.h: 1
./ac/global_object.h: 1
./ac/string.cpp: 2
./ac/global_game.h: 2
./ac/object.cpp: 2
./ac/audiochannel.cpp: 2
./ac/global_video.cpp: 3
./ac/route_finder.cpp: 17
./ac/walkablearea.cpp: 2
./ac/global_audio.cpp: 13
./ac/global_translation.cpp: 1
./ac/global_screen.cpp: 1
./ac/textbox.cpp: 4
./ac/system.cpp: 10
./ac/translation.cpp: 2
./ac/dynamicsprite.cpp: 3
./ac/global_drawingsurface.h: 2
./ac/dynobj/scriptsystem.h: 1
./script/symbol_registry.h: 5
./script/script.cpp: 1
./gui/guidialog.cpp: 4
./gui/gui_engine.cpp: 7
./gui/mytextbox.cpp: 1
./plugin/agsplugin.h: 24
./plugin/agsplugin.cpp: 36
./device/mousew32.cpp: 11
./gfx/gfxfilter_allegro.cpp: 3
./gfx/color_engine.cpp: 4
./gfx/gfxfilter_scalingallegro.h: 1
./gfx/ali3dsw.cpp: 29
./gfx/gfxfilter_hq2x.cpp: 5
./gfx/ali3dogl.cpp: 29
./gfx/gfxfilter_hq2x.h: 1
./gfx/gfxfilter_allegro.h: 1
./gfx/gfxfilter_hq3x.cpp: 5
./gfx/gfxfilter_hq3x.h: 1
./gfx/blender.cpp: 33
./gfx/gfxfilter_scalingallegro.cpp: 6
./resource/version.rc: 1
./resource/tintshaderLegacy.fx: 2
./platform/dos/acpldos.cpp: 4
./platform/windows/acplwin.cpp: 7
./platform/windows/media/video/acwavi.cpp: 20
./platform/windows/media/video/acwavi3d.cpp: 4
./platform/windows/gfx/ali3dd3d.cpp: 59
./platform/android/acpland.cpp: 1
./platform/osx/acplmac.cpp: 1
./platform/psp/acplpsp.cpp: 5
./debug/filebasedagsdebugger.cpp: 4
./debug/debug.cpp: 2
./Makefile-objs: 2
./main/engine.cpp: 31
./main/config.cpp: 12
./main/game_run.cpp: 12
./main/game_start.cpp: 2
./main/graphics_mode.cpp: 10
./main/game_file.cpp: 1
./main/quit.cpp: 9
./main/udpate.cpp: 2

Also for Common:
Add spoiler tag for Hidden:
./obsolete/cs_unused.cpp: 7
./ac/roomstruct.h: 4
./ac/spritecache.cpp: 1
./ac/gamesetupstructbase.h: 1
./ac/oldgamesetupstruct.h: 1
./ac/interaction.cpp: 2
./ac/common_defines.h: 3
./script/cc_treemap.cpp: 12
./script/cc_error.h: 1
./script/cc_error.cpp: 3
./script/script_common.h: 1
./script/cc_treemap.h: 4
./script/cc_instance.h: 1
./script/cc_options.h: 1
./gui/guilabel.cpp: 8
./gui/guimain.cpp: 1
./gui/guitextbox.h: 2
./gui/guilistbox.h: 2
./gui/guibutton.h: 2
./gui/guitextbox.cpp: 7
./gui/guimain.h: 1
./gui/guilabel.h: 3
./gui/guibutton.cpp: 14
./gui/guilistbox.cpp: 11
./util/wgt2allg.h: 22
./util/textstreamwriter.h: 1
./util/misc.cpp: 9
./util/compress.h: 6
./util/textstreamreader.cpp: 4
./util/textwriter.h: 1
./util/textreader.h: 1
./util/textstreamreader.h: 1
./util/compress.cpp: 30
./util/wgt2allg.cpp: 4
./util/textstreamwriter.cpp: 5
./util/string_utils.cpp: 7
./gfx/allegrobitmap.h: 2
./gfx/bitmap.cpp: 6
./gfx/allegrobitmap.cpp: 48
./gfx/bitmap.h: 7
./font/ttffontrenderer.h: 1
./font/fonts.cpp: 5
./font/agsfontrenderer.cpp: 1
./font/ttffontrenderer.cpp: 3
./font/agsfontrenderer.h: 1
./font/wfnfontrenderer.cpp: 3
./font/wfnfontrenderer.h: 1
./font/fonts.h: 1

Maybe I should also do this for the addon libraries some time.

Crimson Wizard

  • AGSer
  • Posts: 8,454
« Reply #3 on: 07 Oct 2012, 23:37 »
There were MUCH MUCH more calls before I replaced allegro calls with calls to Bitmap interface :).

But those numbers could be useful to make a whole picture.

BigMc

  • AGSer
  • Posts: 281
« Reply #4 on: 08 Oct 2012, 14:35 »
Another nice thing about Allegro 5 is that it is event based. No need for a main loop anymore.

BigMc

  • AGSer
  • Posts: 281
« Reply #5 on: 12 Oct 2012, 01:56 »
The situation looks quite manageable for the addon libraries.
It's also easy to search for the calls, because the method names contain the library names.

Add spoiler tag for Hidden:
alfont:
Common/font/fonts.cpp: 4
Common/font/agsfontrenderer.cpp: 1
Common/font/ttffontrenderer.cpp: 9
Common/font/wfnfontrenderer.cpp: 1
Engine/font/fonts_engine.cpp: 1

almp3:
Engine/media/audio/clip_mystaticmp3.h: 1
Engine/media/audio/audio.cpp: 1
Engine/media/audio/clip_mystaticmp3.cpp: 12
Engine/media/audio/clip_mymp3.cpp: 12
Engine/media/audio/clip_mymp3.h: 1
Engine/media/audio/sound.cpp: 2

alogg:
Engine/media/audio/clip_myogg.cpp: 19
Engine/media/audio/clip_myogg.h: 1
Engine/media/audio/clip_mystaticogg.cpp: 23
Engine/media/audio/clip_mystaticogg.h: 1
Engine/media/audio/sound.cpp: 2

apeg:
Engine/media/video/video.cpp: 9

aastr: searched for aa_
Common/gfx/allegrobitmap.cpp: 5
Engine/ac/draw.cpp: 4
« Last Edit: 12 Oct 2012, 01:56 by BigMc »

Crimson Wizard

  • AGSer
  • Posts: 8,454
« Reply #6 on: 21 Jun 2018, 15:40 »
Well, this was a good option 5 years ago, but too much time has passed since, so imho no need to keep this ticket open here.

On the other hand, we have an SDL2 port coming up, worked on by Nick Sonneveld.
  • Status changed from New to Closed

Issue updated by BigMc
« Reply #7 on: 03 Oct 2012, 14:20 »
  • Issue renamed from "Port to Allergro 5?" to "Port to Allegro 5?"

Pages: [1]

Issue Details

  • Reported
    03 Oct 2012, 14:17
  • Updated
    21 Jun 2018, 15:40
  • View Status
    Public
  • Type
    Feature
  • Status
    Closed
  • Priority
    Normal
  • Version
    (none)
  • Fixed in
    (none)
  • Assigned to
    (none)
  • Category
    Core

Tags



Powered by: SMF Project Tools 0.5.4 © Niko Pahajoki 2007-2011